dvt-core 1.11.0b4__py3-none-any.whl

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.

Potentially problematic release.


This version of dvt-core might be problematic. Click here for more details.

Files changed (261) hide show
  1. dvt/__init__.py +7 -0
  2. dvt/_pydantic_shim.py +26 -0
  3. dvt/adapters/__init__.py +16 -0
  4. dvt/adapters/multi_adapter_manager.py +268 -0
  5. dvt/artifacts/__init__.py +0 -0
  6. dvt/artifacts/exceptions/__init__.py +1 -0
  7. dvt/artifacts/exceptions/schemas.py +31 -0
  8. dvt/artifacts/resources/__init__.py +116 -0
  9. dvt/artifacts/resources/base.py +68 -0
  10. dvt/artifacts/resources/types.py +93 -0
  11. dvt/artifacts/resources/v1/analysis.py +10 -0
  12. dvt/artifacts/resources/v1/catalog.py +23 -0
  13. dvt/artifacts/resources/v1/components.py +275 -0
  14. dvt/artifacts/resources/v1/config.py +282 -0
  15. dvt/artifacts/resources/v1/documentation.py +11 -0
  16. dvt/artifacts/resources/v1/exposure.py +52 -0
  17. dvt/artifacts/resources/v1/function.py +53 -0
  18. dvt/artifacts/resources/v1/generic_test.py +32 -0
  19. dvt/artifacts/resources/v1/group.py +22 -0
  20. dvt/artifacts/resources/v1/hook.py +11 -0
  21. dvt/artifacts/resources/v1/macro.py +30 -0
  22. dvt/artifacts/resources/v1/metric.py +173 -0
  23. dvt/artifacts/resources/v1/model.py +146 -0
  24. dvt/artifacts/resources/v1/owner.py +10 -0
  25. dvt/artifacts/resources/v1/saved_query.py +112 -0
  26. dvt/artifacts/resources/v1/seed.py +42 -0
  27. dvt/artifacts/resources/v1/semantic_layer_components.py +72 -0
  28. dvt/artifacts/resources/v1/semantic_model.py +315 -0
  29. dvt/artifacts/resources/v1/singular_test.py +14 -0
  30. dvt/artifacts/resources/v1/snapshot.py +92 -0
  31. dvt/artifacts/resources/v1/source_definition.py +85 -0
  32. dvt/artifacts/resources/v1/sql_operation.py +10 -0
  33. dvt/artifacts/resources/v1/unit_test_definition.py +78 -0
  34. dvt/artifacts/schemas/__init__.py +0 -0
  35. dvt/artifacts/schemas/base.py +191 -0
  36. dvt/artifacts/schemas/batch_results.py +24 -0
  37. dvt/artifacts/schemas/catalog/__init__.py +12 -0
  38. dvt/artifacts/schemas/catalog/v1/__init__.py +0 -0
  39. dvt/artifacts/schemas/catalog/v1/catalog.py +60 -0
  40. dvt/artifacts/schemas/freshness/__init__.py +1 -0
  41. dvt/artifacts/schemas/freshness/v3/__init__.py +0 -0
  42. dvt/artifacts/schemas/freshness/v3/freshness.py +159 -0
  43. dvt/artifacts/schemas/manifest/__init__.py +2 -0
  44. dvt/artifacts/schemas/manifest/v12/__init__.py +0 -0
  45. dvt/artifacts/schemas/manifest/v12/manifest.py +212 -0
  46. dvt/artifacts/schemas/results.py +148 -0
  47. dvt/artifacts/schemas/run/__init__.py +2 -0
  48. dvt/artifacts/schemas/run/v5/__init__.py +0 -0
  49. dvt/artifacts/schemas/run/v5/run.py +184 -0
  50. dvt/artifacts/schemas/upgrades/__init__.py +4 -0
  51. dvt/artifacts/schemas/upgrades/upgrade_manifest.py +174 -0
  52. dvt/artifacts/schemas/upgrades/upgrade_manifest_dbt_version.py +2 -0
  53. dvt/artifacts/utils/validation.py +153 -0
  54. dvt/cli/__init__.py +1 -0
  55. dvt/cli/context.py +16 -0
  56. dvt/cli/exceptions.py +56 -0
  57. dvt/cli/flags.py +558 -0
  58. dvt/cli/main.py +971 -0
  59. dvt/cli/option_types.py +121 -0
  60. dvt/cli/options.py +79 -0
  61. dvt/cli/params.py +803 -0
  62. dvt/cli/requires.py +478 -0
  63. dvt/cli/resolvers.py +32 -0
  64. dvt/cli/types.py +40 -0
  65. dvt/clients/__init__.py +0 -0
  66. dvt/clients/checked_load.py +82 -0
  67. dvt/clients/git.py +164 -0
  68. dvt/clients/jinja.py +206 -0
  69. dvt/clients/jinja_static.py +245 -0
  70. dvt/clients/registry.py +192 -0
  71. dvt/clients/yaml_helper.py +68 -0
  72. dvt/compilation.py +833 -0
  73. dvt/compute/__init__.py +26 -0
  74. dvt/compute/base.py +288 -0
  75. dvt/compute/engines/__init__.py +13 -0
  76. dvt/compute/engines/duckdb_engine.py +368 -0
  77. dvt/compute/engines/spark_engine.py +273 -0
  78. dvt/compute/query_analyzer.py +212 -0
  79. dvt/compute/router.py +483 -0
  80. dvt/config/__init__.py +4 -0
  81. dvt/config/catalogs.py +95 -0
  82. dvt/config/compute_config.py +406 -0
  83. dvt/config/profile.py +411 -0
  84. dvt/config/profiles_v2.py +464 -0
  85. dvt/config/project.py +893 -0
  86. dvt/config/renderer.py +232 -0
  87. dvt/config/runtime.py +491 -0
  88. dvt/config/selectors.py +209 -0
  89. dvt/config/utils.py +78 -0
  90. dvt/connectors/.gitignore +6 -0
  91. dvt/connectors/README.md +306 -0
  92. dvt/connectors/catalog.yml +217 -0
  93. dvt/connectors/download_connectors.py +300 -0
  94. dvt/constants.py +29 -0
  95. dvt/context/__init__.py +0 -0
  96. dvt/context/base.py +746 -0
  97. dvt/context/configured.py +136 -0
  98. dvt/context/context_config.py +350 -0
  99. dvt/context/docs.py +82 -0
  100. dvt/context/exceptions_jinja.py +179 -0
  101. dvt/context/macro_resolver.py +195 -0
  102. dvt/context/macros.py +171 -0
  103. dvt/context/manifest.py +73 -0
  104. dvt/context/providers.py +2198 -0
  105. dvt/context/query_header.py +14 -0
  106. dvt/context/secret.py +59 -0
  107. dvt/context/target.py +74 -0
  108. dvt/contracts/__init__.py +0 -0
  109. dvt/contracts/files.py +413 -0
  110. dvt/contracts/graph/__init__.py +0 -0
  111. dvt/contracts/graph/manifest.py +1904 -0
  112. dvt/contracts/graph/metrics.py +98 -0
  113. dvt/contracts/graph/model_config.py +71 -0
  114. dvt/contracts/graph/node_args.py +42 -0
  115. dvt/contracts/graph/nodes.py +1806 -0
  116. dvt/contracts/graph/semantic_manifest.py +233 -0
  117. dvt/contracts/graph/unparsed.py +812 -0
  118. dvt/contracts/project.py +417 -0
  119. dvt/contracts/results.py +53 -0
  120. dvt/contracts/selection.py +23 -0
  121. dvt/contracts/sql.py +86 -0
  122. dvt/contracts/state.py +69 -0
  123. dvt/contracts/util.py +46 -0
  124. dvt/deprecations.py +347 -0
  125. dvt/deps/__init__.py +0 -0
  126. dvt/deps/base.py +153 -0
  127. dvt/deps/git.py +196 -0
  128. dvt/deps/local.py +80 -0
  129. dvt/deps/registry.py +131 -0
  130. dvt/deps/resolver.py +149 -0
  131. dvt/deps/tarball.py +121 -0
  132. dvt/docs/source/_ext/dbt_click.py +118 -0
  133. dvt/docs/source/conf.py +32 -0
  134. dvt/env_vars.py +64 -0
  135. dvt/event_time/event_time.py +40 -0
  136. dvt/event_time/sample_window.py +60 -0
  137. dvt/events/__init__.py +16 -0
  138. dvt/events/base_types.py +37 -0
  139. dvt/events/core_types_pb2.py +2 -0
  140. dvt/events/logging.py +109 -0
  141. dvt/events/types.py +2534 -0
  142. dvt/exceptions.py +1487 -0
  143. dvt/flags.py +89 -0
  144. dvt/graph/__init__.py +11 -0
  145. dvt/graph/cli.py +248 -0
  146. dvt/graph/graph.py +172 -0
  147. dvt/graph/queue.py +213 -0
  148. dvt/graph/selector.py +375 -0
  149. dvt/graph/selector_methods.py +976 -0
  150. dvt/graph/selector_spec.py +223 -0
  151. dvt/graph/thread_pool.py +18 -0
  152. dvt/hooks.py +21 -0
  153. dvt/include/README.md +49 -0
  154. dvt/include/__init__.py +3 -0
  155. dvt/include/global_project.py +4 -0
  156. dvt/include/starter_project/.gitignore +4 -0
  157. dvt/include/starter_project/README.md +15 -0
  158. dvt/include/starter_project/__init__.py +3 -0
  159. dvt/include/starter_project/analyses/.gitkeep +0 -0
  160. dvt/include/starter_project/dvt_project.yml +36 -0
  161. dvt/include/starter_project/macros/.gitkeep +0 -0
  162. dvt/include/starter_project/models/example/my_first_dbt_model.sql +27 -0
  163. dvt/include/starter_project/models/example/my_second_dbt_model.sql +6 -0
  164. dvt/include/starter_project/models/example/schema.yml +21 -0
  165. dvt/include/starter_project/seeds/.gitkeep +0 -0
  166. dvt/include/starter_project/snapshots/.gitkeep +0 -0
  167. dvt/include/starter_project/tests/.gitkeep +0 -0
  168. dvt/internal_deprecations.py +27 -0
  169. dvt/jsonschemas/__init__.py +3 -0
  170. dvt/jsonschemas/jsonschemas.py +309 -0
  171. dvt/jsonschemas/project/0.0.110.json +4717 -0
  172. dvt/jsonschemas/project/0.0.85.json +2015 -0
  173. dvt/jsonschemas/resources/0.0.110.json +2636 -0
  174. dvt/jsonschemas/resources/0.0.85.json +2536 -0
  175. dvt/jsonschemas/resources/latest.json +6773 -0
  176. dvt/links.py +4 -0
  177. dvt/materializations/__init__.py +0 -0
  178. dvt/materializations/incremental/__init__.py +0 -0
  179. dvt/materializations/incremental/microbatch.py +235 -0
  180. dvt/mp_context.py +8 -0
  181. dvt/node_types.py +37 -0
  182. dvt/parser/__init__.py +23 -0
  183. dvt/parser/analysis.py +21 -0
  184. dvt/parser/base.py +549 -0
  185. dvt/parser/common.py +267 -0
  186. dvt/parser/docs.py +52 -0
  187. dvt/parser/fixtures.py +51 -0
  188. dvt/parser/functions.py +30 -0
  189. dvt/parser/generic_test.py +100 -0
  190. dvt/parser/generic_test_builders.py +334 -0
  191. dvt/parser/hooks.py +119 -0
  192. dvt/parser/macros.py +137 -0
  193. dvt/parser/manifest.py +2204 -0
  194. dvt/parser/models.py +574 -0
  195. dvt/parser/partial.py +1179 -0
  196. dvt/parser/read_files.py +445 -0
  197. dvt/parser/schema_generic_tests.py +423 -0
  198. dvt/parser/schema_renderer.py +111 -0
  199. dvt/parser/schema_yaml_readers.py +936 -0
  200. dvt/parser/schemas.py +1467 -0
  201. dvt/parser/search.py +149 -0
  202. dvt/parser/seeds.py +28 -0
  203. dvt/parser/singular_test.py +20 -0
  204. dvt/parser/snapshots.py +44 -0
  205. dvt/parser/sources.py +557 -0
  206. dvt/parser/sql.py +63 -0
  207. dvt/parser/unit_tests.py +622 -0
  208. dvt/plugins/__init__.py +20 -0
  209. dvt/plugins/contracts.py +10 -0
  210. dvt/plugins/exceptions.py +2 -0
  211. dvt/plugins/manager.py +164 -0
  212. dvt/plugins/manifest.py +21 -0
  213. dvt/profiler.py +20 -0
  214. dvt/py.typed +1 -0
  215. dvt/runners/__init__.py +2 -0
  216. dvt/runners/exposure_runner.py +7 -0
  217. dvt/runners/no_op_runner.py +46 -0
  218. dvt/runners/saved_query_runner.py +7 -0
  219. dvt/selected_resources.py +8 -0
  220. dvt/task/__init__.py +0 -0
  221. dvt/task/base.py +504 -0
  222. dvt/task/build.py +197 -0
  223. dvt/task/clean.py +57 -0
  224. dvt/task/clone.py +162 -0
  225. dvt/task/compile.py +151 -0
  226. dvt/task/compute.py +366 -0
  227. dvt/task/debug.py +650 -0
  228. dvt/task/deps.py +280 -0
  229. dvt/task/docs/__init__.py +3 -0
  230. dvt/task/docs/generate.py +408 -0
  231. dvt/task/docs/index.html +250 -0
  232. dvt/task/docs/serve.py +28 -0
  233. dvt/task/freshness.py +323 -0
  234. dvt/task/function.py +122 -0
  235. dvt/task/group_lookup.py +46 -0
  236. dvt/task/init.py +374 -0
  237. dvt/task/list.py +237 -0
  238. dvt/task/printer.py +176 -0
  239. dvt/task/profiles.py +256 -0
  240. dvt/task/retry.py +175 -0
  241. dvt/task/run.py +1146 -0
  242. dvt/task/run_operation.py +142 -0
  243. dvt/task/runnable.py +802 -0
  244. dvt/task/seed.py +104 -0
  245. dvt/task/show.py +150 -0
  246. dvt/task/snapshot.py +57 -0
  247. dvt/task/sql.py +111 -0
  248. dvt/task/test.py +464 -0
  249. dvt/tests/fixtures/__init__.py +1 -0
  250. dvt/tests/fixtures/project.py +620 -0
  251. dvt/tests/util.py +651 -0
  252. dvt/tracking.py +529 -0
  253. dvt/utils/__init__.py +3 -0
  254. dvt/utils/artifact_upload.py +151 -0
  255. dvt/utils/utils.py +408 -0
  256. dvt/version.py +249 -0
  257. dvt_core-1.11.0b4.dist-info/METADATA +252 -0
  258. dvt_core-1.11.0b4.dist-info/RECORD +261 -0
  259. dvt_core-1.11.0b4.dist-info/WHEEL +5 -0
  260. dvt_core-1.11.0b4.dist-info/entry_points.txt +2 -0
  261. dvt_core-1.11.0b4.dist-info/top_level.txt +1 -0
@@ -0,0 +1,250 @@
1
+ <!doctype html>
2
+ <html dir="ltr" lang="en-US" ng-app="dbt"
3
+ class="no-flash video supports no-touchevents formvalidation webgl no-cssgridlegacy cssgrid cssfilters objectfit object-fit click landscape videoautoplay loaded">
4
+
5
+ <head>
6
+ <meta charset="utf-8">
7
+ <meta name="viewport" content="width=device-width,minimum-scale=1,maximum-scale=1,initial-scale=1" />
8
+ <title>dbt Docs</title>
9
+ <meta name="description" content="dbt Docs" />
10
+ <link rel="canonical" href="/overview/" />
11
+ <link rel="shortcut icon" href="${require('./assets/favicons/favicon.ico')}" />
12
+ <meta name="msapplication-TileColor" content="#2b5797">
13
+ <meta name="theme-color" content="#ffffff">
14
+ <meta property="og:locale" content="en_US" />
15
+ <meta property="og:type" content="website" />
16
+ <meta property="og:site_name" content="dbt Docs" />
17
+ <meta property="og:title" content="dbt Docs" />
18
+ <meta property="og:description" content="documentation for dbt" />
19
+ <meta name="twitter:title" content="dbt Docs" />
20
+ <meta name="twitter:description" content="documentation for dbt" />
21
+ </head>
22
+
23
+ <body>
24
+ <div style="display:none"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
25
+ <title>icons</title>
26
+ <g id="icn">
27
+ <rect width="16" height="16" fill="none" />
28
+ </g>
29
+ <g id="icn-menu">
30
+ <path
31
+ d="M14.5,8a.5.5,0,0,1-.5.5H2a.5.5,0,0,1,0-1H14A.5.5,0,0,1,14.5,8ZM2,3H14a.5.5,0,0,0,0-1H2A.5.5,0,0,0,2,3ZM14,13H2a.5.5,0,0,0,0,1H14a.5.5,0,0,0,0-1Z"
32
+ transform="translate(0 0)" />
33
+ </g>
34
+ <g id="icn-dbt">
35
+ <path
36
+ d="M12.6,9.265l0,0L10.9,6.325a3.31,3.31,0,0,0-.529-.7h0a3.264,3.264,0,0,0-3.184-.867,4.022,4.022,0,0,1,4.194.938,3.977,3.977,0,0,1,.635.833l.38.657a2.488,2.488,0,0,1,.2-.465l2.226-3.851a1.2,1.2,0,0,0-.2-1.5,1.2,1.2,0,0,0-1.5-.2h0L9.27,3.4a2.539,2.539,0,0,1-2.54,0L2.877,1.178A1.253,1.253,0,0,0,2.247,1a1.247,1.247,0,0,0-.871.375,1.2,1.2,0,0,0-.2,1.5L3.4,6.726a2.542,2.542,0,0,1,0,2.539l-2.226,3.85a1.2,1.2,0,0,0,.2,1.5,1.2,1.2,0,0,0,1.5.2L6.73,12.588a2.455,2.455,0,0,1,.465-.2l-.657-.379a3.857,3.857,0,0,1-1.462-1.467,4.118,4.118,0,0,1-.288-3.368,3.453,3.453,0,0,0,.33,2.507A3.141,3.141,0,0,0,6.329,10.89l2.94,1.7h0l3.853,2.224a1.243,1.243,0,0,0,1.7-1.7Zm.814-7.353a.478.478,0,1,1,0,.676A.48.48,0,0,1,13.41,1.912ZM2.59,2.588a.478.478,0,1,1,0-.676A.479.479,0,0,1,2.59,2.588Zm0,11.49a.478.478,0,1,1,0-.676A.479.479,0,0,1,2.59,14.078Zm6.827-5.9a1.022,1.022,0,1,0-1.231,1.23,1.433,1.433,0,1,1,1.231-1.23Zm4.67,5.9a.478.478,0,1,1,0-.676A.479.479,0,0,1,14.087,14.078Z"
37
+ transform="translate(0 0)" />
38
+ </g>
39
+ <g id="icn-doc-on">
40
+ <path
41
+ d="M13.707,4.707,10.293,1.293A1,1,0,0,0,9.586,1H3A1,1,0,0,0,2,2V14a1,1,0,0,0,1,1H13a1,1,0,0,0,1-1V5.414A1,1,0,0,0,13.707,4.707ZM5,4H9V5H5Zm6,8H5V11h6Zm0-2H5V9h6Zm0-2H5V7h6Z"
42
+ transform="translate(0 0)" />
43
+ </g>
44
+ <g id="icn-doc">
45
+ <path
46
+ d="M9.586,2h0L13,5.414V14H3V2H9.586m0-1H3A1,1,0,0,0,2,2V14a1,1,0,0,0,1,1H13a1,1,0,0,0,1-1V5.414a1,1,0,0,0-.293-.707L10.293,1.293A1,1,0,0,0,9.586,1Z"
47
+ transform="translate(0 0)" />
48
+ <rect x="5" y="11" width="6" height="1" fill="#fff" />
49
+ <polygon points="11 11 5 11 5 12 11 12 11 11 11 11" />
50
+ <rect x="5" y="9" width="6" height="1" fill="#fff" />
51
+ <polygon points="11 9 5 9 5 10 11 10 11 9 11 9" />
52
+ <rect x="5" y="7" width="6" height="1" fill="#fff" />
53
+ <polygon points="11 7 5 7 5 8 11 8 11 7 11 7" />
54
+ <rect x="5" y="4" width="4" height="1" fill="#fff" />
55
+ <polygon points="9 4 5 4 5 5 9 5 9 4 9 4" />
56
+ </g>
57
+ <g id="icn-down">
58
+ <path
59
+ d="M8,10.5a.5.5,0,0,1-.354-.146l-3-3a.5.5,0,0,1,.708-.708L8,9.293l2.646-2.647a.5.5,0,0,1,.708.708l-3,3A.5.5,0,0,1,8,10.5Z"
60
+ transform="translate(0 0)" />
61
+ </g>
62
+ <g id="icn-up">
63
+ <path
64
+ d="M11,9.5a.5.5,0,0,1-.354-.146L8,6.707,5.354,9.354a.5.5,0,0,1-.708-.708l3-3a.5.5,0,0,1,.708,0l3,3A.5.5,0,0,1,11,9.5Z"
65
+ transform="translate(0 0)" />
66
+ </g>
67
+ <g id="icn-left">
68
+ <path
69
+ d="M9.5,5a.5.5,0,0,1-.146.354L6.707,8l2.647,2.646a.5.5,0,0,1-.708.708l-3-3a.5.5,0,0,1,0-.708l3-3A.5.5,0,0,1,9.5,5Z"
70
+ transform="translate(0 0)" />
71
+ </g>
72
+ <g id="icn-right">
73
+ <path
74
+ d="M10.5,8a.5.5,0,0,1-.146.354l-3,3a.5.5,0,0,1-.708-.708L9.293,8,6.646,5.354a.5.5,0,0,1,.708-.708l3,3A.5.5,0,0,1,10.5,8Z"
75
+ transform="translate(0 0)" />
76
+ </g>
77
+ <g id="icn-dir">
78
+ <path
79
+ d="M14,4H8.414a1,1,0,0,1-.707-.293L6.293,2.293A1,1,0,0,0,5.586,2H2A1,1,0,0,0,1,3V13a1,1,0,0,0,1,1H14a1,1,0,0,0,1-1V5A1,1,0,0,0,14,4ZM2,3H5.586l1,1H2ZM14,13H2V5H14Z"
80
+ transform="translate(0 0)" />
81
+ </g>
82
+ <g id="icn-tree">
83
+ <path
84
+ d="M14,5V2H11V3H4V2H1V5H4V4H7V14h4v1h3V12H11v1H8V9h3v1h3V7H11V8H8V4h3V5ZM3,4H2V3H3Zm9,9h1v1H12Zm0-5h1V9H12Zm0-5h1V4H12Z"
85
+ transform="translate(0 0)" />
86
+ </g>
87
+ <g id="icn-tree-on">
88
+ <path d="M14,5V2H11V3H4V2H1V5H4V4H7V14h4v1h3V12H11v1H8V9h3v1h3V7H11V8H8V4h3V5Z"
89
+ transform="translate(0 0)" />
90
+ </g>
91
+ <g id="icn-dir-on">
92
+ <path
93
+ d="M14.878,7H14V5a1,1,0,0,0-1-1H7.414a1,1,0,0,1-.707-.293L5.293,2.293A1,1,0,0,0,4.586,2H1A1,1,0,0,0,0,3V13a1,1,0,0,0,1,1H13.271a1,1,0,0,0,.952-.694l1.607-5A1,1,0,0,0,14.878,7ZM4.586,3,6,4.414A1.986,1.986,0,0,0,7.414,5H13V7H2.979a1,1,0,0,0-.952.694L1,10.889V3Z"
94
+ transform="translate(0 0)" />
95
+ </g>
96
+ <g id="icn-db-on">
97
+ <path
98
+ d="M8,1C7,1,2,1.121,2,3.5v9C2,14.879,7,15,8,15s6-.121,6-2.5v-9C14,1.121,9,1,8,1Zm5,10.482c0,.828-2.239,1.5-5,1.5s-5-.672-5-1.5V11c1.511.915,4.281.982,5,.982s3.489-.067,5-.982ZM13,8.5c0,.828-2.239,1.5-5,1.5S3,9.328,3,8.5V8.018C4.511,8.933,7.281,9,8,9s3.489-.067,5-.982Zm0-3C13,6.328,10.761,7,8,7S3,6.328,3,5.5V5.018C4.511,5.933,7.281,6,8,6s3.489-.067,5-.982Z"
99
+ transform="translate(0 0)" />
100
+ </g>
101
+ <g id="icn-db">
102
+ <path
103
+ d="M8,1C7,1,2,1.121,2,3.5v9C2,14.879,7,15,8,15s6-.121,6-2.5v-9C14,1.121,9,1,8,1ZM3,8.018C4.511,8.933,7.281,9,8,9s3.489-.067,5-.982V9.5c0,.828-2.239,1.5-5,1.5s-5-.672-5-1.5ZM8,8C5.239,8,3,7.328,3,6.5V5.018C4.511,5.933,7.281,6,8,6s3.489-.067,5-.982V6.5C13,7.328,10.761,8,8,8ZM8,2c2.761,0,5,.672,5,1.5S10.761,5,8,5,3,4.328,3,3.5,5.239,2,8,2ZM8,14c-2.761,0-5-.672-5-1.5V11.018C4.511,11.933,7.281,12,8,12s3.489-.067,5-.982V12.5C13,13.328,10.761,14,8,14Z"
104
+ transform="translate(0 0)" />
105
+ </g>
106
+ <g id="icn-close">
107
+ <path
108
+ d="M12.354,11.646a.5.5,0,0,1-.708.708L8,8.707,4.354,12.354a.5.5,0,0,1-.708-.708L7.293,8,3.646,4.354a.5.5,0,0,1,.708-.708L8,7.293l3.646-3.647a.5.5,0,0,1,.708.708L8.707,8Z"
109
+ transform="translate(0 0)" />
110
+ </g>
111
+ <g id="icn-search">
112
+ <path
113
+ d="M6.5,1A5.5,5.5,0,1,0,12,6.5,5.5,5.5,0,0,0,6.5,1Zm0,10A4.5,4.5,0,1,1,11,6.5,4.505,4.505,0,0,1,6.5,11Zm8.854,4.354a.5.5,0,0,1-.708,0l-3-3a.5.5,0,0,1,.708-.708l3,3A.5.5,0,0,1,15.354,15.354Z"
114
+ transform="translate(0 0)" />
115
+ </g>
116
+ <g id="icn-more">
117
+ <path
118
+ d="M8,6a2,2,0,1,0,2,2A2,2,0,0,0,8,6ZM8,9A1,1,0,1,1,9,8,1,1,0,0,1,8,9ZM2,6A2,2,0,1,0,4,8,2,2,0,0,0,2,6ZM2,9A1,1,0,1,1,3,8,1,1,0,0,1,2,9ZM14,6a2,2,0,1,0,2,2A2,2,0,0,0,14,6Zm0,3a1,1,0,1,1,1-1A1,1,0,0,1,14,9Z"
119
+ transform="translate(0 0)" />
120
+ </g>
121
+ <g id="icn-flow">
122
+ <path d="M4,3V2H1V5H4V4H7v9a1,1,0,0,0,1,1h5V13H8V9h5V8H8V4h5V3H4ZM3,4H2V3H3Z"
123
+ transform="translate(0 0)" />
124
+ <polygon points="13 1.5 13 5.5 15 3.5 13 1.5" />
125
+ <polygon points="13 6.5 13 10.5 15 8.5 13 6.5" />
126
+ <polygon points="13 11.5 13 15.5 15 13.5 13 11.5" />
127
+ </g>
128
+ <g id="icn-expand">
129
+ <path
130
+ d="M6,2.5a.5.5,0,0,1-.5.5H3V5.5a.5.5,0,0,1-1,0v-3A.5.5,0,0,1,2.5,2h3A.5.5,0,0,1,6,2.5ZM13.5,2h-3a.5.5,0,0,0,0,1H13V5.5a.5.5,0,0,0,1,0v-3A.5.5,0,0,0,13.5,2Zm0,8a.5.5,0,0,0-.5.5V13H10.5a.5.5,0,0,0,0,1h3a.5.5,0,0,0,.5-.5v-3A.5.5,0,0,0,13.5,10Zm-8,3H3V10.5a.5.5,0,0,0-1,0v3a.5.5,0,0,0,.5.5h3a.5.5,0,0,0,0-1Z"
131
+ transform="translate(0 0)" />
132
+ </g>
133
+ <g id="icn-contract">
134
+ <path
135
+ d="M6,2.5v3a.5.5,0,0,1-.5.5h-3a.5.5,0,0,1,0-1H5V2.5a.5.5,0,0,1,1,0ZM10.5,6h3a.5.5,0,0,0,0-1H11V2.5a.5.5,0,0,0-1,0v3A.5.5,0,0,0,10.5,6Zm3,4h-3a.5.5,0,0,0-.5.5v3a.5.5,0,0,0,1,0V11h2.5a.5.5,0,0,0,0-1Zm-8,0h-3a.5.5,0,0,0,0,1H5v2.5a.5.5,0,0,0,1,0v-3A.5.5,0,0,0,5.5,10Z"
136
+ transform="translate(0 0)" />
137
+ </g>
138
+ <g id="icn-filter">
139
+ <path
140
+ d="M14.5,4.5A.5.5,0,0,1,14,5H2A.5.5,0,0,1,2,4H14A.5.5,0,0,1,14.5,4.5ZM12,8H4A.5.5,0,0,0,4,9h8a.5.5,0,0,0,0-1Zm-2,4H6a.5.5,0,0,0,0,1h4a.5.5,0,0,0,0-1Z"
141
+ transform="translate(0 0)" />
142
+ </g>
143
+ </svg></div>
144
+ <div ui-view></div>
145
+ <script>!function (e) { var t = {}; function n(r) { if (t[r]) return t[r].exports; var i = t[r] = { i: r, l: !1, exports: {} }; return e[r].call(i.exports, i, i.exports, n), i.l = !0, i.exports } n.m = e, n.c = t, n.d = function (e, t, r) { n.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: r }) }, n.r = function (e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }) }, n.t = function (e, t) { if (1 & t && (e = n(e)), 8 & t) return e; if (4 & t && "object" == typeof e && e && e.__esModule) return e; var r = Object.create(null); if (n.r(r), Object.defineProperty(r, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e) for (var i in e) n.d(r, i, function (t) { return e[t] }.bind(null, i)); return r }, n.n = function (e) { var t = e && e.__esModule ? function () { return e.default } : function () { return e }; return n.d(t, "a", t), t }, n.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, n.p = "", n(n.s = 207) }([function (e, t, n) { "use strict"; (function (e) { n.d(t, "M", (function () { return s })), n.d(t, "x", (function () { return c })), n.d(t, "Q", (function () { return u })), n.d(t, "w", (function () { return d })), n.d(t, "r", (function () { return p })), n.d(t, "q", (function () { return f })), n.d(t, "y", (function () { return h })), n.d(t, "E", (function () { return g })), n.d(t, "n", (function () { return m })), n.d(t, "A", (function () { return v })), n.d(t, "z", (function () { return b })), n.d(t, "b", (function () { return y })), n.d(t, "L", (function () { return x })), n.d(t, "d", (function () { return w })), n.d(t, "K", (function () { return k })), n.d(t, "c", (function () { return A })), n.d(t, "p", (function () { return E })), n.d(t, "o", (function () { return S })), n.d(t, "D", (function () { return $ })), n.d(t, "f", (function () { return C })), n.d(t, "H", (function () { return _ })), n.d(t, "F", (function () { return O })), n.d(t, "I", (function () { return T })), n.d(t, "s", (function () { return j })), n.d(t, "t", (function () { return P })), n.d(t, "C", (function () { return D })), n.d(t, "B", (function () { return R })), n.d(t, "U", (function () { return I })), n.d(t, "e", (function () { return N })), n.d(t, "g", (function () { return M })), n.d(t, "T", (function () { return z })), n.d(t, "v", (function () { return L })), n.d(t, "J", (function () { return B })), n.d(t, "R", (function () { return F })), n.d(t, "S", (function () { return q })), n.d(t, "u", (function () { return V })), n.d(t, "l", (function () { return U })), n.d(t, "k", (function () { return H })), n.d(t, "j", (function () { return G })), n.d(t, "G", (function () { return W })), n.d(t, "i", (function () { return Y })), n.d(t, "h", (function () { return X })), n.d(t, "P", (function () { return Z })), n.d(t, "m", (function () { return Q })), n.d(t, "a", (function () { return J })), n.d(t, "N", (function () { return ee })), n.d(t, "O", (function () { return te })); var r = n(1), i = n(3), o = n(6), a = function () { for (var e = 0, t = 0, n = arguments.length; t < n; t++)e += arguments[t].length; var r = Array(e), i = 0; for (t = 0; t < n; t++)for (var o = arguments[t], a = 0, s = o.length; a < s; a++, i++)r[i] = o[a]; return r }, s = "object" == typeof self && self.self === self && self || "object" == typeof e && e.global === e && e || void 0, l = s.angular || {}, c = l.fromJson || JSON.parse.bind(JSON), u = l.toJson || JSON.stringify.bind(JSON), d = l.forEach || function (e, t, n) { if (Object(r.a)(e)) return e.forEach(t, n); Object.keys(e).forEach((function (n) { return t(e[n], n) })) }, p = Object.assign || J, f = l.equals || K; function h(e) { return e } function g() { } function m(e, t, n, r, i) { void 0 === i && (i = !1); var o = function (t) { return e()[t].bind(n()) }; return (r = r || Object.keys(e())).reduce((function (e, n) { var r; return e[n] = i ? (r = n, function () { return t[r] = o(r), t[r].apply(null, arguments) }) : o(n), e }), t) } var v = function (e, t) { return p(Object.create(e), t) }, b = Object(i.e)(y); function y(e, t) { return -1 !== e.indexOf(t) } var x = Object(i.e)(w); function w(e, t) { var n = e.indexOf(t); return n >= 0 && e.splice(n, 1), e } var k = Object(i.e)(A); function A(e, t) { return e.push(t), t } var E = function (e) { return e.slice().forEach((function (t) { "function" == typeof t && t(), x(e, t) })) }; function S(e) { for (var t = [], n = 1; n < arguments.length; n++)t[n - 1] = arguments[n]; var r = p.apply(void 0, a([{}], t.reverse())); return p(r, _(e || {}, Object.keys(r))) } var $ = function (e, t) { return p(e, t) }; function C(e, t) { var n = []; for (var r in e.path) { if (e.path[r] !== t.path[r]) break; n.push(e.path[r]) } return n } function _(e, t) { var n = {}; for (var r in e) -1 !== t.indexOf(r) && (n[r] = e[r]); return n } function O(e, t) { return Object.keys(e).filter(Object(i.i)(b(t))).reduce((function (t, n) { return t[n] = e[n], t }), {}) } function T(e, t) { return R(e, Object(i.n)(t)) } function j(e, t) { var n = Object(r.a)(e), i = n ? [] : {}, o = n ? function (e) { return i.push(e) } : function (e, t) { return i[t] = e }; return d(e, (function (e, n) { t(e, n) && o(e, n) })), i } function P(e, t) { var n; return d(e, (function (e, r) { n || t(e, r) && (n = e) })), n } var D = R; function R(e, t, n) { return n = n || (Object(r.a)(e) ? [] : {}), d(e, (function (e, r) { return n[r] = t(e, r) })), n } var I = function (e) { return Object.keys(e).map((function (t) { return e[t] })) }, N = function (e, t) { return e && t }, M = function (e, t) { return e || t }, z = function (e, t) { return e.concat(t) }, L = function (e, t) { return Object(r.a)(t) ? e.concat(t.reduce(L, [])) : B(e, t) }; function B(e, t) { return e.push(t), e } var F = function (e, t) { return b(e, t) ? e : B(e, t) }, q = function (e) { return e.reduce(z, []) }, V = function (e) { return e.reduce(L, []) }, U = G, H = G; function G(e, t) { return void 0 === t && (t = "assert failure"), function (n) { var i = e(n); if (!i) throw new Error(Object(r.d)(t) ? t(n) : t); return i } } var W = function (e) { return Object.keys(e).map((function (t) { return [t, e[t]] })) }; function Y() { for (var e = [], t = 0; t < arguments.length; t++)e[t] = arguments[t]; if (0 === e.length) return []; for (var n = e.reduce((function (e, t) { return Math.min(t.length, e) }), 9007199254740991), r = [], i = function (t) { switch (e.length) { case 1: r.push([e[0][t]]); break; case 2: r.push([e[0][t], e[1][t]]); break; case 3: r.push([e[0][t], e[1][t], e[2][t]]); break; case 4: r.push([e[0][t], e[1][t], e[2][t], e[3][t]]); break; default: r.push(e.map((function (e) { return e[t] }))) } }, o = 0; o < n; o++)i(o); return r } function X(e, t) { var n, i; if (Object(r.a)(t) && (n = t[0], i = t[1]), !Object(r.l)(n)) throw new Error("invalid parameters to applyPairs"); return e[n] = i, e } function Z(e) { return e.length && e[e.length - 1] || void 0 } function Q(e, t) { return t && Object.keys(t).forEach((function (e) { return delete t[e] })), t || (t = {}), p(t, e) } function J(e) { for (var t = 1; t < arguments.length; t++) { var n = arguments[t]; if (n) for (var r = Object.keys(n), i = 0; i < r.length; i++)e[r[i]] = n[r[i]] } return e } function K(e, t) { if (e === t) return !0; if (null === e || null === t) return !1; if (e != e && t != t) return !0; var n = typeof e; if (n !== typeof t || "object" !== n) return !1; var o, a, s = [e, t]; if (Object(i.a)(r.a)(s)) return a = t, (o = e).length === a.length && Y(o, a).reduce((function (e, t) { return e && K(t[0], t[1]) }), !0); if (Object(i.a)(r.b)(s)) return e.getTime() === t.getTime(); if (Object(i.a)(r.k)(s)) return e.toString() === t.toString(); if (Object(i.a)(r.d)(s)) return !0; if ([r.d, r.a, r.b, r.k].map(i.c).reduce((function (e, t) { return e || !!t(s) }), !1)) return !1; var l = {}; for (var c in e) { if (!K(e[c], t[c])) return !1; l[c] = !0 } for (var c in t) if (!l[c]) return !1; return !0 } var ee = function (e) { return e.catch((function (e) { return 0 })) && e }, te = function (e) { return ee(o.b.$q.reject(e)) } }).call(this, n(35)) }, function (e, t, n) { "use strict"; n.d(t, "m", (function () { return a })), n.d(t, "c", (function () { return s })), n.d(t, "f", (function () { return l })), n.d(t, "g", (function () { return c })), n.d(t, "d", (function () { return u })), n.d(t, "h", (function () { return d })), n.d(t, "l", (function () { return p })), n.d(t, "i", (function () { return f })), n.d(t, "a", (function () { return h })), n.d(t, "b", (function () { return g })), n.d(t, "k", (function () { return m })), n.d(t, "e", (function () { return v })), n.d(t, "j", (function () { return b })); var r = n(3), i = Object.prototype.toString, o = function (e) { return function (t) { return typeof t === e } }, a = o("undefined"), s = Object(r.i)(a), l = function (e) { return null === e }, c = Object(r.j)(l, a), u = o("function"), d = o("number"), p = o("string"), f = function (e) { return null !== e && "object" == typeof e }, h = Array.isArray, g = function (e) { return "[object Date]" === i.call(e) }, m = function (e) { return "[object RegExp]" === i.call(e) }; function v(e) { if (h(e) && e.length) { var t = e.slice(0, -1), n = e.slice(-1); return !(t.filter(Object(r.i)(p)).length || n.filter(Object(r.i)(u)).length) } return u(e) } var b = Object(r.b)(f, Object(r.m)(Object(r.n)("then"), u)) }, function (e, t, n) { "use strict"; n.r(t); var r = n(4); n.d(t, "root", (function () { return r.Bb })), n.d(t, "fromJson", (function () { return r.J })), n.d(t, "toJson", (function () { return r.Mb })), n.d(t, "forEach", (function () { return r.I })), n.d(t, "extend", (function () { return r.C })), n.d(t, "equals", (function () { return r.B })), n.d(t, "identity", (function () { return r.M })), n.d(t, "noop", (function () { return r.lb })), n.d(t, "createProxyFunctions", (function () { return r.w })), n.d(t, "inherit", (function () { return r.O })), n.d(t, "inArray", (function () { return r.N })), n.d(t, "_inArray", (function () { return r.f })), n.d(t, "removeFrom", (function () { return r.Ab })), n.d(t, "_removeFrom", (function () { return r.h })), n.d(t, "pushTo", (function () { return r.zb })), n.d(t, "_pushTo", (function () { return r.g })), n.d(t, "deregAll", (function () { return r.z })), n.d(t, "defaults", (function () { return r.y })), n.d(t, "mergeR", (function () { return r.kb })), n.d(t, "ancestors", (function () { return r.k })), n.d(t, "pick", (function () { return r.tb })), n.d(t, "omit", (function () { return r.nb })), n.d(t, "pluck", (function () { return r.vb })), n.d(t, "filter", (function () { return r.D })), n.d(t, "find", (function () { return r.E })), n.d(t, "mapObj", (function () { return r.ib })), n.d(t, "map", (function () { return r.hb })), n.d(t, "values", (function () { return r.Tb })), n.d(t, "allTrueR", (function () { return r.j })), n.d(t, "anyTrueR", (function () { return r.n })), n.d(t, "unnestR", (function () { return r.Rb })), n.d(t, "flattenR", (function () { return r.G })), n.d(t, "pushR", (function () { return r.yb })), n.d(t, "uniqR", (function () { return r.Pb })), n.d(t, "unnest", (function () { return r.Qb })), n.d(t, "flatten", (function () { return r.F })), n.d(t, "assertPredicate", (function () { return r.s })), n.d(t, "assertMap", (function () { return r.r })), n.d(t, "assertFn", (function () { return r.q })), n.d(t, "pairs", (function () { return r.qb })), n.d(t, "arrayTuples", (function () { return r.p })), n.d(t, "applyPairs", (function () { return r.o })), n.d(t, "tail", (function () { return r.Lb })), n.d(t, "copy", (function () { return r.v })), n.d(t, "_extend", (function () { return r.e })), n.d(t, "silenceUncaughtInPromise", (function () { return r.Db })), n.d(t, "silentRejection", (function () { return r.Eb })), n.d(t, "makeStub", (function () { return r.gb })), n.d(t, "services", (function () { return r.Cb })), n.d(t, "Glob", (function () { return r.b })), n.d(t, "curry", (function () { return r.x })), n.d(t, "compose", (function () { return r.u })), n.d(t, "pipe", (function () { return r.ub })), n.d(t, "prop", (function () { return r.wb })), n.d(t, "propEq", (function () { return r.xb })), n.d(t, "parse", (function () { return r.rb })), n.d(t, "not", (function () { return r.mb })), n.d(t, "and", (function () { return r.l })), n.d(t, "or", (function () { return r.ob })), n.d(t, "all", (function () { return r.i })), n.d(t, "any", (function () { return r.m })), n.d(t, "is", (function () { return r.Q })), n.d(t, "eq", (function () { return r.A })), n.d(t, "val", (function () { return r.Sb })), n.d(t, "invoke", (function () { return r.P })), n.d(t, "pattern", (function () { return r.sb })), n.d(t, "isUndefined", (function () { return r.db })), n.d(t, "isDefined", (function () { return r.T })), n.d(t, "isNull", (function () { return r.W })), n.d(t, "isNullOrUndefined", (function () { return r.X })), n.d(t, "isFunction", (function () { return r.U })), n.d(t, "isNumber", (function () { return r.Y })), n.d(t, "isString", (function () { return r.cb })), n.d(t, "isObject", (function () { return r.Z })), n.d(t, "isArray", (function () { return r.R })), n.d(t, "isDate", (function () { return r.S })), n.d(t, "isRegExp", (function () { return r.bb })), n.d(t, "isInjectable", (function () { return r.V })), n.d(t, "isPromise", (function () { return r.ab })), n.d(t, "Queue", (function () { return r.c })), n.d(t, "maxLength", (function () { return r.jb })), n.d(t, "padString", (function () { return r.pb })), n.d(t, "kebobString", (function () { return r.fb })), n.d(t, "functionToString", (function () { return r.K })), n.d(t, "fnToString", (function () { return r.H })), n.d(t, "stringify", (function () { return r.Jb })), n.d(t, "beforeAfterSubstr", (function () { return r.t })), n.d(t, "hostRegex", (function () { return r.L })), n.d(t, "stripLastPathElement", (function () { return r.Kb })), n.d(t, "splitHash", (function () { return r.Gb })), n.d(t, "splitQuery", (function () { return r.Ib })), n.d(t, "splitEqual", (function () { return r.Fb })), n.d(t, "trimHashVal", (function () { return r.Ob })), n.d(t, "splitOnDelim", (function () { return r.Hb })), n.d(t, "joinNeighborsR", (function () { return r.eb })), n.d(t, "Category", (function () { return r.a })), n.d(t, "Trace", (function () { return r.d })), n.d(t, "trace", (function () { return r.Nb })); var i = n(28); for (var o in i) ["default", "root", "fromJson", "toJson", "forEach", "extend", "equals", "identity", "noop", "createProxyFunctions", "inherit", "inArray", "_inArray", "removeFrom", "_removeFrom", "pushTo", "_pushTo", "deregAll", "defaults", "mergeR", "ancestors", "pick", "omit", "pluck", "filter", "find", "mapObj", "map", "values", "allTrueR", "anyTrueR", "unnestR", "flattenR", "pushR", "uniqR", "unnest", "flatten", "assertPredicate", "assertMap", "assertFn", "pairs", "arrayTuples", "applyPairs", "tail", "copy", "_extend", "silenceUncaughtInPromise", "silentRejection", "makeStub", "services", "Glob", "curry", "compose", "pipe", "prop", "propEq", "parse", "not", "and", "or", "all", "any", "is", "eq", "val", "invoke", "pattern", "isUndefined", "isDefined", "isNull", "isNullOrUndefined", "isFunction", "isNumber", "isString", "isObject", "isArray", "isDate", "isRegExp", "isInjectable", "isPromise", "Queue", "maxLength", "padString", "kebobString", "functionToString", "fnToString", "stringify", "beforeAfterSubstr", "hostRegex", "stripLastPathElement", "splitHash", "splitQuery", "splitEqual", "trimHashVal", "splitOnDelim", "joinNeighborsR", "Category", "Trace", "trace"].indexOf(o) < 0 && function (e) { n.d(t, e, (function () { return i[e] })) }(o); var a = n(136); n.d(t, "PathNode", (function () { return a.a })), n.d(t, "PathUtils", (function () { return a.b })); var s = n(38); n.d(t, "resolvePolicies", (function () { return s.e })), n.d(t, "defaultResolvePolicy", (function () { return s.d })), n.d(t, "Resolvable", (function () { return s.b })), n.d(t, "NATIVE_INJECTOR_TOKEN", (function () { return s.a })), n.d(t, "ResolveContext", (function () { return s.c })); var l = n(43); for (var o in l) ["default", "root", "fromJson", "toJson", "forEach", "extend", "equals", "identity", "noop", "createProxyFunctions", "inherit", "inArray", "_inArray", "removeFrom", "_removeFrom", "pushTo", "_pushTo", "deregAll", "defaults", "mergeR", "ancestors", "pick", "omit", "pluck", "filter", "find", "mapObj", "map", "values", "allTrueR", "anyTrueR", "unnestR", "flattenR", "pushR", "uniqR", "unnest", "flatten", "assertPredicate", "assertMap", "assertFn", "pairs", "arrayTuples", "applyPairs", "tail", "copy", "_extend", "silenceUncaughtInPromise", "silentRejection", "makeStub", "services", "Glob", "curry", "compose", "pipe", "prop", "propEq", "parse", "not", "and", "or", "all", "any", "is", "eq", "val", "invoke", "pattern", "isUndefined", "isDefined", "isNull", "isNullOrUndefined", "isFunction", "isNumber", "isString", "isObject", "isArray", "isDate", "isRegExp", "isInjectable", "isPromise", "Queue", "maxLength", "padString", "kebobString", "functionToString", "fnToString", "stringify", "beforeAfterSubstr", "hostRegex", "stripLastPathElement", "splitHash", "splitQuery", "splitEqual", "trimHashVal", "splitOnDelim", "joinNeighborsR", "Category", "Trace", "trace", "PathNode", "PathUtils", "resolvePolicies", "defaultResolvePolicy", "Resolvable", "NATIVE_INJECTOR_TOKEN", "ResolveContext"].indexOf(o) < 0 && function (e) { n.d(t, e, (function () { return l[e] })) }(o); var c = n(138); n.d(t, "TransitionHookPhase", (function () { return c.h })), n.d(t, "TransitionHookScope", (function () { return c.i })), n.d(t, "HookBuilder", (function () { return c.a })), n.d(t, "matchState", (function () { return c.m })), n.d(t, "RegisteredHook", (function () { return c.b })), n.d(t, "makeEvent", (function () { return c.l })), n.d(t, "RejectType", (function () { return c.c })), n.d(t, "Rejection", (function () { return c.d })), n.d(t, "Transition", (function () { return c.e })), n.d(t, "TransitionHook", (function () { return c.g })), n.d(t, "TransitionEventType", (function () { return c.f })), n.d(t, "defaultTransOpts", (function () { return c.k })), n.d(t, "TransitionService", (function () { return c.j })); var u = n(139); for (var o in u) ["default", "root", "fromJson", "toJson", "forEach", "extend", "equals", "identity", "noop", "createProxyFunctions", "inherit", "inArray", "_inArray", "removeFrom", "_removeFrom", "pushTo", "_pushTo", "deregAll", "defaults", "mergeR", "ancestors", "pick", "omit", "pluck", "filter", "find", "mapObj", "map", "values", "allTrueR", "anyTrueR", "unnestR", "flattenR", "pushR", "uniqR", "unnest", "flatten", "assertPredicate", "assertMap", "assertFn", "pairs", "arrayTuples", "applyPairs", "tail", "copy", "_extend", "silenceUncaughtInPromise", "silentRejection", "makeStub", "services", "Glob", "curry", "compose", "pipe", "prop", "propEq", "parse", "not", "and", "or", "all", "any", "is", "eq", "val", "invoke", "pattern", "isUndefined", "isDefined", "isNull", "isNullOrUndefined", "isFunction", "isNumber", "isString", "isObject", "isArray", "isDate", "isRegExp", "isInjectable", "isPromise", "Queue", "maxLength", "padString", "kebobString", "functionToString", "fnToString", "stringify", "beforeAfterSubstr", "hostRegex", "stripLastPathElement", "splitHash", "splitQuery", "splitEqual", "trimHashVal", "splitOnDelim", "joinNeighborsR", "Category", "Trace", "trace", "PathNode", "PathUtils", "resolvePolicies", "defaultResolvePolicy", "Resolvable", "NATIVE_INJECTOR_TOKEN", "ResolveContext", "TransitionHookPhase", "TransitionHookScope", "HookBuilder", "matchState", "RegisteredHook", "makeEvent", "RejectType", "Rejection", "Transition", "TransitionHook", "TransitionEventType", "defaultTransOpts", "TransitionService"].indexOf(o) < 0 && function (e) { n.d(t, e, (function () { return u[e] })) }(o); var d = n(141); for (var o in d) ["default", "root", "fromJson", "toJson", "forEach", "extend", "equals", "identity", "noop", "createProxyFunctions", "inherit", "inArray", "_inArray", "removeFrom", "_removeFrom", "pushTo", "_pushTo", "deregAll", "defaults", "mergeR", "ancestors", "pick", "omit", "pluck", "filter", "find", "mapObj", "map", "values", "allTrueR", "anyTrueR", "unnestR", "flattenR", "pushR", "uniqR", "unnest", "flatten", "assertPredicate", "assertMap", "assertFn", "pairs", "arrayTuples", "applyPairs", "tail", "copy", "_extend", "silenceUncaughtInPromise", "silentRejection", "makeStub", "services", "Glob", "curry", "compose", "pipe", "prop", "propEq", "parse", "not", "and", "or", "all", "any", "is", "eq", "val", "invoke", "pattern", "isUndefined", "isDefined", "isNull", "isNullOrUndefined", "isFunction", "isNumber", "isString", "isObject", "isArray", "isDate", "isRegExp", "isInjectable", "isPromise", "Queue", "maxLength", "padString", "kebobString", "functionToString", "fnToString", "stringify", "beforeAfterSubstr", "hostRegex", "stripLastPathElement", "splitHash", "splitQuery", "splitEqual", "trimHashVal", "splitOnDelim", "joinNeighborsR", "Category", "Trace", "trace", "PathNode", "PathUtils", "resolvePolicies", "defaultResolvePolicy", "Resolvable", "NATIVE_INJECTOR_TOKEN", "ResolveContext", "TransitionHookPhase", "TransitionHookScope", "HookBuilder", "matchState", "RegisteredHook", "makeEvent", "RejectType", "Rejection", "Transition", "TransitionHook", "TransitionEventType", "defaultTransOpts", "TransitionService"].indexOf(o) < 0 && function (e) { n.d(t, e, (function () { return d[e] })) }(o); var p = n(103); n.d(t, "UIRouterGlobals", (function () { return p.a })); var f = n(99); n.d(t, "UIRouter", (function () { return f.a })); var h = n(143); for (var o in h) ["default", "root", "fromJson", "toJson", "forEach", "extend", "equals", "identity", "noop", "createProxyFunctions", "inherit", "inArray", "_inArray", "removeFrom", "_removeFrom", "pushTo", "_pushTo", "deregAll", "defaults", "mergeR", "ancestors", "pick", "omit", "pluck", "filter", "find", "mapObj", "map", "values", "allTrueR", "anyTrueR", "unnestR", "flattenR", "pushR", "uniqR", "unnest", "flatten", "assertPredicate", "assertMap", "assertFn", "pairs", "arrayTuples", "applyPairs", "tail", "copy", "_extend", "silenceUncaughtInPromise", "silentRejection", "makeStub", "services", "Glob", "curry", "compose", "pipe", "prop", "propEq", "parse", "not", "and", "or", "all", "any", "is", "eq", "val", "invoke", "pattern", "isUndefined", "isDefined", "isNull", "isNullOrUndefined", "isFunction", "isNumber", "isString", "isObject", "isArray", "isDate", "isRegExp", "isInjectable", "isPromise", "Queue", "maxLength", "padString", "kebobString", "functionToString", "fnToString", "stringify", "beforeAfterSubstr", "hostRegex", "stripLastPathElement", "splitHash", "splitQuery", "splitEqual", "trimHashVal", "splitOnDelim", "joinNeighborsR", "Category", "Trace", "trace", "PathNode", "PathUtils", "resolvePolicies", "defaultResolvePolicy", "Resolvable", "NATIVE_INJECTOR_TOKEN", "ResolveContext", "TransitionHookPhase", "TransitionHookScope", "HookBuilder", "matchState", "RegisteredHook", "makeEvent", "RejectType", "Rejection", "Transition", "TransitionHook", "TransitionEventType", "defaultTransOpts", "TransitionService", "UIRouterGlobals", "UIRouter"].indexOf(o) < 0 && function (e) { n.d(t, e, (function () { return h[e] })) }(o); var g = n(147); n.d(t, "UIRouterPluginBase", (function () { return g.a })) }, function (e, t, n) { "use strict"; n.d(t, "e", (function () { return i })), n.d(t, "d", (function () { return o })), n.d(t, "m", (function () { return a })), n.d(t, "n", (function () { return s })), n.d(t, "o", (function () { return l })), n.d(t, "k", (function () { return c })), n.d(t, "i", (function () { return u })), n.d(t, "b", (function () { return d })), n.d(t, "j", (function () { return p })), n.d(t, "a", (function () { return f })), n.d(t, "c", (function () { return h })), n.d(t, "h", (function () { return g })), n.d(t, "f", (function () { return m })), n.d(t, "p", (function () { return v })), n.d(t, "g", (function () { return b })), n.d(t, "l", (function () { return y })); var r = function () { for (var e = 0, t = 0, n = arguments.length; t < n; t++)e += arguments[t].length; var r = Array(e), i = 0; for (t = 0; t < n; t++)for (var o = arguments[t], a = 0, s = o.length; a < s; a++, i++)r[i] = o[a]; return r }; function i(e) { return function t() { if (arguments.length >= e.length) return e.apply(this, arguments); var n = Array.prototype.slice.call(arguments); return t.bind.apply(t, r([this], n)) } } function o() { var e = arguments, t = e.length - 1; return function () { for (var n = t, r = e[t].apply(this, arguments); n--;)r = e[n].call(this, r); return r } } function a() { for (var e = [], t = 0; t < arguments.length; t++)e[t] = arguments[t]; return o.apply(null, [].slice.call(arguments).reverse()) } var s = function (e) { return function (t) { return t && t[e] } }, l = i((function (e, t, n) { return n && n[e] === t })), c = function (e) { return a.apply(null, e.split(".").map(s)) }, u = function (e) { return function () { for (var t = [], n = 0; n < arguments.length; n++)t[n] = arguments[n]; return !e.apply(null, t) } }; function d(e, t) { return function () { for (var n = [], r = 0; r < arguments.length; r++)n[r] = arguments[r]; return e.apply(null, n) && t.apply(null, n) } } function p(e, t) { return function () { for (var n = [], r = 0; r < arguments.length; r++)n[r] = arguments[r]; return e.apply(null, n) || t.apply(null, n) } } var f = function (e) { return function (t) { return t.reduce((function (t, n) { return t && !!e(n) }), !0) } }, h = function (e) { return function (t) { return t.reduce((function (t, n) { return t || !!e(n) }), !1) } }, g = function (e) { return function (t) { return null != t && t.constructor === e || t instanceof e } }, m = function (e) { return function (t) { return e === t } }, v = function (e) { return function () { return e } }; function b(e, t) { return function (n) { return n[e].apply(n, t) } } function y(e) { return function (t) { for (var n = 0; n < e.length; n++)if (e[n][0](t)) return e[n][1](t) } } }, function (e, t, n) { "use strict"; var r = n(0); n.d(t, "e", (function () { return r.a })), n.d(t, "f", (function () { return r.b })), n.d(t, "g", (function () { return r.c })), n.d(t, "h", (function () { return r.d })), n.d(t, "j", (function () { return r.e })), n.d(t, "k", (function () { return r.f })), n.d(t, "n", (function () { return r.g })), n.d(t, "o", (function () { return r.h })), n.d(t, "p", (function () { return r.i })), n.d(t, "q", (function () { return r.j })), n.d(t, "r", (function () { return r.k })), n.d(t, "s", (function () { return r.l })), n.d(t, "v", (function () { return r.m })), n.d(t, "w", (function () { return r.n })), n.d(t, "y", (function () { return r.o })), n.d(t, "z", (function () { return r.p })), n.d(t, "B", (function () { return r.q })), n.d(t, "C", (function () { return r.r })), n.d(t, "D", (function () { return r.s })), n.d(t, "E", (function () { return r.t })), n.d(t, "F", (function () { return r.u })), n.d(t, "G", (function () { return r.v })), n.d(t, "I", (function () { return r.w })), n.d(t, "J", (function () { return r.x })), n.d(t, "M", (function () { return r.y })), n.d(t, "N", (function () { return r.z })), n.d(t, "O", (function () { return r.A })), n.d(t, "hb", (function () { return r.B })), n.d(t, "ib", (function () { return r.C })), n.d(t, "kb", (function () { return r.D })), n.d(t, "lb", (function () { return r.E })), n.d(t, "nb", (function () { return r.F })), n.d(t, "qb", (function () { return r.G })), n.d(t, "tb", (function () { return r.H })), n.d(t, "vb", (function () { return r.I })), n.d(t, "yb", (function () { return r.J })), n.d(t, "zb", (function () { return r.K })), n.d(t, "Ab", (function () { return r.L })), n.d(t, "Bb", (function () { return r.M })), n.d(t, "Db", (function () { return r.N })), n.d(t, "Eb", (function () { return r.O })), n.d(t, "Lb", (function () { return r.P })), n.d(t, "Mb", (function () { return r.Q })), n.d(t, "Pb", (function () { return r.R })), n.d(t, "Qb", (function () { return r.S })), n.d(t, "Rb", (function () { return r.T })), n.d(t, "Tb", (function () { return r.U })); var i = n(6); n.d(t, "gb", (function () { return i.a })), n.d(t, "Cb", (function () { return i.b })); var o = n(62); n.d(t, "b", (function () { return o.a })); var a = n(3); n.d(t, "i", (function () { return a.a })), n.d(t, "l", (function () { return a.b })), n.d(t, "m", (function () { return a.c })), n.d(t, "u", (function () { return a.d })), n.d(t, "x", (function () { return a.e })), n.d(t, "A", (function () { return a.f })), n.d(t, "P", (function () { return a.g })), n.d(t, "Q", (function () { return a.h })), n.d(t, "mb", (function () { return a.i })), n.d(t, "ob", (function () { return a.j })), n.d(t, "rb", (function () { return a.k })), n.d(t, "sb", (function () { return a.l })), n.d(t, "ub", (function () { return a.m })), n.d(t, "wb", (function () { return a.n })), n.d(t, "xb", (function () { return a.o })), n.d(t, "Sb", (function () { return a.p })); var s = n(1); n.d(t, "R", (function () { return s.a })), n.d(t, "S", (function () { return s.b })), n.d(t, "T", (function () { return s.c })), n.d(t, "U", (function () { return s.d })), n.d(t, "V", (function () { return s.e })), n.d(t, "W", (function () { return s.f })), n.d(t, "X", (function () { return s.g })), n.d(t, "Y", (function () { return s.h })), n.d(t, "Z", (function () { return s.i })), n.d(t, "ab", (function () { return s.j })), n.d(t, "bb", (function () { return s.k })), n.d(t, "cb", (function () { return s.l })), n.d(t, "db", (function () { return s.m })); var l = n(50); n.d(t, "c", (function () { return l.a })); var c = n(7); n.d(t, "t", (function () { return c.a })), n.d(t, "H", (function () { return c.b })), n.d(t, "K", (function () { return c.c })), n.d(t, "L", (function () { return c.d })), n.d(t, "eb", (function () { return c.e })), n.d(t, "fb", (function () { return c.f })), n.d(t, "jb", (function () { return c.g })), n.d(t, "pb", (function () { return c.h })), n.d(t, "Fb", (function () { return c.i })), n.d(t, "Gb", (function () { return c.j })), n.d(t, "Hb", (function () { return c.k })), n.d(t, "Ib", (function () { return c.l })), n.d(t, "Jb", (function () { return c.m })), n.d(t, "Kb", (function () { return c.n })), n.d(t, "Ob", (function () { return c.o })); var u = n(10); n.d(t, "a", (function () { return u.a })), n.d(t, "d", (function () { return u.b })), n.d(t, "Nb", (function () { return u.c })) }, function (e, t, n) { "use strict"; (function (e) { n.d(t, "e", (function () { return r })), n.d(t, "p", (function () { return i })), n.d(t, "a", (function () { return o })), n.d(t, "c", (function () { return a })), n.d(t, "d", (function () { return s })), n.d(t, "o", (function () { return l })), n.d(t, "q", (function () { return c })), n.d(t, "t", (function () { return u })), n.d(t, "i", (function () { return d })), n.d(t, "r", (function () { return p })), n.d(t, "s", (function () { return f })), n.d(t, "k", (function () { return h })), n.d(t, "m", (function () { return g })), n.d(t, "j", (function () { return m })), n.d(t, "l", (function () { return v })), n.d(t, "g", (function () { return b })), n.d(t, "f", (function () { return y })), n.d(t, "h", (function () { return x })), n.d(t, "n", (function () { return w })), n.d(t, "b", (function () { return k })); var r = "1.13.4", i = "object" == typeof self && self.self === self && self || "object" == typeof e && e.global === e && e || Function("return this")() || {}, o = Array.prototype, a = Object.prototype, s = "undefined" != typeof Symbol ? Symbol.prototype : null, l = o.push, c = o.slice, u = a.toString, d = a.hasOwnProperty, p = "undefined" != typeof ArrayBuffer, f = "undefined" != typeof DataView, h = Array.isArray, g = Object.keys, m = Object.create, v = p && ArrayBuffer.isView, b = isNaN, y = isFinite, x = !{ toString: null }.propertyIsEnumerable("toString"), w = ["valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString"], k = Math.pow(2, 53) - 1 }).call(this, n(35)) }, function (e, t, n) { "use strict"; n.d(t, "a", (function () { return r })), n.d(t, "b", (function () { return i })); var r = function (e, t) { return t.reduce((function (t, n) { return t[n] = (r = e + "." + n + "()", function () { throw new Error("No implementation for " + r + ". The framework specific code did not implement this method.") }), t; var r }), {}) }, i = { $q: void 0, $injector: void 0 } }, function (e, t, n) { "use strict"; n.d(t, "g", (function () { return s })), n.d(t, "h", (function () { return l })), n.d(t, "f", (function () { return c })), n.d(t, "c", (function () { return u })), n.d(t, "b", (function () { return d })), n.d(t, "m", (function () { return h })), n.d(t, "a", (function () { return g })), n.d(t, "d", (function () { return m })), n.d(t, "n", (function () { return v })), n.d(t, "j", (function () { return b })), n.d(t, "l", (function () { return y })), n.d(t, "i", (function () { return x })), n.d(t, "o", (function () { return w })), n.d(t, "k", (function () { return k })), n.d(t, "e", (function () { return A })); var r = n(1), i = n(9), o = n(0), a = n(3); function s(e, t) { return t.length <= e ? t : t.substr(0, e - 3) + "..." } function l(e, t) { for (; t.length < e;)t += " "; return t } function c(e) { return e.replace(/^([A-Z])/, (function (e) { return e.toLowerCase() })).replace(/([A-Z])/g, (function (e) { return "-" + e.toLowerCase() })) } function u(e) { var t = d(e), n = t.match(/^(function [^ ]+\([^)]*\))/), r = n ? n[1] : t, i = e.name || ""; return i && r.match(/function \(/) ? "function " + i + r.substr(9) : r } function d(e) { var t = Object(r.a)(e) ? e.slice(-1)[0] : e; return t && t.toString() || "undefined" } var p = i.b.isRejectionPromise, f = Object(a.l)([[r.m, Object(a.p)("undefined")], [r.f, Object(a.p)("null")], [r.j, Object(a.p)("[Promise]")], [p, function (e) { return e._transitionRejection.toString() }], [function (e) { return Object(r.i)(e) && !Object(r.a)(e) && e.constructor !== Object && Object(r.d)(e.toString) }, function (e) { return e.toString() }], [r.e, u], [Object(a.p)(!0), o.y]]); function h(e) { var t = []; function n(e) { if (Object(r.i)(e)) { if (-1 !== t.indexOf(e)) return "[circular ref]"; t.push(e) } return f(e) } return Object(r.m)(e) ? n(e) : JSON.stringify(e, (function (e, t) { return n(t) })).replace(/\\"/g, '"') } var g = function (e) { return function (t) { if (!t) return ["", ""]; var n = t.indexOf(e); return -1 === n ? [t, ""] : [t.substr(0, n), t.substr(n + 1)] } }, m = new RegExp("^(?:[a-z]+:)?//[^/]+/"), v = function (e) { return e.replace(/\/[^/]*$/, "") }, b = g("#"), y = g("?"), x = g("="), w = function (e) { return e ? e.replace(/^#/, "") : "" }; function k(e) { var t = new RegExp("(" + e + ")", "g"); return function (e) { return e.split(t).filter(o.y) } } function A(e, t) { return Object(r.l)(Object(o.P)(e)) && Object(r.l)(t) ? e.slice(0, -1).concat(Object(o.P)(e) + t) : Object(o.J)(e, t) } }, function (e, t, n) { n(208), e.exports = angular }, function (e, t, n) { "use strict"; n.d(t, "a", (function () { return r })), n.d(t, "b", (function () { return l })); var r, i = n(0), o = n(7), a = n(3); !function (e) { e[e.SUPERSEDED = 2] = "SUPERSEDED", e[e.ABORTED = 3] = "ABORTED", e[e.INVALID = 4] = "INVALID", e[e.IGNORED = 5] = "IGNORED", e[e.ERROR = 6] = "ERROR" }(r || (r = {})); var s = 0, l = function () { function e(e, t, n) { this.$id = s++, this.type = e, this.message = t, this.detail = n } return e.isRejectionPromise = function (t) { return t && "function" == typeof t.then && Object(a.h)(e)(t._transitionRejection) }, e.superseded = function (t, n) { var i = new e(r.SUPERSEDED, "The transition has been superseded by a different transition", t); return n && n.redirected && (i.redirected = !0), i }, e.redirected = function (t) { return e.superseded(t, { redirected: !0 }) }, e.invalid = function (t) { return new e(r.INVALID, "This transition is invalid", t) }, e.ignored = function (t) { return new e(r.IGNORED, "The transition was ignored", t) }, e.aborted = function (t) { return new e(r.ABORTED, "The transition has been aborted", t) }, e.errored = function (t) { return new e(r.ERROR, "The transition errored", t) }, e.normalize = function (t) { return Object(a.h)(e)(t) ? t : e.errored(t) }, e.prototype.toString = function () { var e, t = (e = this.detail) && e.toString !== Object.prototype.toString ? e.toString() : Object(o.m)(e); return "Transition Rejection($id: " + this.$id + " type: " + this.type + ", message: " + this.message + ", detail: " + t + ")" }, e.prototype.toPromise = function () { return Object(i.r)(Object(i.O)(this), { _transitionRejection: this }) }, e }() }, function (e, t, n) { "use strict"; n.d(t, "a", (function () { return l })), n.d(t, "b", (function () { return f })), n.d(t, "c", (function () { return h })); var r = n(3), i = n(1), o = n(7), a = n(19); function s(e) { if (!e) return "ui-view (defunct)"; var t = e.creationContext ? e.creationContext.name || "(root)" : "(none)"; return "[ui-view#" + e.id + " " + e.$type + ":" + e.fqn + " (" + e.name + "@" + t + ")]" } var l; function c(e) { return Object(i.h)(e) ? l[e] : l[l[e]] } !function (e) { e[e.RESOLVE = 0] = "RESOLVE", e[e.TRANSITION = 1] = "TRANSITION", e[e.HOOK = 2] = "HOOK", e[e.UIVIEW = 3] = "UIVIEW", e[e.VIEWCONFIG = 4] = "VIEWCONFIG" }(l || (l = {})); var u = Object(r.k)("$id"), d = Object(r.k)("router.$id"), p = function (e) { return "Transition #" + u(e) + "-" + d(e) }, f = function () { function e() { this._enabled = {}, this.approximateDigests = 0 } return e.prototype._set = function (e, t) { var n = this; t.length || (t = Object.keys(l).map((function (e) { return parseInt(e, 10) })).filter((function (e) { return !isNaN(e) })).map((function (e) { return l[e] }))), t.map(c).forEach((function (t) { return n._enabled[t] = e })) }, e.prototype.enable = function () { for (var e = [], t = 0; t < arguments.length; t++)e[t] = arguments[t]; this._set(!0, e) }, e.prototype.disable = function () { for (var e = [], t = 0; t < arguments.length; t++)e[t] = arguments[t]; this._set(!1, e) }, e.prototype.enabled = function (e) { return !!this._enabled[c(e)] }, e.prototype.traceTransitionStart = function (e) { this.enabled(l.TRANSITION) && a.a.log(p(e) + ": Started -> " + Object(o.m)(e)) }, e.prototype.traceTransitionIgnored = function (e) { this.enabled(l.TRANSITION) && a.a.log(p(e) + ": Ignored <> " + Object(o.m)(e)) }, e.prototype.traceHookInvocation = function (e, t, n) { if (this.enabled(l.HOOK)) { var i = Object(r.k)("traceData.hookType")(n) || "internal", s = Object(r.k)("traceData.context.state.name")(n) || Object(r.k)("traceData.context")(n) || "unknown", c = Object(o.c)(e.registeredHook.callback); a.a.log(p(t) + ": Hook -> " + i + " context: " + s + ", " + Object(o.g)(200, c)) } }, e.prototype.traceHookResult = function (e, t, n) { this.enabled(l.HOOK) && a.a.log(p(t) + ": <- Hook returned: " + Object(o.g)(200, Object(o.m)(e))) }, e.prototype.traceResolvePath = function (e, t, n) { this.enabled(l.RESOLVE) && a.a.log(p(n) + ": Resolving " + e + " (" + t + ")") }, e.prototype.traceResolvableResolved = function (e, t) { this.enabled(l.RESOLVE) && a.a.log(p(t) + ": <- Resolved " + e + " to: " + Object(o.g)(200, Object(o.m)(e.data))) }, e.prototype.traceError = function (e, t) { this.enabled(l.TRANSITION) && a.a.log(p(t) + ": <- Rejected " + Object(o.m)(t) + ", reason: " + e) }, e.prototype.traceSuccess = function (e, t) { this.enabled(l.TRANSITION) && a.a.log(p(t) + ": <- Success " + Object(o.m)(t) + ", final state: " + e.name) }, e.prototype.traceUIViewEvent = function (e, t, n) { void 0 === n && (n = ""), this.enabled(l.UIVIEW) && a.a.log("ui-view: " + Object(o.h)(30, e) + " " + s(t) + n) }, e.prototype.traceUIViewConfigUpdated = function (e, t) { this.enabled(l.UIVIEW) && this.traceUIViewEvent("Updating", e, " with ViewConfig from context='" + t + "'") }, e.prototype.traceUIViewFill = function (e, t) { this.enabled(l.UIVIEW) && this.traceUIViewEvent("Fill", e, " with: " + Object(o.g)(200, t)) }, e.prototype.traceViewSync = function (e) { if (this.enabled(l.VIEWCONFIG)) { var t = "uiview component fqn", n = e.map((function (e) { var n, r = e.uiView, i = e.viewConfig, o = r && r.fqn, a = i && i.viewDecl.$context.name + ": (" + i.viewDecl.$name + ")"; return (n = {})[t] = o, n["view config state (view name)"] = a, n })).sort((function (e, n) { return (e[t] || "").localeCompare(n[t] || "") })); a.a.table(n) } }, e.prototype.traceViewServiceEvent = function (e, t) { this.enabled(l.VIEWCONFIG) && a.a.log("VIEWCONFIG: " + e + " " + function (e) { var t = e.viewDecl, n = t.$context.name || "(root)"; return "[View#" + e.$id + " from '" + n + "' state]: target ui-view: '" + t.$uiViewName + "@" + t.$uiViewContextAnchor + "'" }(t)) }, e.prototype.traceViewServiceUIViewEvent = function (e, t) { this.enabled(l.VIEWCONFIG) && a.a.log("VIEWCONFIG: " + e + " " + s(t)) }, e }(), h = new f }, function (e, t, n) { var r; try { r = { cloneDeep: n(360), constant: n(126), defaults: n(361), each: n(167), filter: n(170), find: n(362), flatten: n(197), forEach: n(168), forIn: n(369), has: n(181), isUndefined: n(182), last: n(370), map: n(183), mapValues: n(371), max: n(372), merge: n(374), min: n(380), minBy: n(381), now: n(382), pick: n(383), range: n(388), reduce: n(185), sortBy: n(391), uniqueId: n(396), values: n(190), zipObject: n(397) } } catch (e) { } r || (r = window._), e.exports = r }, function (e, t, n) { "use strict"; n.d(t, "a", (function () { return o })); var r = n(8), i = angular, o = r && r.module ? r : i }, function (e, t) { var n = Array.isArray; e.exports = n }, function (e, t, n) { "use strict"; var r, i; n.d(t, "a", (function () { return r })), n.d(t, "b", (function () { return i })), function (e) { e[e.CREATE = 0] = "CREATE", e[e.BEFORE = 1] = "BEFORE", e[e.RUN = 2] = "RUN", e[e.SUCCESS = 3] = "SUCCESS", e[e.ERROR = 4] = "ERROR" }(r || (r = {})), function (e) { e[e.TRANSITION = 0] = "TRANSITION", e[e.STATE = 1] = "STATE" }(i || (i = {})) }, function (e, t, n) { "use strict"; n.d(t, "b", (function () { return l })), n.d(t, "a", (function () { return c })); var r = n(0), i = n(6), o = n(10), a = n(7), s = n(1), l = { when: "LAZY", async: "WAIT" }, c = function () { function e(t, n, o, a, l) { if (this.resolved = !1, this.promise = void 0, t instanceof e) Object(r.r)(this, t); else if (Object(s.d)(n)) { if (Object(s.g)(t)) throw new Error("new Resolvable(): token argument is required"); if (!Object(s.d)(n)) throw new Error("new Resolvable(): resolveFn argument must be a function"); this.token = t, this.policy = a, this.resolveFn = n, this.deps = o || [], this.data = l, this.resolved = void 0 !== l, this.promise = this.resolved ? i.b.$q.when(this.data) : void 0 } else if (Object(s.i)(t) && t.token && (t.hasOwnProperty("resolveFn") || t.hasOwnProperty("data"))) { var c = t; return new e(c.token, c.resolveFn, c.deps, c.policy, c.data) } } return e.prototype.getPolicy = function (e) { var t = this.policy || {}, n = e && e.resolvePolicy || {}; return { when: t.when || n.when || l.when, async: t.async || n.async || l.async } }, e.prototype.resolve = function (e, t) { var n = this, a = i.b.$q, l = e.findNode(this), c = l && l.state, u = this.getPolicy(c).async, d = Object(s.d)(u) ? u : r.y; return this.promise = a.when().then((function () { return a.all(e.getDependencies(n).map((function (n) { return n.get(e, t) }))) })).then((function (e) { return n.resolveFn.apply(null, e) })).then(d).then((function (e) { return n.data = e, n.resolved = !0, n.resolveFn = null, o.c.traceResolvableResolved(n, t), n.data })) }, e.prototype.get = function (e, t) { return this.promise || this.resolve(e, t) }, e.prototype.toString = function () { return "Resolvable(token: " + Object(a.m)(this.token) + ", requires: [" + this.deps.map(a.m) + "])" }, e.prototype.clone = function () { return new e(this) }, e.fromData = function (t, n) { return new e(t, (function () { return n }), null, null, n) }, e }() }, function (e, t, n) { "use strict"; n.d(t, "a", (function () { return r })), n.d(t, "b", (function () { return d })); var r, i = n(0), o = n(3), a = n(1), s = n(6), l = n(51), c = Object.prototype.hasOwnProperty; function u(e, t, n) { var o = !1 === n.reloadOnSearch && t === r.SEARCH || void 0, s = Object(i.t)([n.dynamic, o], a.c), l = Object(a.c)(s) ? { dynamic: s } : {}, u = function (e) { function t() { return e.value } e = function (e) { return 0 === ["value", "type", "squash", "array", "dynamic"].filter(c.bind(e || {})).length }(e) ? { value: e } : e, t.__cacheable = !0; var n = Object(a.e)(e.value) ? e.value : t; return Object(i.r)(e, { $$fn: n }) }(n && n.params && n.params[e]); return Object(i.r)(l, u) } !function (e) { e[e.PATH = 0] = "PATH", e[e.SEARCH = 1] = "SEARCH", e[e.CONFIG = 2] = "CONFIG" }(r || (r = {})); var d = function () { function e(e, t, n, s, c) { var d = u(e, n, c); t = function (e, t, n, i, o) { if (e.type && t && "string" !== t.name) throw new Error("Param '" + i + "' has two type configurations."); if (e.type && t && "string" === t.name && o.type(e.type)) return o.type(e.type); if (t) return t; if (!e.type) { var a = n === r.CONFIG ? "any" : n === r.PATH ? "path" : n === r.SEARCH ? "query" : "string"; return o.type(a) } return e.type instanceof l.a ? e.type : o.type(e.type) }(d, t, n, e, s.paramTypes); var p, f, h = (p = { array: n === r.SEARCH && "auto" }, f = e.match(/\[\]$/) ? { array: !0 } : {}, Object(i.r)(p, f, d).array); t = h ? t.$asArray(h, n === r.SEARCH) : t; var g = void 0 !== d.value || n === r.SEARCH, m = Object(a.c)(d.dynamic) ? !!d.dynamic : !!t.dynamic, v = Object(a.c)(d.raw) ? !!d.raw : !!t.raw, b = function (e, t, n) { var r = e.squash; if (!t || !1 === r) return !1; if (!Object(a.c)(r) || null == r) return n; if (!0 === r || Object(a.l)(r)) return r; throw new Error("Invalid squash policy: '" + r + "'. Valid policies: false, true, or arbitrary string") }(d, g, s.defaultSquashPolicy()), y = function (e, t, n, r) { var s = [{ from: "", to: n || t ? void 0 : "" }, { from: null, to: n || t ? void 0 : "" }], l = Object(a.a)(e.replace) ? e.replace : []; Object(a.l)(r) && l.push({ from: r, to: void 0 }); var c = Object(i.B)(l, Object(o.n)("from")); return Object(i.s)(s, (function (e) { return -1 === c.indexOf(e.from) })).concat(l) }(d, h, g, b), x = Object(a.c)(d.inherit) ? !!d.inherit : !!t.inherit; Object(i.r)(this, { id: e, type: t, location: n, isOptional: g, dynamic: m, raw: v, squash: b, replace: y, inherit: x, array: h, config: d }) } return e.values = function (e, t) { void 0 === t && (t = {}); for (var n = {}, r = 0, i = e; r < i.length; r++) { var o = i[r]; n[o.id] = o.value(t[o.id]) } return n }, e.changed = function (e, t, n) { return void 0 === t && (t = {}), void 0 === n && (n = {}), e.filter((function (e) { return !e.type.equals(t[e.id], n[e.id]) })) }, e.equals = function (t, n, r) { return void 0 === n && (n = {}), void 0 === r && (r = {}), 0 === e.changed(t, n, r).length }, e.validates = function (e, t) { return void 0 === t && (t = {}), e.map((function (e) { return e.validates(t[e.id]) })).reduce(i.e, !0) }, e.prototype.isDefaultValue = function (e) { return this.isOptional && this.type.equals(this.value(), e) }, e.prototype.value = function (e) { var t = this; return e = function (e) { for (var n = 0, r = t.replace; n < r.length; n++) { var i = r[n]; if (i.from === e) return i.to } return e }(e), Object(a.m)(e) ? function () { if (t._defaultValueCache) return t._defaultValueCache.defaultValue; if (!s.b.$injector) throw new Error("Injectable functions cannot be called at configuration time"); var e = s.b.$injector.invoke(t.config.$$fn); if (null != e && !t.type.is(e)) throw new Error("Default value (" + e + ") for parameter '" + t.id + "' is not an instance of ParamType (" + t.type.name + ")"); return t.config.$$fn.__cacheable && (t._defaultValueCache = { defaultValue: e }), e }() : this.type.$normalize(e) }, e.prototype.isSearch = function () { return this.location === r.SEARCH }, e.prototype.validates = function (e) { if ((Object(a.m)(e) || null === e) && this.isOptional) return !0; var t = this.type.$normalize(e); if (!this.type.is(t)) return !1; var n = this.type.encode(t); return !(Object(a.l)(n) && !this.type.pattern.exec(n)) }, e.prototype.toString = function () { return "{Param:" + this.id + " " + this.type + " squash: '" + this.squash + "' optional: " + this.isOptional + "}" }, e }() }, function (e, t, n) { "use strict"; n.d(t, "a", (function () { return f })); var r = n(14), i = n(0), o = n(7), a = n(1), s = n(3), l = n(10), c = n(6), u = n(9), d = n(26), p = { current: i.E, transition: null, traceData: {}, bind: null }, f = function () { function e(e, t, n, o) { var a = this; this.transition = e, this.stateContext = t, this.registeredHook = n, this.options = o, this.isSuperseded = function () { return a.type.hookPhase === r.a.RUN && !a.options.transition.isActive() }, this.options = Object(i.o)(o, p), this.type = n.eventType } return e.chain = function (e, t) { return e.reduce((function (e, t) { return e.then((function () { return t.invokeHook() })) }), t || c.b.$q.when()) }, e.invokeHooks = function (t, n) { for (var r = 0; r < t.length; r++) { var i = t[r].invokeHook(); if (Object(a.j)(i)) { var o = t.slice(r + 1); return e.chain(o, i).then(n) } } return n() }, e.runAllHooks = function (e) { e.forEach((function (e) { return e.invokeHook() })) }, e.prototype.logError = function (e) { this.transition.router.stateService.defaultErrorHandler()(e) }, e.prototype.invokeHook = function () { var e = this, t = this.registeredHook; if (!t._deregistered) { var n = this.getNotCurrentRejection(); if (n) return n; var r = this.options; l.c.traceHookInvocation(this, this.transition, r); var i = function (n) { return t.eventType.getErrorHandler(e)(n) }, o = function (n) { return t.eventType.getResultHandler(e)(n) }; try { var s = t.callback.call(r.bind, e.transition, e.stateContext); return !this.type.synchronous && Object(a.j)(s) ? s.catch((function (e) { return u.b.normalize(e).toPromise() })).then(o, i) : o(s) } catch (e) { return i(u.b.normalize(e)) } finally { t.invokeLimit && ++t.invokeCount >= t.invokeLimit && t.deregister() } } }, e.prototype.handleHookResult = function (e) { var t = this, n = this.getNotCurrentRejection(); return n || (Object(a.j)(e) ? e.then((function (e) { return t.handleHookResult(e) })) : (l.c.traceHookResult(e, this.transition, this.options), !1 === e ? u.b.aborted("Hook aborted transition").toPromise() : Object(s.h)(d.a)(e) ? u.b.redirected(e).toPromise() : void 0)) }, e.prototype.getNotCurrentRejection = function () { var e = this.transition.router; return e._disposed ? u.b.aborted("UIRouter instance #" + e.$id + " has been stopped (disposed)").toPromise() : this.transition._aborted ? u.b.aborted().toPromise() : this.isSuperseded() ? u.b.superseded(this.options.current()).toPromise() : void 0 }, e.prototype.toString = function () { var e = this.options, t = this.registeredHook, n = Object(s.k)("traceData.hookType")(e) || "internal", r = Object(s.k)("traceData.context.state.name")(e) || Object(s.k)("traceData.context")(e) || "unknown", i = Object(o.b)(t.callback); return n + " context: " + r + ", " + Object(o.g)(200, i) }, e.HANDLE_RESULT = function (e) { return function (t) { return e.handleHookResult(t) } }, e.LOG_REJECTED_RESULT = function (e) { return function (t) { Object(a.j)(t) && t.catch((function (t) { return e.logError(u.b.normalize(t)) })) } }, e.LOG_ERROR = function (e) { return function (t) { return e.logError(t) } }, e.REJECT_ERROR = function (e) { return function (e) { return Object(i.O)(e) } }, e.THROW_ERROR = function (e) { return function (e) { throw e } }, e }() }, function (e, t, n) { "use strict"; n.d(t, "a", (function () { return s })); var r = n(0), i = n(3), o = n(26), a = n(52), s = function () { function e() { } return e.makeTargetState = function (e, t) { var n = Object(r.P)(t).state; return new o.a(e, n, t.map(Object(i.n)("paramValues")).reduce(r.D, {}), {}) }, e.buildPath = function (e) { var t = e.params(); return e.$state().path.map((function (e) { return new a.a(e).applyRawParams(t) })) }, e.buildToPath = function (t, n) { var r = e.buildPath(n); return n.options().inherit ? e.inheritParams(t, r, Object.keys(n.params())) : r }, e.applyViewConfigs = function (t, n, i) { n.filter((function (e) { return Object(r.z)(i, e.state) })).forEach((function (i) { var o = Object(r.U)(i.state.views || {}), a = e.subPath(n, (function (e) { return e === i })), s = o.map((function (e) { return t.createViewConfig(a, e) })); i.views = s.reduce(r.T, []) })) }, e.inheritParams = function (e, t, n) { void 0 === n && (n = []); var o = e.map((function (e) { return e.paramSchema })).reduce(r.T, []).filter((function (e) { return !e.inherit })).map(Object(i.n)("id")); return t.map((function (t) { var s = Object(r.r)({}, t && t.paramValues), l = Object(r.H)(s, n); s = Object(r.F)(s, n); var c, u, d, p = Object(r.F)((c = e, u = t.state, d = Object(r.t)(c, Object(i.o)("state", u)), Object(r.r)({}, d && d.paramValues) || {}), o), f = Object(r.r)(s, p, l); return new a.a(t.state).applyRawParams(f) })) }, e.treeChanges = function (t, n, r) { for (var i, o, a, s, l, c, u = Math.min(t.length, n.length), d = 0; d < u && t[d].state !== r && (i = t[d], o = n[d], i.equals(o, e.nonDynamicParams));)d++; s = (a = t).slice(0, d), l = a.slice(d); var p = s.map((function (e, t) { var r = e.clone(); return r.paramValues = n[t].paramValues, r })); return c = n.slice(d), { from: a, to: p.concat(c), retained: s, retainedWithToParams: p, exiting: l, entering: c } }, e.matching = function (e, t, n) { var i = !1; return Object(r.i)(e, t).reduce((function (e, t) { var r = t[0], o = t[1]; return (i = i || !r.equals(o, n)) ? e : e.concat(r) }), []) }, e.equals = function (t, n, r) { return t.length === n.length && e.matching(t, n, r).length === t.length }, e.subPath = function (e, t) { var n = Object(r.t)(e, t), i = e.indexOf(n); return -1 === i ? void 0 : e.slice(0, i + 1) }, e.nonDynamicParams = function (e) { return e.state.parameters({ inherit: !1 }).filter((function (e) { return !e.dynamic })) }, e.paramValues = function (e) { return e.reduce((function (e, t) { return Object(r.r)(e, t.paramValues) }), {}) }, e }() }, function (e, t, n) { "use strict"; n.d(t, "a", (function () { return o })); var r = n(0), i = { log: r.E, error: r.E, table: r.E }; var o = "undefined" != typeof document && document.documentMode && 9 === document.documentMode ? window && window.console ? function (e) { var t = function (t) { return Function.prototype.bind.call(t, e) }; return { log: t(e.log), error: t(e.log), table: t(e.log) } }(window.console) : i : console.table && console.error ? console : function (e) { var t = e.log.bind(e); return { log: t, error: e.error ? e.error.bind(e) : t, table: e.table ? e.table.bind(e) : t } }(console) }, function (e, t, n) { "use strict"; var r = n(11), i = n(30).Graph; function o(e, t, n, i) { var o; do { o = r.uniqueId(i) } while (e.hasNode(o)); return n.dummy = t, e.setNode(o, n), o } function a(e) { return r.max(r.map(e.nodes(), (function (t) { var n = e.node(t).rank; if (!r.isUndefined(n)) return n }))) } e.exports = { addDummyNode: o, simplify: function (e) { var t = (new i).setGraph(e.graph()); return r.forEach(e.nodes(), (function (n) { t.setNode(n, e.node(n)) })), r.forEach(e.edges(), (function (n) { var r = t.edge(n.v, n.w) || { weight: 0, minlen: 1 }, i = e.edge(n); t.setEdge(n.v, n.w, { weight: r.weight + i.weight, minlen: Math.max(r.minlen, i.minlen) }) })), t }, asNonCompoundGraph: function (e) { var t = new i({ multigraph: e.isMultigraph() }).setGraph(e.graph()); return r.forEach(e.nodes(), (function (n) { e.children(n).length || t.setNode(n, e.node(n)) })), r.forEach(e.edges(), (function (n) { t.setEdge(n, e.edge(n)) })), t }, successorWeights: function (e) { var t = r.map(e.nodes(), (function (t) { var n = {}; return r.forEach(e.outEdges(t), (function (t) { n[t.w] = (n[t.w] || 0) + e.edge(t).weight })), n })); return r.zipObject(e.nodes(), t) }, predecessorWeights: function (e) { var t = r.map(e.nodes(), (function (t) { var n = {}; return r.forEach(e.inEdges(t), (function (t) { n[t.v] = (n[t.v] || 0) + e.edge(t).weight })), n })); return r.zipObject(e.nodes(), t) }, intersectRect: function (e, t) { var n, r, i = e.x, o = e.y, a = t.x - i, s = t.y - o, l = e.width / 2, c = e.height / 2; if (!a && !s) throw new Error("Not possible to find intersection inside of the rectangle"); Math.abs(s) * l > Math.abs(a) * c ? (s < 0 && (c = -c), n = c * a / s, r = c) : (a < 0 && (l = -l), n = l, r = l * s / a); return { x: i + n, y: o + r } }, buildLayerMatrix: function (e) { var t = r.map(r.range(a(e) + 1), (function () { return [] })); return r.forEach(e.nodes(), (function (n) { var i = e.node(n), o = i.rank; r.isUndefined(o) || (t[o][i.order] = n) })), t }, normalizeRanks: function (e) { var t = r.min(r.map(e.nodes(), (function (t) { return e.node(t).rank }))); r.forEach(e.nodes(), (function (n) { var i = e.node(n); r.has(i, "rank") && (i.rank -= t) })) }, removeEmptyRanks: function (e) { var t = r.min(r.map(e.nodes(), (function (t) { return e.node(t).rank }))), n = []; r.forEach(e.nodes(), (function (r) { var i = e.node(r).rank - t; n[i] || (n[i] = []), n[i].push(r) })); var i = 0, o = e.graph().nodeRankFactor; r.forEach(n, (function (t, n) { r.isUndefined(t) && n % o != 0 ? --i : i && r.forEach(t, (function (t) { e.node(t).rank += i })) })) }, addBorderNode: function (e, t, n, r) { var i = { width: 0, height: 0 }; arguments.length >= 4 && (i.rank = n, i.order = r); return o(e, "border", i, t) }, maxRank: a, partition: function (e, t) { var n = { lhs: [], rhs: [] }; return r.forEach(e, (function (e) { t(e) ? n.lhs.push(e) : n.rhs.push(e) })), n }, time: function (e, t) { var n = r.now(); try { return t() } finally { console.log(e + " time: " + (r.now() - n) + "ms") } }, notime: function (e, t) { return t() } } }, function (e, t, n) { "use strict"; n.r(t), n.d(t, "default", (function () { return kn })), n.d(t, "VERSION", (function () { return i.e })), n.d(t, "restArguments", (function () { return o })), n.d(t, "isObject", (function () { return a })), n.d(t, "isNull", (function () { return s })), n.d(t, "isUndefined", (function () { return l })), n.d(t, "isBoolean", (function () { return c })), n.d(t, "isElement", (function () { return u })), n.d(t, "isString", (function () { return p })), n.d(t, "isNumber", (function () { return f })), n.d(t, "isDate", (function () { return h })), n.d(t, "isRegExp", (function () { return g })), n.d(t, "isError", (function () { return m })), n.d(t, "isSymbol", (function () { return v })), n.d(t, "isArrayBuffer", (function () { return b })), n.d(t, "isDataView", (function () { return $ })), n.d(t, "isArray", (function () { return C })), n.d(t, "isFunction", (function () { return w })), n.d(t, "isArguments", (function () { return T })), n.d(t, "isFinite", (function () { return j })), n.d(t, "isNaN", (function () { return P })), n.d(t, "isTypedArray", (function () { return L })), n.d(t, "isEmpty", (function () { return V })), n.d(t, "isMatch", (function () { return U })), n.d(t, "isEqual", (function () { return Y })), n.d(t, "isMap", (function () { return re })), n.d(t, "isWeakMap", (function () { return ie })), n.d(t, "isSet", (function () { return oe })), n.d(t, "isWeakSet", (function () { return ae })), n.d(t, "keys", (function () { return q })), n.d(t, "allKeys", (function () { return X })), n.d(t, "values", (function () { return se })), n.d(t, "pairs", (function () { return le })), n.d(t, "invert", (function () { return ce })), n.d(t, "functions", (function () { return ue })), n.d(t, "methods", (function () { return ue })), n.d(t, "extend", (function () { return pe })), n.d(t, "extendOwn", (function () { return fe })), n.d(t, "assign", (function () { return fe })), n.d(t, "defaults", (function () { return he })), n.d(t, "create", (function () { return me })), n.d(t, "clone", (function () { return ve })), n.d(t, "tap", (function () { return be })), n.d(t, "get", (function () { return ke })), n.d(t, "has", (function () { return Ae })), n.d(t, "mapObject", (function () { return je })), n.d(t, "identity", (function () { return Ee })), n.d(t, "constant", (function () { return D })), n.d(t, "noop", (function () { return Pe })), n.d(t, "toPath", (function () { return ye })), n.d(t, "property", (function () { return $e })), n.d(t, "propertyOf", (function () { return De })), n.d(t, "matcher", (function () { return Se })), n.d(t, "matches", (function () { return Se })), n.d(t, "times", (function () { return Re })), n.d(t, "random", (function () { return Ie })), n.d(t, "now", (function () { return Ne })), n.d(t, "escape", (function () { return Le })), n.d(t, "unescape", (function () { return Be })), n.d(t, "templateSettings", (function () { return Fe })), n.d(t, "template", (function () { return We })), n.d(t, "result", (function () { return Ye })), n.d(t, "uniqueId", (function () { return Ze })), n.d(t, "chain", (function () { return Qe })), n.d(t, "iteratee", (function () { return Oe })), n.d(t, "partial", (function () { return et })), n.d(t, "bind", (function () { return tt })), n.d(t, "bindAll", (function () { return it })), n.d(t, "memoize", (function () { return ot })), n.d(t, "delay", (function () { return at })), n.d(t, "defer", (function () { return st })), n.d(t, "throttle", (function () { return lt })), n.d(t, "debounce", (function () { return ct })), n.d(t, "wrap", (function () { return ut })), n.d(t, "negate", (function () { return dt })), n.d(t, "compose", (function () { return pt })), n.d(t, "after", (function () { return ft })), n.d(t, "before", (function () { return ht })), n.d(t, "once", (function () { return gt })), n.d(t, "findKey", (function () { return mt })), n.d(t, "findIndex", (function () { return bt })), n.d(t, "findLastIndex", (function () { return yt })), n.d(t, "sortedIndex", (function () { return xt })), n.d(t, "indexOf", (function () { return kt })), n.d(t, "lastIndexOf", (function () { return At })), n.d(t, "find", (function () { return Et })), n.d(t, "detect", (function () { return Et })), n.d(t, "findWhere", (function () { return St })), n.d(t, "each", (function () { return $t })), n.d(t, "forEach", (function () { return $t })), n.d(t, "map", (function () { return Ct })), n.d(t, "collect", (function () { return Ct })), n.d(t, "reduce", (function () { return Ot })), n.d(t, "foldl", (function () { return Ot })), n.d(t, "inject", (function () { return Ot })), n.d(t, "reduceRight", (function () { return Tt })), n.d(t, "foldr", (function () { return Tt })), n.d(t, "filter", (function () { return jt })), n.d(t, "select", (function () { return jt })), n.d(t, "reject", (function () { return Pt })), n.d(t, "every", (function () { return Dt })), n.d(t, "all", (function () { return Dt })), n.d(t, "some", (function () { return Rt })), n.d(t, "any", (function () { return Rt })), n.d(t, "contains", (function () { return It })), n.d(t, "includes", (function () { return It })), n.d(t, "include", (function () { return It })), n.d(t, "invoke", (function () { return Nt })), n.d(t, "pluck", (function () { return Mt })), n.d(t, "where", (function () { return zt })), n.d(t, "max", (function () { return Lt })), n.d(t, "min", (function () { return Bt })), n.d(t, "shuffle", (function () { return Ut })), n.d(t, "sample", (function () { return Vt })), n.d(t, "sortBy", (function () { return Ht })), n.d(t, "groupBy", (function () { return Wt })), n.d(t, "indexBy", (function () { return Yt })), n.d(t, "countBy", (function () { return Xt })), n.d(t, "partition", (function () { return Zt })), n.d(t, "toArray", (function () { return qt })), n.d(t, "size", (function () { return Qt })), n.d(t, "pick", (function () { return Kt })), n.d(t, "omit", (function () { return en })), n.d(t, "first", (function () { return nn })), n.d(t, "head", (function () { return nn })), n.d(t, "take", (function () { return nn })), n.d(t, "initial", (function () { return tn })), n.d(t, "last", (function () { return on })), n.d(t, "rest", (function () { return rn })), n.d(t, "tail", (function () { return rn })), n.d(t, "drop", (function () { return rn })), n.d(t, "compact", (function () { return an })), n.d(t, "flatten", (function () { return sn })), n.d(t, "without", (function () { return cn })), n.d(t, "uniq", (function () { return un })), n.d(t, "unique", (function () { return un })), n.d(t, "union", (function () { return dn })), n.d(t, "intersection", (function () { return pn })), n.d(t, "difference", (function () { return ln })), n.d(t, "unzip", (function () { return fn })), n.d(t, "transpose", (function () { return fn })), n.d(t, "zip", (function () { return hn })), n.d(t, "object", (function () { return gn })), n.d(t, "range", (function () { return mn })), n.d(t, "chunk", (function () { return vn })), n.d(t, "mixin", (function () { return yn })); var r = {}; n.r(r), n.d(r, "VERSION", (function () { return i.e })), n.d(r, "restArguments", (function () { return o })), n.d(r, "isObject", (function () { return a })), n.d(r, "isNull", (function () { return s })), n.d(r, "isUndefined", (function () { return l })), n.d(r, "isBoolean", (function () { return c })), n.d(r, "isElement", (function () { return u })), n.d(r, "isString", (function () { return p })), n.d(r, "isNumber", (function () { return f })), n.d(r, "isDate", (function () { return h })), n.d(r, "isRegExp", (function () { return g })), n.d(r, "isError", (function () { return m })), n.d(r, "isSymbol", (function () { return v })), n.d(r, "isArrayBuffer", (function () { return b })), n.d(r, "isDataView", (function () { return $ })), n.d(r, "isArray", (function () { return C })), n.d(r, "isFunction", (function () { return w })), n.d(r, "isArguments", (function () { return T })), n.d(r, "isFinite", (function () { return j })), n.d(r, "isNaN", (function () { return P })), n.d(r, "isTypedArray", (function () { return L })), n.d(r, "isEmpty", (function () { return V })), n.d(r, "isMatch", (function () { return U })), n.d(r, "isEqual", (function () { return Y })), n.d(r, "isMap", (function () { return re })), n.d(r, "isWeakMap", (function () { return ie })), n.d(r, "isSet", (function () { return oe })), n.d(r, "isWeakSet", (function () { return ae })), n.d(r, "keys", (function () { return q })), n.d(r, "allKeys", (function () { return X })), n.d(r, "values", (function () { return se })), n.d(r, "pairs", (function () { return le })), n.d(r, "invert", (function () { return ce })), n.d(r, "functions", (function () { return ue })), n.d(r, "methods", (function () { return ue })), n.d(r, "extend", (function () { return pe })), n.d(r, "extendOwn", (function () { return fe })), n.d(r, "assign", (function () { return fe })), n.d(r, "defaults", (function () { return he })), n.d(r, "create", (function () { return me })), n.d(r, "clone", (function () { return ve })), n.d(r, "tap", (function () { return be })), n.d(r, "get", (function () { return ke })), n.d(r, "has", (function () { return Ae })), n.d(r, "mapObject", (function () { return je })), n.d(r, "identity", (function () { return Ee })), n.d(r, "constant", (function () { return D })), n.d(r, "noop", (function () { return Pe })), n.d(r, "toPath", (function () { return ye })), n.d(r, "property", (function () { return $e })), n.d(r, "propertyOf", (function () { return De })), n.d(r, "matcher", (function () { return Se })), n.d(r, "matches", (function () { return Se })), n.d(r, "times", (function () { return Re })), n.d(r, "random", (function () { return Ie })), n.d(r, "now", (function () { return Ne })), n.d(r, "escape", (function () { return Le })), n.d(r, "unescape", (function () { return Be })), n.d(r, "templateSettings", (function () { return Fe })), n.d(r, "template", (function () { return We })), n.d(r, "result", (function () { return Ye })), n.d(r, "uniqueId", (function () { return Ze })), n.d(r, "chain", (function () { return Qe })), n.d(r, "iteratee", (function () { return Oe })), n.d(r, "partial", (function () { return et })), n.d(r, "bind", (function () { return tt })), n.d(r, "bindAll", (function () { return it })), n.d(r, "memoize", (function () { return ot })), n.d(r, "delay", (function () { return at })), n.d(r, "defer", (function () { return st })), n.d(r, "throttle", (function () { return lt })), n.d(r, "debounce", (function () { return ct })), n.d(r, "wrap", (function () { return ut })), n.d(r, "negate", (function () { return dt })), n.d(r, "compose", (function () { return pt })), n.d(r, "after", (function () { return ft })), n.d(r, "before", (function () { return ht })), n.d(r, "once", (function () { return gt })), n.d(r, "findKey", (function () { return mt })), n.d(r, "findIndex", (function () { return bt })), n.d(r, "findLastIndex", (function () { return yt })), n.d(r, "sortedIndex", (function () { return xt })), n.d(r, "indexOf", (function () { return kt })), n.d(r, "lastIndexOf", (function () { return At })), n.d(r, "find", (function () { return Et })), n.d(r, "detect", (function () { return Et })), n.d(r, "findWhere", (function () { return St })), n.d(r, "each", (function () { return $t })), n.d(r, "forEach", (function () { return $t })), n.d(r, "map", (function () { return Ct })), n.d(r, "collect", (function () { return Ct })), n.d(r, "reduce", (function () { return Ot })), n.d(r, "foldl", (function () { return Ot })), n.d(r, "inject", (function () { return Ot })), n.d(r, "reduceRight", (function () { return Tt })), n.d(r, "foldr", (function () { return Tt })), n.d(r, "filter", (function () { return jt })), n.d(r, "select", (function () { return jt })), n.d(r, "reject", (function () { return Pt })), n.d(r, "every", (function () { return Dt })), n.d(r, "all", (function () { return Dt })), n.d(r, "some", (function () { return Rt })), n.d(r, "any", (function () { return Rt })), n.d(r, "contains", (function () { return It })), n.d(r, "includes", (function () { return It })), n.d(r, "include", (function () { return It })), n.d(r, "invoke", (function () { return Nt })), n.d(r, "pluck", (function () { return Mt })), n.d(r, "where", (function () { return zt })), n.d(r, "max", (function () { return Lt })), n.d(r, "min", (function () { return Bt })), n.d(r, "shuffle", (function () { return Ut })), n.d(r, "sample", (function () { return Vt })), n.d(r, "sortBy", (function () { return Ht })), n.d(r, "groupBy", (function () { return Wt })), n.d(r, "indexBy", (function () { return Yt })), n.d(r, "countBy", (function () { return Xt })), n.d(r, "partition", (function () { return Zt })), n.d(r, "toArray", (function () { return qt })), n.d(r, "size", (function () { return Qt })), n.d(r, "pick", (function () { return Kt })), n.d(r, "omit", (function () { return en })), n.d(r, "first", (function () { return nn })), n.d(r, "head", (function () { return nn })), n.d(r, "take", (function () { return nn })), n.d(r, "initial", (function () { return tn })), n.d(r, "last", (function () { return on })), n.d(r, "rest", (function () { return rn })), n.d(r, "tail", (function () { return rn })), n.d(r, "drop", (function () { return rn })), n.d(r, "compact", (function () { return an })), n.d(r, "flatten", (function () { return sn })), n.d(r, "without", (function () { return cn })), n.d(r, "uniq", (function () { return un })), n.d(r, "unique", (function () { return un })), n.d(r, "union", (function () { return dn })), n.d(r, "intersection", (function () { return pn })), n.d(r, "difference", (function () { return ln })), n.d(r, "unzip", (function () { return fn })), n.d(r, "transpose", (function () { return fn })), n.d(r, "zip", (function () { return hn })), n.d(r, "object", (function () { return gn })), n.d(r, "range", (function () { return mn })), n.d(r, "chunk", (function () { return vn })), n.d(r, "mixin", (function () { return yn })), n.d(r, "default", (function () { return xn })); var i = n(5); function o(e, t) { return t = null == t ? e.length - 1 : +t, function () { for (var n = Math.max(arguments.length - t, 0), r = Array(n), i = 0; i < n; i++)r[i] = arguments[i + t]; switch (t) { case 0: return e.call(this, r); case 1: return e.call(this, arguments[0], r); case 2: return e.call(this, arguments[0], arguments[1], r) }var o = Array(t + 1); for (i = 0; i < t; i++)o[i] = arguments[i]; return o[t] = r, e.apply(this, o) } } function a(e) { var t = typeof e; return "function" === t || "object" === t && !!e } function s(e) { return null === e } function l(e) { return void 0 === e } function c(e) { return !0 === e || !1 === e || "[object Boolean]" === i.t.call(e) } function u(e) { return !(!e || 1 !== e.nodeType) } function d(e) { var t = "[object " + e + "]"; return function (e) { return i.t.call(e) === t } } var p = d("String"), f = d("Number"), h = d("Date"), g = d("RegExp"), m = d("Error"), v = d("Symbol"), b = d("ArrayBuffer"), y = d("Function"), x = i.p.document && i.p.document.childNodes; "object" != typeof Int8Array && "function" != typeof x && (y = function (e) { return "function" == typeof e || !1 }); var w = y, k = d("Object"), A = i.s && k(new DataView(new ArrayBuffer(8))), E = "undefined" != typeof Map && k(new Map), S = d("DataView"); var $ = A ? function (e) { return null != e && w(e.getInt8) && b(e.buffer) } : S, C = i.k || d("Array"); function _(e, t) { return null != e && i.i.call(e, t) } var O = d("Arguments"); !function () { O(arguments) || (O = function (e) { return _(e, "callee") }) }(); var T = O; function j(e) { return !v(e) && Object(i.f)(e) && !isNaN(parseFloat(e)) } function P(e) { return f(e) && Object(i.g)(e) } function D(e) { return function () { return e } } function R(e) { return function (t) { var n = e(t); return "number" == typeof n && n >= 0 && n <= i.b } } function I(e) { return function (t) { return null == t ? void 0 : t[e] } } var N = I("byteLength"), M = R(N), z = /\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/; var L = i.r ? function (e) { return i.l ? Object(i.l)(e) && !$(e) : M(e) && z.test(i.t.call(e)) } : D(!1), B = I("length"); function F(e, t) { t = function (e) { for (var t = {}, n = e.length, r = 0; r < n; ++r)t[e[r]] = !0; return { contains: function (e) { return !0 === t[e] }, push: function (n) { return t[n] = !0, e.push(n) } } }(t); var n = i.n.length, r = e.constructor, o = w(r) && r.prototype || i.c, a = "constructor"; for (_(e, a) && !t.contains(a) && t.push(a); n--;)(a = i.n[n]) in e && e[a] !== o[a] && !t.contains(a) && t.push(a) } function q(e) { if (!a(e)) return []; if (i.m) return Object(i.m)(e); var t = []; for (var n in e) _(e, n) && t.push(n); return i.h && F(e, t), t } function V(e) { if (null == e) return !0; var t = B(e); return "number" == typeof t && (C(e) || p(e) || T(e)) ? 0 === t : 0 === B(q(e)) } function U(e, t) { var n = q(t), r = n.length; if (null == e) return !r; for (var i = Object(e), o = 0; o < r; o++) { var a = n[o]; if (t[a] !== i[a] || !(a in i)) return !1 } return !0 } function H(e) { return e instanceof H ? e : this instanceof H ? void (this._wrapped = e) : new H(e) } function G(e) { return new Uint8Array(e.buffer || e, e.byteOffset || 0, N(e)) } H.VERSION = i.e, H.prototype.value = function () { return this._wrapped }, H.prototype.valueOf = H.prototype.toJSON = H.prototype.value, H.prototype.toString = function () { return String(this._wrapped) }; function W(e, t, n, r) { if (e === t) return 0 !== e || 1 / e == 1 / t; if (null == e || null == t) return !1; if (e != e) return t != t; var o = typeof e; return ("function" === o || "object" === o || "object" == typeof t) && function e(t, n, r, o) { t instanceof H && (t = t._wrapped); n instanceof H && (n = n._wrapped); var a = i.t.call(t); if (a !== i.t.call(n)) return !1; if (A && "[object Object]" == a && $(t)) { if (!$(n)) return !1; a = "[object DataView]" } switch (a) { case "[object RegExp]": case "[object String]": return "" + t == "" + n; case "[object Number]": return +t != +t ? +n != +n : 0 == +t ? 1 / +t == 1 / n : +t == +n; case "[object Date]": case "[object Boolean]": return +t == +n; case "[object Symbol]": return i.d.valueOf.call(t) === i.d.valueOf.call(n); case "[object ArrayBuffer]": case "[object DataView]": return e(G(t), G(n), r, o) }var s = "[object Array]" === a; if (!s && L(t)) { if (N(t) !== N(n)) return !1; if (t.buffer === n.buffer && t.byteOffset === n.byteOffset) return !0; s = !0 } if (!s) { if ("object" != typeof t || "object" != typeof n) return !1; var l = t.constructor, c = n.constructor; if (l !== c && !(w(l) && l instanceof l && w(c) && c instanceof c) && "constructor" in t && "constructor" in n) return !1 } o = o || []; var u = (r = r || []).length; for (; u--;)if (r[u] === t) return o[u] === n; if (r.push(t), o.push(n), s) { if ((u = t.length) !== n.length) return !1; for (; u--;)if (!W(t[u], n[u], r, o)) return !1 } else { var d, p = q(t); if (u = p.length, q(n).length !== u) return !1; for (; u--;)if (d = p[u], !_(n, d) || !W(t[d], n[d], r, o)) return !1 } return r.pop(), o.pop(), !0 }(e, t, n, r) } function Y(e, t) { return W(e, t) } function X(e) { if (!a(e)) return []; var t = []; for (var n in e) t.push(n); return i.h && F(e, t), t } function Z(e) { var t = B(e); return function (n) { if (null == n) return !1; var r = X(n); if (B(r)) return !1; for (var i = 0; i < t; i++)if (!w(n[e[i]])) return !1; return e !== te || !w(n[Q]) } } var Q = "forEach", J = ["clear", "delete"], K = ["get", "has", "set"], ee = J.concat(Q, K), te = J.concat(K), ne = ["add"].concat(J, Q, "has"), re = E ? Z(ee) : d("Map"), ie = E ? Z(te) : d("WeakMap"), oe = E ? Z(ne) : d("Set"), ae = d("WeakSet"); function se(e) { for (var t = q(e), n = t.length, r = Array(n), i = 0; i < n; i++)r[i] = e[t[i]]; return r } function le(e) { for (var t = q(e), n = t.length, r = Array(n), i = 0; i < n; i++)r[i] = [t[i], e[t[i]]]; return r } function ce(e) { for (var t = {}, n = q(e), r = 0, i = n.length; r < i; r++)t[e[n[r]]] = n[r]; return t } function ue(e) { var t = []; for (var n in e) w(e[n]) && t.push(n); return t.sort() } function de(e, t) { return function (n) { var r = arguments.length; if (t && (n = Object(n)), r < 2 || null == n) return n; for (var i = 1; i < r; i++)for (var o = arguments[i], a = e(o), s = a.length, l = 0; l < s; l++) { var c = a[l]; t && void 0 !== n[c] || (n[c] = o[c]) } return n } } var pe = de(X), fe = de(q), he = de(X, !0); function ge(e) { if (!a(e)) return {}; if (i.j) return Object(i.j)(e); var t = function () { }; t.prototype = e; var n = new t; return t.prototype = null, n } function me(e, t) { var n = ge(e); return t && fe(n, t), n } function ve(e) { return a(e) ? C(e) ? e.slice() : pe({}, e) : e } function be(e, t) { return t(e), e } function ye(e) { return C(e) ? e : [e] } function xe(e) { return H.toPath(e) } function we(e, t) { for (var n = t.length, r = 0; r < n; r++) { if (null == e) return; e = e[t[r]] } return n ? e : void 0 } function ke(e, t, n) { var r = we(e, xe(t)); return l(r) ? n : r } function Ae(e, t) { for (var n = (t = xe(t)).length, r = 0; r < n; r++) { var i = t[r]; if (!_(e, i)) return !1; e = e[i] } return !!n } function Ee(e) { return e } function Se(e) { return e = fe({}, e), function (t) { return U(t, e) } } function $e(e) { return e = xe(e), function (t) { return we(t, e) } } function Ce(e, t, n) { if (void 0 === t) return e; switch (null == n ? 3 : n) { case 1: return function (n) { return e.call(t, n) }; case 3: return function (n, r, i) { return e.call(t, n, r, i) }; case 4: return function (n, r, i, o) { return e.call(t, n, r, i, o) } }return function () { return e.apply(t, arguments) } } function _e(e, t, n) { return null == e ? Ee : w(e) ? Ce(e, t, n) : a(e) && !C(e) ? Se(e) : $e(e) } function Oe(e, t) { return _e(e, t, 1 / 0) } function Te(e, t, n) { return H.iteratee !== Oe ? H.iteratee(e, t) : _e(e, t, n) } function je(e, t, n) { t = Te(t, n); for (var r = q(e), i = r.length, o = {}, a = 0; a < i; a++) { var s = r[a]; o[s] = t(e[s], s, e) } return o } function Pe() { } function De(e) { return null == e ? Pe : function (t) { return ke(e, t) } } function Re(e, t, n) { var r = Array(Math.max(0, e)); t = Ce(t, n, 1); for (var i = 0; i < e; i++)r[i] = t(i); return r } function Ie(e, t) { return null == t && (t = e, e = 0), e + Math.floor(Math.random() * (t - e + 1)) } H.toPath = ye, H.iteratee = Oe; var Ne = Date.now || function () { return (new Date).getTime() }; function Me(e) { var t = function (t) { return e[t] }, n = "(?:" + q(e).join("|") + ")", r = RegExp(n), i = RegExp(n, "g"); return function (e) { return e = null == e ? "" : "" + e, r.test(e) ? e.replace(i, t) : e } } var ze = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#x27;", "`": "&#x60;" }, Le = Me(ze), Be = Me(ce(ze)), Fe = H.templateSettings = { evaluate: /<%([\s\S]+?)%>/g, interpolate: /<%=([\s\S]+?)%>/g, escape: /<%-([\s\S]+?)%>/g }, qe = /(.)^/, Ve = { "'": "'", "\\": "\\", "\r": "r", "\n": "n", "\u2028": "u2028", "\u2029": "u2029" }, Ue = /\\|'|\r|\n|\u2028|\u2029/g; function He(e) { return "\\" + Ve[e] } var Ge = /^\s*(\w|\$)+\s*$/; function We(e, t, n) { !t && n && (t = n), t = he({}, t, H.templateSettings); var r = RegExp([(t.escape || qe).source, (t.interpolate || qe).source, (t.evaluate || qe).source].join("|") + "|$", "g"), i = 0, o = "__p+='"; e.replace(r, (function (t, n, r, a, s) { return o += e.slice(i, s).replace(Ue, He), i = s + t.length, n ? o += "'+\n((__t=(" + n + "))==null?'':_.escape(__t))+\n'" : r ? o += "'+\n((__t=(" + r + "))==null?'':__t)+\n'" : a && (o += "';\n" + a + "\n__p+='"), t })), o += "';\n"; var a, s = t.variable; if (s) { if (!Ge.test(s)) throw new Error("variable is not a bare identifier: " + s) } else o = "with(obj||{}){\n" + o + "}\n", s = "obj"; o = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + o + "return __p;\n"; try { a = new Function(s, "_", o) } catch (e) { throw e.source = o, e } var l = function (e) { return a.call(this, e, H) }; return l.source = "function(" + s + "){\n" + o + "}", l } function Ye(e, t, n) { var r = (t = xe(t)).length; if (!r) return w(n) ? n.call(e) : n; for (var i = 0; i < r; i++) { var o = null == e ? void 0 : e[t[i]]; void 0 === o && (o = n, i = r), e = w(o) ? o.call(e) : o } return e } var Xe = 0; function Ze(e) { var t = ++Xe + ""; return e ? e + t : t } function Qe(e) { var t = H(e); return t._chain = !0, t } function Je(e, t, n, r, i) { if (!(r instanceof t)) return e.apply(n, i); var o = ge(e.prototype), s = e.apply(o, i); return a(s) ? s : o } var Ke = o((function (e, t) { var n = Ke.placeholder, r = function () { for (var i = 0, o = t.length, a = Array(o), s = 0; s < o; s++)a[s] = t[s] === n ? arguments[i++] : t[s]; for (; i < arguments.length;)a.push(arguments[i++]); return Je(e, r, this, this, a) }; return r })); Ke.placeholder = H; var et = Ke, tt = o((function (e, t, n) { if (!w(e)) throw new TypeError("Bind must be called on a function"); var r = o((function (i) { return Je(e, r, t, this, n.concat(i)) })); return r })), nt = R(B); function rt(e, t, n, r) { if (r = r || [], t || 0 === t) { if (t <= 0) return r.concat(e) } else t = 1 / 0; for (var i = r.length, o = 0, a = B(e); o < a; o++) { var s = e[o]; if (nt(s) && (C(s) || T(s))) if (t > 1) rt(s, t - 1, n, r), i = r.length; else for (var l = 0, c = s.length; l < c;)r[i++] = s[l++]; else n || (r[i++] = s) } return r } var it = o((function (e, t) { var n = (t = rt(t, !1, !1)).length; if (n < 1) throw new Error("bindAll must be passed function names"); for (; n--;) { var r = t[n]; e[r] = tt(e[r], e) } return e })); function ot(e, t) { var n = function (r) { var i = n.cache, o = "" + (t ? t.apply(this, arguments) : r); return _(i, o) || (i[o] = e.apply(this, arguments)), i[o] }; return n.cache = {}, n } var at = o((function (e, t, n) { return setTimeout((function () { return e.apply(null, n) }), t) })), st = et(at, H, 1); function lt(e, t, n) { var r, i, o, a, s = 0; n || (n = {}); var l = function () { s = !1 === n.leading ? 0 : Ne(), r = null, a = e.apply(i, o), r || (i = o = null) }, c = function () { var c = Ne(); s || !1 !== n.leading || (s = c); var u = t - (c - s); return i = this, o = arguments, u <= 0 || u > t ? (r && (clearTimeout(r), r = null), s = c, a = e.apply(i, o), r || (i = o = null)) : r || !1 === n.trailing || (r = setTimeout(l, u)), a }; return c.cancel = function () { clearTimeout(r), s = 0, r = i = o = null }, c } function ct(e, t, n) { var r, i, a, s, l, c = function () { var o = Ne() - i; t > o ? r = setTimeout(c, t - o) : (r = null, n || (s = e.apply(l, a)), r || (a = l = null)) }, u = o((function (o) { return l = this, a = o, i = Ne(), r || (r = setTimeout(c, t), n && (s = e.apply(l, a))), s })); return u.cancel = function () { clearTimeout(r), r = a = l = null }, u } function ut(e, t) { return et(t, e) } function dt(e) { return function () { return !e.apply(this, arguments) } } function pt() { var e = arguments, t = e.length - 1; return function () { for (var n = t, r = e[t].apply(this, arguments); n--;)r = e[n].call(this, r); return r } } function ft(e, t) { return function () { if (--e < 1) return t.apply(this, arguments) } } function ht(e, t) { var n; return function () { return --e > 0 && (n = t.apply(this, arguments)), e <= 1 && (t = null), n } } var gt = et(ht, 2); function mt(e, t, n) { t = Te(t, n); for (var r, i = q(e), o = 0, a = i.length; o < a; o++)if (t(e[r = i[o]], r, e)) return r } function vt(e) { return function (t, n, r) { n = Te(n, r); for (var i = B(t), o = e > 0 ? 0 : i - 1; o >= 0 && o < i; o += e)if (n(t[o], o, t)) return o; return -1 } } var bt = vt(1), yt = vt(-1); function xt(e, t, n, r) { for (var i = (n = Te(n, r, 1))(t), o = 0, a = B(e); o < a;) { var s = Math.floor((o + a) / 2); n(e[s]) < i ? o = s + 1 : a = s } return o } function wt(e, t, n) { return function (r, o, a) { var s = 0, l = B(r); if ("number" == typeof a) e > 0 ? s = a >= 0 ? a : Math.max(a + l, s) : l = a >= 0 ? Math.min(a + 1, l) : a + l + 1; else if (n && a && l) return r[a = n(r, o)] === o ? a : -1; if (o != o) return (a = t(i.q.call(r, s, l), P)) >= 0 ? a + s : -1; for (a = e > 0 ? s : l - 1; a >= 0 && a < l; a += e)if (r[a] === o) return a; return -1 } } var kt = wt(1, bt, xt), At = wt(-1, yt); function Et(e, t, n) { var r = (nt(e) ? bt : mt)(e, t, n); if (void 0 !== r && -1 !== r) return e[r] } function St(e, t) { return Et(e, Se(t)) } function $t(e, t, n) { var r, i; if (t = Ce(t, n), nt(e)) for (r = 0, i = e.length; r < i; r++)t(e[r], r, e); else { var o = q(e); for (r = 0, i = o.length; r < i; r++)t(e[o[r]], o[r], e) } return e } function Ct(e, t, n) { t = Te(t, n); for (var r = !nt(e) && q(e), i = (r || e).length, o = Array(i), a = 0; a < i; a++) { var s = r ? r[a] : a; o[a] = t(e[s], s, e) } return o } function _t(e) { var t = function (t, n, r, i) { var o = !nt(t) && q(t), a = (o || t).length, s = e > 0 ? 0 : a - 1; for (i || (r = t[o ? o[s] : s], s += e); s >= 0 && s < a; s += e) { var l = o ? o[s] : s; r = n(r, t[l], l, t) } return r }; return function (e, n, r, i) { var o = arguments.length >= 3; return t(e, Ce(n, i, 4), r, o) } } var Ot = _t(1), Tt = _t(-1); function jt(e, t, n) { var r = []; return t = Te(t, n), $t(e, (function (e, n, i) { t(e, n, i) && r.push(e) })), r } function Pt(e, t, n) { return jt(e, dt(Te(t)), n) } function Dt(e, t, n) { t = Te(t, n); for (var r = !nt(e) && q(e), i = (r || e).length, o = 0; o < i; o++) { var a = r ? r[o] : o; if (!t(e[a], a, e)) return !1 } return !0 } function Rt(e, t, n) { t = Te(t, n); for (var r = !nt(e) && q(e), i = (r || e).length, o = 0; o < i; o++) { var a = r ? r[o] : o; if (t(e[a], a, e)) return !0 } return !1 } function It(e, t, n, r) { return nt(e) || (e = se(e)), ("number" != typeof n || r) && (n = 0), kt(e, t, n) >= 0 } var Nt = o((function (e, t, n) { var r, i; return w(t) ? i = t : (t = xe(t), r = t.slice(0, -1), t = t[t.length - 1]), Ct(e, (function (e) { var o = i; if (!o) { if (r && r.length && (e = we(e, r)), null == e) return; o = e[t] } return null == o ? o : o.apply(e, n) })) })); function Mt(e, t) { return Ct(e, $e(t)) } function zt(e, t) { return jt(e, Se(t)) } function Lt(e, t, n) { var r, i, o = -1 / 0, a = -1 / 0; if (null == t || "number" == typeof t && "object" != typeof e[0] && null != e) for (var s = 0, l = (e = nt(e) ? e : se(e)).length; s < l; s++)null != (r = e[s]) && r > o && (o = r); else t = Te(t, n), $t(e, (function (e, n, r) { ((i = t(e, n, r)) > a || i === -1 / 0 && o === -1 / 0) && (o = e, a = i) })); return o } function Bt(e, t, n) { var r, i, o = 1 / 0, a = 1 / 0; if (null == t || "number" == typeof t && "object" != typeof e[0] && null != e) for (var s = 0, l = (e = nt(e) ? e : se(e)).length; s < l; s++)null != (r = e[s]) && r < o && (o = r); else t = Te(t, n), $t(e, (function (e, n, r) { ((i = t(e, n, r)) < a || i === 1 / 0 && o === 1 / 0) && (o = e, a = i) })); return o } var Ft = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g; function qt(e) { return e ? C(e) ? i.q.call(e) : p(e) ? e.match(Ft) : nt(e) ? Ct(e, Ee) : se(e) : [] } function Vt(e, t, n) { if (null == t || n) return nt(e) || (e = se(e)), e[Ie(e.length - 1)]; var r = qt(e), i = B(r); t = Math.max(Math.min(t, i), 0); for (var o = i - 1, a = 0; a < t; a++) { var s = Ie(a, o), l = r[a]; r[a] = r[s], r[s] = l } return r.slice(0, t) } function Ut(e) { return Vt(e, 1 / 0) } function Ht(e, t, n) { var r = 0; return t = Te(t, n), Mt(Ct(e, (function (e, n, i) { return { value: e, index: r++, criteria: t(e, n, i) } })).sort((function (e, t) { var n = e.criteria, r = t.criteria; if (n !== r) { if (n > r || void 0 === n) return 1; if (n < r || void 0 === r) return -1 } return e.index - t.index })), "value") } function Gt(e, t) { return function (n, r, i) { var o = t ? [[], []] : {}; return r = Te(r, i), $t(n, (function (t, i) { var a = r(t, i, n); e(o, t, a) })), o } } var Wt = Gt((function (e, t, n) { _(e, n) ? e[n].push(t) : e[n] = [t] })), Yt = Gt((function (e, t, n) { e[n] = t })), Xt = Gt((function (e, t, n) { _(e, n) ? e[n]++ : e[n] = 1 })), Zt = Gt((function (e, t, n) { e[n ? 0 : 1].push(t) }), !0); function Qt(e) { return null == e ? 0 : nt(e) ? e.length : q(e).length } function Jt(e, t, n) { return t in n } var Kt = o((function (e, t) { var n = {}, r = t[0]; if (null == e) return n; w(r) ? (t.length > 1 && (r = Ce(r, t[1])), t = X(e)) : (r = Jt, t = rt(t, !1, !1), e = Object(e)); for (var i = 0, o = t.length; i < o; i++) { var a = t[i], s = e[a]; r(s, a, e) && (n[a] = s) } return n })), en = o((function (e, t) { var n, r = t[0]; return w(r) ? (r = dt(r), t.length > 1 && (n = t[1])) : (t = Ct(rt(t, !1, !1), String), r = function (e, n) { return !It(t, n) }), Kt(e, r, n) })); function tn(e, t, n) { return i.q.call(e, 0, Math.max(0, e.length - (null == t || n ? 1 : t))) } function nn(e, t, n) { return null == e || e.length < 1 ? null == t || n ? void 0 : [] : null == t || n ? e[0] : tn(e, e.length - t) } function rn(e, t, n) { return i.q.call(e, null == t || n ? 1 : t) } function on(e, t, n) { return null == e || e.length < 1 ? null == t || n ? void 0 : [] : null == t || n ? e[e.length - 1] : rn(e, Math.max(0, e.length - t)) } function an(e) { return jt(e, Boolean) } function sn(e, t) { return rt(e, t, !1) } var ln = o((function (e, t) { return t = rt(t, !0, !0), jt(e, (function (e) { return !It(t, e) })) })), cn = o((function (e, t) { return ln(e, t) })); function un(e, t, n, r) { c(t) || (r = n, n = t, t = !1), null != n && (n = Te(n, r)); for (var i = [], o = [], a = 0, s = B(e); a < s; a++) { var l = e[a], u = n ? n(l, a, e) : l; t && !n ? (a && o === u || i.push(l), o = u) : n ? It(o, u) || (o.push(u), i.push(l)) : It(i, l) || i.push(l) } return i } var dn = o((function (e) { return un(rt(e, !0, !0)) })); function pn(e) { for (var t = [], n = arguments.length, r = 0, i = B(e); r < i; r++) { var o = e[r]; if (!It(t, o)) { var a; for (a = 1; a < n && It(arguments[a], o); a++); a === n && t.push(o) } } return t } function fn(e) { for (var t = e && Lt(e, B).length || 0, n = Array(t), r = 0; r < t; r++)n[r] = Mt(e, r); return n } var hn = o(fn); function gn(e, t) { for (var n = {}, r = 0, i = B(e); r < i; r++)t ? n[e[r]] = t[r] : n[e[r][0]] = e[r][1]; return n } function mn(e, t, n) { null == t && (t = e || 0, e = 0), n || (n = t < e ? -1 : 1); for (var r = Math.max(Math.ceil((t - e) / n), 0), i = Array(r), o = 0; o < r; o++, e += n)i[o] = e; return i } function vn(e, t) { if (null == t || t < 1) return []; for (var n = [], r = 0, o = e.length; r < o;)n.push(i.q.call(e, r, r += t)); return n } function bn(e, t) { return e._chain ? H(t).chain() : t } function yn(e) { return $t(ue(e), (function (t) { var n = H[t] = e[t]; H.prototype[t] = function () { var e = [this._wrapped]; return i.o.apply(e, arguments), bn(this, n.apply(H, e)) } })), H } $t(["pop", "push", "reverse", "shift", "sort", "splice", "unshift"], (function (e) { var t = i.a[e]; H.prototype[e] = function () { var n = this._wrapped; return null != n && (t.apply(n, arguments), "shift" !== e && "splice" !== e || 0 !== n.length || delete n[0]), bn(this, n) } })), $t(["concat", "join", "slice"], (function (e) { var t = i.a[e]; H.prototype[e] = function () { var e = this._wrapped; return null != e && (e = t.apply(e, arguments)), bn(this, e) } })); var xn = H, wn = yn(r); wn._ = wn; var kn = wn }, function (e, t, n) { var r; try { r = { clone: n(248), constant: n(126), each: n(167), filter: n(170), has: n(181), isArray: n(13), isEmpty: n(324), isFunction: n(64), isUndefined: n(182), keys: n(41), map: n(183), reduce: n(185), size: n(327), transform: n(333), union: n(334), values: n(190) } } catch (e) { } r || (r = window._), e.exports = r }, function (e, t) { e.exports = function (e) { var t = typeof e; return null != e && ("object" == t || "function" == t) } }, function (e, t, n) { "use strict"; n.r(t), n.d(t, "getReferences", (function () { return i })), n.d(t, "getParents", (function () { return o })), n.d(t, "getMacroReferences", (function () { return a })), n.d(t, "getMacroParents", (function () { return s })); const r = n(21); function i(e, t) { let n = r.filter(e.nodes, (function (e) { return !!(e.depends_on && e.depends_on.nodes && e.depends_on.nodes.length && r.contains(e.depends_on.nodes, t.unique_id)) })); return r.groupBy(n, "resource_type") } function o(e, t) { let n = r.filter(e.nodes, (function (e) { return !!(t.depends_on && t.depends_on.nodes && t.depends_on.nodes.length && r.contains(t.depends_on.nodes, e.unique_id)) })), i = r.filter(e.macros, (function (e) { return !!(t.depends_on && t.depends_on.macros && t.depends_on.macros.length && r.contains(t.depends_on.macros, e.unique_id)) })); return r.groupBy(n.concat(i), "resource_type") } function a(e, t) { let n = r.filter(e.nodes, (function (e) { return !!(e.depends_on && e.depends_on.macros && e.depends_on.macros.length && r.contains(e.depends_on.macros, t.unique_id)) })), i = r.filter(e.macros, (function (e) { return !!(e.depends_on && e.depends_on.macros && e.depends_on.macros.length && r.contains(e.depends_on.macros, t.unique_id)) })); return r.groupBy(n.concat(i), "resource_type") } function s(e, t) { let n = r.filter(e.macros, (function (e) { return !!(t.depends_on && t.depends_on.macros && t.depends_on.macros.length && r.contains(t.depends_on.macros, e.unique_id)) })); return r.groupBy(n, "resource_type") } }, function (e, t, n) { var r = n(447); "string" == typeof r && (r = [[e.i, r, ""]]); var i = { hmr: !0, transform: void 0, insertInto: void 0 }; n(40)(r, i); r.locals && (e.exports = r.locals) }, function (e, t, n) { "use strict"; n.d(t, "a", (function () { return a })); var r = n(1), i = n(7), o = n(4), a = function () { function e(e, t, n, r) { this._stateRegistry = e, this._identifier = t, this._identifier = t, this._params = Object(o.C)({}, n || {}), this._options = Object(o.C)({}, r || {}), this._definition = e.matcher.find(t, this._options.relative) } return e.prototype.name = function () { return this._definition && this._definition.name || this._identifier }, e.prototype.identifier = function () { return this._identifier }, e.prototype.params = function () { return this._params }, e.prototype.$state = function () { return this._definition }, e.prototype.state = function () { return this._definition && this._definition.self }, e.prototype.options = function () { return this._options }, e.prototype.exists = function () { return !(!this._definition || !this._definition.self) }, e.prototype.valid = function () { return !this.error() }, e.prototype.error = function () { var e = this.options().relative; if (!this._definition && e) { var t = e.name ? e.name : e; return "Could not resolve '" + this.name() + "' from state '" + t + "'" } return this._definition ? this._definition.self ? void 0 : "State '" + this.name() + "' has an invalid definition" : "No such state '" + this.name() + "'" }, e.prototype.toString = function () { return "'" + this.name() + "'" + Object(i.m)(this.params()) }, e.prototype.withState = function (t) { return new e(this._stateRegistry, t, this._params, this._options) }, e.prototype.withParams = function (t, n) { void 0 === n && (n = !1); var r = n ? t : Object(o.C)({}, this._params, t); return new e(this._stateRegistry, this._identifier, r, this._options) }, e.prototype.withOptions = function (t, n) { void 0 === n && (n = !1); var r = n ? t : Object(o.C)({}, this._options, t); return new e(this._stateRegistry, this._identifier, this._params, r) }, e.isDef = function (e) { return e && e.state && (Object(r.l)(e.state) || Object(r.i)(e.state) && Object(r.l)(e.state.name)) }, e }() }, function (e, t, n) { "use strict"; n.d(t, "a", (function () { return g })), n.d(t, "b", (function () { return m })); var r = n(0), i = n(3), o = n(10), a = n(6), s = n(69), l = n(15), c = n(18), u = n(7), d = n(4), p = s.a.when, f = [p.EAGER, p.LAZY], h = [p.EAGER], g = "Native Injector", m = function () { function e(e) { this._path = e } return e.prototype.getTokens = function () { return this._path.reduce((function (e, t) { return e.concat(t.resolvables.map((function (e) { return e.token }))) }), []).reduce(r.R, []) }, e.prototype.getResolvable = function (e) { var t = this._path.map((function (e) { return e.resolvables })).reduce(r.T, []).filter((function (t) { return t.token === e })); return Object(r.P)(t) }, e.prototype.getPolicy = function (e) { var t = this.findNode(e); return e.getPolicy(t.state) }, e.prototype.subContext = function (t) { return new e(c.a.subPath(this._path, (function (e) { return e.state === t }))) }, e.prototype.addResolvables = function (e, t) { var n = Object(r.t)(this._path, Object(i.o)("state", t)), o = e.map((function (e) { return e.token })); n.resolvables = n.resolvables.filter((function (e) { return -1 === o.indexOf(e.token) })).concat(e) }, e.prototype.resolvePath = function (e, t) { var n = this; void 0 === e && (e = "LAZY"); var l = (Object(r.z)(f, e) ? e : "LAZY") === s.a.when.EAGER ? h : f; o.c.traceResolvePath(this._path, e, t); var c = function (e, t) { return function (i) { return Object(r.z)(e, n.getPolicy(i)[t]) } }, u = this._path.reduce((function (e, r) { var o = r.resolvables.filter(c(l, "when")), a = o.filter(c(["NOWAIT"], "async")), s = o.filter(Object(i.i)(c(["NOWAIT"], "async"))), u = n.subContext(r.state), d = function (e) { return e.get(u, t).then((function (t) { return { token: e.token, value: t } })) }; return a.forEach(d), e.concat(s.map(d)) }), []); return a.b.$q.all(u) }, e.prototype.injector = function () { return this._injector || (this._injector = new v(this)) }, e.prototype.findNode = function (e) { return Object(r.t)(this._path, (function (t) { return Object(r.z)(t.resolvables, e) })) }, e.prototype.getDependencies = function (e) { var t = this, n = this.findNode(e), i = (c.a.subPath(this._path, (function (e) { return e === n })) || this._path).reduce((function (e, t) { return e.concat(t.resolvables) }), []).filter((function (t) { return t !== e })); return e.deps.map((function (e) { var n = i.filter((function (t) { return t.token === e })); if (n.length) return Object(r.P)(n); var o = t.injector().getNative(e); if (Object(d.db)(o)) throw new Error("Could not find Dependency Injection token: " + Object(u.m)(e)); return new l.a(e, (function () { return o }), [], o) })) }, e }(), v = function () { function e(e) { this.context = e, this.native = this.get(g) || a.b.$injector } return e.prototype.get = function (e) { var t = this.context.getResolvable(e); if (t) { if ("NOWAIT" === this.context.getPolicy(t).async) return t.get(this.context); if (!t.resolved) throw new Error("Resolvable async .get() not complete:" + Object(u.m)(t.token)); return t.data } return this.getNative(e) }, e.prototype.getAsync = function (e) { var t = this.context.getResolvable(e); return t ? t.get(this.context) : a.b.$q.when(this.native.get(e)) }, e.prototype.getNative = function (e) { return this.native && this.native.get(e) }, e }() }, function (e, t, n) { "use strict"; n.r(t); var r = n(134); for (var i in r) ["default"].indexOf(i) < 0 && function (e) { n.d(t, e, (function () { return r[e] })) }(i); var o = n(16); n.d(t, "DefType", (function () { return o.a })), n.d(t, "Param", (function () { return o.b })); var a = n(135); n.d(t, "ParamTypes", (function () { return a.a })); var s = n(92); n.d(t, "StateParams", (function () { return s.a })); var l = n(51); n.d(t, "ParamType", (function () { return l.a })) }, function (e, t, n) { "use strict"; n.d(t, "c", (function () { return i })), n.d(t, "b", (function () { return o })), n.d(t, "e", (function () { return a })), n.d(t, "a", (function () { return s })), n.d(t, "d", (function () { return l })); var r = n(4), i = function (e, t) { var n = t[0], i = t[1]; return e.hasOwnProperty(n) ? Object(r.R)(e[n]) ? e[n].push(i) : e[n] = [e[n], i] : e[n] = i, e }, o = function (e) { return e.split("&").filter(r.M).map(r.Fb).reduce(i, {}) }; function a(e) { var t = function (e) { return e || "" }, n = Object(r.Gb)(e).map(t), i = n[0], o = n[1], a = Object(r.Ib)(i).map(t); return { path: a[0], search: a[1], hash: o, url: e } } var s = function (e) { var t = e.path(), n = e.search(), i = e.hash(), o = Object.keys(n).map((function (e) { var t = n[e]; return (Object(r.R)(t) ? t : [t]).map((function (t) { return e + "=" + t })) })).reduce(r.Rb, []).join("&"); return t + (o ? "?" + o : "") + (i ? "#" + i : "") }; function l(e, t, n, r) { return function (i) { var o = i.locationService = new n(i), a = i.locationConfig = new r(i, t); return { name: e, service: o, configuration: a, dispose: function (e) { e.dispose(o), e.dispose(a) } } } } }, function (e, t, n) { var r; try { r = n(148) } catch (e) { } r || (r = window.graphlib), e.exports = r }, function (e, t, n) { var r = n(150), i = "object" == typeof self && self && self.Object === Object && self, o = r || i || Function("return this")(); e.exports = o }, function (e, t, n) { "use strict"; n.d(t, "a", (function () { return p })); var r = n(0), i = n(3), o = n(1), a = n(16), s = n(7), l = n(4); function c(e, t) { var n = ["", ""], r = e.replace(/[\\\[\]\^$*+?.()|{}]/g, "\\$&"); if (!t) return r; switch (t.squash) { case !1: n = ["(", ")" + (t.isOptional ? "?" : "")]; break; case !0: r = r.replace(/\/$/, ""), n = ["(?:/(", ")|/)?"]; break; default: n = ["(" + t.squash + "|", ")?"] }return r + n[0] + t.type.pattern.source + n[1] } var u = Object(s.k)("/"), d = { state: { params: {} }, strict: !0, caseInsensitive: !0, decodeParams: !0 }, p = function () { function e(t, n, o, a) { var s = this; this._cache = { path: [this] }, this._children = [], this._params = [], this._segments = [], this._compiled = [], this.config = a = Object(l.y)(a, d), this.pattern = t; for (var u, p, f, h = /([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g, g = /([:]?)([\w\[\].-]+)|\{([\w\[\].-]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g, m = [], v = 0, b = function (n) { if (!e.nameValidator.test(n)) throw new Error("Invalid parameter name '" + n + "' in pattern '" + t + "'"); if (Object(r.t)(s._params, Object(i.o)("id", n))) throw new Error("Duplicate parameter name '" + n + "' in pattern '" + t + "'") }, y = function (e, i) { var o, a = e[2] || e[3], l = i ? e[4] : e[4] || ("*" === e[1] ? "[\\s\\S]*" : null); return { id: a, regexp: l, segment: t.substring(v, e.index), type: l ? n.type(l) || (o = l, Object(r.A)(n.type(i ? "query" : "path"), { pattern: new RegExp(o, s.config.caseInsensitive ? "i" : void 0) })) : null } }; (u = h.exec(t)) && !((p = y(u, !1)).segment.indexOf("?") >= 0);)b(p.id), this._params.push(o.fromPath(p.id, p.type, a.state)), this._segments.push(p.segment), m.push([p.segment, Object(r.P)(this._params)]), v = h.lastIndex; var x = (f = t.substring(v)).indexOf("?"); if (x >= 0) { var w = f.substring(x); if (f = f.substring(0, x), w.length > 0) for (v = 0; u = g.exec(w);)b((p = y(u, !0)).id), this._params.push(o.fromSearch(p.id, p.type, a.state)), v = h.lastIndex } this._segments.push(f), this._compiled = m.map((function (e) { return c.apply(null, e) })).concat(c(f)) } return e.encodeDashes = function (e) { return encodeURIComponent(e).replace(/-/g, (function (e) { return "%5C%" + e.charCodeAt(0).toString(16).toUpperCase() })) }, e.pathSegmentsAndParams = function (e) { var t = e._segments, n = e._params.filter((function (e) { return e.location === a.a.PATH })); return Object(r.i)(t, n.concat(void 0)).reduce(r.T, []).filter((function (e) { return "" !== e && Object(o.c)(e) })) }, e.queryParams = function (e) { return e._params.filter((function (e) { return e.location === a.a.SEARCH })) }, e.compare = function (t, n) { var i = function (t) { return t._cache.weights = t._cache.weights || function (t) { return t._cache.segments = t._cache.segments || t._cache.path.map(e.pathSegmentsAndParams).reduce(r.T, []).reduce(s.e, []).map((function (e) { return Object(o.l)(e) ? u(e) : e })).reduce(r.T, []) }(t).map((function (e) { return "/" === e ? 1 : Object(o.l)(e) ? 2 : e instanceof a.b ? 3 : void 0 })) }, l = i(t), c = i(n); !function (e, t, n) { for (var r = Math.max(e.length, t.length); e.length < r;)e.push(n); for (; t.length < r;)t.push(n) }(l, c, 0); var d, p, f = Object(r.i)(l, c); for (p = 0; p < f.length; p++)if (0 !== (d = f[p][0] - f[p][1])) return d; return 0 }, e.prototype.append = function (e) { return this._children.push(e), e._cache = { path: this._cache.path.concat(e), parent: this, pattern: null }, e }, e.prototype.isRoot = function () { return this._cache.path[0] === this }, e.prototype.toString = function () { return this.pattern }, e.prototype._getDecodedParamValue = function (e, t) { return Object(o.c)(e) && (this.config.decodeParams && !t.type.raw && (e = Object(o.a)(e) ? e.map((function (e) { return decodeURIComponent(e) })) : decodeURIComponent(e)), e = t.type.decode(e)), t.value(e) }, e.prototype.exec = function (e, t, n, o) { var a = this; void 0 === t && (t = {}), void 0 === o && (o = {}); var s, l, c, u = (s = this._cache, l = "pattern", c = function () { return new RegExp(["^", Object(r.S)(a._cache.path.map(Object(i.n)("_compiled"))).join(""), !1 === a.config.strict ? "/?" : "", "$"].join(""), a.config.caseInsensitive ? "i" : void 0) }, s[l] = s[l] || c()).exec(e); if (!u) return null; var d, p, f, h = this.parameters(), g = h.filter((function (e) { return !e.isSearch() })), m = h.filter((function (e) { return e.isSearch() })), v = this._cache.path.map((function (e) { return e._segments.length - 1 })).reduce((function (e, t) { return e + t })), b = {}; if (v !== u.length - 1) throw new Error("Unbalanced capture group in route '" + this.pattern + "'"); for (var y = 0; y < v; y++) { for (var x = g[y], w = u[y + 1], k = 0; k < x.replace.length; k++)x.replace[k].from === w && (w = x.replace[k].to); w && !0 === x.array && (d = void 0, p = void 0, f = void 0, p = (d = function (e) { return e.split("").reverse().join("") })(w).split(/-(?!\\)/), f = Object(r.B)(p, d), w = Object(r.B)(f, (function (e) { return e.replace(/\\-/g, "-") })).reverse()), b[x.id] = this._getDecodedParamValue(w, x) } return m.forEach((function (e) { for (var n = t[e.id], r = 0; r < e.replace.length; r++)e.replace[r].from === n && (n = e.replace[r].to); b[e.id] = a._getDecodedParamValue(n, e) })), n && (b["#"] = n), b }, e.prototype.parameters = function (e) { return void 0 === e && (e = {}), !1 === e.inherit ? this._params : Object(r.S)(this._cache.path.map((function (e) { return e._params }))) }, e.prototype.parameter = function (e, t) { var n = this; void 0 === t && (t = {}); var r = this._cache.parent; return function () { for (var t = 0, r = n._params; t < r.length; t++) { var i = r[t]; if (i.id === e) return i } }() || !1 !== t.inherit && r && r.parameter(e, t) || null }, e.prototype.validates = function (e) { return e = e || {}, this.parameters().filter((function (t) { return e.hasOwnProperty(t.id) })).map((function (t) { return n = t, r = e[t.id], !n || n.validates(r); var n, r })).reduce(r.e, !0) }, e.prototype.format = function (t) { void 0 === t && (t = {}); var n = this._cache.path, i = n.map(e.pathSegmentsAndParams).reduce(r.T, []).map((function (e) { return Object(o.l)(e) ? e : s(e) })), a = n.map(e.queryParams).reduce(r.T, []).map(s); if (i.concat(a).filter((function (e) { return !1 === e.isValid })).length) return null; function s(e) { var n = e.value(t[e.id]), r = e.validates(n), i = e.isDefaultValue(n), o = !!i && e.squash, a = e.type.encode(n); return { param: e, value: n, isValid: r, isDefaultValue: i, squash: o, encoded: a } } var l = i.reduce((function (t, n) { if (Object(o.l)(n)) return t + n; var i = n.squash, a = n.encoded, s = n.param; return !0 === i ? t.match(/\/$/) ? t.slice(0, -1) : t : Object(o.l)(i) ? t + i : !1 !== i || null == a ? t : Object(o.a)(a) ? t + Object(r.B)(a, e.encodeDashes).join("-") : s.raw ? t + a : t + encodeURIComponent(a) }), ""), c = a.map((function (e) { var t = e.param, n = e.squash, i = e.encoded, a = e.isDefaultValue; if (!(null == i || a && !1 !== n) && (Object(o.a)(i) || (i = [i]), 0 !== i.length)) return t.raw || (i = Object(r.B)(i, encodeURIComponent)), i.map((function (e) { return t.id + "=" + e })) })).filter(r.y).reduce(r.T, []).join("&"); return l + (c ? "?" + c : "") + (t["#"] ? "#" + t["#"] : "") }, e.nameValidator = /^\w+([-.]+\w+)*(?:\[\])?$/, e }() }, function (e, t, n) {
146
+ var r;
147
+ /*!
148
+ * jQuery JavaScript Library v3.5.1
149
+ * https://jquery.com/
150
+ *
151
+ * Includes Sizzle.js
152
+ * https://sizzlejs.com/
153
+ *
154
+ * Copyright JS Foundation and other contributors
155
+ * Released under the MIT license
156
+ * https://jquery.org/license
157
+ *
158
+ * Date: 2020-05-04T22:49Z
159
+ */!function (t, n) { "use strict"; "object" == typeof e.exports ? e.exports = t.document ? n(t, !0) : function (e) { if (!e.document) throw new Error("jQuery requires a window with a document"); return n(e) } : n(t) }("undefined" != typeof window ? window : this, (function (n, i) {
160
+ "use strict"; var o = [], a = Object.getPrototypeOf, s = o.slice, l = o.flat ? function (e) { return o.flat.call(e) } : function (e) { return o.concat.apply([], e) }, c = o.push, u = o.indexOf, d = {}, p = d.toString, f = d.hasOwnProperty, h = f.toString, g = h.call(Object), m = {}, v = function (e) { return "function" == typeof e && "number" != typeof e.nodeType }, b = function (e) { return null != e && e === e.window }, y = n.document, x = { type: !0, src: !0, nonce: !0, noModule: !0 }; function w(e, t, n) { var r, i, o = (n = n || y).createElement("script"); if (o.text = e, t) for (r in x) (i = t[r] || t.getAttribute && t.getAttribute(r)) && o.setAttribute(r, i); n.head.appendChild(o).parentNode.removeChild(o) } function k(e) { return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? d[p.call(e)] || "object" : typeof e } var A = function (e, t) { return new A.fn.init(e, t) }; function E(e) { var t = !!e && "length" in e && e.length, n = k(e); return !v(e) && !b(e) && ("array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e) } A.fn = A.prototype = { jquery: "3.5.1", constructor: A, length: 0, toArray: function () { return s.call(this) }, get: function (e) { return null == e ? s.call(this) : e < 0 ? this[e + this.length] : this[e] }, pushStack: function (e) { var t = A.merge(this.constructor(), e); return t.prevObject = this, t }, each: function (e) { return A.each(this, e) }, map: function (e) { return this.pushStack(A.map(this, (function (t, n) { return e.call(t, n, t) }))) }, slice: function () { return this.pushStack(s.apply(this, arguments)) }, first: function () { return this.eq(0) }, last: function () { return this.eq(-1) }, even: function () { return this.pushStack(A.grep(this, (function (e, t) { return (t + 1) % 2 }))) }, odd: function () { return this.pushStack(A.grep(this, (function (e, t) { return t % 2 }))) }, eq: function (e) { var t = this.length, n = +e + (e < 0 ? t : 0); return this.pushStack(n >= 0 && n < t ? [this[n]] : []) }, end: function () { return this.prevObject || this.constructor() }, push: c, sort: o.sort, splice: o.splice }, A.extend = A.fn.extend = function () { var e, t, n, r, i, o, a = arguments[0] || {}, s = 1, l = arguments.length, c = !1; for ("boolean" == typeof a && (c = a, a = arguments[s] || {}, s++), "object" == typeof a || v(a) || (a = {}), s === l && (a = this, s--); s < l; s++)if (null != (e = arguments[s])) for (t in e) r = e[t], "__proto__" !== t && a !== r && (c && r && (A.isPlainObject(r) || (i = Array.isArray(r))) ? (n = a[t], o = i && !Array.isArray(n) ? [] : i || A.isPlainObject(n) ? n : {}, i = !1, a[t] = A.extend(c, o, r)) : void 0 !== r && (a[t] = r)); return a }, A.extend({ expando: "jQuery" + ("3.5.1" + Math.random()).replace(/\D/g, ""), isReady: !0, error: function (e) { throw new Error(e) }, noop: function () { }, isPlainObject: function (e) { var t, n; return !(!e || "[object Object]" !== p.call(e)) && (!(t = a(e)) || "function" == typeof (n = f.call(t, "constructor") && t.constructor) && h.call(n) === g) }, isEmptyObject: function (e) { var t; for (t in e) return !1; return !0 }, globalEval: function (e, t, n) { w(e, { nonce: t && t.nonce }, n) }, each: function (e, t) { var n, r = 0; if (E(e)) for (n = e.length; r < n && !1 !== t.call(e[r], r, e[r]); r++); else for (r in e) if (!1 === t.call(e[r], r, e[r])) break; return e }, makeArray: function (e, t) { var n = t || []; return null != e && (E(Object(e)) ? A.merge(n, "string" == typeof e ? [e] : e) : c.call(n, e)), n }, inArray: function (e, t, n) { return null == t ? -1 : u.call(t, e, n) }, merge: function (e, t) { for (var n = +t.length, r = 0, i = e.length; r < n; r++)e[i++] = t[r]; return e.length = i, e }, grep: function (e, t, n) { for (var r = [], i = 0, o = e.length, a = !n; i < o; i++)!t(e[i], i) !== a && r.push(e[i]); return r }, map: function (e, t, n) { var r, i, o = 0, a = []; if (E(e)) for (r = e.length; o < r; o++)null != (i = t(e[o], o, n)) && a.push(i); else for (o in e) null != (i = t(e[o], o, n)) && a.push(i); return l(a) }, guid: 1, support: m }), "function" == typeof Symbol && (A.fn[Symbol.iterator] = o[Symbol.iterator]), A.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), (function (e, t) { d["[object " + t + "]"] = t.toLowerCase() })); var S =
161
+ /*!
162
+ * Sizzle CSS Selector Engine v2.3.5
163
+ * https://sizzlejs.com/
164
+ *
165
+ * Copyright JS Foundation and other contributors
166
+ * Released under the MIT license
167
+ * https://js.foundation/
168
+ *
169
+ * Date: 2020-03-14
170
+ */
171
+ function (e) { var t, n, r, i, o, a, s, l, c, u, d, p, f, h, g, m, v, b, y, x = "sizzle" + 1 * new Date, w = e.document, k = 0, A = 0, E = le(), S = le(), $ = le(), C = le(), _ = function (e, t) { return e === t && (d = !0), 0 }, O = {}.hasOwnProperty, T = [], j = T.pop, P = T.push, D = T.push, R = T.slice, I = function (e, t) { for (var n = 0, r = e.length; n < r; n++)if (e[n] === t) return n; return -1 }, N = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", M = "[\\x20\\t\\r\\n\\f]", z = "(?:\\\\[\\da-fA-F]{1,6}" + M + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", L = "\\[" + M + "*(" + z + ")(?:" + M + "*([*^$|!~]?=)" + M + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + z + "))|)" + M + "*\\]", B = ":(" + z + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + L + ")*)|.*)\\)|)", F = new RegExp(M + "+", "g"), q = new RegExp("^" + M + "+|((?:^|[^\\\\])(?:\\\\.)*)" + M + "+$", "g"), V = new RegExp("^" + M + "*," + M + "*"), U = new RegExp("^" + M + "*([>+~]|" + M + ")" + M + "*"), H = new RegExp(M + "|>"), G = new RegExp(B), W = new RegExp("^" + z + "$"), Y = { ID: new RegExp("^#(" + z + ")"), CLASS: new RegExp("^\\.(" + z + ")"), TAG: new RegExp("^(" + z + "|[*])"), ATTR: new RegExp("^" + L), PSEUDO: new RegExp("^" + B), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + M + "*(even|odd|(([+-]|)(\\d*)n|)" + M + "*(?:([+-]|)" + M + "*(\\d+)|))" + M + "*\\)|)", "i"), bool: new RegExp("^(?:" + N + ")$", "i"), needsContext: new RegExp("^" + M + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + M + "*((?:-\\d)?\\d*)" + M + "*\\)|)(?=[^-]|$)", "i") }, X = /HTML$/i, Z = /^(?:input|select|textarea|button)$/i, Q = /^h\d$/i, J = /^[^{]+\{\s*\[native \w/, K = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, ee = /[+~]/, te = new RegExp("\\\\[\\da-fA-F]{1,6}" + M + "?|\\\\([^\\r\\n\\f])", "g"), ne = function (e, t) { var n = "0x" + e.slice(1) - 65536; return t || (n < 0 ? String.fromCharCode(n + 65536) : String.fromCharCode(n >> 10 | 55296, 1023 & n | 56320)) }, re = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, ie = function (e, t) { return t ? "\0" === e ? "�" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " " : "\\" + e }, oe = function () { p() }, ae = xe((function (e) { return !0 === e.disabled && "fieldset" === e.nodeName.toLowerCase() }), { dir: "parentNode", next: "legend" }); try { D.apply(T = R.call(w.childNodes), w.childNodes), T[w.childNodes.length].nodeType } catch (e) { D = { apply: T.length ? function (e, t) { P.apply(e, R.call(t)) } : function (e, t) { for (var n = e.length, r = 0; e[n++] = t[r++];); e.length = n - 1 } } } function se(e, t, r, i) { var o, s, c, u, d, h, v, b = t && t.ownerDocument, w = t ? t.nodeType : 9; if (r = r || [], "string" != typeof e || !e || 1 !== w && 9 !== w && 11 !== w) return r; if (!i && (p(t), t = t || f, g)) { if (11 !== w && (d = K.exec(e))) if (o = d[1]) { if (9 === w) { if (!(c = t.getElementById(o))) return r; if (c.id === o) return r.push(c), r } else if (b && (c = b.getElementById(o)) && y(t, c) && c.id === o) return r.push(c), r } else { if (d[2]) return D.apply(r, t.getElementsByTagName(e)), r; if ((o = d[3]) && n.getElementsByClassName && t.getElementsByClassName) return D.apply(r, t.getElementsByClassName(o)), r } if (n.qsa && !C[e + " "] && (!m || !m.test(e)) && (1 !== w || "object" !== t.nodeName.toLowerCase())) { if (v = e, b = t, 1 === w && (H.test(e) || U.test(e))) { for ((b = ee.test(e) && ve(t.parentNode) || t) === t && n.scope || ((u = t.getAttribute("id")) ? u = u.replace(re, ie) : t.setAttribute("id", u = x)), s = (h = a(e)).length; s--;)h[s] = (u ? "#" + u : ":scope") + " " + ye(h[s]); v = h.join(",") } try { return D.apply(r, b.querySelectorAll(v)), r } catch (t) { C(e, !0) } finally { u === x && t.removeAttribute("id") } } } return l(e.replace(q, "$1"), t, r, i) } function le() { var e = []; return function t(n, i) { return e.push(n + " ") > r.cacheLength && delete t[e.shift()], t[n + " "] = i } } function ce(e) { return e[x] = !0, e } function ue(e) { var t = f.createElement("fieldset"); try { return !!e(t) } catch (e) { return !1 } finally { t.parentNode && t.parentNode.removeChild(t), t = null } } function de(e, t) { for (var n = e.split("|"), i = n.length; i--;)r.attrHandle[n[i]] = t } function pe(e, t) { var n = t && e, r = n && 1 === e.nodeType && 1 === t.nodeType && e.sourceIndex - t.sourceIndex; if (r) return r; if (n) for (; n = n.nextSibling;)if (n === t) return -1; return e ? 1 : -1 } function fe(e) { return function (t) { return "input" === t.nodeName.toLowerCase() && t.type === e } } function he(e) { return function (t) { var n = t.nodeName.toLowerCase(); return ("input" === n || "button" === n) && t.type === e } } function ge(e) { return function (t) { return "form" in t ? t.parentNode && !1 === t.disabled ? "label" in t ? "label" in t.parentNode ? t.parentNode.disabled === e : t.disabled === e : t.isDisabled === e || t.isDisabled !== !e && ae(t) === e : t.disabled === e : "label" in t && t.disabled === e } } function me(e) { return ce((function (t) { return t = +t, ce((function (n, r) { for (var i, o = e([], n.length, t), a = o.length; a--;)n[i = o[a]] && (n[i] = !(r[i] = n[i])) })) })) } function ve(e) { return e && void 0 !== e.getElementsByTagName && e } for (t in n = se.support = {}, o = se.isXML = function (e) { var t = e.namespaceURI, n = (e.ownerDocument || e).documentElement; return !X.test(t || n && n.nodeName || "HTML") }, p = se.setDocument = function (e) { var t, i, a = e ? e.ownerDocument || e : w; return a != f && 9 === a.nodeType && a.documentElement ? (h = (f = a).documentElement, g = !o(f), w != f && (i = f.defaultView) && i.top !== i && (i.addEventListener ? i.addEventListener("unload", oe, !1) : i.attachEvent && i.attachEvent("onunload", oe)), n.scope = ue((function (e) { return h.appendChild(e).appendChild(f.createElement("div")), void 0 !== e.querySelectorAll && !e.querySelectorAll(":scope fieldset div").length })), n.attributes = ue((function (e) { return e.className = "i", !e.getAttribute("className") })), n.getElementsByTagName = ue((function (e) { return e.appendChild(f.createComment("")), !e.getElementsByTagName("*").length })), n.getElementsByClassName = J.test(f.getElementsByClassName), n.getById = ue((function (e) { return h.appendChild(e).id = x, !f.getElementsByName || !f.getElementsByName(x).length })), n.getById ? (r.filter.ID = function (e) { var t = e.replace(te, ne); return function (e) { return e.getAttribute("id") === t } }, r.find.ID = function (e, t) { if (void 0 !== t.getElementById && g) { var n = t.getElementById(e); return n ? [n] : [] } }) : (r.filter.ID = function (e) { var t = e.replace(te, ne); return function (e) { var n = void 0 !== e.getAttributeNode && e.getAttributeNode("id"); return n && n.value === t } }, r.find.ID = function (e, t) { if (void 0 !== t.getElementById && g) { var n, r, i, o = t.getElementById(e); if (o) { if ((n = o.getAttributeNode("id")) && n.value === e) return [o]; for (i = t.getElementsByName(e), r = 0; o = i[r++];)if ((n = o.getAttributeNode("id")) && n.value === e) return [o] } return [] } }), r.find.TAG = n.getElementsByTagName ? function (e, t) { return void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e) : n.qsa ? t.querySelectorAll(e) : void 0 } : function (e, t) { var n, r = [], i = 0, o = t.getElementsByTagName(e); if ("*" === e) { for (; n = o[i++];)1 === n.nodeType && r.push(n); return r } return o }, r.find.CLASS = n.getElementsByClassName && function (e, t) { if (void 0 !== t.getElementsByClassName && g) return t.getElementsByClassName(e) }, v = [], m = [], (n.qsa = J.test(f.querySelectorAll)) && (ue((function (e) { var t; h.appendChild(e).innerHTML = "<a id='" + x + "'></a><select id='" + x + "-\r\\' msallowcapture=''><option selected=''></option></select>", e.querySelectorAll("[msallowcapture^='']").length && m.push("[*^$]=" + M + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || m.push("\\[" + M + "*(?:value|" + N + ")"), e.querySelectorAll("[id~=" + x + "-]").length || m.push("~="), (t = f.createElement("input")).setAttribute("name", ""), e.appendChild(t), e.querySelectorAll("[name='']").length || m.push("\\[" + M + "*name" + M + "*=" + M + "*(?:''|\"\")"), e.querySelectorAll(":checked").length || m.push(":checked"), e.querySelectorAll("a#" + x + "+*").length || m.push(".#.+[+~]"), e.querySelectorAll("\\\f"), m.push("[\\r\\n\\f]") })), ue((function (e) { e.innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>"; var t = f.createElement("input"); t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && m.push("name" + M + "*[*^$|!~]?="), 2 !== e.querySelectorAll(":enabled").length && m.push(":enabled", ":disabled"), h.appendChild(e).disabled = !0, 2 !== e.querySelectorAll(":disabled").length && m.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), m.push(",.*:") }))), (n.matchesSelector = J.test(b = h.matches || h.webkitMatchesSelector || h.mozMatchesSelector || h.oMatchesSelector || h.msMatchesSelector)) && ue((function (e) { n.disconnectedMatch = b.call(e, "*"), b.call(e, "[s!='']:x"), v.push("!=", B) })), m = m.length && new RegExp(m.join("|")), v = v.length && new RegExp(v.join("|")), t = J.test(h.compareDocumentPosition), y = t || J.test(h.contains) ? function (e, t) { var n = 9 === e.nodeType ? e.documentElement : e, r = t && t.parentNode; return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r))) } : function (e, t) { if (t) for (; t = t.parentNode;)if (t === e) return !0; return !1 }, _ = t ? function (e, t) { if (e === t) return d = !0, 0; var r = !e.compareDocumentPosition - !t.compareDocumentPosition; return r || (1 & (r = (e.ownerDocument || e) == (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !n.sortDetached && t.compareDocumentPosition(e) === r ? e == f || e.ownerDocument == w && y(w, e) ? -1 : t == f || t.ownerDocument == w && y(w, t) ? 1 : u ? I(u, e) - I(u, t) : 0 : 4 & r ? -1 : 1) } : function (e, t) { if (e === t) return d = !0, 0; var n, r = 0, i = e.parentNode, o = t.parentNode, a = [e], s = [t]; if (!i || !o) return e == f ? -1 : t == f ? 1 : i ? -1 : o ? 1 : u ? I(u, e) - I(u, t) : 0; if (i === o) return pe(e, t); for (n = e; n = n.parentNode;)a.unshift(n); for (n = t; n = n.parentNode;)s.unshift(n); for (; a[r] === s[r];)r++; return r ? pe(a[r], s[r]) : a[r] == w ? -1 : s[r] == w ? 1 : 0 }, f) : f }, se.matches = function (e, t) { return se(e, null, null, t) }, se.matchesSelector = function (e, t) { if (p(e), n.matchesSelector && g && !C[t + " "] && (!v || !v.test(t)) && (!m || !m.test(t))) try { var r = b.call(e, t); if (r || n.disconnectedMatch || e.document && 11 !== e.document.nodeType) return r } catch (e) { C(t, !0) } return se(t, f, null, [e]).length > 0 }, se.contains = function (e, t) { return (e.ownerDocument || e) != f && p(e), y(e, t) }, se.attr = function (e, t) { (e.ownerDocument || e) != f && p(e); var i = r.attrHandle[t.toLowerCase()], o = i && O.call(r.attrHandle, t.toLowerCase()) ? i(e, t, !g) : void 0; return void 0 !== o ? o : n.attributes || !g ? e.getAttribute(t) : (o = e.getAttributeNode(t)) && o.specified ? o.value : null }, se.escape = function (e) { return (e + "").replace(re, ie) }, se.error = function (e) { throw new Error("Syntax error, unrecognized expression: " + e) }, se.uniqueSort = function (e) { var t, r = [], i = 0, o = 0; if (d = !n.detectDuplicates, u = !n.sortStable && e.slice(0), e.sort(_), d) { for (; t = e[o++];)t === e[o] && (i = r.push(o)); for (; i--;)e.splice(r[i], 1) } return u = null, e }, i = se.getText = function (e) { var t, n = "", r = 0, o = e.nodeType; if (o) { if (1 === o || 9 === o || 11 === o) { if ("string" == typeof e.textContent) return e.textContent; for (e = e.firstChild; e; e = e.nextSibling)n += i(e) } else if (3 === o || 4 === o) return e.nodeValue } else for (; t = e[r++];)n += i(t); return n }, (r = se.selectors = { cacheLength: 50, createPseudo: ce, match: Y, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function (e) { return e[1] = e[1].replace(te, ne), e[3] = (e[3] || e[4] || e[5] || "").replace(te, ne), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4) }, CHILD: function (e) { return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || se.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && se.error(e[0]), e }, PSEUDO: function (e) { var t, n = !e[6] && e[2]; return Y.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && G.test(n) && (t = a(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3)) } }, filter: { TAG: function (e) { var t = e.replace(te, ne).toLowerCase(); return "*" === e ? function () { return !0 } : function (e) { return e.nodeName && e.nodeName.toLowerCase() === t } }, CLASS: function (e) { var t = E[e + " "]; return t || (t = new RegExp("(^|" + M + ")" + e + "(" + M + "|$)")) && E(e, (function (e) { return t.test("string" == typeof e.className && e.className || void 0 !== e.getAttribute && e.getAttribute("class") || "") })) }, ATTR: function (e, t, n) { return function (r) { var i = se.attr(r, e); return null == i ? "!=" === t : !t || (i += "", "=" === t ? i === n : "!=" === t ? i !== n : "^=" === t ? n && 0 === i.indexOf(n) : "*=" === t ? n && i.indexOf(n) > -1 : "$=" === t ? n && i.slice(-n.length) === n : "~=" === t ? (" " + i.replace(F, " ") + " ").indexOf(n) > -1 : "|=" === t && (i === n || i.slice(0, n.length + 1) === n + "-")) } }, CHILD: function (e, t, n, r, i) { var o = "nth" !== e.slice(0, 3), a = "last" !== e.slice(-4), s = "of-type" === t; return 1 === r && 0 === i ? function (e) { return !!e.parentNode } : function (t, n, l) { var c, u, d, p, f, h, g = o !== a ? "nextSibling" : "previousSibling", m = t.parentNode, v = s && t.nodeName.toLowerCase(), b = !l && !s, y = !1; if (m) { if (o) { for (; g;) { for (p = t; p = p[g];)if (s ? p.nodeName.toLowerCase() === v : 1 === p.nodeType) return !1; h = g = "only" === e && !h && "nextSibling" } return !0 } if (h = [a ? m.firstChild : m.lastChild], a && b) { for (y = (f = (c = (u = (d = (p = m)[x] || (p[x] = {}))[p.uniqueID] || (d[p.uniqueID] = {}))[e] || [])[0] === k && c[1]) && c[2], p = f && m.childNodes[f]; p = ++f && p && p[g] || (y = f = 0) || h.pop();)if (1 === p.nodeType && ++y && p === t) { u[e] = [k, f, y]; break } } else if (b && (y = f = (c = (u = (d = (p = t)[x] || (p[x] = {}))[p.uniqueID] || (d[p.uniqueID] = {}))[e] || [])[0] === k && c[1]), !1 === y) for (; (p = ++f && p && p[g] || (y = f = 0) || h.pop()) && ((s ? p.nodeName.toLowerCase() !== v : 1 !== p.nodeType) || !++y || (b && ((u = (d = p[x] || (p[x] = {}))[p.uniqueID] || (d[p.uniqueID] = {}))[e] = [k, y]), p !== t));); return (y -= i) === r || y % r == 0 && y / r >= 0 } } }, PSEUDO: function (e, t) { var n, i = r.pseudos[e] || r.setFilters[e.toLowerCase()] || se.error("unsupported pseudo: " + e); return i[x] ? i(t) : i.length > 1 ? (n = [e, e, "", t], r.setFilters.hasOwnProperty(e.toLowerCase()) ? ce((function (e, n) { for (var r, o = i(e, t), a = o.length; a--;)e[r = I(e, o[a])] = !(n[r] = o[a]) })) : function (e) { return i(e, 0, n) }) : i } }, pseudos: { not: ce((function (e) { var t = [], n = [], r = s(e.replace(q, "$1")); return r[x] ? ce((function (e, t, n, i) { for (var o, a = r(e, null, i, []), s = e.length; s--;)(o = a[s]) && (e[s] = !(t[s] = o)) })) : function (e, i, o) { return t[0] = e, r(t, null, o, n), t[0] = null, !n.pop() } })), has: ce((function (e) { return function (t) { return se(e, t).length > 0 } })), contains: ce((function (e) { return e = e.replace(te, ne), function (t) { return (t.textContent || i(t)).indexOf(e) > -1 } })), lang: ce((function (e) { return W.test(e || "") || se.error("unsupported lang: " + e), e = e.replace(te, ne).toLowerCase(), function (t) { var n; do { if (n = g ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang")) return (n = n.toLowerCase()) === e || 0 === n.indexOf(e + "-") } while ((t = t.parentNode) && 1 === t.nodeType); return !1 } })), target: function (t) { var n = e.location && e.location.hash; return n && n.slice(1) === t.id }, root: function (e) { return e === h }, focus: function (e) { return e === f.activeElement && (!f.hasFocus || f.hasFocus()) && !!(e.type || e.href || ~e.tabIndex) }, enabled: ge(!1), disabled: ge(!0), checked: function (e) { var t = e.nodeName.toLowerCase(); return "input" === t && !!e.checked || "option" === t && !!e.selected }, selected: function (e) { return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected }, empty: function (e) { for (e = e.firstChild; e; e = e.nextSibling)if (e.nodeType < 6) return !1; return !0 }, parent: function (e) { return !r.pseudos.empty(e) }, header: function (e) { return Q.test(e.nodeName) }, input: function (e) { return Z.test(e.nodeName) }, button: function (e) { var t = e.nodeName.toLowerCase(); return "input" === t && "button" === e.type || "button" === t }, text: function (e) { var t; return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase()) }, first: me((function () { return [0] })), last: me((function (e, t) { return [t - 1] })), eq: me((function (e, t, n) { return [n < 0 ? n + t : n] })), even: me((function (e, t) { for (var n = 0; n < t; n += 2)e.push(n); return e })), odd: me((function (e, t) { for (var n = 1; n < t; n += 2)e.push(n); return e })), lt: me((function (e, t, n) { for (var r = n < 0 ? n + t : n > t ? t : n; --r >= 0;)e.push(r); return e })), gt: me((function (e, t, n) { for (var r = n < 0 ? n + t : n; ++r < t;)e.push(r); return e })) } }).pseudos.nth = r.pseudos.eq, { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }) r.pseudos[t] = fe(t); for (t in { submit: !0, reset: !0 }) r.pseudos[t] = he(t); function be() { } function ye(e) { for (var t = 0, n = e.length, r = ""; t < n; t++)r += e[t].value; return r } function xe(e, t, n) { var r = t.dir, i = t.next, o = i || r, a = n && "parentNode" === o, s = A++; return t.first ? function (t, n, i) { for (; t = t[r];)if (1 === t.nodeType || a) return e(t, n, i); return !1 } : function (t, n, l) { var c, u, d, p = [k, s]; if (l) { for (; t = t[r];)if ((1 === t.nodeType || a) && e(t, n, l)) return !0 } else for (; t = t[r];)if (1 === t.nodeType || a) if (u = (d = t[x] || (t[x] = {}))[t.uniqueID] || (d[t.uniqueID] = {}), i && i === t.nodeName.toLowerCase()) t = t[r] || t; else { if ((c = u[o]) && c[0] === k && c[1] === s) return p[2] = c[2]; if (u[o] = p, p[2] = e(t, n, l)) return !0 } return !1 } } function we(e) { return e.length > 1 ? function (t, n, r) { for (var i = e.length; i--;)if (!e[i](t, n, r)) return !1; return !0 } : e[0] } function ke(e, t, n, r, i) { for (var o, a = [], s = 0, l = e.length, c = null != t; s < l; s++)(o = e[s]) && (n && !n(o, r, i) || (a.push(o), c && t.push(s))); return a } function Ae(e, t, n, r, i, o) { return r && !r[x] && (r = Ae(r)), i && !i[x] && (i = Ae(i, o)), ce((function (o, a, s, l) { var c, u, d, p = [], f = [], h = a.length, g = o || function (e, t, n) { for (var r = 0, i = t.length; r < i; r++)se(e, t[r], n); return n }(t || "*", s.nodeType ? [s] : s, []), m = !e || !o && t ? g : ke(g, p, e, s, l), v = n ? i || (o ? e : h || r) ? [] : a : m; if (n && n(m, v, s, l), r) for (c = ke(v, f), r(c, [], s, l), u = c.length; u--;)(d = c[u]) && (v[f[u]] = !(m[f[u]] = d)); if (o) { if (i || e) { if (i) { for (c = [], u = v.length; u--;)(d = v[u]) && c.push(m[u] = d); i(null, v = [], c, l) } for (u = v.length; u--;)(d = v[u]) && (c = i ? I(o, d) : p[u]) > -1 && (o[c] = !(a[c] = d)) } } else v = ke(v === a ? v.splice(h, v.length) : v), i ? i(null, a, v, l) : D.apply(a, v) })) } function Ee(e) { for (var t, n, i, o = e.length, a = r.relative[e[0].type], s = a || r.relative[" "], l = a ? 1 : 0, u = xe((function (e) { return e === t }), s, !0), d = xe((function (e) { return I(t, e) > -1 }), s, !0), p = [function (e, n, r) { var i = !a && (r || n !== c) || ((t = n).nodeType ? u(e, n, r) : d(e, n, r)); return t = null, i }]; l < o; l++)if (n = r.relative[e[l].type]) p = [xe(we(p), n)]; else { if ((n = r.filter[e[l].type].apply(null, e[l].matches))[x]) { for (i = ++l; i < o && !r.relative[e[i].type]; i++); return Ae(l > 1 && we(p), l > 1 && ye(e.slice(0, l - 1).concat({ value: " " === e[l - 2].type ? "*" : "" })).replace(q, "$1"), n, l < i && Ee(e.slice(l, i)), i < o && Ee(e = e.slice(i)), i < o && ye(e)) } p.push(n) } return we(p) } return be.prototype = r.filters = r.pseudos, r.setFilters = new be, a = se.tokenize = function (e, t) { var n, i, o, a, s, l, c, u = S[e + " "]; if (u) return t ? 0 : u.slice(0); for (s = e, l = [], c = r.preFilter; s;) { for (a in n && !(i = V.exec(s)) || (i && (s = s.slice(i[0].length) || s), l.push(o = [])), n = !1, (i = U.exec(s)) && (n = i.shift(), o.push({ value: n, type: i[0].replace(q, " ") }), s = s.slice(n.length)), r.filter) !(i = Y[a].exec(s)) || c[a] && !(i = c[a](i)) || (n = i.shift(), o.push({ value: n, type: a, matches: i }), s = s.slice(n.length)); if (!n) break } return t ? s.length : s ? se.error(e) : S(e, l).slice(0) }, s = se.compile = function (e, t) { var n, i = [], o = [], s = $[e + " "]; if (!s) { for (t || (t = a(e)), n = t.length; n--;)(s = Ee(t[n]))[x] ? i.push(s) : o.push(s); (s = $(e, function (e, t) { var n = t.length > 0, i = e.length > 0, o = function (o, a, s, l, u) { var d, h, m, v = 0, b = "0", y = o && [], x = [], w = c, A = o || i && r.find.TAG("*", u), E = k += null == w ? 1 : Math.random() || .1, S = A.length; for (u && (c = a == f || a || u); b !== S && null != (d = A[b]); b++) { if (i && d) { for (h = 0, a || d.ownerDocument == f || (p(d), s = !g); m = e[h++];)if (m(d, a || f, s)) { l.push(d); break } u && (k = E) } n && ((d = !m && d) && v--, o && y.push(d)) } if (v += b, n && b !== v) { for (h = 0; m = t[h++];)m(y, x, a, s); if (o) { if (v > 0) for (; b--;)y[b] || x[b] || (x[b] = j.call(l)); x = ke(x) } D.apply(l, x), u && !o && x.length > 0 && v + t.length > 1 && se.uniqueSort(l) } return u && (k = E, c = w), y }; return n ? ce(o) : o }(o, i))).selector = e } return s }, l = se.select = function (e, t, n, i) { var o, l, c, u, d, p = "function" == typeof e && e, f = !i && a(e = p.selector || e); if (n = n || [], 1 === f.length) { if ((l = f[0] = f[0].slice(0)).length > 2 && "ID" === (c = l[0]).type && 9 === t.nodeType && g && r.relative[l[1].type]) { if (!(t = (r.find.ID(c.matches[0].replace(te, ne), t) || [])[0])) return n; p && (t = t.parentNode), e = e.slice(l.shift().value.length) } for (o = Y.needsContext.test(e) ? 0 : l.length; o-- && (c = l[o], !r.relative[u = c.type]);)if ((d = r.find[u]) && (i = d(c.matches[0].replace(te, ne), ee.test(l[0].type) && ve(t.parentNode) || t))) { if (l.splice(o, 1), !(e = i.length && ye(l))) return D.apply(n, i), n; break } } return (p || s(e, f))(i, t, !g, n, !t || ee.test(e) && ve(t.parentNode) || t), n }, n.sortStable = x.split("").sort(_).join("") === x, n.detectDuplicates = !!d, p(), n.sortDetached = ue((function (e) { return 1 & e.compareDocumentPosition(f.createElement("fieldset")) })), ue((function (e) { return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href") })) || de("type|href|height|width", (function (e, t, n) { if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2) })), n.attributes && ue((function (e) { return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value") })) || de("value", (function (e, t, n) { if (!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue })), ue((function (e) { return null == e.getAttribute("disabled") })) || de(N, (function (e, t, n) { var r; if (!n) return !0 === e[t] ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null })), se }(n); A.find = S, A.expr = S.selectors, A.expr[":"] = A.expr.pseudos, A.uniqueSort = A.unique = S.uniqueSort, A.text = S.getText, A.isXMLDoc = S.isXML, A.contains = S.contains, A.escapeSelector = S.escape; var $ = function (e, t, n) { for (var r = [], i = void 0 !== n; (e = e[t]) && 9 !== e.nodeType;)if (1 === e.nodeType) { if (i && A(e).is(n)) break; r.push(e) } return r }, C = function (e, t) { for (var n = []; e; e = e.nextSibling)1 === e.nodeType && e !== t && n.push(e); return n }, _ = A.expr.match.needsContext; function O(e, t) { return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase() } var T = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; function j(e, t, n) { return v(t) ? A.grep(e, (function (e, r) { return !!t.call(e, r, e) !== n })) : t.nodeType ? A.grep(e, (function (e) { return e === t !== n })) : "string" != typeof t ? A.grep(e, (function (e) { return u.call(t, e) > -1 !== n })) : A.filter(t, e, n) } A.filter = function (e, t, n) { var r = t[0]; return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? A.find.matchesSelector(r, e) ? [r] : [] : A.find.matches(e, A.grep(t, (function (e) { return 1 === e.nodeType }))) }, A.fn.extend({ find: function (e) { var t, n, r = this.length, i = this; if ("string" != typeof e) return this.pushStack(A(e).filter((function () { for (t = 0; t < r; t++)if (A.contains(i[t], this)) return !0 }))); for (n = this.pushStack([]), t = 0; t < r; t++)A.find(e, i[t], n); return r > 1 ? A.uniqueSort(n) : n }, filter: function (e) { return this.pushStack(j(this, e || [], !1)) }, not: function (e) { return this.pushStack(j(this, e || [], !0)) }, is: function (e) { return !!j(this, "string" == typeof e && _.test(e) ? A(e) : e || [], !1).length } }); var P, D = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/; (A.fn.init = function (e, t, n) { var r, i; if (!e) return this; if (n = n || P, "string" == typeof e) { if (!(r = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [null, e, null] : D.exec(e)) || !r[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e); if (r[1]) { if (t = t instanceof A ? t[0] : t, A.merge(this, A.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : y, !0)), T.test(r[1]) && A.isPlainObject(t)) for (r in t) v(this[r]) ? this[r](t[r]) : this.attr(r, t[r]); return this } return (i = y.getElementById(r[2])) && (this[0] = i, this.length = 1), this } return e.nodeType ? (this[0] = e, this.length = 1, this) : v(e) ? void 0 !== n.ready ? n.ready(e) : e(A) : A.makeArray(e, this) }).prototype = A.fn, P = A(y); var R = /^(?:parents|prev(?:Until|All))/, I = { children: !0, contents: !0, next: !0, prev: !0 }; function N(e, t) { for (; (e = e[t]) && 1 !== e.nodeType;); return e } A.fn.extend({ has: function (e) { var t = A(e, this), n = t.length; return this.filter((function () { for (var e = 0; e < n; e++)if (A.contains(this, t[e])) return !0 })) }, closest: function (e, t) { var n, r = 0, i = this.length, o = [], a = "string" != typeof e && A(e); if (!_.test(e)) for (; r < i; r++)for (n = this[r]; n && n !== t; n = n.parentNode)if (n.nodeType < 11 && (a ? a.index(n) > -1 : 1 === n.nodeType && A.find.matchesSelector(n, e))) { o.push(n); break } return this.pushStack(o.length > 1 ? A.uniqueSort(o) : o) }, index: function (e) { return e ? "string" == typeof e ? u.call(A(e), this[0]) : u.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 }, add: function (e, t) { return this.pushStack(A.uniqueSort(A.merge(this.get(), A(e, t)))) }, addBack: function (e) { return this.add(null == e ? this.prevObject : this.prevObject.filter(e)) } }), A.each({ parent: function (e) { var t = e.parentNode; return t && 11 !== t.nodeType ? t : null }, parents: function (e) { return $(e, "parentNode") }, parentsUntil: function (e, t, n) { return $(e, "parentNode", n) }, next: function (e) { return N(e, "nextSibling") }, prev: function (e) { return N(e, "previousSibling") }, nextAll: function (e) { return $(e, "nextSibling") }, prevAll: function (e) { return $(e, "previousSibling") }, nextUntil: function (e, t, n) { return $(e, "nextSibling", n) }, prevUntil: function (e, t, n) { return $(e, "previousSibling", n) }, siblings: function (e) { return C((e.parentNode || {}).firstChild, e) }, children: function (e) { return C(e.firstChild) }, contents: function (e) { return null != e.contentDocument && a(e.contentDocument) ? e.contentDocument : (O(e, "template") && (e = e.content || e), A.merge([], e.childNodes)) } }, (function (e, t) { A.fn[e] = function (n, r) { var i = A.map(this, t, n); return "Until" !== e.slice(-5) && (r = n), r && "string" == typeof r && (i = A.filter(r, i)), this.length > 1 && (I[e] || A.uniqueSort(i), R.test(e) && i.reverse()), this.pushStack(i) } })); var M = /[^\x20\t\r\n\f]+/g; function z(e) { return e } function L(e) { throw e } function B(e, t, n, r) { var i; try { e && v(i = e.promise) ? i.call(e).done(t).fail(n) : e && v(i = e.then) ? i.call(e, t, n) : t.apply(void 0, [e].slice(r)) } catch (e) { n.apply(void 0, [e]) } } A.Callbacks = function (e) { e = "string" == typeof e ? function (e) { var t = {}; return A.each(e.match(M) || [], (function (e, n) { t[n] = !0 })), t }(e) : A.extend({}, e); var t, n, r, i, o = [], a = [], s = -1, l = function () { for (i = i || e.once, r = t = !0; a.length; s = -1)for (n = a.shift(); ++s < o.length;)!1 === o[s].apply(n[0], n[1]) && e.stopOnFalse && (s = o.length, n = !1); e.memory || (n = !1), t = !1, i && (o = n ? [] : "") }, c = { add: function () { return o && (n && !t && (s = o.length - 1, a.push(n)), function t(n) { A.each(n, (function (n, r) { v(r) ? e.unique && c.has(r) || o.push(r) : r && r.length && "string" !== k(r) && t(r) })) }(arguments), n && !t && l()), this }, remove: function () { return A.each(arguments, (function (e, t) { for (var n; (n = A.inArray(t, o, n)) > -1;)o.splice(n, 1), n <= s && s-- })), this }, has: function (e) { return e ? A.inArray(e, o) > -1 : o.length > 0 }, empty: function () { return o && (o = []), this }, disable: function () { return i = a = [], o = n = "", this }, disabled: function () { return !o }, lock: function () { return i = a = [], n || t || (o = n = ""), this }, locked: function () { return !!i }, fireWith: function (e, n) { return i || (n = [e, (n = n || []).slice ? n.slice() : n], a.push(n), t || l()), this }, fire: function () { return c.fireWith(this, arguments), this }, fired: function () { return !!r } }; return c }, A.extend({ Deferred: function (e) { var t = [["notify", "progress", A.Callbacks("memory"), A.Callbacks("memory"), 2], ["resolve", "done", A.Callbacks("once memory"), A.Callbacks("once memory"), 0, "resolved"], ["reject", "fail", A.Callbacks("once memory"), A.Callbacks("once memory"), 1, "rejected"]], r = "pending", i = { state: function () { return r }, always: function () { return o.done(arguments).fail(arguments), this }, catch: function (e) { return i.then(null, e) }, pipe: function () { var e = arguments; return A.Deferred((function (n) { A.each(t, (function (t, r) { var i = v(e[r[4]]) && e[r[4]]; o[r[1]]((function () { var e = i && i.apply(this, arguments); e && v(e.promise) ? e.promise().progress(n.notify).done(n.resolve).fail(n.reject) : n[r[0] + "With"](this, i ? [e] : arguments) })) })), e = null })).promise() }, then: function (e, r, i) { var o = 0; function a(e, t, r, i) { return function () { var s = this, l = arguments, c = function () { var n, c; if (!(e < o)) { if ((n = r.apply(s, l)) === t.promise()) throw new TypeError("Thenable self-resolution"); c = n && ("object" == typeof n || "function" == typeof n) && n.then, v(c) ? i ? c.call(n, a(o, t, z, i), a(o, t, L, i)) : (o++, c.call(n, a(o, t, z, i), a(o, t, L, i), a(o, t, z, t.notifyWith))) : (r !== z && (s = void 0, l = [n]), (i || t.resolveWith)(s, l)) } }, u = i ? c : function () { try { c() } catch (n) { A.Deferred.exceptionHook && A.Deferred.exceptionHook(n, u.stackTrace), e + 1 >= o && (r !== L && (s = void 0, l = [n]), t.rejectWith(s, l)) } }; e ? u() : (A.Deferred.getStackHook && (u.stackTrace = A.Deferred.getStackHook()), n.setTimeout(u)) } } return A.Deferred((function (n) { t[0][3].add(a(0, n, v(i) ? i : z, n.notifyWith)), t[1][3].add(a(0, n, v(e) ? e : z)), t[2][3].add(a(0, n, v(r) ? r : L)) })).promise() }, promise: function (e) { return null != e ? A.extend(e, i) : i } }, o = {}; return A.each(t, (function (e, n) { var a = n[2], s = n[5]; i[n[1]] = a.add, s && a.add((function () { r = s }), t[3 - e][2].disable, t[3 - e][3].disable, t[0][2].lock, t[0][3].lock), a.add(n[3].fire), o[n[0]] = function () { return o[n[0] + "With"](this === o ? void 0 : this, arguments), this }, o[n[0] + "With"] = a.fireWith })), i.promise(o), e && e.call(o, o), o }, when: function (e) { var t = arguments.length, n = t, r = Array(n), i = s.call(arguments), o = A.Deferred(), a = function (e) { return function (n) { r[e] = this, i[e] = arguments.length > 1 ? s.call(arguments) : n, --t || o.resolveWith(r, i) } }; if (t <= 1 && (B(e, o.done(a(n)).resolve, o.reject, !t), "pending" === o.state() || v(i[n] && i[n].then))) return o.then(); for (; n--;)B(i[n], a(n), o.reject); return o.promise() } }); var F = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; A.Deferred.exceptionHook = function (e, t) { n.console && n.console.warn && e && F.test(e.name) && n.console.warn("jQuery.Deferred exception: " + e.message, e.stack, t) }, A.readyException = function (e) { n.setTimeout((function () { throw e })) }; var q = A.Deferred(); function V() { y.removeEventListener("DOMContentLoaded", V), n.removeEventListener("load", V), A.ready() } A.fn.ready = function (e) { return q.then(e).catch((function (e) { A.readyException(e) })), this }, A.extend({ isReady: !1, readyWait: 1, ready: function (e) { (!0 === e ? --A.readyWait : A.isReady) || (A.isReady = !0, !0 !== e && --A.readyWait > 0 || q.resolveWith(y, [A])) } }), A.ready.then = q.then, "complete" === y.readyState || "loading" !== y.readyState && !y.documentElement.doScroll ? n.setTimeout(A.ready) : (y.addEventListener("DOMContentLoaded", V), n.addEventListener("load", V)); var U = function (e, t, n, r, i, o, a) { var s = 0, l = e.length, c = null == n; if ("object" === k(n)) for (s in i = !0, n) U(e, t, s, n[s], !0, o, a); else if (void 0 !== r && (i = !0, v(r) || (a = !0), c && (a ? (t.call(e, r), t = null) : (c = t, t = function (e, t, n) { return c.call(A(e), n) })), t)) for (; s < l; s++)t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n))); return i ? e : c ? t.call(e) : l ? t(e[0], n) : o }, H = /^-ms-/, G = /-([a-z])/g; function W(e, t) { return t.toUpperCase() } function Y(e) { return e.replace(H, "ms-").replace(G, W) } var X = function (e) { return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType }; function Z() { this.expando = A.expando + Z.uid++ } Z.uid = 1, Z.prototype = { cache: function (e) { var t = e[this.expando]; return t || (t = {}, X(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, { value: t, configurable: !0 }))), t }, set: function (e, t, n) { var r, i = this.cache(e); if ("string" == typeof t) i[Y(t)] = n; else for (r in t) i[Y(r)] = t[r]; return i }, get: function (e, t) { return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][Y(t)] }, access: function (e, t, n) { return void 0 === t || t && "string" == typeof t && void 0 === n ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n : t) }, remove: function (e, t) { var n, r = e[this.expando]; if (void 0 !== r) { if (void 0 !== t) { n = (t = Array.isArray(t) ? t.map(Y) : (t = Y(t)) in r ? [t] : t.match(M) || []).length; for (; n--;)delete r[t[n]] } (void 0 === t || A.isEmptyObject(r)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando]) } }, hasData: function (e) { var t = e[this.expando]; return void 0 !== t && !A.isEmptyObject(t) } }; var Q = new Z, J = new Z, K = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, ee = /[A-Z]/g; function te(e, t, n) { var r; if (void 0 === n && 1 === e.nodeType) if (r = "data-" + t.replace(ee, "-$&").toLowerCase(), "string" == typeof (n = e.getAttribute(r))) { try { n = function (e) { return "true" === e || "false" !== e && ("null" === e ? null : e === +e + "" ? +e : K.test(e) ? JSON.parse(e) : e) }(n) } catch (e) { } J.set(e, t, n) } else n = void 0; return n } A.extend({ hasData: function (e) { return J.hasData(e) || Q.hasData(e) }, data: function (e, t, n) { return J.access(e, t, n) }, removeData: function (e, t) { J.remove(e, t) }, _data: function (e, t, n) { return Q.access(e, t, n) }, _removeData: function (e, t) { Q.remove(e, t) } }), A.fn.extend({ data: function (e, t) { var n, r, i, o = this[0], a = o && o.attributes; if (void 0 === e) { if (this.length && (i = J.get(o), 1 === o.nodeType && !Q.get(o, "hasDataAttrs"))) { for (n = a.length; n--;)a[n] && 0 === (r = a[n].name).indexOf("data-") && (r = Y(r.slice(5)), te(o, r, i[r])); Q.set(o, "hasDataAttrs", !0) } return i } return "object" == typeof e ? this.each((function () { J.set(this, e) })) : U(this, (function (t) { var n; if (o && void 0 === t) return void 0 !== (n = J.get(o, e)) || void 0 !== (n = te(o, e)) ? n : void 0; this.each((function () { J.set(this, e, t) })) }), null, t, arguments.length > 1, null, !0) }, removeData: function (e) { return this.each((function () { J.remove(this, e) })) } }), A.extend({ queue: function (e, t, n) { var r; if (e) return t = (t || "fx") + "queue", r = Q.get(e, t), n && (!r || Array.isArray(n) ? r = Q.access(e, t, A.makeArray(n)) : r.push(n)), r || [] }, dequeue: function (e, t) { t = t || "fx"; var n = A.queue(e, t), r = n.length, i = n.shift(), o = A._queueHooks(e, t); "inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, (function () { A.dequeue(e, t) }), o)), !r && o && o.empty.fire() }, _queueHooks: function (e, t) { var n = t + "queueHooks"; return Q.get(e, n) || Q.access(e, n, { empty: A.Callbacks("once memory").add((function () { Q.remove(e, [t + "queue", n]) })) }) } }), A.fn.extend({ queue: function (e, t) { var n = 2; return "string" != typeof e && (t = e, e = "fx", n--), arguments.length < n ? A.queue(this[0], e) : void 0 === t ? this : this.each((function () { var n = A.queue(this, e, t); A._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && A.dequeue(this, e) })) }, dequeue: function (e) { return this.each((function () { A.dequeue(this, e) })) }, clearQueue: function (e) { return this.queue(e || "fx", []) }, promise: function (e, t) { var n, r = 1, i = A.Deferred(), o = this, a = this.length, s = function () { --r || i.resolveWith(o, [o]) }; for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; a--;)(n = Q.get(o[a], e + "queueHooks")) && n.empty && (r++, n.empty.add(s)); return s(), i.promise(t) } }); var ne = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, re = new RegExp("^(?:([+-])=|)(" + ne + ")([a-z%]*)$", "i"), ie = ["Top", "Right", "Bottom", "Left"], oe = y.documentElement, ae = function (e) { return A.contains(e.ownerDocument, e) }, se = { composed: !0 }; oe.getRootNode && (ae = function (e) { return A.contains(e.ownerDocument, e) || e.getRootNode(se) === e.ownerDocument }); var le = function (e, t) { return "none" === (e = t || e).style.display || "" === e.style.display && ae(e) && "none" === A.css(e, "display") }; function ce(e, t, n, r) { var i, o, a = 20, s = r ? function () { return r.cur() } : function () { return A.css(e, t, "") }, l = s(), c = n && n[3] || (A.cssNumber[t] ? "" : "px"), u = e.nodeType && (A.cssNumber[t] || "px" !== c && +l) && re.exec(A.css(e, t)); if (u && u[3] !== c) { for (l /= 2, c = c || u[3], u = +l || 1; a--;)A.style(e, t, u + c), (1 - o) * (1 - (o = s() / l || .5)) <= 0 && (a = 0), u /= o; u *= 2, A.style(e, t, u + c), n = n || [] } return n && (u = +u || +l || 0, i = n[1] ? u + (n[1] + 1) * n[2] : +n[2], r && (r.unit = c, r.start = u, r.end = i)), i } var ue = {}; function de(e) { var t, n = e.ownerDocument, r = e.nodeName, i = ue[r]; return i || (t = n.body.appendChild(n.createElement(r)), i = A.css(t, "display"), t.parentNode.removeChild(t), "none" === i && (i = "block"), ue[r] = i, i) } function pe(e, t) { for (var n, r, i = [], o = 0, a = e.length; o < a; o++)(r = e[o]).style && (n = r.style.display, t ? ("none" === n && (i[o] = Q.get(r, "display") || null, i[o] || (r.style.display = "")), "" === r.style.display && le(r) && (i[o] = de(r))) : "none" !== n && (i[o] = "none", Q.set(r, "display", n))); for (o = 0; o < a; o++)null != i[o] && (e[o].style.display = i[o]); return e } A.fn.extend({ show: function () { return pe(this, !0) }, hide: function () { return pe(this) }, toggle: function (e) { return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each((function () { le(this) ? A(this).show() : A(this).hide() })) } }); var fe, he, ge = /^(?:checkbox|radio)$/i, me = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i, ve = /^$|^module$|\/(?:java|ecma)script/i; fe = y.createDocumentFragment().appendChild(y.createElement("div")), (he = y.createElement("input")).setAttribute("type", "radio"), he.setAttribute("checked", "checked"), he.setAttribute("name", "t"), fe.appendChild(he), m.checkClone = fe.cloneNode(!0).cloneNode(!0).lastChild.checked, fe.innerHTML = "<textarea>x</textarea>", m.noCloneChecked = !!fe.cloneNode(!0).lastChild.defaultValue, fe.innerHTML = "<option></option>", m.option = !!fe.lastChild; var be = { thead: [1, "<table>", "</table>"], col: [2, "<table><colgroup>", "</colgroup></table>"], tr: [2, "<table><tbody>", "</tbody></table>"], td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], _default: [0, "", ""] }; function ye(e, t) { var n; return n = void 0 !== e.getElementsByTagName ? e.getElementsByTagName(t || "*") : void 0 !== e.querySelectorAll ? e.querySelectorAll(t || "*") : [], void 0 === t || t && O(e, t) ? A.merge([e], n) : n } function xe(e, t) { for (var n = 0, r = e.length; n < r; n++)Q.set(e[n], "globalEval", !t || Q.get(t[n], "globalEval")) } be.tbody = be.tfoot = be.colgroup = be.caption = be.thead, be.th = be.td, m.option || (be.optgroup = be.option = [1, "<select multiple='multiple'>", "</select>"]); var we = /<|&#?\w+;/; function ke(e, t, n, r, i) { for (var o, a, s, l, c, u, d = t.createDocumentFragment(), p = [], f = 0, h = e.length; f < h; f++)if ((o = e[f]) || 0 === o) if ("object" === k(o)) A.merge(p, o.nodeType ? [o] : o); else if (we.test(o)) { for (a = a || d.appendChild(t.createElement("div")), s = (me.exec(o) || ["", ""])[1].toLowerCase(), l = be[s] || be._default, a.innerHTML = l[1] + A.htmlPrefilter(o) + l[2], u = l[0]; u--;)a = a.lastChild; A.merge(p, a.childNodes), (a = d.firstChild).textContent = "" } else p.push(t.createTextNode(o)); for (d.textContent = "", f = 0; o = p[f++];)if (r && A.inArray(o, r) > -1) i && i.push(o); else if (c = ae(o), a = ye(d.appendChild(o), "script"), c && xe(a), n) for (u = 0; o = a[u++];)ve.test(o.type || "") && n.push(o); return d } var Ae = /^key/, Ee = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, Se = /^([^.]*)(?:\.(.+)|)/; function $e() { return !0 } function Ce() { return !1 } function _e(e, t) { return e === function () { try { return y.activeElement } catch (e) { } }() == ("focus" === t) } function Oe(e, t, n, r, i, o) { var a, s; if ("object" == typeof t) { for (s in "string" != typeof n && (r = r || n, n = void 0), t) Oe(e, s, n, r, t[s], o); return e } if (null == r && null == i ? (i = n, r = n = void 0) : null == i && ("string" == typeof n ? (i = r, r = void 0) : (i = r, r = n, n = void 0)), !1 === i) i = Ce; else if (!i) return e; return 1 === o && (a = i, (i = function (e) { return A().off(e), a.apply(this, arguments) }).guid = a.guid || (a.guid = A.guid++)), e.each((function () { A.event.add(this, t, i, r, n) })) } function Te(e, t, n) { n ? (Q.set(e, t, !1), A.event.add(e, t, { namespace: !1, handler: function (e) { var r, i, o = Q.get(this, t); if (1 & e.isTrigger && this[t]) { if (o.length) (A.event.special[t] || {}).delegateType && e.stopPropagation(); else if (o = s.call(arguments), Q.set(this, t, o), r = n(this, t), this[t](), o !== (i = Q.get(this, t)) || r ? Q.set(this, t, !1) : i = {}, o !== i) return e.stopImmediatePropagation(), e.preventDefault(), i.value } else o.length && (Q.set(this, t, { value: A.event.trigger(A.extend(o[0], A.Event.prototype), o.slice(1), this) }), e.stopImmediatePropagation()) } })) : void 0 === Q.get(e, t) && A.event.add(e, t, $e) } A.event = { global: {}, add: function (e, t, n, r, i) { var o, a, s, l, c, u, d, p, f, h, g, m = Q.get(e); if (X(e)) for (n.handler && (n = (o = n).handler, i = o.selector), i && A.find.matchesSelector(oe, i), n.guid || (n.guid = A.guid++), (l = m.events) || (l = m.events = Object.create(null)), (a = m.handle) || (a = m.handle = function (t) { return void 0 !== A && A.event.triggered !== t.type ? A.event.dispatch.apply(e, arguments) : void 0 }), c = (t = (t || "").match(M) || [""]).length; c--;)f = g = (s = Se.exec(t[c]) || [])[1], h = (s[2] || "").split(".").sort(), f && (d = A.event.special[f] || {}, f = (i ? d.delegateType : d.bindType) || f, d = A.event.special[f] || {}, u = A.extend({ type: f, origType: g, data: r, handler: n, guid: n.guid, selector: i, needsContext: i && A.expr.match.needsContext.test(i), namespace: h.join(".") }, o), (p = l[f]) || ((p = l[f] = []).delegateCount = 0, d.setup && !1 !== d.setup.call(e, r, h, a) || e.addEventListener && e.addEventListener(f, a)), d.add && (d.add.call(e, u), u.handler.guid || (u.handler.guid = n.guid)), i ? p.splice(p.delegateCount++, 0, u) : p.push(u), A.event.global[f] = !0) }, remove: function (e, t, n, r, i) { var o, a, s, l, c, u, d, p, f, h, g, m = Q.hasData(e) && Q.get(e); if (m && (l = m.events)) { for (c = (t = (t || "").match(M) || [""]).length; c--;)if (f = g = (s = Se.exec(t[c]) || [])[1], h = (s[2] || "").split(".").sort(), f) { for (d = A.event.special[f] || {}, p = l[f = (r ? d.delegateType : d.bindType) || f] || [], s = s[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = o = p.length; o--;)u = p[o], !i && g !== u.origType || n && n.guid !== u.guid || s && !s.test(u.namespace) || r && r !== u.selector && ("**" !== r || !u.selector) || (p.splice(o, 1), u.selector && p.delegateCount--, d.remove && d.remove.call(e, u)); a && !p.length && (d.teardown && !1 !== d.teardown.call(e, h, m.handle) || A.removeEvent(e, f, m.handle), delete l[f]) } else for (f in l) A.event.remove(e, f + t[c], n, r, !0); A.isEmptyObject(l) && Q.remove(e, "handle events") } }, dispatch: function (e) { var t, n, r, i, o, a, s = new Array(arguments.length), l = A.event.fix(e), c = (Q.get(this, "events") || Object.create(null))[l.type] || [], u = A.event.special[l.type] || {}; for (s[0] = l, t = 1; t < arguments.length; t++)s[t] = arguments[t]; if (l.delegateTarget = this, !u.preDispatch || !1 !== u.preDispatch.call(this, l)) { for (a = A.event.handlers.call(this, l, c), t = 0; (i = a[t++]) && !l.isPropagationStopped();)for (l.currentTarget = i.elem, n = 0; (o = i.handlers[n++]) && !l.isImmediatePropagationStopped();)l.rnamespace && !1 !== o.namespace && !l.rnamespace.test(o.namespace) || (l.handleObj = o, l.data = o.data, void 0 !== (r = ((A.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, s)) && !1 === (l.result = r) && (l.preventDefault(), l.stopPropagation())); return u.postDispatch && u.postDispatch.call(this, l), l.result } }, handlers: function (e, t) { var n, r, i, o, a, s = [], l = t.delegateCount, c = e.target; if (l && c.nodeType && !("click" === e.type && e.button >= 1)) for (; c !== this; c = c.parentNode || this)if (1 === c.nodeType && ("click" !== e.type || !0 !== c.disabled)) { for (o = [], a = {}, n = 0; n < l; n++)void 0 === a[i = (r = t[n]).selector + " "] && (a[i] = r.needsContext ? A(i, this).index(c) > -1 : A.find(i, this, null, [c]).length), a[i] && o.push(r); o.length && s.push({ elem: c, handlers: o }) } return c = this, l < t.length && s.push({ elem: c, handlers: t.slice(l) }), s }, addProp: function (e, t) { Object.defineProperty(A.Event.prototype, e, { enumerable: !0, configurable: !0, get: v(t) ? function () { if (this.originalEvent) return t(this.originalEvent) } : function () { if (this.originalEvent) return this.originalEvent[e] }, set: function (t) { Object.defineProperty(this, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) } }) }, fix: function (e) { return e[A.expando] ? e : new A.Event(e) }, special: { load: { noBubble: !0 }, click: { setup: function (e) { var t = this || e; return ge.test(t.type) && t.click && O(t, "input") && Te(t, "click", $e), !1 }, trigger: function (e) { var t = this || e; return ge.test(t.type) && t.click && O(t, "input") && Te(t, "click"), !0 }, _default: function (e) { var t = e.target; return ge.test(t.type) && t.click && O(t, "input") && Q.get(t, "click") || O(t, "a") } }, beforeunload: { postDispatch: function (e) { void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result) } } } }, A.removeEvent = function (e, t, n) { e.removeEventListener && e.removeEventListener(t, n) }, A.Event = function (e, t) { if (!(this instanceof A.Event)) return new A.Event(e, t); e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? $e : Ce, this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode : e.target, this.currentTarget = e.currentTarget, this.relatedTarget = e.relatedTarget) : this.type = e, t && A.extend(this, t), this.timeStamp = e && e.timeStamp || Date.now(), this[A.expando] = !0 }, A.Event.prototype = { constructor: A.Event, isDefaultPrevented: Ce, isPropagationStopped: Ce, isImmediatePropagationStopped: Ce, isSimulated: !1, preventDefault: function () { var e = this.originalEvent; this.isDefaultPrevented = $e, e && !this.isSimulated && e.preventDefault() }, stopPropagation: function () { var e = this.originalEvent; this.isPropagationStopped = $e, e && !this.isSimulated && e.stopPropagation() }, stopImmediatePropagation: function () { var e = this.originalEvent; this.isImmediatePropagationStopped = $e, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation() } }, A.each({ altKey: !0, bubbles: !0, cancelable: !0, changedTouches: !0, ctrlKey: !0, detail: !0, eventPhase: !0, metaKey: !0, pageX: !0, pageY: !0, shiftKey: !0, view: !0, char: !0, code: !0, charCode: !0, key: !0, keyCode: !0, button: !0, buttons: !0, clientX: !0, clientY: !0, offsetX: !0, offsetY: !0, pointerId: !0, pointerType: !0, screenX: !0, screenY: !0, targetTouches: !0, toElement: !0, touches: !0, which: function (e) { var t = e.button; return null == e.which && Ae.test(e.type) ? null != e.charCode ? e.charCode : e.keyCode : !e.which && void 0 !== t && Ee.test(e.type) ? 1 & t ? 1 : 2 & t ? 3 : 4 & t ? 2 : 0 : e.which } }, A.event.addProp), A.each({ focus: "focusin", blur: "focusout" }, (function (e, t) { A.event.special[e] = { setup: function () { return Te(this, e, _e), !1 }, trigger: function () { return Te(this, e), !0 }, delegateType: t } })), A.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, (function (e, t) { A.event.special[e] = { delegateType: t, bindType: t, handle: function (e) { var n, r = this, i = e.relatedTarget, o = e.handleObj; return i && (i === r || A.contains(r, i)) || (e.type = o.origType, n = o.handler.apply(this, arguments), e.type = t), n } } })), A.fn.extend({ on: function (e, t, n, r) { return Oe(this, e, t, n, r) }, one: function (e, t, n, r) { return Oe(this, e, t, n, r, 1) }, off: function (e, t, n) { var r, i; if (e && e.preventDefault && e.handleObj) return r = e.handleObj, A(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this; if ("object" == typeof e) { for (i in e) this.off(i, t, e[i]); return this } return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = Ce), this.each((function () { A.event.remove(this, e, n, t) })) } }); var je = /<script|<style|<link/i, Pe = /checked\s*(?:[^=]|=\s*.checked.)/i, De = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; function Re(e, t) { return O(e, "table") && O(11 !== t.nodeType ? t : t.firstChild, "tr") && A(e).children("tbody")[0] || e } function Ie(e) { return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e } function Ne(e) { return "true/" === (e.type || "").slice(0, 5) ? e.type = e.type.slice(5) : e.removeAttribute("type"), e } function Me(e, t) { var n, r, i, o, a, s; if (1 === t.nodeType) { if (Q.hasData(e) && (s = Q.get(e).events)) for (i in Q.remove(t, "handle events"), s) for (n = 0, r = s[i].length; n < r; n++)A.event.add(t, i, s[i][n]); J.hasData(e) && (o = J.access(e), a = A.extend({}, o), J.set(t, a)) } } function ze(e, t) { var n = t.nodeName.toLowerCase(); "input" === n && ge.test(e.type) ? t.checked = e.checked : "input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue) } function Le(e, t, n, r) { t = l(t); var i, o, a, s, c, u, d = 0, p = e.length, f = p - 1, h = t[0], g = v(h); if (g || p > 1 && "string" == typeof h && !m.checkClone && Pe.test(h)) return e.each((function (i) { var o = e.eq(i); g && (t[0] = h.call(this, i, o.html())), Le(o, t, n, r) })); if (p && (o = (i = ke(t, e[0].ownerDocument, !1, e, r)).firstChild, 1 === i.childNodes.length && (i = o), o || r)) { for (s = (a = A.map(ye(i, "script"), Ie)).length; d < p; d++)c = i, d !== f && (c = A.clone(c, !0, !0), s && A.merge(a, ye(c, "script"))), n.call(e[d], c, d); if (s) for (u = a[a.length - 1].ownerDocument, A.map(a, Ne), d = 0; d < s; d++)c = a[d], ve.test(c.type || "") && !Q.access(c, "globalEval") && A.contains(u, c) && (c.src && "module" !== (c.type || "").toLowerCase() ? A._evalUrl && !c.noModule && A._evalUrl(c.src, { nonce: c.nonce || c.getAttribute("nonce") }, u) : w(c.textContent.replace(De, ""), c, u)) } return e } function Be(e, t, n) { for (var r, i = t ? A.filter(t, e) : e, o = 0; null != (r = i[o]); o++)n || 1 !== r.nodeType || A.cleanData(ye(r)), r.parentNode && (n && ae(r) && xe(ye(r, "script")), r.parentNode.removeChild(r)); return e } A.extend({ htmlPrefilter: function (e) { return e }, clone: function (e, t, n) { var r, i, o, a, s = e.cloneNode(!0), l = ae(e); if (!(m.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || A.isXMLDoc(e))) for (a = ye(s), r = 0, i = (o = ye(e)).length; r < i; r++)ze(o[r], a[r]); if (t) if (n) for (o = o || ye(e), a = a || ye(s), r = 0, i = o.length; r < i; r++)Me(o[r], a[r]); else Me(e, s); return (a = ye(s, "script")).length > 0 && xe(a, !l && ye(e, "script")), s }, cleanData: function (e) { for (var t, n, r, i = A.event.special, o = 0; void 0 !== (n = e[o]); o++)if (X(n)) { if (t = n[Q.expando]) { if (t.events) for (r in t.events) i[r] ? A.event.remove(n, r) : A.removeEvent(n, r, t.handle); n[Q.expando] = void 0 } n[J.expando] && (n[J.expando] = void 0) } } }), A.fn.extend({ detach: function (e) { return Be(this, e, !0) }, remove: function (e) { return Be(this, e) }, text: function (e) { return U(this, (function (e) { return void 0 === e ? A.text(this) : this.empty().each((function () { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e) })) }), null, e, arguments.length) }, append: function () { return Le(this, arguments, (function (e) { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || Re(this, e).appendChild(e) })) }, prepend: function () { return Le(this, arguments, (function (e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var t = Re(this, e); t.insertBefore(e, t.firstChild) } })) }, before: function () { return Le(this, arguments, (function (e) { this.parentNode && this.parentNode.insertBefore(e, this) })) }, after: function () { return Le(this, arguments, (function (e) { this.parentNode && this.parentNode.insertBefore(e, this.nextSibling) })) }, empty: function () { for (var e, t = 0; null != (e = this[t]); t++)1 === e.nodeType && (A.cleanData(ye(e, !1)), e.textContent = ""); return this }, clone: function (e, t) { return e = null != e && e, t = null == t ? e : t, this.map((function () { return A.clone(this, e, t) })) }, html: function (e) { return U(this, (function (e) { var t = this[0] || {}, n = 0, r = this.length; if (void 0 === e && 1 === t.nodeType) return t.innerHTML; if ("string" == typeof e && !je.test(e) && !be[(me.exec(e) || ["", ""])[1].toLowerCase()]) { e = A.htmlPrefilter(e); try { for (; n < r; n++)1 === (t = this[n] || {}).nodeType && (A.cleanData(ye(t, !1)), t.innerHTML = e); t = 0 } catch (e) { } } t && this.empty().append(e) }), null, e, arguments.length) }, replaceWith: function () { var e = []; return Le(this, arguments, (function (t) { var n = this.parentNode; A.inArray(this, e) < 0 && (A.cleanData(ye(this)), n && n.replaceChild(t, this)) }), e) } }), A.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, (function (e, t) { A.fn[e] = function (e) { for (var n, r = [], i = A(e), o = i.length - 1, a = 0; a <= o; a++)n = a === o ? this : this.clone(!0), A(i[a])[t](n), c.apply(r, n.get()); return this.pushStack(r) } })); var Fe = new RegExp("^(" + ne + ")(?!px)[a-z%]+$", "i"), qe = function (e) { var t = e.ownerDocument.defaultView; return t && t.opener || (t = n), t.getComputedStyle(e) }, Ve = function (e, t, n) { var r, i, o = {}; for (i in t) o[i] = e.style[i], e.style[i] = t[i]; for (i in r = n.call(e), t) e.style[i] = o[i]; return r }, Ue = new RegExp(ie.join("|"), "i"); function He(e, t, n) { var r, i, o, a, s = e.style; return (n = n || qe(e)) && ("" !== (a = n.getPropertyValue(t) || n[t]) || ae(e) || (a = A.style(e, t)), !m.pixelBoxStyles() && Fe.test(a) && Ue.test(t) && (r = s.width, i = s.minWidth, o = s.maxWidth, s.minWidth = s.maxWidth = s.width = a, a = n.width, s.width = r, s.minWidth = i, s.maxWidth = o)), void 0 !== a ? a + "" : a } function Ge(e, t) { return { get: function () { if (!e()) return (this.get = t).apply(this, arguments); delete this.get } } } !function () { function e() { if (u) { c.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0", u.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%", oe.appendChild(c).appendChild(u); var e = n.getComputedStyle(u); r = "1%" !== e.top, l = 12 === t(e.marginLeft), u.style.right = "60%", a = 36 === t(e.right), i = 36 === t(e.width), u.style.position = "absolute", o = 12 === t(u.offsetWidth / 3), oe.removeChild(c), u = null } } function t(e) { return Math.round(parseFloat(e)) } var r, i, o, a, s, l, c = y.createElement("div"), u = y.createElement("div"); u.style && (u.style.backgroundClip = "content-box", u.cloneNode(!0).style.backgroundClip = "", m.clearCloneStyle = "content-box" === u.style.backgroundClip, A.extend(m, { boxSizingReliable: function () { return e(), i }, pixelBoxStyles: function () { return e(), a }, pixelPosition: function () { return e(), r }, reliableMarginLeft: function () { return e(), l }, scrollboxSize: function () { return e(), o }, reliableTrDimensions: function () { var e, t, r, i; return null == s && (e = y.createElement("table"), t = y.createElement("tr"), r = y.createElement("div"), e.style.cssText = "position:absolute;left:-11111px", t.style.height = "1px", r.style.height = "9px", oe.appendChild(e).appendChild(t).appendChild(r), i = n.getComputedStyle(t), s = parseInt(i.height) > 3, oe.removeChild(e)), s } })) }(); var We = ["Webkit", "Moz", "ms"], Ye = y.createElement("div").style, Xe = {}; function Ze(e) { var t = A.cssProps[e] || Xe[e]; return t || (e in Ye ? e : Xe[e] = function (e) { for (var t = e[0].toUpperCase() + e.slice(1), n = We.length; n--;)if ((e = We[n] + t) in Ye) return e }(e) || e) } var Qe = /^(none|table(?!-c[ea]).+)/, Je = /^--/, Ke = { position: "absolute", visibility: "hidden", display: "block" }, et = { letterSpacing: "0", fontWeight: "400" }; function tt(e, t, n) { var r = re.exec(t); return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t } function nt(e, t, n, r, i, o) { var a = "width" === t ? 1 : 0, s = 0, l = 0; if (n === (r ? "border" : "content")) return 0; for (; a < 4; a += 2)"margin" === n && (l += A.css(e, n + ie[a], !0, i)), r ? ("content" === n && (l -= A.css(e, "padding" + ie[a], !0, i)), "margin" !== n && (l -= A.css(e, "border" + ie[a] + "Width", !0, i))) : (l += A.css(e, "padding" + ie[a], !0, i), "padding" !== n ? l += A.css(e, "border" + ie[a] + "Width", !0, i) : s += A.css(e, "border" + ie[a] + "Width", !0, i)); return !r && o >= 0 && (l += Math.max(0, Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - o - l - s - .5)) || 0), l } function rt(e, t, n) { var r = qe(e), i = (!m.boxSizingReliable() || n) && "border-box" === A.css(e, "boxSizing", !1, r), o = i, a = He(e, t, r), s = "offset" + t[0].toUpperCase() + t.slice(1); if (Fe.test(a)) { if (!n) return a; a = "auto" } return (!m.boxSizingReliable() && i || !m.reliableTrDimensions() && O(e, "tr") || "auto" === a || !parseFloat(a) && "inline" === A.css(e, "display", !1, r)) && e.getClientRects().length && (i = "border-box" === A.css(e, "boxSizing", !1, r), (o = s in e) && (a = e[s])), (a = parseFloat(a) || 0) + nt(e, t, n || (i ? "border" : "content"), o, r, a) + "px" } function it(e, t, n, r, i) { return new it.prototype.init(e, t, n, r, i) } A.extend({ cssHooks: { opacity: { get: function (e, t) { if (t) { var n = He(e, "opacity"); return "" === n ? "1" : n } } } }, cssNumber: { animationIterationCount: !0, columnCount: !0, fillOpacity: !0, flexGrow: !0, flexShrink: !0, fontWeight: !0, gridArea: !0, gridColumn: !0, gridColumnEnd: !0, gridColumnStart: !0, gridRow: !0, gridRowEnd: !0, gridRowStart: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0 }, cssProps: {}, style: function (e, t, n, r) { if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { var i, o, a, s = Y(t), l = Je.test(t), c = e.style; if (l || (t = Ze(s)), a = A.cssHooks[t] || A.cssHooks[s], void 0 === n) return a && "get" in a && void 0 !== (i = a.get(e, !1, r)) ? i : c[t]; "string" === (o = typeof n) && (i = re.exec(n)) && i[1] && (n = ce(e, t, i), o = "number"), null != n && n == n && ("number" !== o || l || (n += i && i[3] || (A.cssNumber[s] ? "" : "px")), m.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (c[t] = "inherit"), a && "set" in a && void 0 === (n = a.set(e, n, r)) || (l ? c.setProperty(t, n) : c[t] = n)) } }, css: function (e, t, n, r) { var i, o, a, s = Y(t); return Je.test(t) || (t = Ze(s)), (a = A.cssHooks[t] || A.cssHooks[s]) && "get" in a && (i = a.get(e, !0, n)), void 0 === i && (i = He(e, t, r)), "normal" === i && t in et && (i = et[t]), "" === n || n ? (o = parseFloat(i), !0 === n || isFinite(o) ? o || 0 : i) : i } }), A.each(["height", "width"], (function (e, t) { A.cssHooks[t] = { get: function (e, n, r) { if (n) return !Qe.test(A.css(e, "display")) || e.getClientRects().length && e.getBoundingClientRect().width ? rt(e, t, r) : Ve(e, Ke, (function () { return rt(e, t, r) })) }, set: function (e, n, r) { var i, o = qe(e), a = !m.scrollboxSize() && "absolute" === o.position, s = (a || r) && "border-box" === A.css(e, "boxSizing", !1, o), l = r ? nt(e, t, r, s, o) : 0; return s && a && (l -= Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - parseFloat(o[t]) - nt(e, t, "border", !1, o) - .5)), l && (i = re.exec(n)) && "px" !== (i[3] || "px") && (e.style[t] = n, n = A.css(e, t)), tt(0, n, l) } } })), A.cssHooks.marginLeft = Ge(m.reliableMarginLeft, (function (e, t) { if (t) return (parseFloat(He(e, "marginLeft")) || e.getBoundingClientRect().left - Ve(e, { marginLeft: 0 }, (function () { return e.getBoundingClientRect().left }))) + "px" })), A.each({ margin: "", padding: "", border: "Width" }, (function (e, t) { A.cssHooks[e + t] = { expand: function (n) { for (var r = 0, i = {}, o = "string" == typeof n ? n.split(" ") : [n]; r < 4; r++)i[e + ie[r] + t] = o[r] || o[r - 2] || o[0]; return i } }, "margin" !== e && (A.cssHooks[e + t].set = tt) })), A.fn.extend({ css: function (e, t) { return U(this, (function (e, t, n) { var r, i, o = {}, a = 0; if (Array.isArray(t)) { for (r = qe(e), i = t.length; a < i; a++)o[t[a]] = A.css(e, t[a], !1, r); return o } return void 0 !== n ? A.style(e, t, n) : A.css(e, t) }), e, t, arguments.length > 1) } }), A.Tween = it, it.prototype = { constructor: it, init: function (e, t, n, r, i, o) { this.elem = e, this.prop = n, this.easing = i || A.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = o || (A.cssNumber[n] ? "" : "px") }, cur: function () { var e = it.propHooks[this.prop]; return e && e.get ? e.get(this) : it.propHooks._default.get(this) }, run: function (e) { var t, n = it.propHooks[this.prop]; return this.options.duration ? this.pos = t = A.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : it.propHooks._default.set(this), this } }, it.prototype.init.prototype = it.prototype, it.propHooks = { _default: { get: function (e) { var t; return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = A.css(e.elem, e.prop, "")) && "auto" !== t ? t : 0 }, set: function (e) { A.fx.step[e.prop] ? A.fx.step[e.prop](e) : 1 !== e.elem.nodeType || !A.cssHooks[e.prop] && null == e.elem.style[Ze(e.prop)] ? e.elem[e.prop] = e.now : A.style(e.elem, e.prop, e.now + e.unit) } } }, it.propHooks.scrollTop = it.propHooks.scrollLeft = { set: function (e) { e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now) } }, A.easing = { linear: function (e) { return e }, swing: function (e) { return .5 - Math.cos(e * Math.PI) / 2 }, _default: "swing" }, A.fx = it.prototype.init, A.fx.step = {}; var ot, at, st = /^(?:toggle|show|hide)$/, lt = /queueHooks$/; function ct() { at && (!1 === y.hidden && n.requestAnimationFrame ? n.requestAnimationFrame(ct) : n.setTimeout(ct, A.fx.interval), A.fx.tick()) } function ut() { return n.setTimeout((function () { ot = void 0 })), ot = Date.now() } function dt(e, t) { var n, r = 0, i = { height: e }; for (t = t ? 1 : 0; r < 4; r += 2 - t)i["margin" + (n = ie[r])] = i["padding" + n] = e; return t && (i.opacity = i.width = e), i } function pt(e, t, n) { for (var r, i = (ft.tweeners[t] || []).concat(ft.tweeners["*"]), o = 0, a = i.length; o < a; o++)if (r = i[o].call(n, t, e)) return r } function ft(e, t, n) { var r, i, o = 0, a = ft.prefilters.length, s = A.Deferred().always((function () { delete l.elem })), l = function () { if (i) return !1; for (var t = ot || ut(), n = Math.max(0, c.startTime + c.duration - t), r = 1 - (n / c.duration || 0), o = 0, a = c.tweens.length; o < a; o++)c.tweens[o].run(r); return s.notifyWith(e, [c, r, n]), r < 1 && a ? n : (a || s.notifyWith(e, [c, 1, 0]), s.resolveWith(e, [c]), !1) }, c = s.promise({ elem: e, props: A.extend({}, t), opts: A.extend(!0, { specialEasing: {}, easing: A.easing._default }, n), originalProperties: t, originalOptions: n, startTime: ot || ut(), duration: n.duration, tweens: [], createTween: function (t, n) { var r = A.Tween(e, c.opts, t, n, c.opts.specialEasing[t] || c.opts.easing); return c.tweens.push(r), r }, stop: function (t) { var n = 0, r = t ? c.tweens.length : 0; if (i) return this; for (i = !0; n < r; n++)c.tweens[n].run(1); return t ? (s.notifyWith(e, [c, 1, 0]), s.resolveWith(e, [c, t])) : s.rejectWith(e, [c, t]), this } }), u = c.props; for (!function (e, t) { var n, r, i, o, a; for (n in e) if (i = t[r = Y(n)], o = e[n], Array.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), (a = A.cssHooks[r]) && "expand" in a) for (n in o = a.expand(o), delete e[r], o) n in e || (e[n] = o[n], t[n] = i); else t[r] = i }(u, c.opts.specialEasing); o < a; o++)if (r = ft.prefilters[o].call(c, e, u, c.opts)) return v(r.stop) && (A._queueHooks(c.elem, c.opts.queue).stop = r.stop.bind(r)), r; return A.map(u, pt, c), v(c.opts.start) && c.opts.start.call(e, c), c.progress(c.opts.progress).done(c.opts.done, c.opts.complete).fail(c.opts.fail).always(c.opts.always), A.fx.timer(A.extend(l, { elem: e, anim: c, queue: c.opts.queue })), c } A.Animation = A.extend(ft, { tweeners: { "*": [function (e, t) { var n = this.createTween(e, t); return ce(n.elem, e, re.exec(t), n), n }] }, tweener: function (e, t) { v(e) ? (t = e, e = ["*"]) : e = e.match(M); for (var n, r = 0, i = e.length; r < i; r++)n = e[r], ft.tweeners[n] = ft.tweeners[n] || [], ft.tweeners[n].unshift(t) }, prefilters: [function (e, t, n) { var r, i, o, a, s, l, c, u, d = "width" in t || "height" in t, p = this, f = {}, h = e.style, g = e.nodeType && le(e), m = Q.get(e, "fxshow"); for (r in n.queue || (null == (a = A._queueHooks(e, "fx")).unqueued && (a.unqueued = 0, s = a.empty.fire, a.empty.fire = function () { a.unqueued || s() }), a.unqueued++, p.always((function () { p.always((function () { a.unqueued--, A.queue(e, "fx").length || a.empty.fire() })) }))), t) if (i = t[r], st.test(i)) { if (delete t[r], o = o || "toggle" === i, i === (g ? "hide" : "show")) { if ("show" !== i || !m || void 0 === m[r]) continue; g = !0 } f[r] = m && m[r] || A.style(e, r) } if ((l = !A.isEmptyObject(t)) || !A.isEmptyObject(f)) for (r in d && 1 === e.nodeType && (n.overflow = [h.overflow, h.overflowX, h.overflowY], null == (c = m && m.display) && (c = Q.get(e, "display")), "none" === (u = A.css(e, "display")) && (c ? u = c : (pe([e], !0), c = e.style.display || c, u = A.css(e, "display"), pe([e]))), ("inline" === u || "inline-block" === u && null != c) && "none" === A.css(e, "float") && (l || (p.done((function () { h.display = c })), null == c && (u = h.display, c = "none" === u ? "" : u)), h.display = "inline-block")), n.overflow && (h.overflow = "hidden", p.always((function () { h.overflow = n.overflow[0], h.overflowX = n.overflow[1], h.overflowY = n.overflow[2] }))), l = !1, f) l || (m ? "hidden" in m && (g = m.hidden) : m = Q.access(e, "fxshow", { display: c }), o && (m.hidden = !g), g && pe([e], !0), p.done((function () { for (r in g || pe([e]), Q.remove(e, "fxshow"), f) A.style(e, r, f[r]) }))), l = pt(g ? m[r] : 0, r, p), r in m || (m[r] = l.start, g && (l.end = l.start, l.start = 0)) }], prefilter: function (e, t) { t ? ft.prefilters.unshift(e) : ft.prefilters.push(e) } }), A.speed = function (e, t, n) { var r = e && "object" == typeof e ? A.extend({}, e) : { complete: n || !n && t || v(e) && e, duration: e, easing: n && t || t && !v(t) && t }; return A.fx.off ? r.duration = 0 : "number" != typeof r.duration && (r.duration in A.fx.speeds ? r.duration = A.fx.speeds[r.duration] : r.duration = A.fx.speeds._default), null != r.queue && !0 !== r.queue || (r.queue = "fx"), r.old = r.complete, r.complete = function () { v(r.old) && r.old.call(this), r.queue && A.dequeue(this, r.queue) }, r }, A.fn.extend({ fadeTo: function (e, t, n, r) { return this.filter(le).css("opacity", 0).show().end().animate({ opacity: t }, e, n, r) }, animate: function (e, t, n, r) { var i = A.isEmptyObject(e), o = A.speed(t, n, r), a = function () { var t = ft(this, A.extend({}, e), o); (i || Q.get(this, "finish")) && t.stop(!0) }; return a.finish = a, i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a) }, stop: function (e, t, n) { var r = function (e) { var t = e.stop; delete e.stop, t(n) }; return "string" != typeof e && (n = t, t = e, e = void 0), t && this.queue(e || "fx", []), this.each((function () { var t = !0, i = null != e && e + "queueHooks", o = A.timers, a = Q.get(this); if (i) a[i] && a[i].stop && r(a[i]); else for (i in a) a[i] && a[i].stop && lt.test(i) && r(a[i]); for (i = o.length; i--;)o[i].elem !== this || null != e && o[i].queue !== e || (o[i].anim.stop(n), t = !1, o.splice(i, 1)); !t && n || A.dequeue(this, e) })) }, finish: function (e) { return !1 !== e && (e = e || "fx"), this.each((function () { var t, n = Q.get(this), r = n[e + "queue"], i = n[e + "queueHooks"], o = A.timers, a = r ? r.length : 0; for (n.finish = !0, A.queue(this, e, []), i && i.stop && i.stop.call(this, !0), t = o.length; t--;)o[t].elem === this && o[t].queue === e && (o[t].anim.stop(!0), o.splice(t, 1)); for (t = 0; t < a; t++)r[t] && r[t].finish && r[t].finish.call(this); delete n.finish })) } }), A.each(["toggle", "show", "hide"], (function (e, t) { var n = A.fn[t]; A.fn[t] = function (e, r, i) { return null == e || "boolean" == typeof e ? n.apply(this, arguments) : this.animate(dt(t, !0), e, r, i) } })), A.each({ slideDown: dt("show"), slideUp: dt("hide"), slideToggle: dt("toggle"), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, (function (e, t) { A.fn[e] = function (e, n, r) { return this.animate(t, e, n, r) } })), A.timers = [], A.fx.tick = function () { var e, t = 0, n = A.timers; for (ot = Date.now(); t < n.length; t++)(e = n[t])() || n[t] !== e || n.splice(t--, 1); n.length || A.fx.stop(), ot = void 0 }, A.fx.timer = function (e) { A.timers.push(e), A.fx.start() }, A.fx.interval = 13, A.fx.start = function () { at || (at = !0, ct()) }, A.fx.stop = function () { at = null }, A.fx.speeds = { slow: 600, fast: 200, _default: 400 }, A.fn.delay = function (e, t) { return e = A.fx && A.fx.speeds[e] || e, t = t || "fx", this.queue(t, (function (t, r) { var i = n.setTimeout(t, e); r.stop = function () { n.clearTimeout(i) } })) }, function () { var e = y.createElement("input"), t = y.createElement("select").appendChild(y.createElement("option")); e.type = "checkbox", m.checkOn = "" !== e.value, m.optSelected = t.selected, (e = y.createElement("input")).value = "t", e.type = "radio", m.radioValue = "t" === e.value }(); var ht, gt = A.expr.attrHandle; A.fn.extend({ attr: function (e, t) { return U(this, A.attr, e, t, arguments.length > 1) }, removeAttr: function (e) { return this.each((function () { A.removeAttr(this, e) })) } }), A.extend({ attr: function (e, t, n) { var r, i, o = e.nodeType; if (3 !== o && 8 !== o && 2 !== o) return void 0 === e.getAttribute ? A.prop(e, t, n) : (1 === o && A.isXMLDoc(e) || (i = A.attrHooks[t.toLowerCase()] || (A.expr.match.bool.test(t) ? ht : void 0)), void 0 !== n ? null === n ? void A.removeAttr(e, t) : i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : (e.setAttribute(t, n + ""), n) : i && "get" in i && null !== (r = i.get(e, t)) ? r : null == (r = A.find.attr(e, t)) ? void 0 : r) }, attrHooks: { type: { set: function (e, t) { if (!m.radioValue && "radio" === t && O(e, "input")) { var n = e.value; return e.setAttribute("type", t), n && (e.value = n), t } } } }, removeAttr: function (e, t) { var n, r = 0, i = t && t.match(M); if (i && 1 === e.nodeType) for (; n = i[r++];)e.removeAttribute(n) } }), ht = { set: function (e, t, n) { return !1 === t ? A.removeAttr(e, n) : e.setAttribute(n, n), n } }, A.each(A.expr.match.bool.source.match(/\w+/g), (function (e, t) { var n = gt[t] || A.find.attr; gt[t] = function (e, t, r) { var i, o, a = t.toLowerCase(); return r || (o = gt[a], gt[a] = i, i = null != n(e, t, r) ? a : null, gt[a] = o), i } })); var mt = /^(?:input|select|textarea|button)$/i, vt = /^(?:a|area)$/i; function bt(e) { return (e.match(M) || []).join(" ") } function yt(e) { return e.getAttribute && e.getAttribute("class") || "" } function xt(e) { return Array.isArray(e) ? e : "string" == typeof e && e.match(M) || [] } A.fn.extend({ prop: function (e, t) { return U(this, A.prop, e, t, arguments.length > 1) }, removeProp: function (e) { return this.each((function () { delete this[A.propFix[e] || e] })) } }), A.extend({ prop: function (e, t, n) { var r, i, o = e.nodeType; if (3 !== o && 8 !== o && 2 !== o) return 1 === o && A.isXMLDoc(e) || (t = A.propFix[t] || t, i = A.propHooks[t]), void 0 !== n ? i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : e[t] = n : i && "get" in i && null !== (r = i.get(e, t)) ? r : e[t] }, propHooks: { tabIndex: { get: function (e) { var t = A.find.attr(e, "tabindex"); return t ? parseInt(t, 10) : mt.test(e.nodeName) || vt.test(e.nodeName) && e.href ? 0 : -1 } } }, propFix: { for: "htmlFor", class: "className" } }), m.optSelected || (A.propHooks.selected = { get: function (e) { var t = e.parentNode; return t && t.parentNode && t.parentNode.selectedIndex, null }, set: function (e) { var t = e.parentNode; t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex) } }), A.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], (function () { A.propFix[this.toLowerCase()] = this })), A.fn.extend({ addClass: function (e) { var t, n, r, i, o, a, s, l = 0; if (v(e)) return this.each((function (t) { A(this).addClass(e.call(this, t, yt(this))) })); if ((t = xt(e)).length) for (; n = this[l++];)if (i = yt(n), r = 1 === n.nodeType && " " + bt(i) + " ") { for (a = 0; o = t[a++];)r.indexOf(" " + o + " ") < 0 && (r += o + " "); i !== (s = bt(r)) && n.setAttribute("class", s) } return this }, removeClass: function (e) { var t, n, r, i, o, a, s, l = 0; if (v(e)) return this.each((function (t) { A(this).removeClass(e.call(this, t, yt(this))) })); if (!arguments.length) return this.attr("class", ""); if ((t = xt(e)).length) for (; n = this[l++];)if (i = yt(n), r = 1 === n.nodeType && " " + bt(i) + " ") { for (a = 0; o = t[a++];)for (; r.indexOf(" " + o + " ") > -1;)r = r.replace(" " + o + " ", " "); i !== (s = bt(r)) && n.setAttribute("class", s) } return this }, toggleClass: function (e, t) { var n = typeof e, r = "string" === n || Array.isArray(e); return "boolean" == typeof t && r ? t ? this.addClass(e) : this.removeClass(e) : v(e) ? this.each((function (n) { A(this).toggleClass(e.call(this, n, yt(this), t), t) })) : this.each((function () { var t, i, o, a; if (r) for (i = 0, o = A(this), a = xt(e); t = a[i++];)o.hasClass(t) ? o.removeClass(t) : o.addClass(t); else void 0 !== e && "boolean" !== n || ((t = yt(this)) && Q.set(this, "__className__", t), this.setAttribute && this.setAttribute("class", t || !1 === e ? "" : Q.get(this, "__className__") || "")) })) }, hasClass: function (e) { var t, n, r = 0; for (t = " " + e + " "; n = this[r++];)if (1 === n.nodeType && (" " + bt(yt(n)) + " ").indexOf(t) > -1) return !0; return !1 } }); var wt = /\r/g; A.fn.extend({ val: function (e) { var t, n, r, i = this[0]; return arguments.length ? (r = v(e), this.each((function (n) { var i; 1 === this.nodeType && (null == (i = r ? e.call(this, n, A(this).val()) : e) ? i = "" : "number" == typeof i ? i += "" : Array.isArray(i) && (i = A.map(i, (function (e) { return null == e ? "" : e + "" }))), (t = A.valHooks[this.type] || A.valHooks[this.nodeName.toLowerCase()]) && "set" in t && void 0 !== t.set(this, i, "value") || (this.value = i)) }))) : i ? (t = A.valHooks[i.type] || A.valHooks[i.nodeName.toLowerCase()]) && "get" in t && void 0 !== (n = t.get(i, "value")) ? n : "string" == typeof (n = i.value) ? n.replace(wt, "") : null == n ? "" : n : void 0 } }), A.extend({ valHooks: { option: { get: function (e) { var t = A.find.attr(e, "value"); return null != t ? t : bt(A.text(e)) } }, select: { get: function (e) { var t, n, r, i = e.options, o = e.selectedIndex, a = "select-one" === e.type, s = a ? null : [], l = a ? o + 1 : i.length; for (r = o < 0 ? l : a ? o : 0; r < l; r++)if (((n = i[r]).selected || r === o) && !n.disabled && (!n.parentNode.disabled || !O(n.parentNode, "optgroup"))) { if (t = A(n).val(), a) return t; s.push(t) } return s }, set: function (e, t) { for (var n, r, i = e.options, o = A.makeArray(t), a = i.length; a--;)((r = i[a]).selected = A.inArray(A.valHooks.option.get(r), o) > -1) && (n = !0); return n || (e.selectedIndex = -1), o } } } }), A.each(["radio", "checkbox"], (function () { A.valHooks[this] = { set: function (e, t) { if (Array.isArray(t)) return e.checked = A.inArray(A(e).val(), t) > -1 } }, m.checkOn || (A.valHooks[this].get = function (e) { return null === e.getAttribute("value") ? "on" : e.value }) })), m.focusin = "onfocusin" in n; var kt = /^(?:focusinfocus|focusoutblur)$/, At = function (e) { e.stopPropagation() }; A.extend(A.event, { trigger: function (e, t, r, i) { var o, a, s, l, c, u, d, p, h = [r || y], g = f.call(e, "type") ? e.type : e, m = f.call(e, "namespace") ? e.namespace.split(".") : []; if (a = p = s = r = r || y, 3 !== r.nodeType && 8 !== r.nodeType && !kt.test(g + A.event.triggered) && (g.indexOf(".") > -1 && (m = g.split("."), g = m.shift(), m.sort()), c = g.indexOf(":") < 0 && "on" + g, (e = e[A.expando] ? e : new A.Event(g, "object" == typeof e && e)).isTrigger = i ? 2 : 3, e.namespace = m.join("."), e.rnamespace = e.namespace ? new RegExp("(^|\\.)" + m.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, e.result = void 0, e.target || (e.target = r), t = null == t ? [e] : A.makeArray(t, [e]), d = A.event.special[g] || {}, i || !d.trigger || !1 !== d.trigger.apply(r, t))) { if (!i && !d.noBubble && !b(r)) { for (l = d.delegateType || g, kt.test(l + g) || (a = a.parentNode); a; a = a.parentNode)h.push(a), s = a; s === (r.ownerDocument || y) && h.push(s.defaultView || s.parentWindow || n) } for (o = 0; (a = h[o++]) && !e.isPropagationStopped();)p = a, e.type = o > 1 ? l : d.bindType || g, (u = (Q.get(a, "events") || Object.create(null))[e.type] && Q.get(a, "handle")) && u.apply(a, t), (u = c && a[c]) && u.apply && X(a) && (e.result = u.apply(a, t), !1 === e.result && e.preventDefault()); return e.type = g, i || e.isDefaultPrevented() || d._default && !1 !== d._default.apply(h.pop(), t) || !X(r) || c && v(r[g]) && !b(r) && ((s = r[c]) && (r[c] = null), A.event.triggered = g, e.isPropagationStopped() && p.addEventListener(g, At), r[g](), e.isPropagationStopped() && p.removeEventListener(g, At), A.event.triggered = void 0, s && (r[c] = s)), e.result } }, simulate: function (e, t, n) { var r = A.extend(new A.Event, n, { type: e, isSimulated: !0 }); A.event.trigger(r, null, t) } }), A.fn.extend({ trigger: function (e, t) { return this.each((function () { A.event.trigger(e, t, this) })) }, triggerHandler: function (e, t) { var n = this[0]; if (n) return A.event.trigger(e, t, n, !0) } }), m.focusin || A.each({ focus: "focusin", blur: "focusout" }, (function (e, t) { var n = function (e) { A.event.simulate(t, e.target, A.event.fix(e)) }; A.event.special[t] = { setup: function () { var r = this.ownerDocument || this.document || this, i = Q.access(r, t); i || r.addEventListener(e, n, !0), Q.access(r, t, (i || 0) + 1) }, teardown: function () { var r = this.ownerDocument || this.document || this, i = Q.access(r, t) - 1; i ? Q.access(r, t, i) : (r.removeEventListener(e, n, !0), Q.remove(r, t)) } } })); var Et = n.location, St = { guid: Date.now() }, $t = /\?/; A.parseXML = function (e) { var t; if (!e || "string" != typeof e) return null; try { t = (new n.DOMParser).parseFromString(e, "text/xml") } catch (e) { t = void 0 } return t && !t.getElementsByTagName("parsererror").length || A.error("Invalid XML: " + e), t }; var Ct = /\[\]$/, _t = /\r?\n/g, Ot = /^(?:submit|button|image|reset|file)$/i, Tt = /^(?:input|select|textarea|keygen)/i; function jt(e, t, n, r) { var i; if (Array.isArray(t)) A.each(t, (function (t, i) { n || Ct.test(e) ? r(e, i) : jt(e + "[" + ("object" == typeof i && null != i ? t : "") + "]", i, n, r) })); else if (n || "object" !== k(t)) r(e, t); else for (i in t) jt(e + "[" + i + "]", t[i], n, r) } A.param = function (e, t) { var n, r = [], i = function (e, t) { var n = v(t) ? t() : t; r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "" : n) }; if (null == e) return ""; if (Array.isArray(e) || e.jquery && !A.isPlainObject(e)) A.each(e, (function () { i(this.name, this.value) })); else for (n in e) jt(n, e[n], t, i); return r.join("&") }, A.fn.extend({ serialize: function () { return A.param(this.serializeArray()) }, serializeArray: function () { return this.map((function () { var e = A.prop(this, "elements"); return e ? A.makeArray(e) : this })).filter((function () { var e = this.type; return this.name && !A(this).is(":disabled") && Tt.test(this.nodeName) && !Ot.test(e) && (this.checked || !ge.test(e)) })).map((function (e, t) { var n = A(this).val(); return null == n ? null : Array.isArray(n) ? A.map(n, (function (e) { return { name: t.name, value: e.replace(_t, "\r\n") } })) : { name: t.name, value: n.replace(_t, "\r\n") } })).get() } }); var Pt = /%20/g, Dt = /#.*$/, Rt = /([?&])_=[^&]*/, It = /^(.*?):[ \t]*([^\r\n]*)$/gm, Nt = /^(?:GET|HEAD)$/, Mt = /^\/\//, zt = {}, Lt = {}, Bt = "*/".concat("*"), Ft = y.createElement("a"); function qt(e) { return function (t, n) { "string" != typeof t && (n = t, t = "*"); var r, i = 0, o = t.toLowerCase().match(M) || []; if (v(n)) for (; r = o[i++];)"+" === r[0] ? (r = r.slice(1) || "*", (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n) } } function Vt(e, t, n, r) { var i = {}, o = e === Lt; function a(s) { var l; return i[s] = !0, A.each(e[s] || [], (function (e, s) { var c = s(t, n, r); return "string" != typeof c || o || i[c] ? o ? !(l = c) : void 0 : (t.dataTypes.unshift(c), a(c), !1) })), l } return a(t.dataTypes[0]) || !i["*"] && a("*") } function Ut(e, t) { var n, r, i = A.ajaxSettings.flatOptions || {}; for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]); return r && A.extend(!0, e, r), e } Ft.href = Et.href, A.extend({ active: 0, lastModified: {}, etag: {}, ajaxSettings: { url: Et.href, type: "GET", isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol), global: !0, processData: !0, async: !0, contentType: "application/x-www-form-urlencoded; charset=UTF-8", accepts: { "*": Bt, text: "text/plain", html: "text/html", xml: "application/xml, text/xml", json: "application/json, text/javascript" }, contents: { xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/ }, responseFields: { xml: "responseXML", text: "responseText", json: "responseJSON" }, converters: { "* text": String, "text html": !0, "text json": JSON.parse, "text xml": A.parseXML }, flatOptions: { url: !0, context: !0 } }, ajaxSetup: function (e, t) { return t ? Ut(Ut(e, A.ajaxSettings), t) : Ut(A.ajaxSettings, e) }, ajaxPrefilter: qt(zt), ajaxTransport: qt(Lt), ajax: function (e, t) { "object" == typeof e && (t = e, e = void 0), t = t || {}; var r, i, o, a, s, l, c, u, d, p, f = A.ajaxSetup({}, t), h = f.context || f, g = f.context && (h.nodeType || h.jquery) ? A(h) : A.event, m = A.Deferred(), v = A.Callbacks("once memory"), b = f.statusCode || {}, x = {}, w = {}, k = "canceled", E = { readyState: 0, getResponseHeader: function (e) { var t; if (c) { if (!a) for (a = {}; t = It.exec(o);)a[t[1].toLowerCase() + " "] = (a[t[1].toLowerCase() + " "] || []).concat(t[2]); t = a[e.toLowerCase() + " "] } return null == t ? null : t.join(", ") }, getAllResponseHeaders: function () { return c ? o : null }, setRequestHeader: function (e, t) { return null == c && (e = w[e.toLowerCase()] = w[e.toLowerCase()] || e, x[e] = t), this }, overrideMimeType: function (e) { return null == c && (f.mimeType = e), this }, statusCode: function (e) { var t; if (e) if (c) E.always(e[E.status]); else for (t in e) b[t] = [b[t], e[t]]; return this }, abort: function (e) { var t = e || k; return r && r.abort(t), S(0, t), this } }; if (m.promise(E), f.url = ((e || f.url || Et.href) + "").replace(Mt, Et.protocol + "//"), f.type = t.method || t.type || f.method || f.type, f.dataTypes = (f.dataType || "*").toLowerCase().match(M) || [""], null == f.crossDomain) { l = y.createElement("a"); try { l.href = f.url, l.href = l.href, f.crossDomain = Ft.protocol + "//" + Ft.host != l.protocol + "//" + l.host } catch (e) { f.crossDomain = !0 } } if (f.data && f.processData && "string" != typeof f.data && (f.data = A.param(f.data, f.traditional)), Vt(zt, f, t, E), c) return E; for (d in (u = A.event && f.global) && 0 == A.active++ && A.event.trigger("ajaxStart"), f.type = f.type.toUpperCase(), f.hasContent = !Nt.test(f.type), i = f.url.replace(Dt, ""), f.hasContent ? f.data && f.processData && 0 === (f.contentType || "").indexOf("application/x-www-form-urlencoded") && (f.data = f.data.replace(Pt, "+")) : (p = f.url.slice(i.length), f.data && (f.processData || "string" == typeof f.data) && (i += ($t.test(i) ? "&" : "?") + f.data, delete f.data), !1 === f.cache && (i = i.replace(Rt, "$1"), p = ($t.test(i) ? "&" : "?") + "_=" + St.guid++ + p), f.url = i + p), f.ifModified && (A.lastModified[i] && E.setRequestHeader("If-Modified-Since", A.lastModified[i]), A.etag[i] && E.setRequestHeader("If-None-Match", A.etag[i])), (f.data && f.hasContent && !1 !== f.contentType || t.contentType) && E.setRequestHeader("Content-Type", f.contentType), E.setRequestHeader("Accept", f.dataTypes[0] && f.accepts[f.dataTypes[0]] ? f.accepts[f.dataTypes[0]] + ("*" !== f.dataTypes[0] ? ", " + Bt + "; q=0.01" : "") : f.accepts["*"]), f.headers) E.setRequestHeader(d, f.headers[d]); if (f.beforeSend && (!1 === f.beforeSend.call(h, E, f) || c)) return E.abort(); if (k = "abort", v.add(f.complete), E.done(f.success), E.fail(f.error), r = Vt(Lt, f, t, E)) { if (E.readyState = 1, u && g.trigger("ajaxSend", [E, f]), c) return E; f.async && f.timeout > 0 && (s = n.setTimeout((function () { E.abort("timeout") }), f.timeout)); try { c = !1, r.send(x, S) } catch (e) { if (c) throw e; S(-1, e) } } else S(-1, "No Transport"); function S(e, t, a, l) { var d, p, y, x, w, k = t; c || (c = !0, s && n.clearTimeout(s), r = void 0, o = l || "", E.readyState = e > 0 ? 4 : 0, d = e >= 200 && e < 300 || 304 === e, a && (x = function (e, t, n) { for (var r, i, o, a, s = e.contents, l = e.dataTypes; "*" === l[0];)l.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type")); if (r) for (i in s) if (s[i] && s[i].test(r)) { l.unshift(i); break } if (l[0] in n) o = l[0]; else { for (i in n) { if (!l[0] || e.converters[i + " " + l[0]]) { o = i; break } a || (a = i) } o = o || a } if (o) return o !== l[0] && l.unshift(o), n[o] }(f, E, a)), !d && A.inArray("script", f.dataTypes) > -1 && (f.converters["text script"] = function () { }), x = function (e, t, n, r) { var i, o, a, s, l, c = {}, u = e.dataTypes.slice(); if (u[1]) for (a in e.converters) c[a.toLowerCase()] = e.converters[a]; for (o = u.shift(); o;)if (e.responseFields[o] && (n[e.responseFields[o]] = t), !l && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), l = o, o = u.shift()) if ("*" === o) o = l; else if ("*" !== l && l !== o) { if (!(a = c[l + " " + o] || c["* " + o])) for (i in c) if ((s = i.split(" "))[1] === o && (a = c[l + " " + s[0]] || c["* " + s[0]])) { !0 === a ? a = c[i] : !0 !== c[i] && (o = s[0], u.unshift(s[1])); break } if (!0 !== a) if (a && e.throws) t = a(t); else try { t = a(t) } catch (e) { return { state: "parsererror", error: a ? e : "No conversion from " + l + " to " + o } } } return { state: "success", data: t } }(f, x, E, d), d ? (f.ifModified && ((w = E.getResponseHeader("Last-Modified")) && (A.lastModified[i] = w), (w = E.getResponseHeader("etag")) && (A.etag[i] = w)), 204 === e || "HEAD" === f.type ? k = "nocontent" : 304 === e ? k = "notmodified" : (k = x.state, p = x.data, d = !(y = x.error))) : (y = k, !e && k || (k = "error", e < 0 && (e = 0))), E.status = e, E.statusText = (t || k) + "", d ? m.resolveWith(h, [p, k, E]) : m.rejectWith(h, [E, k, y]), E.statusCode(b), b = void 0, u && g.trigger(d ? "ajaxSuccess" : "ajaxError", [E, f, d ? p : y]), v.fireWith(h, [E, k]), u && (g.trigger("ajaxComplete", [E, f]), --A.active || A.event.trigger("ajaxStop"))) } return E }, getJSON: function (e, t, n) { return A.get(e, t, n, "json") }, getScript: function (e, t) { return A.get(e, void 0, t, "script") } }), A.each(["get", "post"], (function (e, t) { A[t] = function (e, n, r, i) { return v(n) && (i = i || r, r = n, n = void 0), A.ajax(A.extend({ url: e, type: t, dataType: i, data: n, success: r }, A.isPlainObject(e) && e)) } })), A.ajaxPrefilter((function (e) { var t; for (t in e.headers) "content-type" === t.toLowerCase() && (e.contentType = e.headers[t] || "") })), A._evalUrl = function (e, t, n) { return A.ajax({ url: e, type: "GET", dataType: "script", cache: !0, async: !1, global: !1, converters: { "text script": function () { } }, dataFilter: function (e) { A.globalEval(e, t, n) } }) }, A.fn.extend({ wrapAll: function (e) { var t; return this[0] && (v(e) && (e = e.call(this[0])), t = A(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map((function () { for (var e = this; e.firstElementChild;)e = e.firstElementChild; return e })).append(this)), this }, wrapInner: function (e) { return v(e) ? this.each((function (t) { A(this).wrapInner(e.call(this, t)) })) : this.each((function () { var t = A(this), n = t.contents(); n.length ? n.wrapAll(e) : t.append(e) })) }, wrap: function (e) { var t = v(e); return this.each((function (n) { A(this).wrapAll(t ? e.call(this, n) : e) })) }, unwrap: function (e) { return this.parent(e).not("body").each((function () { A(this).replaceWith(this.childNodes) })), this } }), A.expr.pseudos.hidden = function (e) { return !A.expr.pseudos.visible(e) }, A.expr.pseudos.visible = function (e) { return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length) }, A.ajaxSettings.xhr = function () { try { return new n.XMLHttpRequest } catch (e) { } }; var Ht = { 0: 200, 1223: 204 }, Gt = A.ajaxSettings.xhr(); m.cors = !!Gt && "withCredentials" in Gt, m.ajax = Gt = !!Gt, A.ajaxTransport((function (e) { var t, r; if (m.cors || Gt && !e.crossDomain) return { send: function (i, o) { var a, s = e.xhr(); if (s.open(e.type, e.url, e.async, e.username, e.password), e.xhrFields) for (a in e.xhrFields) s[a] = e.xhrFields[a]; for (a in e.mimeType && s.overrideMimeType && s.overrideMimeType(e.mimeType), e.crossDomain || i["X-Requested-With"] || (i["X-Requested-With"] = "XMLHttpRequest"), i) s.setRequestHeader(a, i[a]); t = function (e) { return function () { t && (t = r = s.onload = s.onerror = s.onabort = s.ontimeout = s.onreadystatechange = null, "abort" === e ? s.abort() : "error" === e ? "number" != typeof s.status ? o(0, "error") : o(s.status, s.statusText) : o(Ht[s.status] || s.status, s.statusText, "text" !== (s.responseType || "text") || "string" != typeof s.responseText ? { binary: s.response } : { text: s.responseText }, s.getAllResponseHeaders())) } }, s.onload = t(), r = s.onerror = s.ontimeout = t("error"), void 0 !== s.onabort ? s.onabort = r : s.onreadystatechange = function () { 4 === s.readyState && n.setTimeout((function () { t && r() })) }, t = t("abort"); try { s.send(e.hasContent && e.data || null) } catch (e) { if (t) throw e } }, abort: function () { t && t() } } })), A.ajaxPrefilter((function (e) { e.crossDomain && (e.contents.script = !1) })), A.ajaxSetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /\b(?:java|ecma)script\b/ }, converters: { "text script": function (e) { return A.globalEval(e), e } } }), A.ajaxPrefilter("script", (function (e) { void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET") })), A.ajaxTransport("script", (function (e) { var t, n; if (e.crossDomain || e.scriptAttrs) return { send: function (r, i) { t = A("<script>").attr(e.scriptAttrs || {}).prop({ charset: e.scriptCharset, src: e.url }).on("load error", n = function (e) { t.remove(), n = null, e && i("error" === e.type ? 404 : 200, e.type) }), y.head.appendChild(t[0]) }, abort: function () { n && n() } } })); var Wt, Yt = [], Xt = /(=)\?(?=&|$)|\?\?/; A.ajaxSetup({ jsonp: "callback", jsonpCallback: function () { var e = Yt.pop() || A.expando + "_" + St.guid++; return this[e] = !0, e } }), A.ajaxPrefilter("json jsonp", (function (e, t, r) { var i, o, a, s = !1 !== e.jsonp && (Xt.test(e.url) ? "url" : "string" == typeof e.data && 0 === (e.contentType || "").indexOf("application/x-www-form-urlencoded") && Xt.test(e.data) && "data"); if (s || "jsonp" === e.dataTypes[0]) return i = e.jsonpCallback = v(e.jsonpCallback) ? e.jsonpCallback() : e.jsonpCallback, s ? e[s] = e[s].replace(Xt, "$1" + i) : !1 !== e.jsonp && (e.url += ($t.test(e.url) ? "&" : "?") + e.jsonp + "=" + i), e.converters["script json"] = function () { return a || A.error(i + " was not called"), a[0] }, e.dataTypes[0] = "json", o = n[i], n[i] = function () { a = arguments }, r.always((function () { void 0 === o ? A(n).removeProp(i) : n[i] = o, e[i] && (e.jsonpCallback = t.jsonpCallback, Yt.push(i)), a && v(o) && o(a[0]), a = o = void 0 })), "script" })), m.createHTMLDocument = ((Wt = y.implementation.createHTMLDocument("").body).innerHTML = "<form></form><form></form>", 2 === Wt.childNodes.length), A.parseHTML = function (e, t, n) { return "string" != typeof e ? [] : ("boolean" == typeof t && (n = t, t = !1), t || (m.createHTMLDocument ? ((r = (t = y.implementation.createHTMLDocument("")).createElement("base")).href = y.location.href, t.head.appendChild(r)) : t = y), o = !n && [], (i = T.exec(e)) ? [t.createElement(i[1])] : (i = ke([e], t, o), o && o.length && A(o).remove(), A.merge([], i.childNodes))); var r, i, o }, A.fn.load = function (e, t, n) { var r, i, o, a = this, s = e.indexOf(" "); return s > -1 && (r = bt(e.slice(s)), e = e.slice(0, s)), v(t) ? (n = t, t = void 0) : t && "object" == typeof t && (i = "POST"), a.length > 0 && A.ajax({ url: e, type: i || "GET", dataType: "html", data: t }).done((function (e) { o = arguments, a.html(r ? A("<div>").append(A.parseHTML(e)).find(r) : e) })).always(n && function (e, t) { a.each((function () { n.apply(this, o || [e.responseText, t, e]) })) }), this }, A.expr.pseudos.animated = function (e) { return A.grep(A.timers, (function (t) { return e === t.elem })).length }, A.offset = { setOffset: function (e, t, n) { var r, i, o, a, s, l, c = A.css(e, "position"), u = A(e), d = {}; "static" === c && (e.style.position = "relative"), s = u.offset(), o = A.css(e, "top"), l = A.css(e, "left"), ("absolute" === c || "fixed" === c) && (o + l).indexOf("auto") > -1 ? (a = (r = u.position()).top, i = r.left) : (a = parseFloat(o) || 0, i = parseFloat(l) || 0), v(t) && (t = t.call(e, n, A.extend({}, s))), null != t.top && (d.top = t.top - s.top + a), null != t.left && (d.left = t.left - s.left + i), "using" in t ? t.using.call(e, d) : ("number" == typeof d.top && (d.top += "px"), "number" == typeof d.left && (d.left += "px"), u.css(d)) } }, A.fn.extend({ offset: function (e) { if (arguments.length) return void 0 === e ? this : this.each((function (t) { A.offset.setOffset(this, e, t) })); var t, n, r = this[0]; return r ? r.getClientRects().length ? (t = r.getBoundingClientRect(), n = r.ownerDocument.defaultView, { top: t.top + n.pageYOffset, left: t.left + n.pageXOffset }) : { top: 0, left: 0 } : void 0 }, position: function () { if (this[0]) { var e, t, n, r = this[0], i = { top: 0, left: 0 }; if ("fixed" === A.css(r, "position")) t = r.getBoundingClientRect(); else { for (t = this.offset(), n = r.ownerDocument, e = r.offsetParent || n.documentElement; e && (e === n.body || e === n.documentElement) && "static" === A.css(e, "position");)e = e.parentNode; e && e !== r && 1 === e.nodeType && ((i = A(e).offset()).top += A.css(e, "borderTopWidth", !0), i.left += A.css(e, "borderLeftWidth", !0)) } return { top: t.top - i.top - A.css(r, "marginTop", !0), left: t.left - i.left - A.css(r, "marginLeft", !0) } } }, offsetParent: function () { return this.map((function () { for (var e = this.offsetParent; e && "static" === A.css(e, "position");)e = e.offsetParent; return e || oe })) } }), A.each({ scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, (function (e, t) { var n = "pageYOffset" === t; A.fn[e] = function (r) { return U(this, (function (e, r, i) { var o; if (b(e) ? o = e : 9 === e.nodeType && (o = e.defaultView), void 0 === i) return o ? o[t] : e[r]; o ? o.scrollTo(n ? o.pageXOffset : i, n ? i : o.pageYOffset) : e[r] = i }), e, r, arguments.length) } })), A.each(["top", "left"], (function (e, t) { A.cssHooks[t] = Ge(m.pixelPosition, (function (e, n) { if (n) return n = He(e, t), Fe.test(n) ? A(e).position()[t] + "px" : n })) })), A.each({ Height: "height", Width: "width" }, (function (e, t) { A.each({ padding: "inner" + e, content: t, "": "outer" + e }, (function (n, r) { A.fn[r] = function (i, o) { var a = arguments.length && (n || "boolean" != typeof i), s = n || (!0 === i || !0 === o ? "margin" : "border"); return U(this, (function (t, n, i) { var o; return b(t) ? 0 === r.indexOf("outer") ? t["inner" + e] : t.document.documentElement["client" + e] : 9 === t.nodeType ? (o = t.documentElement, Math.max(t.body["scroll" + e], o["scroll" + e], t.body["offset" + e], o["offset" + e], o["client" + e])) : void 0 === i ? A.css(t, n, s) : A.style(t, n, i, s) }), t, a ? i : void 0, a) } })) })), A.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], (function (e, t) { A.fn[t] = function (e) { return this.on(t, e) } })), A.fn.extend({ bind: function (e, t, n) { return this.on(e, null, t, n) }, unbind: function (e, t) { return this.off(e, null, t) }, delegate: function (e, t, n, r) { return this.on(t, e, n, r) }, undelegate: function (e, t, n) { return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n) }, hover: function (e, t) { return this.mouseenter(e).mouseleave(t || e) } }), A.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), (function (e, t) { A.fn[t] = function (e, n) { return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t) } })); var Zt = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; A.proxy = function (e, t) { var n, r, i; if ("string" == typeof t && (n = e[t], t = e, e = n), v(e)) return r = s.call(arguments, 2), (i = function () { return e.apply(t || this, r.concat(s.call(arguments))) }).guid = e.guid = e.guid || A.guid++, i }, A.holdReady = function (e) { e ? A.readyWait++ : A.ready(!0) }, A.isArray = Array.isArray, A.parseJSON = JSON.parse, A.nodeName = O, A.isFunction = v, A.isWindow = b, A.camelCase = Y, A.type = k, A.now = Date.now, A.isNumeric = function (e) { var t = A.type(e); return ("number" === t || "string" === t) && !isNaN(e - parseFloat(e)) }, A.trim = function (e) { return null == e ? "" : (e + "").replace(Zt, "") }, void 0 === (r = function () { return A }.apply(t, [])) || (e.exports = r); var Qt = n.jQuery, Jt = n.$; return A.noConflict = function (e) { return n.$ === A && (n.$ = Jt), e && n.jQuery === A && (n.jQuery = Qt), A }, void 0 === i && (n.jQuery = n.$ = A), A
172
+ }))
173
+ }, function (e, t) { e.exports = function (e) { return null != e && "object" == typeof e } }, function (e, t) { var n; n = function () { return this }(); try { n = n || new Function("return this")() } catch (e) { "object" == typeof window && (n = window) } e.exports = n }, function (e, t, n) { var r = n(64), i = n(120); e.exports = function (e) { return null != e && i(e.length) && !r(e) } }, function (e, t, n) { var r = n(304), i = n(314), o = n(49), a = n(13), s = n(321); e.exports = function (e) { return "function" == typeof e ? e : null == e ? o : "object" == typeof e ? a(e) ? i(e[0], e[1]) : r(e) : s(e) } }, function (e, t, n) { "use strict"; var r = n(69); n.d(t, "e", (function () { return r.a })); var i = n(15); n.d(t, "b", (function () { return i.a })), n.d(t, "d", (function () { return i.b })); var o = n(27); n.d(t, "a", (function () { return o.a })), n.d(t, "c", (function () { return o.b })) }, function (e, t) { e.exports = function (e) { var t = []; return t.toString = function () { return this.map((function (t) { var n = function (e, t) { var n = e[1] || "", r = e[3]; if (!r) return n; if (t && "function" == typeof btoa) { var i = (a = r, "/*# sourceMappingURL=data:application/json;charset=utf-8;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(a)))) + " */"), o = r.sources.map((function (e) { return "/*# sourceURL=" + r.sourceRoot + e + " */" })); return [n].concat(o).concat([i]).join("\n") } var a; return [n].join("\n") }(t, e); return t[2] ? "@media " + t[2] + "{" + n + "}" : n })).join("") }, t.i = function (e, n) { "string" == typeof e && (e = [[null, e, ""]]); for (var r = {}, i = 0; i < this.length; i++) { var o = this[i][0]; "number" == typeof o && (r[o] = !0) } for (i = 0; i < e.length; i++) { var a = e[i]; "number" == typeof a[0] && r[a[0]] || (n && !a[2] ? a[2] = n : n && (a[2] = "(" + a[2] + ") and (" + n + ")"), t.push(a)) } }, t } }, function (e, t, n) { var r, i, o = {}, a = (r = function () { return window && document && document.all && !window.atob }, function () { return void 0 === i && (i = r.apply(this, arguments)), i }), s = function (e) { return document.querySelector(e) }, l = function (e) { var t = {}; return function (e) { if ("function" == typeof e) return e(); if (void 0 === t[e]) { var n = s.call(this, e); if (window.HTMLIFrameElement && n instanceof window.HTMLIFrameElement) try { n = n.contentDocument.head } catch (e) { n = null } t[e] = n } return t[e] } }(), c = null, u = 0, d = [], p = n(216); function f(e, t) { for (var n = 0; n < e.length; n++) { var r = e[n], i = o[r.id]; if (i) { i.refs++; for (var a = 0; a < i.parts.length; a++)i.parts[a](r.parts[a]); for (; a < r.parts.length; a++)i.parts.push(y(r.parts[a], t)) } else { var s = []; for (a = 0; a < r.parts.length; a++)s.push(y(r.parts[a], t)); o[r.id] = { id: r.id, refs: 1, parts: s } } } } function h(e, t) { for (var n = [], r = {}, i = 0; i < e.length; i++) { var o = e[i], a = t.base ? o[0] + t.base : o[0], s = { css: o[1], media: o[2], sourceMap: o[3] }; r[a] ? r[a].parts.push(s) : n.push(r[a] = { id: a, parts: [s] }) } return n } function g(e, t) { var n = l(e.insertInto); if (!n) throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid."); var r = d[d.length - 1]; if ("top" === e.insertAt) r ? r.nextSibling ? n.insertBefore(t, r.nextSibling) : n.appendChild(t) : n.insertBefore(t, n.firstChild), d.push(t); else if ("bottom" === e.insertAt) n.appendChild(t); else { if ("object" != typeof e.insertAt || !e.insertAt.before) throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n"); var i = l(e.insertInto + " " + e.insertAt.before); n.insertBefore(t, i) } } function m(e) { if (null === e.parentNode) return !1; e.parentNode.removeChild(e); var t = d.indexOf(e); t >= 0 && d.splice(t, 1) } function v(e) { var t = document.createElement("style"); return void 0 === e.attrs.type && (e.attrs.type = "text/css"), b(t, e.attrs), g(e, t), t } function b(e, t) { Object.keys(t).forEach((function (n) { e.setAttribute(n, t[n]) })) } function y(e, t) { var n, r, i, o; if (t.transform && e.css) { if (!(o = t.transform(e.css))) return function () { }; e.css = o } if (t.singleton) { var a = u++; n = c || (c = v(t)), r = k.bind(null, n, a, !1), i = k.bind(null, n, a, !0) } else e.sourceMap && "function" == typeof URL && "function" == typeof URL.createObjectURL && "function" == typeof URL.revokeObjectURL && "function" == typeof Blob && "function" == typeof btoa ? (n = function (e) { var t = document.createElement("link"); return void 0 === e.attrs.type && (e.attrs.type = "text/css"), e.attrs.rel = "stylesheet", b(t, e.attrs), g(e, t), t }(t), r = E.bind(null, n, t), i = function () { m(n), n.href && URL.revokeObjectURL(n.href) }) : (n = v(t), r = A.bind(null, n), i = function () { m(n) }); return r(e), function (t) { if (t) { if (t.css === e.css && t.media === e.media && t.sourceMap === e.sourceMap) return; r(e = t) } else i() } } e.exports = function (e, t) { if ("undefined" != typeof DEBUG && DEBUG && "object" != typeof document) throw new Error("The style-loader cannot be used in a non-browser environment"); (t = t || {}).attrs = "object" == typeof t.attrs ? t.attrs : {}, t.singleton || "boolean" == typeof t.singleton || (t.singleton = a()), t.insertInto || (t.insertInto = "head"), t.insertAt || (t.insertAt = "bottom"); var n = h(e, t); return f(n, t), function (e) { for (var r = [], i = 0; i < n.length; i++) { var a = n[i]; (s = o[a.id]).refs--, r.push(s) } e && f(h(e, t), t); for (i = 0; i < r.length; i++) { var s; if (0 === (s = r[i]).refs) { for (var l = 0; l < s.parts.length; l++)s.parts[l](); delete o[s.id] } } } }; var x, w = (x = [], function (e, t) { return x[e] = t, x.filter(Boolean).join("\n") }); function k(e, t, n, r) { var i = n ? "" : r.css; if (e.styleSheet) e.styleSheet.cssText = w(t, i); else { var o = document.createTextNode(i), a = e.childNodes; a[t] && e.removeChild(a[t]), a.length ? e.insertBefore(o, a[t]) : e.appendChild(o) } } function A(e, t) { var n = t.css, r = t.media; if (r && e.setAttribute("media", r), e.styleSheet) e.styleSheet.cssText = n; else { for (; e.firstChild;)e.removeChild(e.firstChild); e.appendChild(document.createTextNode(n)) } } function E(e, t, n) { var r = n.css, i = n.sourceMap, o = void 0 === t.convertToAbsoluteUrls && i; (t.convertToAbsoluteUrls || o) && (r = p(r)), i && (r += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(i)))) + " */"); var a = new Blob([r], { type: "text/css" }), s = e.href; e.href = URL.createObjectURL(a), s && URL.revokeObjectURL(s) } }, function (e, t, n) { var r = n(153), i = n(122), o = n(36); e.exports = function (e) { return o(e) ? r(e) : i(e) } }, function (e, t, n) { "use strict"; n.d(t, "a", (function () { return o })); var r = n(4), i = n(29), o = function () { function e(e, t) { var n = this; this.fireAfterUpdate = t, this._listeners = [], this._listener = function (e) { return n._listeners.forEach((function (t) { return t(e) })) }, this.hash = function () { return Object(i.e)(n._get()).hash }, this.path = function () { return Object(i.e)(n._get()).path }, this.search = function () { return Object(i.b)(Object(i.e)(n._get()).search) }, this._location = r.Bb.location, this._history = r.Bb.history } return e.prototype.url = function (e, t) { return void 0 === t && (t = !0), Object(r.T)(e) && e !== this._get() && (this._set(null, null, e, t), this.fireAfterUpdate && this._listeners.forEach((function (t) { return t({ url: e }) }))), Object(i.a)(this) }, e.prototype.onChange = function (e) { var t = this; return this._listeners.push(e), function () { return Object(r.Ab)(t._listeners, e) } }, e.prototype.dispose = function (e) { Object(r.z)(this._listeners) }, e }() }, function (e, t, n) { "use strict"; n.r(t); var r = n(137); for (var i in r) ["default"].indexOf(i) < 0 && function (e) { n.d(t, e, (function () { return r[e] })) }(i); var o = n(93); n.d(t, "resolvablesBuilder", (function () { return o.b })), n.d(t, "StateBuilder", (function () { return o.a })); var a = n(44); n.d(t, "StateObject", (function () { return a.a })); var s = n(94); n.d(t, "StateMatcher", (function () { return s.a })); var l = n(95); n.d(t, "StateQueueManager", (function () { return l.a })); var c = n(96); n.d(t, "StateRegistry", (function () { return c.a })); var u = n(97); n.d(t, "StateService", (function () { return u.a })); var d = n(26); n.d(t, "TargetState", (function () { return d.a })) }, function (e, t, n) { "use strict"; n.d(t, "a", (function () { return s })); var r = n(0), i = n(3), o = n(62), a = n(1), s = function () { function e(t) { return e.create(t || {}) } return e.create = function (t) { t = e.isStateClass(t) ? new t : t; var n = Object(r.A)(Object(r.A)(t, e.prototype)); return t.$$state = function () { return n }, n.self = t, n.__stateObjectCache = { nameGlob: o.a.fromString(n.name) }, n }, e.prototype.is = function (e) { return this === e || this.self === e || this.fqn() === e }, e.prototype.fqn = function () { if (!(this.parent && this.parent instanceof this.constructor)) return this.name; var e = this.parent.fqn(); return e ? e + "." + this.name : this.name }, e.prototype.root = function () { return this.parent && this.parent.root() || this }, e.prototype.parameters = function (e) { return ((e = Object(r.o)(e, { inherit: !0, matchingKeys: null })).inherit && this.parent && this.parent.parameters() || []).concat(Object(r.U)(this.params)).filter((function (t) { return !e.matchingKeys || e.matchingKeys.hasOwnProperty(t.id) })) }, e.prototype.parameter = function (e, t) { return void 0 === t && (t = {}), this.url && this.url.parameter(e, t) || Object(r.t)(Object(r.U)(this.params), Object(i.o)("id", e)) || t.inherit && this.parent && this.parent.parameter(e) }, e.prototype.toString = function () { return this.fqn() }, e.isStateClass = function (e) { return Object(a.d)(e) && !0 === e.__uiRouterState }, e.isStateDeclaration = function (e) { return Object(a.d)(e.$$state) }, e.isState = function (e) { return Object(a.i)(e.__stateObjectCache) }, e }() }, function (e, t, n) { "use strict"; n.d(t, "c", (function () { return o })), n.d(t, "a", (function () { return a })), n.d(t, "b", (function () { return s })); var r = n(4), i = n(14); function o(e, t, n) { var i = Object(r.cb)(t) ? [t] : t; return !!(Object(r.U)(i) ? i : function (e) { for (var t = i, n = 0; n < t.length; n++) { var o = new r.b(t[n]); if (o && o.matches(e.name) || !o && t[n] === e.name) return !0 } return !1 })(e, n) } var a = function () { function e(e, t, n, r, i, o) { void 0 === o && (o = {}), this.tranSvc = e, this.eventType = t, this.callback = n, this.matchCriteria = r, this.removeHookFromRegistry = i, this.invokeCount = 0, this._deregistered = !1, this.priority = o.priority || 0, this.bind = o.bind || null, this.invokeLimit = o.invokeLimit } return e.prototype._matchingNodes = function (e, t, n) { if (!0 === t) return e; var r = e.filter((function (e) { return o(e.state, t, n) })); return r.length ? r : null }, e.prototype._getDefaultMatchCriteria = function () { return Object(r.ib)(this.tranSvc._pluginapi._getPathTypes(), (function () { return !0 })) }, e.prototype._getMatchingNodes = function (e, t) { var n = this, o = Object(r.C)(this._getDefaultMatchCriteria(), this.matchCriteria); return Object(r.Tb)(this.tranSvc._pluginapi._getPathTypes()).reduce((function (a, s) { var l = s.scope === i.b.STATE, c = e[s.name] || [], u = l ? c : [Object(r.Lb)(c)]; return a[s.name] = n._matchingNodes(u, o[s.name], t), a }), {}) }, e.prototype.matches = function (e, t) { var n = this._getMatchingNodes(e, t); return Object(r.Tb)(n).every(r.M) ? n : null }, e.prototype.deregister = function () { this.removeHookFromRegistry(this), this._deregistered = !0 }, e }(); function s(e, t, n) { var i = (e._registeredHooks = e._registeredHooks || {})[n.name] = [], o = Object(r.Ab)(i); function s(e, r, s) { void 0 === s && (s = {}); var l = new a(t, n, r, e, o, s); return i.push(l), l.deregister.bind(l) } return e[n.name] = s, s } }, function (e, t, n) { var r = n(259), i = n(264); e.exports = function (e, t) { var n = i(e, t); return r(n) ? n : void 0 } }, function (e, t, n) { var r = n(58), i = n(260), o = n(261), a = r ? r.toStringTag : void 0; e.exports = function (e) { return null == e ? void 0 === e ? "[object Undefined]" : "[object Null]" : a && a in Object(e) ? i(e) : o(e) } }, function (e, t, n) { var r = n(153), i = n(284), o = n(36); e.exports = function (e) { return o(e) ? r(e, !0) : i(e) } }, function (e, t) { e.exports = function (e) { return e } }, function (e, t, n) { "use strict"; n.d(t, "a", (function () { return i })); var r = n(0), i = function () { function e(e, t) { void 0 === e && (e = []), void 0 === t && (t = null), this._items = e, this._limit = t, this._evictListeners = [], this.onEvict = Object(r.K)(this._evictListeners) } return e.prototype.enqueue = function (e) { var t = this._items; return t.push(e), this._limit && t.length > this._limit && this.evict(), e }, e.prototype.evict = function () { var e = this._items.shift(); return this._evictListeners.forEach((function (t) { return t(e) })), e }, e.prototype.dequeue = function () { if (this.size()) return this._items.splice(0, 1)[0] }, e.prototype.clear = function () { var e = this._items; return this._items = [], e }, e.prototype.size = function () { return this._items.length }, e.prototype.remove = function (e) { var t = this._items.indexOf(e); return t > -1 && this._items.splice(t, 1)[0] }, e.prototype.peekTail = function () { return this._items[this._items.length - 1] }, e.prototype.peekHead = function () { if (this.size()) return this._items[0] }, e }() }, function (e, t, n) { "use strict"; n.d(t, "a", (function () { return o })); var r = n(0), i = n(1), o = function () { function e(e) { this.pattern = /.*/, this.inherit = !0, Object(r.r)(this, e) } return e.prototype.is = function (e, t) { return !0 }, e.prototype.encode = function (e, t) { return e }, e.prototype.decode = function (e, t) { return e }, e.prototype.equals = function (e, t) { return e == t }, e.prototype.$subPattern = function () { var e = this.pattern.toString(); return e.substr(1, e.length - 2) }, e.prototype.toString = function () { return "{ParamType:" + this.name + "}" }, e.prototype.$normalize = function (e) { return this.is(e) ? e : this.decode(e) }, e.prototype.$asArray = function (e, t) { if (!e) return this; if ("auto" === e && !t) throw new Error("'auto' array mode is for query parameters only"); return new a(this, e) }, e }(); function a(e, t) { var n = this; function o(e) { return Object(i.a)(e) ? e : Object(i.c)(e) ? [e] : [] } function a(e, n) { return function (a) { if (Object(i.a)(a) && 0 === a.length) return a; var s = o(a), l = Object(r.B)(s, e); return !0 === n ? 0 === Object(r.s)(l, (function (e) { return !e })).length : function (e) { switch (e.length) { case 0: return; case 1: return "auto" === t ? e[0] : e; default: return e } }(l) } } function s(e) { return function (t, n) { var r = o(t), i = o(n); if (r.length !== i.length) return !1; for (var a = 0; a < r.length; a++)if (!e(r[a], i[a])) return !1; return !0 } } ["encode", "decode", "equals", "$normalize"].forEach((function (t) { var r = e[t].bind(e), i = "equals" === t ? s : a; n[t] = i(r) })), Object(r.r)(this, { dynamic: e.dynamic, name: e.name, pattern: e.pattern, inherit: e.inherit, raw: e.raw, is: a(e.is.bind(e), !0), $arrayMode: t }) } }, function (e, t, n) { "use strict"; n.d(t, "a", (function () { return a })); var r = n(0), i = n(3), o = n(16), a = function () { function e(t) { if (t instanceof e) { var n = t; this.state = n.state, this.paramSchema = n.paramSchema.slice(), this.paramValues = Object(r.r)({}, n.paramValues), this.resolvables = n.resolvables.slice(), this.views = n.views && n.views.slice() } else { var i = t; this.state = i, this.paramSchema = i.parameters({ inherit: !1 }), this.paramValues = {}, this.resolvables = i.resolvables.map((function (e) { return e.clone() })) } } return e.prototype.clone = function () { return new e(this) }, e.prototype.applyRawParams = function (e) { return this.paramValues = this.paramSchema.reduce((function (t, n) { return Object(r.h)(t, [(i = n).id, i.value(e[i.id])]); var i }), {}), this }, e.prototype.parameter = function (e) { return Object(r.t)(this.paramSchema, Object(i.o)("id", e)) }, e.prototype.equals = function (e, t) { var n = this.diff(e, t); return n && 0 === n.length }, e.prototype.diff = function (e, t) { if (this.state !== e.state) return !1; var n = t ? t(this) : this.paramSchema; return o.b.changed(n, this.paramValues, e.paramValues) }, e.clone = function (e) { return e.clone() }, e }() }, function (e, t, n) { "use strict"; n.d(t, "a", (function () { return x })); var r = n(10), i = n(6), o = n(7), a = n(0), s = n(1), l = n(3), c = n(14), u = n(17), d = n(45), p = n(98), f = n(18), h = n(16), g = n(15), m = n(27), v = n(9), b = n(4), y = Object(l.n)("self"), x = function () { function e(e, t, n) { var r = this; if (this._deferred = i.b.$q.defer(), this.promise = this._deferred.promise, this._registeredHooks = {}, this._hookBuilder = new p.a(this), this.isActive = function () { return r.router.globals.transition === r }, this.router = n, this._targetState = t, !t.valid()) throw new Error(t.error()); this._options = Object(a.r)({ current: Object(l.p)(this) }, t.options()), this.$id = n.transitionService._transitionCount++; var o = f.a.buildToPath(e, t); this._treeChanges = f.a.treeChanges(e, o, this._options.reloadState), this.createTransitionHookRegFns(); var s = this._hookBuilder.buildHooksForPhase(c.a.CREATE); u.a.invokeHooks(s, (function () { return null })), this.applyViewConfigs(n) } return e.prototype.onBefore = function (e, t, n) { }, e.prototype.onStart = function (e, t, n) { }, e.prototype.onExit = function (e, t, n) { }, e.prototype.onRetain = function (e, t, n) { }, e.prototype.onEnter = function (e, t, n) { }, e.prototype.onFinish = function (e, t, n) { }, e.prototype.onSuccess = function (e, t, n) { }, e.prototype.onError = function (e, t, n) { }, e.prototype.createTransitionHookRegFns = function () { var e = this; this.router.transitionService._pluginapi._getEvents().filter((function (e) { return e.hookPhase !== c.a.CREATE })).forEach((function (t) { return Object(d.b)(e, e.router.transitionService, t) })) }, e.prototype.getHooks = function (e) { return this._registeredHooks[e] }, e.prototype.applyViewConfigs = function (e) { var t = this._treeChanges.entering.map((function (e) { return e.state })); f.a.applyViewConfigs(e.transitionService.$view, this._treeChanges.to, t) }, e.prototype.$from = function () { return Object(a.P)(this._treeChanges.from).state }, e.prototype.$to = function () { return Object(a.P)(this._treeChanges.to).state }, e.prototype.from = function () { return this.$from().self }, e.prototype.to = function () { return this.$to().self }, e.prototype.targetState = function () { return this._targetState }, e.prototype.is = function (t) { return t instanceof e ? this.is({ to: t.$to().name, from: t.$from().name }) : !(t.to && !Object(d.c)(this.$to(), t.to, this) || t.from && !Object(d.c)(this.$from(), t.from, this)) }, e.prototype.params = function (e) { return void 0 === e && (e = "to"), Object.freeze(this._treeChanges[e].map(Object(l.n)("paramValues")).reduce(a.D, {})) }, e.prototype.paramsChanged = function () { var e = this.params("from"), t = this.params("to"), n = [].concat(this._treeChanges.to).concat(this._treeChanges.from).map((function (e) { return e.paramSchema })).reduce(b.G, []).reduce(b.Pb, []); return h.b.changed(n, e, t).reduce((function (e, n) { return e[n.id] = t[n.id], e }), {}) }, e.prototype.injector = function (e, t) { void 0 === t && (t = "to"); var n = this._treeChanges[t]; return e && (n = f.a.subPath(n, (function (t) { return t.state === e || t.state.name === e }))), new m.b(n).injector() }, e.prototype.getResolveTokens = function (e) { return void 0 === e && (e = "to"), new m.b(this._treeChanges[e]).getTokens() }, e.prototype.addResolvable = function (e, t) { void 0 === t && (t = ""), e = Object(l.h)(g.a)(e) ? e : new g.a(e); var n = "string" == typeof t ? t : t.name, r = this._treeChanges.to, i = Object(a.t)(r, (function (e) { return e.state.name === n })); new m.b(r).addResolvables([e], i.state) }, e.prototype.redirectedFrom = function () { return this._options.redirectedFrom || null }, e.prototype.originalTransition = function () { var e = this.redirectedFrom(); return e && e.originalTransition() || this }, e.prototype.options = function () { return this._options }, e.prototype.entering = function () { return Object(a.B)(this._treeChanges.entering, Object(l.n)("state")).map(y) }, e.prototype.exiting = function () { return Object(a.B)(this._treeChanges.exiting, Object(l.n)("state")).map(y).reverse() }, e.prototype.retained = function () { return Object(a.B)(this._treeChanges.retained, Object(l.n)("state")).map(y) }, e.prototype.views = function (e, t) { void 0 === e && (e = "entering"); var n = this._treeChanges[e]; return (n = t ? n.filter(Object(l.o)("state", t)) : n).map(Object(l.n)("views")).filter(a.y).reduce(a.T, []) }, e.prototype.treeChanges = function (e) { return e ? this._treeChanges[e] : this._treeChanges }, e.prototype.redirect = function (e) { for (var t = 1, n = this; null != (n = n.redirectedFrom());)if (++t > 20) throw new Error("Too many consecutive Transition redirects (20+)"); var r = { redirectedFrom: this, source: "redirect" }; "url" === this.options().source && !1 !== e.options().location && (r.location = "replace"); var i = Object(a.r)({}, this.options(), e.options(), r); e = e.withOptions(i, !0); var o, s = this.router.transitionService.create(this._treeChanges.from, e), c = this._treeChanges.entering, u = s._treeChanges.entering; return f.a.matching(u, c, f.a.nonDynamicParams).filter(Object(l.i)((o = e.options().reloadState, function (e) { return o && e.state.includes[o.name] }))).forEach((function (e, t) { e.resolvables = c[t].resolvables })), s }, e.prototype._changedParams = function () { var e = this._treeChanges; if (!this._options.reload && (!e.exiting.length && !e.entering.length && e.to.length === e.from.length && !Object(a.i)(e.to, e.from).map((function (e) { return e[0].state !== e[1].state })).reduce(a.g, !1))) { var t = e.to.map((function (e) { return e.paramSchema })), n = [e.to, e.from].map((function (e) { return e.map((function (e) { return e.paramValues })) })), r = n[0], i = n[1]; return Object(a.i)(t, r, i).map((function (e) { var t = e[0], n = e[1], r = e[2]; return h.b.changed(t, n, r) })).reduce(a.T, []) } }, e.prototype.dynamic = function () { var e = this._changedParams(); return !!e && e.map((function (e) { return e.dynamic })).reduce(a.g, !1) }, e.prototype.ignored = function () { return !!this._ignoredReason() }, e.prototype._ignoredReason = function () { var e = this.router.globals.transition, t = this._options.reloadState, n = function (e, n) { if (e.length !== n.length) return !1; var r = f.a.matching(e, n); return e.length === r.filter((function (e) { return !t || !e.state.includes[t.name] })).length }, r = this.treeChanges(), i = e && e.treeChanges(); return i && n(i.to, r.to) && n(i.exiting, r.exiting) ? "SameAsPending" : 0 === r.exiting.length && 0 === r.entering.length && n(r.from, r.to) ? "SameAsCurrent" : void 0 }, e.prototype.run = function () { var e = this, t = u.a.runAllHooks, n = function (t) { return e._hookBuilder.buildHooksForPhase(t) }, o = n(c.a.BEFORE); return u.a.invokeHooks(o, (function () { var t = e.router.globals; return t.lastStartedTransitionId = e.$id, t.transition = e, t.transitionHistory.enqueue(e), r.c.traceTransitionStart(e), i.b.$q.when(void 0) })).then((function () { var e = n(c.a.RUN); return u.a.invokeHooks(e, (function () { return i.b.$q.when(void 0) })) })).then((function () { r.c.traceSuccess(e.$to(), e), e.success = !0, e._deferred.resolve(e.to()), t(n(c.a.SUCCESS)) }), (function (i) { r.c.traceError(i, e), e.success = !1, e._deferred.reject(i), e._error = i, t(n(c.a.ERROR)) })), this.promise }, e.prototype.valid = function () { return !this.error() || void 0 !== this.success }, e.prototype.abort = function () { Object(s.m)(this.success) && (this._aborted = !0) }, e.prototype.error = function () { var e = this.$to(); if (e.self.abstract) return v.b.invalid("Cannot transition to abstract state '" + e.name + "'"); var t = e.parameters(), n = this.params(), r = t.filter((function (e) { return !e.validates(n[e.id]) })); if (r.length) { var i = r.map((function (e) { return "[" + e.id + ":" + Object(o.m)(n[e.id]) + "]" })).join(", "), a = "The following parameter values are not valid for state '" + e.name + "': " + i; return v.b.invalid(a) } return !1 === this.success ? this._error : void 0 }, e.prototype.toString = function () { var e = this.from(), t = this.to(), n = function (e) { return null !== e["#"] && void 0 !== e["#"] ? e : Object(a.F)(e, ["#"]) }; return "Transition#" + this.$id + "( '" + (Object(s.i)(e) ? e.name : e) + "'" + Object(o.m)(n(this._treeChanges.from.map(Object(l.n)("paramValues")).reduce(a.D, {}))) + " -> " + (this.valid() ? "" : "(X) ") + "'" + (Object(s.i)(t) ? t.name : t) + "'" + Object(o.m)(n(this.params())) + " )" }, e.diToken = e, e }() }, function (e, t, n) { "use strict"; n.d(t, "b", (function () { return l })), n.d(t, "a", (function () { return c })); var r = n(32), i = n(1), o = n(0), a = n(3), s = n(44), l = function () { function e(e) { this.router = e } return e.prototype.compile = function (e) { return this.router.urlMatcherFactory.compile(e) }, e.prototype.create = function (e, t) { var n = this, o = s.a.isState, l = s.a.isStateDeclaration, u = Object(a.l)([[i.l, function (e) { return u(n.compile(e)) }], [Object(a.h)(r.a), function (e) { return n.fromUrlMatcher(e, t) }], [Object(a.j)(o, l), function (e) { return n.fromState(e, n.router) }], [Object(a.h)(RegExp), function (e) { return n.fromRegExp(e, t) }], [i.d, function (e) { return new c(e, t) }]]), d = u(e); if (!d) throw new Error("invalid 'what' in when()"); return d }, e.prototype.fromUrlMatcher = function (e, t) { var n = t; Object(i.l)(t) && (t = this.router.urlMatcherFactory.compile(t)), Object(a.h)(r.a)(t) && (n = function (e) { return t.format(e) }); var s = { urlMatcher: e, matchPriority: function (t) { var n = e.parameters().filter((function (e) { return e.isOptional })); return n.length ? n.filter((function (e) { return t[e.id] })).length / n.length : 1e-6 }, type: "URLMATCHER" }; return Object(o.r)(new c((function (t) { var n = e.exec(t.path, t.search, t.hash); return e.validates(n) && n }), n), s) }, e.prototype.fromState = function (e, t) { var n = s.a.isStateDeclaration(e) ? e.$$state() : e, r = { state: n, type: "STATE" }; return Object(o.r)(this.fromUrlMatcher(n.url, (function (e) { var r = t.stateService, i = t.globals; r.href(n, e) !== r.href(i.current, i.params) && r.transitionTo(n, e, { inherit: !0, source: "url" }) })), r) }, e.prototype.fromRegExp = function (e, t) { if (e.global || e.sticky) throw new Error("Rule RegExp must not be global or sticky"); var n = Object(i.l)(t) ? function (e) { return t.replace(/\$(\$|\d{1,2})/, (function (t, n) { return e["$" === n ? 0 : Number(n)] })) } : t, r = { regexp: e, type: "REGEXP" }; return Object(o.r)(new c((function (t) { return e.exec(t.path) }), n), r) }, e.isUrlRule = function (e) { return e && ["type", "match", "handler"].every((function (t) { return Object(i.c)(e[t]) })) }, e }(), c = function (e, t) { var n = this; this.match = e, this.type = "RAW", this.matchPriority = function (e) { return 0 - n.$id }, this.handler = t || o.y } }, function (e, t, n) { "use strict"; n.d(t, "b", (function () { return i })), n.d(t, "c", (function () { return a })), n.d(t, "a", (function () { return l })); var r = n(2); function i() { var e = null; return function (t, n) { return e = e || r.services.$injector.get("$templateFactory"), [new l(t, n, e)] } } var o = function (e, t) { return e.reduce((function (e, n) { return e || Object(r.isDefined)(t[n]) }), !1) }; function a(e) { if (!e.parent) return {}; var t = ["component", "bindings", "componentProvider"], n = ["templateProvider", "templateUrl", "template", "notify", "async"].concat(["controller", "controllerProvider", "controllerAs", "resolveAs"]), i = t.concat(n); if (Object(r.isDefined)(e.views) && o(i, e)) throw new Error("State '" + e.name + "' has a 'views' object. It cannot also have \"view properties\" at the state level. Move the following properties into a view (in the 'views' object): " + i.filter((function (t) { return Object(r.isDefined)(e[t]) })).join(", ")); var a = {}, s = e.views || { $default: Object(r.pick)(e, i) }; return Object(r.forEach)(s, (function (i, s) { if (s = s || "$default", Object(r.isString)(i) && (i = { component: i }), i = Object(r.extend)({}, i), o(t, i) && o(n, i)) throw new Error("Cannot combine: " + t.join("|") + " with: " + n.join("|") + " in stateview: '" + s + "@" + e.name + "'"); i.resolveAs = i.resolveAs || "$resolve", i.$type = "ng1", i.$context = e, i.$name = s; var l = r.ViewService.normalizeUIViewTarget(i.$context, i.$name); i.$uiViewName = l.uiViewName, i.$uiViewContextAnchor = l.uiViewContextAnchor, a[s] = i })), a } var s = 0, l = function () { function e(e, t, n) { var r = this; this.path = e, this.viewDecl = t, this.factory = n, this.$id = s++, this.loaded = !1, this.getTemplate = function (e, t) { return r.component ? r.factory.makeComponentTemplate(e, t, r.component, r.viewDecl.bindings) : r.template } } return e.prototype.load = function () { var e = this, t = r.services.$q, n = new r.ResolveContext(this.path), i = this.path.reduce((function (e, t) { return Object(r.extend)(e, t.paramValues) }), {}), o = { template: t.when(this.factory.fromConfig(this.viewDecl, i, n)), controller: t.when(this.getController(n)) }; return t.all(o).then((function (t) { return r.trace.traceViewServiceEvent("Loaded", e), e.controller = t.controller, Object(r.extend)(e, t.template), e })) }, e.prototype.getController = function (e) { var t = this.viewDecl.controllerProvider; if (!Object(r.isInjectable)(t)) return this.viewDecl.controller; var n = r.services.$injector.annotate(t), i = Object(r.isArray)(t) ? Object(r.tail)(t) : t; return new r.Resolvable("", i, n).get(e) }, e }() }, function (e, t, n) { "use strict"; n.d(t, "b", (function () { return z })), n.d(t, "a", (function () { return L })); var r = n(14), i = n(53), o = n(45), a = n(99), s = n(38), l = n(4); function c(e) { e.addResolvable(s.b.fromData(a.a, e.router), ""), e.addResolvable(s.b.fromData(i.a, e), ""), e.addResolvable(s.b.fromData("$transition$", e), ""), e.addResolvable(s.b.fromData("$stateParams", e.params()), ""), e.entering().forEach((function (t) { e.addResolvable(s.b.fromData("$state$", t), t) })) } var u = ["$transition$", i.a], d = Object(l.N)(u), p = function (e) { var t = Object(l.Tb)(e.treeChanges()).reduce(l.Rb, []).reduce(l.Pb, []), n = function (e) { return d(e.token) ? s.b.fromData(e.token, null) : e }; t.forEach((function (e) { e.resolvables = e.resolvables.map(n) })) }, f = n(1), h = n(6), g = n(26), m = function (e) { var t = e.to().redirectTo; if (t) { var n = e.router.stateService; return Object(f.d)(t) ? h.b.$q.when(t(e)).then(r) : r(t) } function r(t) { if (t) return t instanceof g.a ? t : Object(f.l)(t) ? n.target(t, e.params(), e.options()) : t.state || t.params ? n.target(t.state || e.to(), t.params || e.params(), e.options()) : void 0 } }; function v(e) { return function (t, n) { return (0, n.$$state()[e])(t, n) } } var b = v("onExit"), y = v("onRetain"), x = v("onEnter"), w = n(0), k = n(27), A = n(3), E = function (e) { return new k.b(e.treeChanges().to).resolvePath("EAGER", e).then(w.E) }, S = function (e, t) { return new k.b(e.treeChanges().to).subContext(t.$$state()).resolvePath("LAZY", e).then(w.E) }, $ = function (e) { return new k.b(e.treeChanges().to).resolvePath("LAZY", e).then(w.E) }, C = function (e) { var t = h.b.$q, n = e.views("entering"); if (n.length) return t.all(n.map((function (e) { return t.when(e.load()) }))).then(w.E) }, _ = function (e) { var t = e.views("entering"), n = e.views("exiting"); if (t.length || n.length) { var r = e.router.viewService; n.forEach((function (e) { return r.deactivateViewConfig(e) })), t.forEach((function (e) { return r.activateViewConfig(e) })), r.sync() } }, O = function (e) { var t = e.router.globals, n = function () { t.transition === e && (t.transition = null) }; e.onSuccess({}, (function () { t.successfulTransitions.enqueue(e), t.$current = e.$to(), t.current = t.$current.self, Object(w.m)(e.params(), t.params) }), { priority: 1e4 }), e.promise.then(n, n) }, T = function (e) { var t = e.options(), n = e.router.stateService, r = e.router.urlRouter; if ("url" !== t.source && t.location && n.$current.navigable) { var i = { replace: "replace" === t.location }; r.push(n.$current.navigable.url, n.params, i) } r.update(!0) }, j = n(115), P = n(107), D = n(17), R = n(10), I = n(9); function N(e) { var t = e._ignoredReason(); if (t) { R.c.traceTransitionIgnored(e); var n = e.router.globals.transition; return "SameAsCurrent" === t && n && n.abort(), I.b.ignored().toPromise() } } function M(e) { if (!e.valid()) throw new Error(e.error().toString()) } var z = { location: !0, relative: null, inherit: !1, notify: !0, reload: !1, supercede: !0, custom: {}, current: function () { return null }, source: "unknown" }, L = function () { function e(e) { this._transitionCount = 0, this._eventTypes = [], this._registeredHooks = {}, this._criteriaPaths = {}, this._router = e, this.$view = e.viewService, this._deregisterHookFns = {}, this._pluginapi = Object(w.n)(Object(A.p)(this), {}, Object(A.p)(this), ["_definePathType", "_defineEvent", "_getPathTypes", "_getEvents", "getHooks"]), this._defineCorePaths(), this._defineCoreEvents(), this._registerCoreTransitionHooks(), e.globals.successfulTransitions.onEvict(p) } return e.prototype.onCreate = function (e, t, n) { }, e.prototype.onBefore = function (e, t, n) { }, e.prototype.onStart = function (e, t, n) { }, e.prototype.onExit = function (e, t, n) { }, e.prototype.onRetain = function (e, t, n) { }, e.prototype.onEnter = function (e, t, n) { }, e.prototype.onFinish = function (e, t, n) { }, e.prototype.onSuccess = function (e, t, n) { }, e.prototype.onError = function (e, t, n) { }, e.prototype.dispose = function (e) { Object(w.U)(this._registeredHooks).forEach((function (e) { return e.forEach((function (t) { t._deregistered = !0, Object(w.L)(e, t) })) })) }, e.prototype.create = function (e, t) { return new i.a(e, t, this._router) }, e.prototype._defineCoreEvents = function () { var e = r.a, t = D.a, n = this._criteriaPaths; this._defineEvent("onCreate", e.CREATE, 0, n.to, !1, t.LOG_REJECTED_RESULT, t.THROW_ERROR, !0), this._defineEvent("onBefore", e.BEFORE, 0, n.to), this._defineEvent("onStart", e.RUN, 0, n.to), this._defineEvent("onExit", e.RUN, 100, n.exiting, !0), this._defineEvent("onRetain", e.RUN, 200, n.retained), this._defineEvent("onEnter", e.RUN, 300, n.entering), this._defineEvent("onFinish", e.RUN, 400, n.to), this._defineEvent("onSuccess", e.SUCCESS, 0, n.to, !1, t.LOG_REJECTED_RESULT, t.LOG_ERROR, !0), this._defineEvent("onError", e.ERROR, 0, n.to, !1, t.LOG_REJECTED_RESULT, t.LOG_ERROR, !0) }, e.prototype._defineCorePaths = function () { var e = r.b.STATE, t = r.b.TRANSITION; this._definePathType("to", t), this._definePathType("from", t), this._definePathType("exiting", e), this._definePathType("retained", e), this._definePathType("entering", e) }, e.prototype._defineEvent = function (e, t, n, r, i, a, s, l) { void 0 === i && (i = !1), void 0 === a && (a = D.a.HANDLE_RESULT), void 0 === s && (s = D.a.REJECT_ERROR), void 0 === l && (l = !1); var c = new P.a(e, t, n, r, i, a, s, l); this._eventTypes.push(c), Object(o.b)(this, this, c) }, e.prototype._getEvents = function (e) { return (Object(f.c)(e) ? this._eventTypes.filter((function (t) { return t.hookPhase === e })) : this._eventTypes.slice()).sort((function (e, t) { var n = e.hookPhase - t.hookPhase; return 0 === n ? e.hookOrder - t.hookOrder : n })) }, e.prototype._definePathType = function (e, t) { this._criteriaPaths[e] = { name: e, scope: t } }, e.prototype._getPathTypes = function () { return this._criteriaPaths }, e.prototype.getHooks = function (e) { return this._registeredHooks[e] }, e.prototype._registerCoreTransitionHooks = function () { var e = this._deregisterHookFns; e.addCoreResolves = this.onCreate({}, c), e.ignored = function (e) { return e.onBefore({}, N, { priority: -9999 }) }(this), e.invalid = function (e) { return e.onBefore({}, M, { priority: -1e4 }) }(this), e.redirectTo = function (e) { return e.onStart({ to: function (e) { return !!e.redirectTo } }, m) }(this), e.onExit = function (e) { return e.onExit({ exiting: function (e) { return !!e.onExit } }, b) }(this), e.onRetain = function (e) { return e.onRetain({ retained: function (e) { return !!e.onRetain } }, y) }(this), e.onEnter = function (e) { return e.onEnter({ entering: function (e) { return !!e.onEnter } }, x) }(this), e.eagerResolve = function (e) { return e.onStart({}, E, { priority: 1e3 }) }(this), e.lazyResolve = function (e) { return e.onEnter({ entering: Object(A.p)(!0) }, S, { priority: 1e3 }) }(this), e.resolveAll = function (e) { return e.onFinish({}, $, { priority: 1e3 }) }(this), e.loadViews = function (e) { return e.onFinish({}, C) }(this), e.activateViews = function (e) { return e.onSuccess({}, _) }(this), e.updateGlobals = function (e) { return e.onCreate({}, O) }(this), e.updateUrl = function (e) { return e.onSuccess({}, T, { priority: 9999 }) }(this), e.lazyLoad = Object(j.b)(this) }, e }() }, function (e, t) { e.exports = function (e, t) { return e === t || e != e && t != t } }, function (e, t, n) { var r = n(31).Symbol; e.exports = r }, function (e, t, n) { (function (e) { var r = n(31), i = n(280), o = t && !t.nodeType && t, a = o && "object" == typeof e && e && !e.nodeType && e, s = a && a.exports === o ? r.Buffer : void 0, l = (s ? s.isBuffer : void 0) || i; e.exports = l }).call(this, n(80)(e)) }, function (e, t, n) { var r = n(289), i = n(117), o = n(290), a = n(162), s = n(291), l = n(47), c = n(151), u = c(r), d = c(i), p = c(o), f = c(a), h = c(s), g = l; (r && "[object DataView]" != g(new r(new ArrayBuffer(1))) || i && "[object Map]" != g(new i) || o && "[object Promise]" != g(o.resolve()) || a && "[object Set]" != g(new a) || s && "[object WeakMap]" != g(new s)) && (g = function (e) { var t = l(e), n = "[object Object]" == t ? e.constructor : void 0, r = n ? c(n) : ""; if (r) switch (r) { case u: return "[object DataView]"; case d: return "[object Map]"; case p: return "[object Promise]"; case f: return "[object Set]"; case h: return "[object WeakMap]" }return t }), e.exports = g }, function (e, t, n) { var r = n(47), i = n(34); e.exports = function (e) { return "symbol" == typeof e || i(e) && "[object Symbol]" == r(e) } }, function (e, t, n) { "use strict"; n.d(t, "a", (function () { return r })); var r = function () { function e(e) { this.text = e, this.glob = e.split("."); var t = this.text.split(".").map((function (e) { return "**" === e ? "(?:|(?:\\.[^.]*)*)" : "*" === e ? "\\.[^.]*" : "\\." + e })).join(""); this.regexp = new RegExp("^" + t + "$") } return e.is = function (e) { return !!/[!,*]+/.exec(e) }, e.fromString = function (t) { return e.is(t) ? new e(t) : null }, e.prototype.matches = function (e) { return this.regexp.test("." + e) }, e }() }, function (e, t, n) {
174
+ (function (t) {
175
+ var n = function (e) { var t = /(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i, n = 0, r = {}, i = { manual: e.Prism && e.Prism.manual, disableWorkerMessageHandler: e.Prism && e.Prism.disableWorkerMessageHandler, util: { encode: function e(t) { return t instanceof o ? new o(t.type, e(t.content), t.alias) : Array.isArray(t) ? t.map(e) : t.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/\u00a0/g, " ") }, type: function (e) { return Object.prototype.toString.call(e).slice(8, -1) }, objId: function (e) { return e.__id || Object.defineProperty(e, "__id", { value: ++n }), e.__id }, clone: function e(t, n) { var r, o; switch (n = n || {}, i.util.type(t)) { case "Object": if (o = i.util.objId(t), n[o]) return n[o]; for (var a in r = {}, n[o] = r, t) t.hasOwnProperty(a) && (r[a] = e(t[a], n)); return r; case "Array": return o = i.util.objId(t), n[o] ? n[o] : (r = [], n[o] = r, t.forEach((function (t, i) { r[i] = e(t, n) })), r); default: return t } }, getLanguage: function (e) { for (; e;) { var n = t.exec(e.className); if (n) return n[1].toLowerCase(); e = e.parentElement } return "none" }, setLanguage: function (e, n) { e.className = e.className.replace(RegExp(t, "gi"), ""), e.classList.add("language-" + n) }, currentScript: function () { if ("undefined" == typeof document) return null; if ("currentScript" in document) return document.currentScript; try { throw new Error } catch (r) { var e = (/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(r.stack) || [])[1]; if (e) { var t = document.getElementsByTagName("script"); for (var n in t) if (t[n].src == e) return t[n] } return null } }, isActive: function (e, t, n) { for (var r = "no-" + t; e;) { var i = e.classList; if (i.contains(t)) return !0; if (i.contains(r)) return !1; e = e.parentElement } return !!n } }, languages: { plain: r, plaintext: r, text: r, txt: r, extend: function (e, t) { var n = i.util.clone(i.languages[e]); for (var r in t) n[r] = t[r]; return n }, insertBefore: function (e, t, n, r) { var o = (r = r || i.languages)[e], a = {}; for (var s in o) if (o.hasOwnProperty(s)) { if (s == t) for (var l in n) n.hasOwnProperty(l) && (a[l] = n[l]); n.hasOwnProperty(s) || (a[s] = o[s]) } var c = r[e]; return r[e] = a, i.languages.DFS(i.languages, (function (t, n) { n === c && t != e && (this[t] = a) })), a }, DFS: function e(t, n, r, o) { o = o || {}; var a = i.util.objId; for (var s in t) if (t.hasOwnProperty(s)) { n.call(t, s, t[s], r || s); var l = t[s], c = i.util.type(l); "Object" !== c || o[a(l)] ? "Array" !== c || o[a(l)] || (o[a(l)] = !0, e(l, n, s, o)) : (o[a(l)] = !0, e(l, n, null, o)) } } }, plugins: {}, highlightAll: function (e, t) { i.highlightAllUnder(document, e, t) }, highlightAllUnder: function (e, t, n) { var r = { callback: n, container: e, selector: 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code' }; i.hooks.run("before-highlightall", r), r.elements = Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)), i.hooks.run("before-all-elements-highlight", r); for (var o, a = 0; o = r.elements[a++];)i.highlightElement(o, !0 === t, r.callback) }, highlightElement: function (t, n, r) { var o = i.util.getLanguage(t), a = i.languages[o]; i.util.setLanguage(t, o); var s = t.parentElement; s && "pre" === s.nodeName.toLowerCase() && i.util.setLanguage(s, o); var l = { element: t, language: o, grammar: a, code: t.textContent }; function c(e) { l.highlightedCode = e, i.hooks.run("before-insert", l), l.element.innerHTML = l.highlightedCode, i.hooks.run("after-highlight", l), i.hooks.run("complete", l), r && r.call(l.element) } if (i.hooks.run("before-sanity-check", l), (s = l.element.parentElement) && "pre" === s.nodeName.toLowerCase() && !s.hasAttribute("tabindex") && s.setAttribute("tabindex", "0"), !l.code) return i.hooks.run("complete", l), void (r && r.call(l.element)); if (i.hooks.run("before-highlight", l), l.grammar) if (n && e.Worker) { var u = new Worker(i.filename); u.onmessage = function (e) { c(e.data) }, u.postMessage(JSON.stringify({ language: l.language, code: l.code, immediateClose: !0 })) } else c(i.highlight(l.code, l.grammar, l.language)); else c(i.util.encode(l.code)) }, highlight: function (e, t, n) { var r = { code: e, grammar: t, language: n }; if (i.hooks.run("before-tokenize", r), !r.grammar) throw new Error('The language "' + r.language + '" has no grammar.'); return r.tokens = i.tokenize(r.code, r.grammar), i.hooks.run("after-tokenize", r), o.stringify(i.util.encode(r.tokens), r.language) }, tokenize: function (e, t) { var n = t.rest; if (n) { for (var r in n) t[r] = n[r]; delete t.rest } var u = new s; return l(u, u.head, e), function e(t, n, r, s, u, d) { for (var p in r) if (r.hasOwnProperty(p) && r[p]) { var f = r[p]; f = Array.isArray(f) ? f : [f]; for (var h = 0; h < f.length; ++h) { if (d && d.cause == p + "," + h) return; var g = f[h], m = g.inside, v = !!g.lookbehind, b = !!g.greedy, y = g.alias; if (b && !g.pattern.global) { var x = g.pattern.toString().match(/[imsuy]*$/)[0]; g.pattern = RegExp(g.pattern.source, x + "g") } for (var w = g.pattern || g, k = s.next, A = u; k !== n.tail && !(d && A >= d.reach); A += k.value.length, k = k.next) { var E = k.value; if (n.length > t.length) return; if (!(E instanceof o)) { var S, $ = 1; if (b) { if (!(S = a(w, A, t, v)) || S.index >= t.length) break; var C = S.index, _ = S.index + S[0].length, O = A; for (O += k.value.length; C >= O;)k = k.next, O += k.value.length; if (O -= k.value.length, A = O, k.value instanceof o) continue; for (var T = k; T !== n.tail && (O < _ || "string" == typeof T.value); T = T.next)$++, O += T.value.length; $--, E = t.slice(A, O), S.index -= A } else if (!(S = a(w, 0, E, v))) continue; C = S.index; var j = S[0], P = E.slice(0, C), D = E.slice(C + j.length), R = A + E.length; d && R > d.reach && (d.reach = R); var I = k.prev; P && (I = l(n, I, P), A += P.length), c(n, I, $); var N = new o(p, m ? i.tokenize(j, m) : j, y, j); if (k = l(n, I, N), D && l(n, k, D), $ > 1) { var M = { cause: p + "," + h, reach: R }; e(t, n, r, k.prev, A, M), d && M.reach > d.reach && (d.reach = M.reach) } } } } } }(e, u, t, u.head, 0), function (e) { var t = [], n = e.head.next; for (; n !== e.tail;)t.push(n.value), n = n.next; return t }(u) }, hooks: { all: {}, add: function (e, t) { var n = i.hooks.all; n[e] = n[e] || [], n[e].push(t) }, run: function (e, t) { var n = i.hooks.all[e]; if (n && n.length) for (var r, o = 0; r = n[o++];)r(t) } }, Token: o }; function o(e, t, n, r) { this.type = e, this.content = t, this.alias = n, this.length = 0 | (r || "").length } function a(e, t, n, r) { e.lastIndex = t; var i = e.exec(n); if (i && r && i[1]) { var o = i[1].length; i.index += o, i[0] = i[0].slice(o) } return i } function s() { var e = { value: null, prev: null, next: null }, t = { value: null, prev: e, next: null }; e.next = t, this.head = e, this.tail = t, this.length = 0 } function l(e, t, n) { var r = t.next, i = { value: n, prev: t, next: r }; return t.next = i, r.prev = i, e.length++, i } function c(e, t, n) { for (var r = t.next, i = 0; i < n && r !== e.tail; i++)r = r.next; t.next = r, r.prev = t, e.length -= i } if (e.Prism = i, o.stringify = function e(t, n) { if ("string" == typeof t) return t; if (Array.isArray(t)) { var r = ""; return t.forEach((function (t) { r += e(t, n) })), r } var o = { type: t.type, content: e(t.content, n), tag: "span", classes: ["token", t.type], attributes: {}, language: n }, a = t.alias; a && (Array.isArray(a) ? Array.prototype.push.apply(o.classes, a) : o.classes.push(a)), i.hooks.run("wrap", o); var s = ""; for (var l in o.attributes) s += " " + l + '="' + (o.attributes[l] || "").replace(/"/g, "&quot;") + '"'; return "<" + o.tag + ' class="' + o.classes.join(" ") + '"' + s + ">" + o.content + "</" + o.tag + ">" }, !e.document) return e.addEventListener ? (i.disableWorkerMessageHandler || e.addEventListener("message", (function (t) { var n = JSON.parse(t.data), r = n.language, o = n.code, a = n.immediateClose; e.postMessage(i.highlight(o, i.languages[r], r)), a && e.close() }), !1), i) : i; var u = i.util.currentScript(); function d() { i.manual || i.highlightAll() } if (u && (i.filename = u.src, u.hasAttribute("data-manual") && (i.manual = !0)), !i.manual) { var p = document.readyState; "loading" === p || "interactive" === p && u && u.defer ? document.addEventListener("DOMContentLoaded", d) : window.requestAnimationFrame ? window.requestAnimationFrame(d) : window.setTimeout(d, 16) } return i }("undefined" != typeof window ? window : "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : {});
176
+ /**
177
+ * Prism: Lightweight, robust, elegant syntax highlighting
178
+ *
179
+ * @license MIT <https://opensource.org/licenses/MIT>
180
+ * @author Lea Verou <https://lea.verou.me>
181
+ * @namespace
182
+ * @public
183
+ */e.exports && (e.exports = n), void 0 !== t && (t.Prism = n), n.languages.markup = {
184
+ comment: {
185
+ pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},n.languages.markup.tag.inside["attr-value"].inside.entity=n.languages.markup.entity,n.languages.markup.doctype.inside["internal-subset"].inside=n.languages.markup,n.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&amp;/,"&"))})),Object.defineProperty(n.languages.markup.tag,"addInlined",{value:function(e,t){var r={};r["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:n.languages[t]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var i={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};i["language-"+t]={pattern:/[\s\S]+/,inside:n.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:i},n.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(n.languages.markup.tag,"addAttribute",{value:function(e,t){n.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:n.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,n.languages.xml=n.languages.extend("markup",{}),n.languages.ssml=n.languages.xml,n.languages.atom=n.languages.xml,n.languages.rss=n.languages.xml,function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(n),n.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},n.languages.javascript=n.languages.extend("clike",{"class-name":[n.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),n.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,n.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:n.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:n.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:n.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:n.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:n.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),n.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:n.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),n.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),n.languages.markup&&(n.languages.markup.tag.addInlined("script","javascript"),n.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),n.languages.js=n.languages.javascript,function(){if(void 0!==n&&"undefined"!=typeof document){Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var e={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},t='pre[data-src]:not([data-src-status="loaded"]):not([data-src-status="loading"])';n.hooks.add("before-highlightall",(function(e){e.selector+=", "+t})),n.hooks.add("before-sanity-check",(function(r){var i=r.element;if(i.matches(t)){r.code="",i.setAttribute("data-src-status","loading");var o=i.appendChild(document.createElement("CODE"));o.textContent="Loading…";var a=i.getAttribute("data-src"),s=r.language;if("none"===s){var l=(/\.(\w+)$/.exec(a)||[,"none"])[1];s=e[l]||l}n.util.setLanguage(o,s),n.util.setLanguage(i,s);var c=n.plugins.autoloader;c&&c.loadLanguages(s),function(e,t,n){var r=new XMLHttpRequest;r.open("GET",e,!0),r.onreadystatechange=function(){var e,i;4==r.readyState&&(r.status<400&&r.responseText?t(r.responseText):r.status>=400?n((e=r.status,i=r.statusText,"✖ Error "+e+" while fetching file: "+i)):n("✖ Error: File does not exist or is empty"))},r.send(null)}(a,(function(e){i.setAttribute("data-src-status","loaded");var t=function(e){var t=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(e||"");if(t){var n=Number(t[1]),r=t[2],i=t[3];return r?i?[n,Number(i)]:[n,void 0]:[n,n]}}(i.getAttribute("data-range"));if(t){var r=e.split(/\r\n?|\n/g),a=t[0],s=null==t[1]?r.length:t[1];a<0&&(a+=r.length),a=Math.max(0,Math.min(a-1,r.length)),s<0&&(s+=r.length),s=Math.max(0,Math.min(s,r.length)),e=r.slice(a,s).join("\n"),i.hasAttribute("data-start")||i.setAttribute("data-start",String(a+1))}o.textContent=e,n.highlightElement(o)}),(function(e){i.setAttribute("data-src-status","failed"),o.textContent=e}))}})),n.plugins.fileHighlight={highlight:function(e){for(var r,i=(e||document).querySelectorAll(t),o=0;r=i[o++];)n.highlightElement(r)}};var r=!1;n.fileHighlight=function(){r||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),r=!0),n.plugins.fileHighlight.highlight.apply(this,arguments)}}}()}).call(this,n(35))},function(e,t,n){var r=n(47),i=n(23);e.exports=function(e){if(!i(e))return!1;var t=r(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},function(e,t,n){var r=n(78),i=n(79);e.exports=function(e,t,n,o){var a=!n;n||(n={});for(var s=-1,l=t.length;++s<l;){var c=t[s],u=o?o(n[c],e[c],c,n,e):void 0;void 0===u&&(u=e[c]),a?i(n,c,u):r(n,c,u)}return n}},function(e,t,n){var r=n(279),i=n(34),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,l=r(function(){return arguments}())?r:function(e){return i(e)&&a.call(e,"callee")&&!s.call(e,"callee")};e.exports=l},function(e,t,n){var r=n(281),i=n(82),o=n(121),a=o&&o.isTypedArray,s=a?i(a):r;e.exports=s},function(e,t,n){var r=n(61);e.exports=function(e){if("string"==typeof e||r(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r={when:{LAZY:"LAZY",EAGER:"EAGER"},async:{WAIT:"WAIT",NOWAIT:"NOWAIT"}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(4),i={when:function(e){return new Promise((function(t,n){return t(e)}))},reject:function(e){return new Promise((function(t,n){n(e)}))},defer:function(){var e={};return e.promise=new Promise((function(t,n){e.resolve=t,e.reject=n})),e},all:function(e){if(Object(r.R)(e))return Promise.all(e);if(Object(r.Z)(e)){var t=Object.keys(e).map((function(t){return e[t].then((function(e){return{key:t,val:e}}))}));return i.all(t).then((function(e){return e.reduce((function(e,t){return e[t.key]=t.val,e}),{})}))}}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(4),i={},o=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,a=/([^\s,]+)/g,s={get:function(e){return i[e]},has:function(e){return null!=s.get(e)},invoke:function(e,t,n){var o=Object(r.C)({},i,n||{}),a=s.annotate(e),l=Object(r.s)((function(e){return o.hasOwnProperty(e)}),(function(e){return"DI can't find injectable: '"+e+"'"})),c=a.filter(l).map((function(e){return o[e]}));return Object(r.U)(e)?e.apply(t,c):e.slice(-1)[0].apply(t,c)},annotate:function(e){if(!Object(r.V)(e))throw new Error("Not an injectable function: "+e);if(e&&e.$inject)return e.$inject;if(Object(r.R)(e))return e.slice(0,-1);var t=e.toString().replace(o,"");return t.slice(t.indexOf("(")+1,t.indexOf(")")).match(a)||[]}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(1),i=function(){function e(e,t){void 0===t&&(t=!1),this._isHtml5=t,this._baseHref=void 0,this._hashPrefix=""}return e.prototype.port=function(){return location.port?Number(location.port):"https"===this.protocol()?443:80},e.prototype.protocol=function(){return location.protocol.replace(/:/g,"")},e.prototype.host=function(){return location.hostname},e.prototype.html5Mode=function(){return this._isHtml5},e.prototype.hashPrefix=function(e){return Object(r.c)(e)?this._hashPrefix=e:this._hashPrefix},e.prototype.baseHref=function(e){return Object(r.c)(e)&&(this._baseHref=e),Object(r.m)(this._baseHref)&&(this._baseHref=this.getBaseHref()),this._baseHref},e.prototype.getBaseHref=function(){var e=document.getElementsByTagName("base")[0];return e&&e.href?e.href.replace(/^([^/:]*:)?\/\/[^/]*/,""):this._isHtml5?"/":location.pathname||"/"},e.prototype.dispose=function(){},e}()},function(e,t,n){var r=n(74),i=n(254),o=n(255),a=n(256),s=n(257),l=n(258);function c(e){var t=this.__data__=new r(e);this.size=t.size}c.prototype.clear=i,c.prototype.delete=o,c.prototype.get=a,c.prototype.has=s,c.prototype.set=l,e.exports=c},function(e,t,n){var r=n(249),i=n(250),o=n(251),a=n(252),s=n(253);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}l.prototype.clear=r,l.prototype.delete=i,l.prototype.get=o,l.prototype.has=a,l.prototype.set=s,e.exports=l},function(e,t,n){var r=n(57);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},function(e,t,n){var r=n(46)(Object,"create");e.exports=r},function(e,t,n){var r=n(273);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},function(e,t,n){var r=n(79),i=n(57),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var a=e[t];o.call(e,t)&&i(a,n)&&(void 0!==n||t in e)||r(e,t,n)}},function(e,t,n){var r=n(152);e.exports=function(e,t,n){"__proto__"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t){var n=/^(?:0|[1-9]\d*)$/;e.exports=function(e,t){var r=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&n.test(e))&&e>-1&&e%1==0&&e<t}},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t){var n=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||n)}},function(e,t,n){var r=n(154)(Object.getPrototypeOf,Object);e.exports=r},function(e,t,n){var r=n(127),i=n(302)(r);e.exports=i},function(e,t,n){var r=n(87),i=n(68);e.exports=function(e,t){for(var n=0,o=(t=r(t,e)).length;null!=e&&n<o;)e=e[i(t[n++])];return n&&n==o?e:void 0}},function(e,t,n){var r=n(13),i=n(130),o=n(316),a=n(177);e.exports=function(e,t){return r(e)?e:i(e,t)?[e]:o(a(e))}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}},function(e,t,n){var r=n(49),i=n(186),o=n(187);e.exports=function(e,t){return o(i(e,t,r),e+"")}},function(e,t,n){var r=n(57),i=n(36),o=n(81),a=n(23);e.exports=function(e,t,n){if(!a(n))return!1;var s=typeof t;return!!("number"==s?i(n)&&o(t,n.length):"string"==s&&t in n)&&r(n[t],e)}},function(e,t,n){"use strict";var r=n(11);e.exports={longestPath:function(e){var t={};r.forEach(e.sources(),(function n(i){var o=e.node(i);if(r.has(t,i))return o.rank;t[i]=!0;var a=r.min(r.map(e.outEdges(i),(function(t){return n(t.w)-e.edge(t).minlen})));return a!==Number.POSITIVE_INFINITY&&null!=a||(a=0),o.rank=a}))},slack:function(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(0),i=function(){function e(e){void 0===e&&(e={}),Object(r.r)(this,e)}return e.prototype.$inherit=function(e,t,n){var i,o=Object(r.f)(t,n),a={},s=[];for(var l in o)if(o[l]&&o[l].params&&(i=Object.keys(o[l].params)).length)for(var c in i)s.indexOf(i[c])>=0||(s.push(i[c]),a[i[c]]=this[i[c]]);return Object(r.r)({},a,e)},e}()},function(e,t,n){"use strict";n.d(t,"b",(function(){return m})),n.d(t,"a",(function(){return v}));var r=n(0),i=n(1),o=n(7),a=n(3),s=n(15),l=n(6);function c(e){return e.name}function u(e){return e.self.$$state=function(){return e},e.self}function d(e){return e.parent&&e.parent.data&&(e.data=e.self.data=Object(r.A)(e.parent.data,e.data)),e.data}var p=function(e,t){return function(n){var o=n.self;if(o&&o.url&&o.name&&o.name.match(/\.\*\*$/)){var a={};Object(r.m)(o,a),a.url+="{remainder:any}",o=a}var s=n.parent,l=function(e){if(!Object(i.l)(e))return!1;var t="^"===e.charAt(0);return{val:t?e.substring(1):e,root:t}}(o.url),c=l?e.compile(l.val,{state:o}):o.url;if(!c)return null;if(!e.isMatcher(c))throw new Error("Invalid url '"+c+"' in state '"+n+"'");return l&&l.root?c:(s&&s.navigable||t()).url.append(c)}},f=function(e){return function(t){return!e(t)&&t.url?t:t.parent?t.parent.navigable:null}};function h(e){return e.parent?e.parent.path.concat(e):[e]}function g(e){var t=e.parent?Object(r.r)({},e.parent.includes):{};return t[e.name]=!0,t}function m(e){var t,n,c=function(e){return e.provide||e.token},u=Object(a.l)([[Object(a.n)("resolveFn"),function(e){return new s.a(c(e),e.resolveFn,e.deps,e.policy)}],[Object(a.n)("useFactory"),function(e){return new s.a(c(e),e.useFactory,e.deps||e.dependencies,e.policy)}],[Object(a.n)("useClass"),function(e){return new s.a(c(e),(function(){return new e.useClass}),[],e.policy)}],[Object(a.n)("useValue"),function(e){return new s.a(c(e),(function(){return e.useValue}),[],e.policy,e.useValue)}],[Object(a.n)("useExisting"),function(e){return new s.a(c(e),r.y,[e.useExisting],e.policy)}]]),d=Object(a.l)([[Object(a.m)(Object(a.n)("val"),i.l),function(e){return new s.a(e.token,r.y,[e.val],e.policy)}],[Object(a.m)(Object(a.n)("val"),i.a),function(e){return new s.a(e.token,Object(r.P)(e.val),e.val.slice(0,-1),e.policy)}],[Object(a.m)(Object(a.n)("val"),i.d),function(e){return new s.a(e.token,e.val,(t=e.val,n=l.b.$injector,t.$inject||n&&n.annotate(t,n.strictDi)||"deferred"),e.policy);var t,n}]]),p=Object(a.l)([[Object(a.h)(s.a),function(e){return e}],[function(e){return!(!e.token||!e.resolveFn)},u],[function(e){return!(!e.provide&&!e.token||!(e.useValue||e.useFactory||e.useExisting||e.useClass))},u],[function(e){return!!(e&&e.val&&(Object(i.l)(e.val)||Object(i.a)(e.val)||Object(i.d)(e.val)))},d],[Object(a.p)(!0),function(e){throw new Error("Invalid resolve value: "+Object(o.m)(e))}]]),f=e.resolve;return(Object(i.a)(f)?f:(t=f,n=e.resolvePolicy||{},Object.keys(t||{}).map((function(e){return{token:e,val:t[e],deps:void 0,policy:n[e]}})))).map(p)}var v=function(){function e(e,t){this.matcher=e;var n,i=this,o=function(){return e.find("")},s=function(e){return""===e.name};this.builders={name:[c],self:[u],parent:[function(t){return s(t)?null:e.find(i.parentName(t))||o()}],data:[d],url:[p(t,o)],navigable:[f(s)],params:[(n=t.paramFactory,function(e){var t=e.url&&e.url.parameters({inherit:!1})||[],i=Object(r.U)(Object(r.C)(Object(r.F)(e.params||{},t.map(Object(a.n)("id"))),(function(t,r){return n.fromConfig(r,null,e.self)})));return t.concat(i).map((function(e){return[e.id,e]})).reduce(r.h,{})})],views:[],path:[h],includes:[g],resolvables:[m]}}return e.prototype.builder=function(e,t){var n=this.builders,r=n[e]||[];return Object(i.l)(e)&&!Object(i.c)(t)?r.length>1?r:r[0]:Object(i.l)(e)&&Object(i.d)(t)?(n[e]=r,n[e].push(t),function(){return n[e].splice(n[e].indexOf(t,1))&&null}):void 0},e.prototype.build=function(e){var t=this.matcher,n=this.builders,i=this.parentName(e);if(i&&!t.find(i,void 0,!1))return null;for(var o in n)if(n.hasOwnProperty(o)){var a=n[o].reduce((function(e,t){return function(n){return t(n,e)}}),r.E);e[o]=a(e)}return e},e.prototype.parentName=function(e){var t=e.name||"",n=t.split(".");if("**"===n.pop()&&n.pop(),n.length){if(e.parent)throw new Error("States that specify the 'parent:' property should not have a '.' in their name ("+t+")");return n.join(".")}return e.parent?Object(i.l)(e.parent)?e.parent:e.parent.name:""},e.prototype.name=function(e){var t=e.name;if(-1!==t.indexOf(".")||!e.parent)return t;var n=Object(i.l)(e.parent)?e.parent:e.parent.name;return n?n+"."+t:t},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(1),i=n(0),o=n(19),a=function(){function e(e){this._states=e}return e.prototype.isRelative=function(e){return 0===(e=e||"").indexOf(".")||0===e.indexOf("^")},e.prototype.find=function(e,t,n){if(void 0===n&&(n=!0),e||""===e){var a=Object(r.l)(e),s=a?e:e.name;this.isRelative(s)&&(s=this.resolvePath(s,t));var l=this._states[s];if(l&&(a||!(a||l!==e&&l.self!==e)))return l;if(a&&n){var c=Object(i.U)(this._states).filter((function(e){return e.__stateObjectCache.nameGlob&&e.__stateObjectCache.nameGlob.matches(s)}));return c.length>1&&o.a.error("stateMatcher.find: Found multiple matches for "+s+" using glob: ",c.map((function(e){return e.name}))),c[0]}}},e.prototype.resolvePath=function(e,t){if(!t)throw new Error("No reference point given for path '"+e+"'");for(var n=this.find(t),r=e.split("."),i=r.length,o=0,a=n;o<i;o++)if(""!==r[o]||0!==o){if("^"!==r[o])break;if(!a.parent)throw new Error("Path '"+e+"' not valid for state '"+n.name+"'");a=a.parent}else a=n;var s=r.slice(o).join(".");return a.name+(a.name&&s?".":"")+s},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(4),i=n(44),o=function(){function e(e,t,n,r){this.router=e,this.states=t,this.builder=n,this.listeners=r,this.queue=[]}return e.prototype.dispose=function(){this.queue=[]},e.prototype.register=function(e){var t=this.queue,n=i.a.create(e),o=n.name;if(!Object(r.cb)(o))throw new Error("State must have a valid name");if(this.states.hasOwnProperty(o)||Object(r.N)(t.map(Object(r.wb)("name")),o))throw new Error("State '"+o+"' is already defined");return t.push(n),this.flush(),n},e.prototype.flush=function(){for(var e=this,t=this.queue,n=this.states,r=this.builder,i=[],o=[],a={},s=function(t){return e.states.hasOwnProperty(t)&&e.states[t]},l=function(){i.length&&e.listeners.forEach((function(e){return e("registered",i.map((function(e){return e.self})))}))};t.length>0;){var c=t.shift(),u=c.name,d=r.build(c),p=o.indexOf(c);if(d){var f=s(u);if(f&&f.name===u)throw new Error("State '"+u+"' is already defined");var h=s(u+".**");h&&this.router.stateRegistry.deregister(h),n[u]=c,this.attachRoute(c),p>=0&&o.splice(p,1),i.push(c)}else{var g=a[u];if(a[u]=t.length,p>=0&&g===t.length)return t.push(c),l(),n;p<0&&o.push(c),t.push(c)}}return l(),n},e.prototype.attachRoute=function(e){if(!e.abstract&&e.url){var t=this.router.urlService.rules;t.rule(t.urlRuleFactory.create(e))}},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var r=n(94),i=n(93),o=n(95),a=n(0),s=n(3),l=function(){function e(e){this.router=e,this.states={},this.listeners=[],this.matcher=new r.a(this.states),this.builder=new i.a(this.matcher,e.urlMatcherFactory),this.stateQueue=new o.a(e,this.states,this.builder,this.listeners),this._registerRoot()}return e.prototype._registerRoot=function(){(this._root=this.stateQueue.register({name:"",url:"^",views:null,params:{"#":{value:null,type:"hash",dynamic:!0}},abstract:!0})).navigable=null},e.prototype.dispose=function(){var e=this;this.stateQueue.dispose(),this.listeners=[],this.get().forEach((function(t){return e.get(t)&&e.deregister(t)}))},e.prototype.onStatesChanged=function(e){return this.listeners.push(e),function(){Object(a.L)(this.listeners)(e)}.bind(this)},e.prototype.root=function(){return this._root},e.prototype.register=function(e){return this.stateQueue.register(e)},e.prototype._deregisterTree=function(e){var t=this,n=this.get().map((function(e){return e.$$state()})),r=function(e){var t=n.filter((function(t){return-1!==e.indexOf(t.parent)}));return 0===t.length?t:t.concat(r(t))},i=r([e]),o=[e].concat(i).reverse();return o.forEach((function(e){var n=t.router.urlService.rules;n.rules().filter(Object(s.o)("state",e)).forEach((function(e){return n.removeRule(e)})),delete t.states[e.name]})),o},e.prototype.deregister=function(e){var t=this.get(e);if(!t)throw new Error("Can't deregister state; not found: "+e);var n=this._deregisterTree(t.$$state());return this.listeners.forEach((function(e){return e("deregistered",n.map((function(e){return e.self})))})),n},e.prototype.get=function(e,t){var n=this;if(0===arguments.length)return Object.keys(this.states).map((function(e){return n.states[e].self}));var r=this.matcher.find(e,t);return r&&r.self||null},e.prototype.decorator=function(e,t){return this.builder.builder(e,t)},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return v}));var r=n(0),i=n(1),o=n(50),a=n(6),s=n(18),l=n(52),c=n(56),u=n(9),d=n(26),p=n(16),f=n(62),h=n(27),g=n(115),m=n(3),v=function(){function e(t){this.router=t,this.invalidCallbacks=[],this._defaultErrorHandler=function(e){e instanceof Error&&e.stack?(console.error(e),console.error(e.stack)):e instanceof u.b?(console.error(e.toString()),e.detail&&e.detail.stack&&console.error(e.detail.stack)):console.error(e)};var n=Object.keys(e.prototype).filter(Object(m.i)(Object(r.z)(["current","$current","params","transition"])));Object(r.n)(Object(m.p)(e.prototype),this,Object(m.p)(this),n)}return Object.defineProperty(e.prototype,"transition",{get:function(){return this.router.globals.transition},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"params",{get:function(){return this.router.globals.params},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"current",{get:function(){return this.router.globals.current},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"$current",{get:function(){return this.router.globals.$current},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this.defaultErrorHandler(r.E),this.invalidCallbacks=[]},e.prototype._handleInvalidTargetState=function(e,t){var n=this,r=s.a.makeTargetState(this.router.stateRegistry,e),i=this.router.globals,l=function(){return i.transitionHistory.peekTail()},c=l(),p=new o.a(this.invalidCallbacks.slice()),f=new h.b(e).injector(),g=function(e){if(e instanceof d.a){var t=e;return(t=n.target(t.identifier(),t.params(),t.options())).valid()?l()!==c?u.b.superseded().toPromise():n.transitionTo(t.identifier(),t.params(),t.options()):u.b.invalid(t.error()).toPromise()}};return function e(){var n=p.dequeue();return void 0===n?u.b.invalid(t.error()).toPromise():a.b.$q.when(n(t,r,f)).then(g).then((function(t){return t||e()}))}()},e.prototype.onInvalid=function(e){return this.invalidCallbacks.push(e),function(){Object(r.L)(this.invalidCallbacks)(e)}.bind(this)},e.prototype.reload=function(e){return this.transitionTo(this.current,this.params,{reload:!Object(i.c)(e)||e,inherit:!1,notify:!1})},e.prototype.go=function(e,t,n){var i={relative:this.$current,inherit:!0},o=Object(r.o)(n,i,c.b);return this.transitionTo(e,t,o)},e.prototype.target=function(e,t,n){if(void 0===n&&(n={}),Object(i.i)(n.reload)&&!n.reload.name)throw new Error("Invalid reload state object");var r=this.router.stateRegistry;if(n.reloadState=!0===n.reload?r.root():r.matcher.find(n.reload,n.relative),n.reload&&!n.reloadState)throw new Error("No such reload state '"+(Object(i.l)(n.reload)?n.reload:n.reload.name)+"'");return new d.a(this.router.stateRegistry,e,t,n)},e.prototype.getCurrentPath=function(){var e=this,t=this.router.globals.successfulTransitions.peekTail();return t?t.treeChanges().to:[new l.a(e.router.stateRegistry.root())]},e.prototype.transitionTo=function(e,t,n){var i=this;void 0===t&&(t={}),void 0===n&&(n={});var o=this.router,s=o.globals;n=Object(r.o)(n,c.b);var l=function(){return s.transition};n=Object(r.r)(n,{current:l});var p=this.target(e,t,n),f=this.getCurrentPath();if(!p.exists())return this._handleInvalidTargetState(f,p);if(!p.valid())return Object(r.O)(p.error());if(!1===n.supercede&&l())return u.b.ignored("Another transition is in progress and supercede has been set to false in TransitionOptions for the transition. So the transition was ignored in favour of the existing one in progress.").toPromise();var h=function(e){return function(t){if(t instanceof u.b){var n=o.globals.lastStartedTransitionId<=e.$id;if(t.type===u.a.IGNORED)return n&&o.urlRouter.update(),a.b.$q.when(s.current);var r=t.detail;if(t.type===u.a.SUPERSEDED&&t.redirected&&r instanceof d.a){var l=e.redirect(r);return l.run().catch(h(l))}if(t.type===u.a.ABORTED)return n&&o.urlRouter.update(),a.b.$q.reject(t)}return i.defaultErrorHandler()(t),a.b.$q.reject(t)}},g=this.router.transitionService.create(f,p),m=g.run().catch(h(g));return Object(r.N)(m),Object(r.r)(m,{transition:g})},e.prototype.is=function(e,t,n){n=Object(r.o)(n,{relative:this.$current});var o=this.router.stateRegistry.matcher.find(e,n.relative);if(Object(i.c)(o)){if(this.$current!==o)return!1;if(!t)return!0;var a=o.parameters({inherit:!0,matchingKeys:t});return p.b.equals(a,p.b.values(a,t),this.params)}},e.prototype.includes=function(e,t,n){n=Object(r.o)(n,{relative:this.$current});var o=Object(i.l)(e)&&f.a.fromString(e);if(o){if(!o.matches(this.$current.name))return!1;e=this.$current.name}var a=this.router.stateRegistry.matcher.find(e,n.relative),s=this.$current.includes;if(Object(i.c)(a)){if(!Object(i.c)(s[a.name]))return!1;if(!t)return!0;var l=a.parameters({inherit:!0,matchingKeys:t});return p.b.equals(l,p.b.values(l,t),this.params)}},e.prototype.href=function(e,t,n){var o={lossy:!0,inherit:!0,absolute:!1,relative:this.$current};n=Object(r.o)(n,o),t=t||{};var a=this.router.stateRegistry.matcher.find(e,n.relative);if(!Object(i.c)(a))return null;n.inherit&&(t=this.params.$inherit(t,this.$current,a));var s=a&&n.lossy?a.navigable:a;return s&&void 0!==s.url&&null!==s.url?this.router.urlRouter.href(s.url,t,{absolute:n.absolute}):null},e.prototype.defaultErrorHandler=function(e){return this._defaultErrorHandler=e||this._defaultErrorHandler},e.prototype.get=function(e,t){var n=this.router.stateRegistry;return 0===arguments.length?n.get():n.get(e,t||this.$current)},e.prototype.lazyLoad=function(e,t){var n=this.get(e);if(!n||!n.lazyLoad)throw new Error("Can not lazy load "+e);var r=this.getCurrentPath(),i=s.a.makeTargetState(this.router.stateRegistry,r);return t=t||this.router.transitionService.create(r,i),Object(g.a)(t,n)},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(0),i=n(1),o=n(14),a=n(17),s=function(){function e(e){this.transition=e}return e.prototype.buildHooksForPhase=function(e){var t=this;return this.transition.router.transitionService._pluginapi._getEvents(e).map((function(e){return t.buildHooks(e)})).reduce(r.T,[]).filter(r.y)},e.prototype.buildHooks=function(e){var t=this.transition,n=t.treeChanges(),i=this.getMatchingHooks(e,n,t);if(!i)return[];var s={transition:t,current:t.options().current};return i.map((function(i){return i.matches(n,t)[e.criteriaMatchPath.name].map((function(n){var l=Object(r.r)({bind:i.bind,traceData:{hookType:e.name,context:n}},s),c=e.criteriaMatchPath.scope===o.b.STATE?n.state.self:null,u=new a.a(t,c,i,l);return{hook:i,node:n,transitionHook:u}}))})).reduce(r.T,[]).sort(function(e){void 0===e&&(e=!1);return function(t,n){var r=e?-1:1,i=(t.node.state.path.length-n.node.state.path.length)*r;return 0!==i?i:n.hook.priority-t.hook.priority}}(e.reverseSort)).map((function(e){return e.transitionHook}))},e.prototype.getMatchingHooks=function(e,t,n){var a=e.hookPhase===o.a.CREATE,s=this.transition.router.transitionService;return(a?[s]:[this.transition,s]).map((function(t){return t.getHooks(e.name)})).filter(Object(r.l)(i.a,"broken event named: "+e.name)).reduce(r.T,[]).filter((function(e){return e.matches(t,n)}))},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return b}));var r=n(100),i=n(101),o=n(56),a=n(102),s=n(96),l=n(97),c=n(103),u=n(0),d=n(1),p=n(104),f=n(10),h=n(4),g=0,m=Object(h.gb)("LocationServices",["url","path","search","hash","onChange"]),v=Object(h.gb)("LocationConfig",["port","protocol","host","baseHref","html5Mode","hashPrefix"]),b=function(){function e(e,t){void 0===e&&(e=m),void 0===t&&(t=v),this.locationService=e,this.locationConfig=t,this.$id=g++,this._disposed=!1,this._disposables=[],this.trace=f.c,this.viewService=new a.a(this),this.globals=new c.a,this.transitionService=new o.a(this),this.urlMatcherFactory=new r.b(this),this.urlRouter=new i.a(this),this.urlService=new p.a(this),this.stateRegistry=new s.a(this),this.stateService=new l.a(this),this._plugins={},this.viewService._pluginapi._rootViewContext(this.stateRegistry.root()),this.globals.$current=this.stateRegistry.root(),this.globals.current=this.globals.$current.self,this.disposable(this.globals),this.disposable(this.stateService),this.disposable(this.stateRegistry),this.disposable(this.transitionService),this.disposable(this.urlService),this.disposable(e),this.disposable(t)}return e.prototype.disposable=function(e){this._disposables.push(e)},e.prototype.dispose=function(e){var t=this;e&&Object(d.d)(e.dispose)?e.dispose(this):(this._disposed=!0,this._disposables.slice().forEach((function(e){try{"function"==typeof e.dispose&&e.dispose(t),Object(u.L)(t._disposables,e)}catch(e){}})))},e.prototype.plugin=function(e,t){void 0===t&&(t={});var n=new e(this,t);if(!n.name)throw new Error("Required property `name` missing on plugin: "+n);return this._disposables.push(n),this._plugins[n.name]=n},e.prototype.getPlugin=function(e){return e?this._plugins[e]:Object(u.U)(this._plugins)},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return l}));var r=n(4),i=n(32),o=n(28),a=function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},s=function(){function e(e){this.router=e}return e.prototype.fromConfig=function(e,t,n){return new o.Param(e,t,o.DefType.CONFIG,this.router.urlService.config,n)},e.prototype.fromPath=function(e,t,n){return new o.Param(e,t,o.DefType.PATH,this.router.urlService.config,n)},e.prototype.fromSearch=function(e,t,n){return new o.Param(e,t,o.DefType.SEARCH,this.router.urlService.config,n)},e}(),l=function(){function e(e){var t=this;this.router=e,this.paramFactory=new s(this.router),this.UrlMatcher=i.a,this.Param=o.Param,this.caseInsensitive=function(e){return t.router.urlService.config.caseInsensitive(e)},this.defaultSquashPolicy=function(e){return t.router.urlService.config.defaultSquashPolicy(e)},this.strictMode=function(e){return t.router.urlService.config.strictMode(e)},this.type=function(e,n,r){return t.router.urlService.config.type(e,n,r)||t}}return e.prototype.compile=function(e,t){var n=this.router.urlService.config,o=t&&!t.state&&t.params;t=o?a({state:{params:o}},t):t;var s={strict:n._isStrictMode,caseInsensitive:n._isCaseInsensitive,decodeParams:n._decodeParams};return new i.a(e,n.paramTypes,this.paramFactory,Object(r.C)(s,t))},e.prototype.isMatcher=function(e){if(!Object(r.Z)(e))return!1;var t=!0;return Object(r.I)(i.a.prototype,(function(n,i){Object(r.U)(n)&&(t=t&&Object(r.T)(e[i])&&Object(r.U)(e[i]))})),t},e.prototype.$get=function(){var e=this.router.urlService.config;return e.paramTypes.enqueue=!1,e.paramTypes._flushTypeQueue(),this},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(4),i=n(54);var o=function(){function e(e){var t=this;this.router=e,this.sync=function(e){return t.router.urlService.sync(e)},this.listen=function(e){return t.router.urlService.listen(e)},this.deferIntercept=function(e){return t.router.urlService.deferIntercept(e)},this.match=function(e){return t.router.urlService.match(e)},this.initial=function(e){return t.router.urlService.rules.initial(e)},this.otherwise=function(e){return t.router.urlService.rules.otherwise(e)},this.removeRule=function(e){return t.router.urlService.rules.removeRule(e)},this.rule=function(e){return t.router.urlService.rules.rule(e)},this.rules=function(){return t.router.urlService.rules.rules()},this.sort=function(e){return t.router.urlService.rules.sort(e)},this.when=function(e,n,r){return t.router.urlService.rules.when(e,n,r)},this.urlRuleFactory=new i.b(e)}return e.prototype.update=function(e){var t=this.router.locationService;e?this.location=t.url():t.url()!==this.location&&t.url(this.location,!0)},e.prototype.push=function(e,t,n){var r=n&&!!n.replace;this.router.urlService.url(e.format(t||{}),r)},e.prototype.href=function(e,t,n){var i=e.format(t);if(null==i)return null;n=n||{absolute:!1};var o=this.router.urlService.config,a=o.html5Mode();if(a||null===i||(i="#"+o.hashPrefix()+i),i=function(e,t,n,i){return"/"===i?e:t?Object(r.Kb)(i)+e:n?i.slice(1)+e:e}(i,a,n.absolute,o.baseHref()),!n.absolute||!i)return i;var s=!a&&i?"/":"",l=o.port(),c=80===l||443===l?"":":"+l;return[o.protocol(),"://",o.host(),c,s,i].join("")},Object.defineProperty(e.prototype,"interceptDeferred",{get:function(){return this.router.urlService.interceptDeferred},enumerable:!1,configurable:!0}),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(0),i=n(3),o=n(1),a=n(10),s=function(){function e(e){var t=this;this.router=e,this._uiViews=[],this._viewConfigs=[],this._viewConfigFactories={},this._listeners=[],this._pluginapi={_rootViewContext:this._rootViewContext.bind(this),_viewConfigFactory:this._viewConfigFactory.bind(this),_registeredUIView:function(e){return Object(r.t)(t._uiViews,(function(n){return t.router.$id+"."+n.id===e}))},_registeredUIViews:function(){return t._uiViews},_activeViewConfigs:function(){return t._viewConfigs},_onSync:function(e){return t._listeners.push(e),function(){return Object(r.L)(t._listeners,e)}}}}return e.normalizeUIViewTarget=function(e,t){void 0===t&&(t="");var n=t.split("@"),r=n[0]||"$default",i=Object(o.l)(n[1])?n[1]:"^",a=/^(\^(?:\.\^)*)\.(.*$)/.exec(r);a&&(i=a[1],r=a[2]),"!"===r.charAt(0)&&(r=r.substr(1),i="");if(/^(\^(?:\.\^)*)$/.exec(i)){var s=i.split(".").reduce((function(e,t){return e.parent}),e);i=s.name}else"."===i&&(i=e.name);return{uiViewName:r,uiViewContextAnchor:i}},e.prototype._rootViewContext=function(e){return this._rootContext=e||this._rootContext},e.prototype._viewConfigFactory=function(e,t){this._viewConfigFactories[e]=t},e.prototype.createViewConfig=function(e,t){var n=this._viewConfigFactories[t.$type];if(!n)throw new Error("ViewService: No view config factory registered for type "+t.$type);var r=n(e,t);return Object(o.a)(r)?r:[r]},e.prototype.deactivateViewConfig=function(e){a.c.traceViewServiceEvent("<- Removing",e),Object(r.L)(this._viewConfigs,e)},e.prototype.activateViewConfig=function(e){a.c.traceViewServiceEvent("-> Registering",e),this._viewConfigs.push(e)},e.prototype.sync=function(){var t=this,n=this._uiViews.map((function(e){return[e.fqn,e]})).reduce(r.h,{});function o(e){for(var t=e.viewDecl.$context,n=0;++n&&t.parent;)t=t.parent;return n}var s=Object(i.e)((function(e,t,n,r){return t*(e(n)-e(r))})),l=this._uiViews.sort(s((function(e){var t=function(e){return e&&e.parent?t(e.parent)+1:1};return 1e4*e.fqn.split(".").length+t(e.creationContext)}),1)).map((function(r){var i=t._viewConfigs.filter(e.matches(n,r));return i.length>1&&i.sort(s(o,-1)),{uiView:r,viewConfig:i[0]}})),c=l.map((function(e){return e.viewConfig})),u=this._viewConfigs.filter((function(e){return!Object(r.z)(c,e)})).map((function(e){return{uiView:void 0,viewConfig:e}}));l.forEach((function(e){-1!==t._uiViews.indexOf(e.uiView)&&e.uiView.configUpdated(e.viewConfig)}));var d=l.concat(u);this._listeners.forEach((function(e){return e(d)})),a.c.traceViewSync(d)},e.prototype.registerUIView=function(e){a.c.traceViewServiceUIViewEvent("-> Registering",e);var t=this._uiViews;return t.filter((function(t){return t.fqn===e.fqn&&t.$type===e.$type})).length&&a.c.traceViewServiceUIViewEvent("!!!! duplicate uiView named:",e),t.push(e),this.sync(),function(){-1!==t.indexOf(e)?(a.c.traceViewServiceUIViewEvent("<- Deregistering",e),Object(r.L)(t)(e)):a.c.traceViewServiceUIViewEvent("Tried removing non-registered uiView",e)}},e.prototype.available=function(){return this._uiViews.map(Object(i.n)("fqn"))},e.prototype.active=function(){return this._uiViews.filter(Object(i.n)("$config")).map(Object(i.n)("name"))},e.matches=function(e,t){return function(n){if(t.$type!==n.viewDecl.$type)return!1;var i=n.viewDecl,o=i.$uiViewName.split("."),a=t.fqn.split(".");if(!Object(r.q)(o,a.slice(0-o.length)))return!1;var s=1-o.length||void 0,l=a.slice(0,s).join("."),c=e[l].creationContext;return i.$uiViewContextAnchor===(c&&c.name)}},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(92),i=n(50),o=function(){function e(){this.params=new r.a,this.lastStartedTransitionId=-1,this.transitionHistory=new i.a([],1),this.successfulTransitions=new i.a([],1)}return e.prototype.dispose=function(){this.transitionHistory.clear(),this.successfulTransitions.clear(),this.transition=null},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(4),i=n(105),o=n(106),a=n(43),s=function(){function e(e){var t=this;this.router=e,this.interceptDeferred=!1,this.rules=new i.a(this.router),this.config=new o.a(this.router),this.url=function(e,n,r){return t.router.locationService.url(e,n,r)},this.path=function(){return t.router.locationService.path()},this.search=function(){return t.router.locationService.search()},this.hash=function(){return t.router.locationService.hash()},this.onChange=function(e){return t.router.locationService.onChange(e)}}return e.prototype.dispose=function(){this.listen(!1),this.rules.dispose()},e.prototype.parts=function(){return{path:this.path(),search:this.search(),hash:this.hash()}},e.prototype.sync=function(e){if(!e||!e.defaultPrevented){var t=this.router,n=t.urlService,i=t.stateService,o={path:n.path(),search:n.search(),hash:n.hash()},s=this.match(o);Object(r.sb)([[r.cb,function(e){return n.url(e,!0)}],[a.TargetState.isDef,function(e){return i.go(e.state,e.params,e.options)}],[Object(r.Q)(a.TargetState),function(e){return i.go(e.state(),e.params(),e.options())}]])(s&&s.rule.handler(s.match,o,this.router))}},e.prototype.listen=function(e){var t=this;if(!1!==e)return this._stopListeningFn=this._stopListeningFn||this.router.urlService.onChange((function(e){return t.sync(e)}));this._stopListeningFn&&this._stopListeningFn(),delete this._stopListeningFn},e.prototype.deferIntercept=function(e){void 0===e&&(e=!0),this.interceptDeferred=e},e.prototype.match=function(e){var t=this;e=Object(r.C)({path:"",search:{},hash:""},e);for(var n,i,o,a=this.rules.rules(),s=0;s<a.length&&(!n||n.rule._group===a[s]._group);s++){var l=(i=a[s],o=void 0,(o=i.match(e,t.router))&&{match:o,rule:i,weight:i.matchPriority(o)});n=!n||l&&l.weight>n.weight?l:n}return n},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r,i=n(43),o=n(32),a=n(4),s=n(54);function l(e){if(!(Object(a.U)(e)||Object(a.cb)(e)||Object(a.Q)(i.TargetState)(e)||i.TargetState.isDef(e)))throw new Error("'handler' must be a string, function, TargetState, or have a state: 'newtarget' property");return Object(a.U)(e)?e:Object(a.Sb)(e)}r=function(e,t){var n=function(e,t){return(t.priority||0)-(e.priority||0)}(e,t);return 0!==n||0!==(n=function(e,t){var n={STATE:4,URLMATCHER:4,REGEXP:3,RAW:2,OTHER:1};return(n[e.type]||0)-(n[t.type]||0)}(e,t))||0!==(n=function(e,t){return e.urlMatcher&&t.urlMatcher?o.a.compare(e.urlMatcher,t.urlMatcher):0}(e,t))?n:function(e,t){var n={STATE:!0,URLMATCHER:!0};return n[e.type]&&n[t.type]?0:(e.$id||0)-(t.$id||0)}(e,t)};var c=function(){function e(e){this.router=e,this._sortFn=r,this._rules=[],this._id=0,this.urlRuleFactory=new s.b(e)}return e.prototype.dispose=function(e){this._rules=[],delete this._otherwiseFn},e.prototype.initial=function(e){var t=l(e);this.rule(this.urlRuleFactory.create((function(e,t){return 0===t.globals.transitionHistory.size()&&!!/^\/?$/.exec(e.path)}),t))},e.prototype.otherwise=function(e){var t=l(e);this._otherwiseFn=this.urlRuleFactory.create(Object(a.Sb)(!0),t),this._sorted=!1},e.prototype.removeRule=function(e){Object(a.Ab)(this._rules,e)},e.prototype.rule=function(e){var t=this;if(!s.b.isUrlRule(e))throw new Error("invalid rule");return e.$id=this._id++,e.priority=e.priority||0,this._rules.push(e),this._sorted=!1,function(){return t.removeRule(e)}},e.prototype.rules=function(){return this.ensureSorted(),this._rules.concat(this._otherwiseFn?[this._otherwiseFn]:[])},e.prototype.sort=function(e){for(var t=this.stableSort(this._rules,this._sortFn=e||this._sortFn),n=0,r=0;r<t.length;r++)t[r]._group=n,r<t.length-1&&0!==this._sortFn(t[r],t[r+1])&&n++;this._rules=t,this._sorted=!0},e.prototype.ensureSorted=function(){this._sorted||this.sort()},e.prototype.stableSort=function(e,t){var n=e.map((function(e,t){return{elem:e,idx:t}}));return n.sort((function(e,n){var r=t(e.elem,n.elem);return 0===r?e.idx-n.idx:r})),n.map((function(e){return e.elem}))},e.prototype.when=function(e,t,n){var r=this.urlRuleFactory.create(e,t);return Object(a.T)(n&&n.priority)&&(r.priority=n.priority),this.rule(r),r},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(28),i=n(4),o=function(){function e(e){var t=this;this.router=e,this.paramTypes=new r.ParamTypes,this._decodeParams=!0,this._isCaseInsensitive=!1,this._isStrictMode=!0,this._defaultSquashPolicy=!1,this.dispose=function(){return t.paramTypes.dispose()},this.baseHref=function(){return t.router.locationConfig.baseHref()},this.hashPrefix=function(e){return t.router.locationConfig.hashPrefix(e)},this.host=function(){return t.router.locationConfig.host()},this.html5Mode=function(){return t.router.locationConfig.html5Mode()},this.port=function(){return t.router.locationConfig.port()},this.protocol=function(){return t.router.locationConfig.protocol()}}return e.prototype.caseInsensitive=function(e){return this._isCaseInsensitive=Object(i.T)(e)?e:this._isCaseInsensitive},e.prototype.defaultSquashPolicy=function(e){if(Object(i.T)(e)&&!0!==e&&!1!==e&&!Object(i.cb)(e))throw new Error("Invalid squash policy: "+e+". Valid policies: false, true, arbitrary-string");return this._defaultSquashPolicy=Object(i.T)(e)?e:this._defaultSquashPolicy},e.prototype.strictMode=function(e){return this._isStrictMode=Object(i.T)(e)?e:this._isStrictMode},e.prototype.type=function(e,t,n){var r=this.paramTypes.type(e,t,n);return Object(i.T)(t)?this:r},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(17),i=function(e,t,n,i,o,a,s,l){void 0===o&&(o=!1),void 0===a&&(a=r.a.HANDLE_RESULT),void 0===s&&(s=r.a.REJECT_ERROR),void 0===l&&(l=!1),this.name=e,this.hookPhase=t,this.hookOrder=n,this.criteriaMatchPath=i,this.reverseSort=o,this.getResultHandler=a,this.getErrorHandler=s,this.synchronous=l}},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r,i=n(4),o=n(42),a=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=function(e){function t(t){var n=e.call(this,t,!1)||this;return i.Bb.addEventListener("hashchange",n._listener,!1),n}return a(t,e),t.prototype._get=function(){return Object(i.Ob)(this._location.hash)},t.prototype._set=function(e,t,n,r){this._location.hash=n},t.prototype.dispose=function(t){e.prototype.dispose.call(this,t),i.Bb.removeEventListener("hashchange",this._listener)},t}(o.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r,i=n(42),o=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=function(e){function t(t){return e.call(this,t,!0)||this}return o(t,e),t.prototype._get=function(){return this._url},t.prototype._set=function(e,t,n,r){this._url=n},t}(i.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r,i=n(42),o=n(4),a=(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),s=function(e){function t(t){var n=e.call(this,t,!0)||this;return n._config=t.urlService.config,o.Bb.addEventListener("popstate",n._listener,!1),n}return a(t,e),t.prototype._getBasePrefix=function(){return Object(o.Kb)(this._config.baseHref())},t.prototype._get=function(){var e=this._location,t=e.pathname,n=e.hash,r=e.search;r=Object(o.Ib)(r)[1],n=Object(o.Gb)(n)[1];var i=this._getBasePrefix(),a=t===this._config.baseHref(),s=t.substr(0,i.length)===i;return(t=a?"/":s?t.substring(i.length):t)+(r?"?"+r:"")+(n?"#"+n:"")},t.prototype._set=function(e,t,n,r){var i=this._getBasePrefix(),o=n&&"/"!==n[0]?"/":"",a=""===n||"/"===n?this._config.baseHref():i+o+n;r?this._history.replaceState(e,t,a):this._history.pushState(e,t,a)},t.prototype.dispose=function(t){e.prototype.dispose.call(this,t),o.Bb.removeEventListener("popstate",this._listener)},t}(i.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(1),i=n(0),o=function(){var e=this;this.dispose=i.E,this._baseHref="",this._port=80,this._protocol="http",this._host="localhost",this._hashPrefix="",this.port=function(){return e._port},this.protocol=function(){return e._protocol},this.host=function(){return e._host},this.baseHref=function(){return e._baseHref},this.html5Mode=function(){return!1},this.hashPrefix=function(t){return Object(r.c)(t)?e._hashPrefix=t:e._hashPrefix}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(2),i=function(){function e(t,n){this.stateRegistry=t,this.stateService=n,Object(r.createProxyFunctions)(Object(r.val)(e.prototype),this,Object(r.val)(this))}return e.prototype.decorator=function(e,t){return this.stateRegistry.decorator(e,t)||this},e.prototype.state=function(e,t){return Object(r.isObject)(e)?t=e:t.name=e,this.stateRegistry.register(t),this},e.prototype.onInvalid=function(e){return this.stateService.onInvalid(e)},e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(2),i=function(){function e(e){this.router=e}return e.injectableHandler=function(e,t){return function(n){return r.services.$injector.invoke(t,null,{$match:n,$stateParams:e.globals.params})}},e.prototype.$get=function(){var e=this.router.urlService;return this.router.urlRouter.update(!0),e.interceptDeferred||e.listen(),this.router.urlRouter},e.prototype.rule=function(e){var t=this;if(!Object(r.isFunction)(e))throw new Error("'rule' must be a function");var n=new r.BaseUrlRule((function(){return e(r.services.$injector,t.router.locationService)}),r.identity);return this.router.urlService.rules.rule(n),this},e.prototype.otherwise=function(e){var t=this,n=this.router.urlService.rules;if(Object(r.isString)(e))n.otherwise(e);else{if(!Object(r.isFunction)(e))throw new Error("'rule' must be a string or function");n.otherwise((function(){return e(r.services.$injector,t.router.locationService)}))}return this},e.prototype.when=function(t,n){return(Object(r.isArray)(n)||Object(r.isFunction)(n))&&(n=e.injectableHandler(this.router,n)),this.router.urlService.rules.when(t,n),this},e.prototype.deferIntercept=function(e){this.router.urlService.deferIntercept(e)},e}()},function(e,t,n){"use strict";n.d(t,"b",(function(){return k})),n.d(t,"a",(function(){return A}));var r=n(12),i=n(2),o=n(55),a=function(){function e(){var e=this;this._useHttp=r.a.version.minor<3,this.$get=["$http","$templateCache","$injector",function(t,n,r){return e.$templateRequest=r.has&&r.has("$templateRequest")&&r.get("$templateRequest"),e.$http=t,e.$templateCache=n,e}]}return e.prototype.useHttpService=function(e){this._useHttp=e},e.prototype.fromConfig=function(e,t,n){var r=function(e){return i.services.$q.when(e).then((function(e){return{template:e}}))},o=function(e){return i.services.$q.when(e).then((function(e){return{component:e}}))};return Object(i.isDefined)(e.template)?r(this.fromString(e.template,t)):Object(i.isDefined)(e.templateUrl)?r(this.fromUrl(e.templateUrl,t)):Object(i.isDefined)(e.templateProvider)?r(this.fromProvider(e.templateProvider,t,n)):Object(i.isDefined)(e.component)?o(e.component):Object(i.isDefined)(e.componentProvider)?o(this.fromComponentProvider(e.componentProvider,t,n)):r("<ui-view></ui-view>")},e.prototype.fromString=function(e,t){return Object(i.isFunction)(e)?e(t):e},e.prototype.fromUrl=function(e,t){return Object(i.isFunction)(e)&&(e=e(t)),null==e?null:this._useHttp?this.$http.get(e,{cache:this.$templateCache,headers:{Accept:"text/html"}}).then((function(e){return e.data})):this.$templateRequest(e)},e.prototype.fromProvider=function(e,t,n){var r=i.services.$injector.annotate(e),o=Object(i.isArray)(e)?Object(i.tail)(e):e;return new i.Resolvable("",o,r).get(n)},e.prototype.fromComponentProvider=function(e,t,n){var r=i.services.$injector.annotate(e),o=Object(i.isArray)(e)?Object(i.tail)(e):e;return new i.Resolvable("",o,r).get(n)},e.prototype.makeComponentTemplate=function(e,t,n,o){o=o||{};var a=r.a.version.minor>=3?"::":"",l=function(e){var t=Object(i.kebobString)(e);return/^(x|data)-/.exec(t)?"x-"+t:t},c=function(e){var t=i.services.$injector.get(e+"Directive");if(!t||!t.length)throw new Error("Unable to find component named '"+e+"'");return t.map(s).reduce(i.unnestR,[])}(n).map((function(n){var r=n.name,s=n.type,c=l(r);if(e.attr(c)&&!o[r])return c+"='"+e.attr(c)+"'";var u=o[r]||r;if("@"===s)return c+"='{{"+a+"$resolve."+u+"}}'";if("&"===s){var d=t.getResolvable(u),p=d&&d.data,f=p&&i.services.$injector.annotate(p)||[];return c+"='$resolve."+u+(Object(i.isArray)(p)?"["+(p.length-1)+"]":"")+"("+f.join(",")+")'"}return c+"='"+a+"$resolve."+u+"'"})).join(" "),u=l(n);return"<"+u+" "+c+"></"+u+">"},e}();var s=function(e){return Object(i.isObject)(e.bindToController)?l(e.bindToController):l(e.scope)},l=function(e){return Object.keys(e||{}).map((function(t){return[t,/^([=<@&])[?]?(.*)/.exec(e[t])]})).filter((function(e){return Object(i.isDefined)(e)&&Object(i.isArray)(e[1])})).map((function(e){return{name:e[1][2]||e[0],type:e[1][1]}}))},c=n(112),u=function(e){return function(t){var n=t[e],r="onExit"===e?"from":"to";return n?function(e,t){var o=new i.ResolveContext(e.treeChanges(r)).subContext(t.$$state()),a=Object(i.extend)(A(o),{$state$:t,$transition$:e});return i.services.$injector.invoke(n,this,a)}:void 0}},d=function(){function e(e){this._urlListeners=[],this.$locationProvider=e;var t=Object(i.val)(e);Object(i.createProxyFunctions)(t,this,t,["hashPrefix"])}return e.monkeyPatchPathParameterType=function(e){var t=e.urlMatcherFactory.type("path");t.encode=function(e){return null!=e?e.toString().replace(/(~|\/)/g,(function(e){return{"~":"~~","/":"~2F"}[e]})):e},t.decode=function(e){return null!=e?e.toString().replace(/(~~|~2F)/g,(function(e){return{"~~":"~","~2F":"/"}[e]})):e}},e.prototype.dispose=function(){},e.prototype.onChange=function(e){var t=this;return this._urlListeners.push(e),function(){return Object(i.removeFrom)(t._urlListeners)(e)}},e.prototype.html5Mode=function(){var e=this.$locationProvider.html5Mode();return(e=Object(i.isObject)(e)?e.enabled:e)&&this.$sniffer.history},e.prototype.baseHref=function(){return this._baseHref||(this._baseHref=this.$browser.baseHref()||this.$window.location.pathname)},e.prototype.url=function(e,t,n){return void 0===t&&(t=!1),Object(i.isDefined)(e)&&this.$location.url(e),t&&this.$location.replace(),n&&this.$location.state(n),this.$location.url()},e.prototype._runtimeServices=function(e,t,n,r,o){var a=this;this.$location=t,this.$sniffer=n,this.$browser=r,this.$window=o,e.$on("$locationChangeSuccess",(function(e){return a._urlListeners.forEach((function(t){return t(e)}))}));var s=Object(i.val)(t);Object(i.createProxyFunctions)(s,this,s,["replace","path","search","hash"]),Object(i.createProxyFunctions)(s,this,s,["port","protocol","host"])},e}(),p=n(113);r.a.module("ui.router.angular1",[]);var f=r.a.module("ui.router.init",["ng"]),h=r.a.module("ui.router.util",["ui.router.init"]),g=r.a.module("ui.router.router",["ui.router.util"]),m=r.a.module("ui.router.state",["ui.router.router","ui.router.util","ui.router.angular1"]),v=r.a.module("ui.router",["ui.router.init","ui.router.state","ui.router.angular1"]),b=(r.a.module("ui.router.compat",["ui.router"]),null);function y(e){(b=this.router=new i.UIRouter).stateProvider=new c.a(b.stateRegistry,b.stateService),b.stateRegistry.decorator("views",o.c),b.stateRegistry.decorator("onExit",u("onExit")),b.stateRegistry.decorator("onRetain",u("onRetain")),b.stateRegistry.decorator("onEnter",u("onEnter")),b.viewService._pluginapi._viewConfigFactory("ng1",Object(o.b)()),b.urlService.config._decodeParams=!1;var t=b.locationService=b.locationConfig=new d(e);function n(e,n,r,i,o,a,s){return t._runtimeServices(o,e,i,n,r),delete b.router,delete b.$get,b}return d.monkeyPatchPathParameterType(b),b.router=b,b.$get=n,n.$inject=["$location","$browser","$window","$sniffer","$rootScope","$http","$templateCache"],b}y.$inject=["$locationProvider"];var x=function(e){return["$uiRouterProvider",function(t){var n=t.router[e];return n.$get=function(){return n},n}]};function w(e,t,n){if(i.services.$injector=e,i.services.$q=t,!Object.prototype.hasOwnProperty.call(e,"strictDi"))try{e.invoke((function(e){}))}catch(t){e.strictDi=!!/strict mode/.exec(t&&t.toString())}n.stateRegistry.get().map((function(e){return e.$$state().resolvables})).reduce(i.unnestR,[]).filter((function(e){return"deferred"===e.deps})).forEach((function(t){return t.deps=e.annotate(t.resolveFn,e.strictDi)}))}w.$inject=["$injector","$q","$uiRouter"];function k(e){e.$watch((function(){i.trace.approximateDigests++}))}k.$inject=["$rootScope"],f.provider("$uiRouter",y),g.provider("$urlRouter",["$uiRouterProvider",function(e){return e.urlRouterProvider=new p.a(e)}]),h.provider("$urlService",x("urlService")),h.provider("$urlMatcherFactory",["$uiRouterProvider",function(){return b.urlMatcherFactory}]),h.provider("$templateFactory",(function(){return new a})),m.provider("$stateRegistry",x("stateRegistry")),m.provider("$uiRouterGlobals",x("globals")),m.provider("$transitions",x("transitionService")),m.provider("$state",["$uiRouterProvider",function(){return Object(i.extend)(b.stateProvider,{$get:function(){return b.stateService}})}]),m.factory("$stateParams",["$uiRouter",function(e){return e.globals.params}]),v.factory("$view",(function(){return b.viewService})),v.service("$trace",(function(){return i.trace})),v.run(k),h.run(["$urlMatcherFactory",function(e){}]),m.run(["$state",function(e){}]),g.run(["$urlRouter",function(e){}]),f.run(w);var A=function(e){return e.getTokens().filter(i.isString).map((function(t){var n=e.getResolvable(t);return[t,"NOWAIT"===e.getPolicy(n).async?n.promise:n.data]})).reduce(i.applyPairs,{})}},function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return a}));var r=n(6),i=function(e){var t=e.router;var n=e.entering().filter((function(e){return!!e.$$state().lazyLoad})).map((function(t){return a(e,t)}));return r.b.$q.all(n).then((function(){if("url"!==e.originalTransition().options().source){var n=e.targetState();return t.stateService.target(n.identifier(),n.params(),n.options())}var r=t.urlService,i=r.match(r.parts()),o=i&&i.rule;if(o&&"STATE"===o.type){var a=o.state,s=i.match;return t.stateService.target(a,s,e.options())}t.urlService.sync()}))},o=function(e){return e.onBefore({entering:function(e){return!!e.lazyLoad}},i)};function a(e,t){var n=t.$$state().lazyLoad,i=n._promise;if(!i){i=n._promise=r.b.$q.when(n(e,t)).then((function(t){t&&Array.isArray(t.states)&&t.states.forEach((function(t){return e.router.stateRegistry.register(t)}));return t})).then((function(e){return delete t.lazyLoad,delete t.$$state().lazyLoad,delete n._promise,e}),(function(e){return delete n._promise,r.b.$q.reject(e)}))}return i}},function(e,t,n){"use strict";var r=n(22);e.exports=i;function i(e){this._isDirected=!r.has(e,"directed")||e.directed,this._isMultigraph=!!r.has(e,"multigraph")&&e.multigraph,this._isCompound=!!r.has(e,"compound")&&e.compound,this._label=void 0,this._defaultNodeLabelFn=r.constant(void 0),this._defaultEdgeLabelFn=r.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children["\0"]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function o(e,t){e[t]?e[t]++:e[t]=1}function a(e,t){--e[t]||delete e[t]}function s(e,t,n,i){var o=""+t,a=""+n;if(!e&&o>a){var s=o;o=a,a=s}return o+""+a+""+(r.isUndefined(i)?"\0":i)}function l(e,t,n,r){var i=""+t,o=""+n;if(!e&&i>o){var a=i;i=o,o=a}var s={v:i,w:o};return r&&(s.name=r),s}function c(e,t){return s(e,t.v,t.w,t.name)}i.prototype._nodeCount=0,i.prototype._edgeCount=0,i.prototype.isDirected=function(){return this._isDirected},i.prototype.isMultigraph=function(){return this._isMultigraph},i.prototype.isCompound=function(){return this._isCompound},i.prototype.setGraph=function(e){return this._label=e,this},i.prototype.graph=function(){return this._label},i.prototype.setDefaultNodeLabel=function(e){return r.isFunction(e)||(e=r.constant(e)),this._defaultNodeLabelFn=e,this},i.prototype.nodeCount=function(){return this._nodeCount},i.prototype.nodes=function(){return r.keys(this._nodes)},i.prototype.sources=function(){var e=this;return r.filter(this.nodes(),(function(t){return r.isEmpty(e._in[t])}))},i.prototype.sinks=function(){var e=this;return r.filter(this.nodes(),(function(t){return r.isEmpty(e._out[t])}))},i.prototype.setNodes=function(e,t){var n=arguments,i=this;return r.each(e,(function(e){n.length>1?i.setNode(e,t):i.setNode(e)})),this},i.prototype.setNode=function(e,t){return r.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]="\0",this._children[e]={},this._children["\0"][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)},i.prototype.node=function(e){return this._nodes[e]},i.prototype.hasNode=function(e){return r.has(this._nodes,e)},i.prototype.removeNode=function(e){var t=this;if(r.has(this._nodes,e)){var n=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],r.each(this.children(e),(function(e){t.setParent(e)})),delete this._children[e]),r.each(r.keys(this._in[e]),n),delete this._in[e],delete this._preds[e],r.each(r.keys(this._out[e]),n),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},i.prototype.setParent=function(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(r.isUndefined(t))t="\0";else{for(var n=t+="";!r.isUndefined(n);n=this.parent(n))if(n===e)throw new Error("Setting "+t+" as parent of "+e+" would create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},i.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},i.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if("\0"!==t)return t}},i.prototype.children=function(e){if(r.isUndefined(e)&&(e="\0"),this._isCompound){var t=this._children[e];if(t)return r.keys(t)}else{if("\0"===e)return this.nodes();if(this.hasNode(e))return[]}},i.prototype.predecessors=function(e){var t=this._preds[e];if(t)return r.keys(t)},i.prototype.successors=function(e){var t=this._sucs[e];if(t)return r.keys(t)},i.prototype.neighbors=function(e){var t=this.predecessors(e);if(t)return r.union(t,this.successors(e))},i.prototype.isLeaf=function(e){return 0===(this.isDirected()?this.successors(e):this.neighbors(e)).length},i.prototype.filterNodes=function(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var n=this;r.each(this._nodes,(function(n,r){e(r)&&t.setNode(r,n)})),r.each(this._edgeObjs,(function(e){t.hasNode(e.v)&&t.hasNode(e.w)&&t.setEdge(e,n.edge(e))}));var i={};return this._isCompound&&r.each(t.nodes(),(function(e){t.setParent(e,function e(r){var o=n.parent(r);return void 0===o||t.hasNode(o)?(i[r]=o,o):o in i?i[o]:e(o)}(e))})),t},i.prototype.setDefaultEdgeLabel=function(e){return r.isFunction(e)||(e=r.constant(e)),this._defaultEdgeLabelFn=e,this},i.prototype.edgeCount=function(){return this._edgeCount},i.prototype.edges=function(){return r.values(this._edgeObjs)},i.prototype.setPath=function(e,t){var n=this,i=arguments;return r.reduce(e,(function(e,r){return i.length>1?n.setEdge(e,r,t):n.setEdge(e,r),r})),this},i.prototype.setEdge=function(){var e,t,n,i,a=!1,c=arguments[0];"object"==typeof c&&null!==c&&"v"in c?(e=c.v,t=c.w,n=c.name,2===arguments.length&&(i=arguments[1],a=!0)):(e=c,t=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,t=""+t,r.isUndefined(n)||(n=""+n);var u=s(this._isDirected,e,t,n);if(r.has(this._edgeLabels,u))return a&&(this._edgeLabels[u]=i),this;if(!r.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[u]=a?i:this._defaultEdgeLabelFn(e,t,n);var d=l(this._isDirected,e,t,n);return e=d.v,t=d.w,Object.freeze(d),this._edgeObjs[u]=d,o(this._preds[t],e),o(this._sucs[e],t),this._in[t][u]=d,this._out[e][u]=d,this._edgeCount++,this},i.prototype.edge=function(e,t,n){var r=1===arguments.length?c(this._isDirected,arguments[0]):s(this._isDirected,e,t,n);return this._edgeLabels[r]},i.prototype.hasEdge=function(e,t,n){var i=1===arguments.length?c(this._isDirected,arguments[0]):s(this._isDirected,e,t,n);return r.has(this._edgeLabels,i)},i.prototype.removeEdge=function(e,t,n){var r=1===arguments.length?c(this._isDirected,arguments[0]):s(this._isDirected,e,t,n),i=this._edgeObjs[r];return i&&(e=i.v,t=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],a(this._preds[t],e),a(this._sucs[e],t),delete this._in[t][r],delete this._out[e][r],this._edgeCount--),this},i.prototype.inEdges=function(e,t){var n=this._in[e];if(n){var i=r.values(n);return t?r.filter(i,(function(e){return e.v===t})):i}},i.prototype.outEdges=function(e,t){var n=this._out[e];if(n){var i=r.values(n);return t?r.filter(i,(function(e){return e.w===t})):i}},i.prototype.nodeEdges=function(e,t){var n=this.inEdges(e,t);if(n)return n.concat(this.outEdges(e,t))}},function(e,t,n){var r=n(46)(n(31),"Map");e.exports=r},function(e,t,n){var r=n(265),i=n(272),o=n(274),a=n(275),s=n(276);function l(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}l.prototype.clear=r,l.prototype.delete=i,l.prototype.get=o,l.prototype.has=a,l.prototype.set=s,e.exports=l},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}},function(e,t){e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},function(e,t,n){(function(e){var r=n(150),i=t&&!t.nodeType&&t,o=i&&"object"==typeof e&&e&&!e.nodeType&&e,a=o&&o.exports===i&&r.process,s=function(){try{var e=o&&o.require&&o.require("util").types;return e||a&&a.binding&&a.binding("util")}catch(e){}}();e.exports=s}).call(this,n(80)(e))},function(e,t,n){var r=n(83),i=n(282),o=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return i(e);var t=[];for(var n in Object(e))o.call(e,n)&&"constructor"!=n&&t.push(n);return t}},function(e,t,n){var r=n(157),i=n(158),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(e){return null==e?[]:(e=Object(e),r(a(e),(function(t){return o.call(e,t)})))}:i;e.exports=s},function(e,t){e.exports=function(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}},function(e,t,n){var r=n(163);e.exports=function(e){var t=new e.constructor(e.byteLength);return new r(t).set(new r(e)),t}},function(e,t){e.exports=function(e){return function(){return e}}},function(e,t,n){var r=n(128),i=n(41);e.exports=function(e,t){return e&&r(e,t,i)}},function(e,t,n){var r=n(301)();e.exports=r},function(e,t){e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}},function(e,t,n){var r=n(13),i=n(61),o=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!i(e))||(a.test(e)||!o.test(e)||null!=t&&e in Object(t))}},function(e,t,n){var r=n(124),i=n(335);e.exports=function e(t,n,o,a,s){var l=-1,c=t.length;for(o||(o=i),s||(s=[]);++l<c;){var u=t[l];n>0&&o(u)?n>1?e(u,n-1,o,a,s):r(s,u):a||(s[s.length]=u)}return s}},function(e,t,n){var r=n(61);e.exports=function(e,t,n){for(var i=-1,o=e.length;++i<o;){var a=e[i],s=t(a);if(null!=s&&(void 0===l?s==s&&!r(s):n(s,l)))var l=s,c=a}return c}},function(e,t){},function(e,t){},function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r,i=n(0),o=n(1),a=n(3),s=n(6),l=n(51),c=function(){function e(){this.enqueue=!0,this.typeQueue=[],this.defaultTypes=Object(i.H)(e.prototype,["hash","string","query","path","int","bool","date","json","any"]);this.types=Object(i.A)(Object(i.B)(this.defaultTypes,(function(e,t){return new l.a(Object(i.r)({name:t},e))})),{})}return e.prototype.dispose=function(){this.types={}},e.prototype.type=function(e,t,n){if(!Object(o.c)(t))return this.types[e];if(this.types.hasOwnProperty(e))throw new Error("A type named '"+e+"' has already been defined.");return this.types[e]=new l.a(Object(i.r)({name:e},t)),n&&(this.typeQueue.push({name:e,def:n}),this.enqueue||this._flushTypeQueue()),this},e.prototype._flushTypeQueue=function(){for(;this.typeQueue.length;){var e=this.typeQueue.shift();if(e.pattern)throw new Error("You cannot override a type's .pattern at runtime.");Object(i.r)(this.types[e.name],s.b.$injector.invoke(e.def))}},e}();r=function(e){var t=function(e){return null!=e?e.toString():e},n={encode:t,decode:t,is:Object(a.h)(String),pattern:/.*/,equals:function(e,t){return e==t}};return Object(i.r)({},n,e)},Object(i.r)(c.prototype,{string:r({}),path:r({pattern:/[^/]*/}),query:r({}),hash:r({inherit:!1}),int:r({decode:function(e){return parseInt(e,10)},is:function(e){return!Object(o.g)(e)&&this.decode(e.toString())===e},pattern:/-?\d+/}),bool:r({encode:function(e){return e?1:0},decode:function(e){return 0!==parseInt(e,10)},is:Object(a.h)(Boolean),pattern:/0|1/}),date:r({encode:function(e){return this.is(e)?[e.getFullYear(),("0"+(e.getMonth()+1)).slice(-2),("0"+e.getDate()).slice(-2)].join("-"):void 0},decode:function(e){if(this.is(e))return e;var t=this.capture.exec(e);return t?new Date(t[1],t[2]-1,t[3]):void 0},is:function(e){return e instanceof Date&&!isNaN(e.valueOf())},equals:function(e,t){return["getFullYear","getMonth","getDate"].reduce((function(n,r){return n&&e[r]()===t[r]()}),!0)},pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/,capture:/([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/}),json:r({encode:i.Q,decode:i.x,is:Object(a.h)(Object),equals:i.q,pattern:/[^/]*/}),any:r({encode:i.y,decode:i.y,is:function(){return!0},equals:i.q})})},function(e,t,n){"use strict";var r=n(52);n.d(t,"a",(function(){return r.a}));var i=n(18);n.d(t,"b",(function(){return i.a}))},function(e,t){},function(e,t,n){"use strict";var r=n(14);n.d(t,"h",(function(){return r.a})),n.d(t,"i",(function(){return r.b}));var i=n(98);n.d(t,"a",(function(){return i.a}));var o=n(45);n.d(t,"b",(function(){return o.a})),n.d(t,"l",(function(){return o.b})),n.d(t,"m",(function(){return o.c}));var a=n(9);n.d(t,"c",(function(){return a.a})),n.d(t,"d",(function(){return a.b}));var s=n(53);n.d(t,"e",(function(){return s.a}));var l=n(17);n.d(t,"g",(function(){return l.a}));var c=n(107);n.d(t,"f",(function(){return c.a}));var u=n(56);n.d(t,"j",(function(){return u.a})),n.d(t,"k",(function(){return u.b}))},function(e,t,n){"use strict";n.r(t);var r=n(140);for(var i in r)["default","UrlRules","UrlConfig"].indexOf(i)<0&&function(e){n.d(t,e,(function(){return r[e]}))}(i);var o=n(32);n.d(t,"UrlMatcher",(function(){return o.a}));var a=n(100);n.d(t,"ParamFactory",(function(){return a.a})),n.d(t,"UrlMatcherFactory",(function(){return a.b}));var s=n(101);n.d(t,"UrlRouter",(function(){return s.a}));var l=n(54);n.d(t,"UrlRuleFactory",(function(){return l.b})),n.d(t,"BaseUrlRule",(function(){return l.a}));var c=n(104);n.d(t,"UrlService",(function(){return c.a}));var u=n(105);n.d(t,"UrlRules",(function(){return u.a}));var d=n(106);n.d(t,"UrlConfig",(function(){return d.a}))},function(e,t){},function(e,t,n){"use strict";n.r(t);var r=n(142);for(var i in r)["default"].indexOf(i)<0&&function(e){n.d(t,e,(function(){return r[e]}))}(i);var o=n(102);n.d(t,"ViewService",(function(){return o.a}))},function(e,t){},function(e,t,n){"use strict";n.r(t);var r=n(144);for(var i in r)["default"].indexOf(i)<0&&function(e){n.d(t,e,(function(){return r[e]}))}(i)},function(e,t,n){"use strict";n.r(t);var r=n(145);for(var i in r)["default"].indexOf(i)<0&&function(e){n.d(t,e,(function(){return r[e]}))}(i);var o=n(70);n.d(t,"$q",(function(){return o.a}));var a=n(71);n.d(t,"$injector",(function(){return a.a}));var s=n(42);n.d(t,"BaseLocationServices",(function(){return s.a}));var l=n(108);n.d(t,"HashLocationService",(function(){return l.a}));var c=n(109);n.d(t,"MemoryLocationService",(function(){return c.a}));var u=n(110);n.d(t,"PushStateLocationService",(function(){return u.a}));var d=n(111);n.d(t,"MemoryLocationConfig",(function(){return d.a}));var p=n(72);n.d(t,"BrowserLocationConfig",(function(){return p.a}));var f=n(29);n.d(t,"keyValsToObjectR",(function(){return f.c})),n.d(t,"getParams",(function(){return f.b})),n.d(t,"parseUrl",(function(){return f.e})),n.d(t,"buildUrl",(function(){return f.a})),n.d(t,"locationPluginFactory",(function(){return f.d}));var h=n(146);n.d(t,"servicesPlugin",(function(){return h.d})),n.d(t,"hashLocationPlugin",(function(){return h.a})),n.d(t,"pushStateLocationPlugin",(function(){return h.c})),n.d(t,"memoryLocationPlugin",(function(){return h.b}))},function(e,t){},function(e,t,n){"use strict";n.d(t,"d",(function(){return p})),n.d(t,"a",(function(){return f})),n.d(t,"c",(function(){return h})),n.d(t,"b",(function(){return g}));var r=n(72),i=n(108),o=n(29),a=n(110),s=n(109),l=n(111),c=n(71),u=n(70),d=n(6);function p(e){return d.b.$injector=c.a,d.b.$q=u.a,{name:"vanilla.services",$q:u.a,$injector:c.a,dispose:function(){return null}}}var f=Object(o.d)("vanilla.hashBangLocation",!1,i.a,r.a),h=Object(o.d)("vanilla.pushStateLocation",!0,a.a,r.a),g=Object(o.d)("vanilla.memoryLocation",!1,s.a,l.a)},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(){function e(){}return e.prototype.dispose=function(e){},e}()},function(e,t,n){var r=n(247);e.exports={Graph:r.Graph,json:n(349),alg:n(350),version:r.version}},function(e,t,n){var r=n(73),i=n(119),o=n(78),a=n(277),s=n(283),l=n(155),c=n(156),u=n(286),d=n(287),p=n(160),f=n(288),h=n(60),g=n(292),m=n(293),v=n(165),b=n(13),y=n(59),x=n(297),w=n(23),k=n(299),A=n(41),E=n(48),S={};S["[object Arguments]"]=S["[object Array]"]=S["[object ArrayBuffer]"]=S["[object DataView]"]=S["[object Boolean]"]=S["[object Date]"]=S["[object Float32Array]"]=S["[object Float64Array]"]=S["[object Int8Array]"]=S["[object Int16Array]"]=S["[object Int32Array]"]=S["[object Map]"]=S["[object Number]"]=S["[object Object]"]=S["[object RegExp]"]=S["[object Set]"]=S["[object String]"]=S["[object Symbol]"]=S["[object Uint8Array]"]=S["[object Uint8ClampedArray]"]=S["[object Uint16Array]"]=S["[object Uint32Array]"]=!0,S["[object Error]"]=S["[object Function]"]=S["[object WeakMap]"]=!1,e.exports=function e(t,n,$,C,_,O){var T,j=1&n,P=2&n,D=4&n;if($&&(T=_?$(t,C,_,O):$(t)),void 0!==T)return T;if(!w(t))return t;var R=b(t);if(R){if(T=g(t),!j)return c(t,T)}else{var I=h(t),N="[object Function]"==I||"[object GeneratorFunction]"==I;if(y(t))return l(t,j);if("[object Object]"==I||"[object Arguments]"==I||N&&!_){if(T=P||N?{}:v(t),!j)return P?d(t,s(T,t)):u(t,a(T,t))}else{if(!S[I])return _?t:{};T=m(t,I,j)}}O||(O=new r);var M=O.get(t);if(M)return M;O.set(t,T),k(t)?t.forEach((function(r){T.add(e(r,n,$,r,t,O))})):x(t)&&t.forEach((function(r,i){T.set(i,e(r,n,$,i,t,O))}));var z=R?void 0:(D?P?f:p:P?E:A)(t);return i(z||t,(function(r,i){z&&(r=t[i=r]),o(T,i,e(r,n,$,i,t,O))})),T}},function(e,t,n){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(this,n(35))},function(e,t){var n=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return n.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},function(e,t,n){var r=n(46),i=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=i},function(e,t,n){var r=n(278),i=n(66),o=n(13),a=n(59),s=n(81),l=n(67),c=Object.prototype.hasOwnProperty;e.exports=function(e,t){var n=o(e),u=!n&&i(e),d=!n&&!u&&a(e),p=!n&&!u&&!d&&l(e),f=n||u||d||p,h=f?r(e.length,String):[],g=h.length;for(var m in e)!t&&!c.call(e,m)||f&&("length"==m||d&&("offset"==m||"parent"==m)||p&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||s(m,g))||h.push(m);return h}},function(e,t){e.exports=function(e,t){return function(n){return e(t(n))}}},function(e,t,n){(function(e){var r=n(31),i=t&&!t.nodeType&&t,o=i&&"object"==typeof e&&e&&!e.nodeType&&e,a=o&&o.exports===i?r.Buffer:void 0,s=a?a.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var n=e.length,r=s?s(n):new e.constructor(n);return e.copy(r),r}}).call(this,n(80)(e))},function(e,t){e.exports=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var a=e[n];t(a,n,e)&&(o[i++]=a)}return o}},function(e,t){e.exports=function(){return[]}},function(e,t,n){var r=n(124),i=n(84),o=n(123),a=n(158),s=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)r(t,o(e)),e=i(e);return t}:a;e.exports=s},function(e,t,n){var r=n(161),i=n(123),o=n(41);e.exports=function(e){return r(e,o,i)}},function(e,t,n){var r=n(124),i=n(13);e.exports=function(e,t,n){var o=t(e);return i(e)?o:r(o,n(e))}},function(e,t,n){var r=n(46)(n(31),"Set");e.exports=r},function(e,t,n){var r=n(31).Uint8Array;e.exports=r},function(e,t,n){var r=n(125);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}},function(e,t,n){var r=n(166),i=n(84),o=n(83);e.exports=function(e){return"function"!=typeof e.constructor||o(e)?{}:r(i(e))}},function(e,t,n){var r=n(23),i=Object.create,o=function(){function e(){}return function(t){if(!r(t))return{};if(i)return i(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();e.exports=o},function(e,t,n){e.exports=n(168)},function(e,t,n){var r=n(119),i=n(85),o=n(169),a=n(13);e.exports=function(e,t){return(a(e)?r:i)(e,o(t))}},function(e,t,n){var r=n(49);e.exports=function(e){return"function"==typeof e?e:r}},function(e,t,n){var r=n(157),i=n(303),o=n(37),a=n(13);e.exports=function(e,t){return(a(e)?r:i)(e,o(t,3))}},function(e,t,n){var r=n(306),i=n(34);e.exports=function e(t,n,o,a,s){return t===n||(null==t||null==n||!i(t)&&!i(n)?t!=t&&n!=n:r(t,n,o,a,e,s))}},function(e,t,n){var r=n(173),i=n(309),o=n(174);e.exports=function(e,t,n,a,s,l){var c=1&n,u=e.length,d=t.length;if(u!=d&&!(c&&d>u))return!1;var p=l.get(e),f=l.get(t);if(p&&f)return p==t&&f==e;var h=-1,g=!0,m=2&n?new r:void 0;for(l.set(e,t),l.set(t,e);++h<u;){var v=e[h],b=t[h];if(a)var y=c?a(b,v,h,t,e,l):a(v,b,h,e,t,l);if(void 0!==y){if(y)continue;g=!1;break}if(m){if(!i(t,(function(e,t){if(!o(m,t)&&(v===e||s(v,e,n,a,l)))return m.push(t)}))){g=!1;break}}else if(v!==b&&!s(v,b,n,a,l)){g=!1;break}}return l.delete(e),l.delete(t),g}},function(e,t,n){var r=n(118),i=n(307),o=n(308);function a(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new r;++t<n;)this.add(e[t])}a.prototype.add=a.prototype.push=i,a.prototype.has=o,e.exports=a},function(e,t){e.exports=function(e,t){return e.has(t)}},function(e,t,n){var r=n(23);e.exports=function(e){return e==e&&!r(e)}},function(e,t){e.exports=function(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in Object(n)))}}},function(e,t,n){var r=n(319);e.exports=function(e){return null==e?"":r(e)}},function(e,t,n){var r=n(320),i=n(179);e.exports=function(e,t){return null!=e&&i(e,t,r)}},function(e,t,n){var r=n(87),i=n(66),o=n(13),a=n(81),s=n(120),l=n(68);e.exports=function(e,t,n){for(var c=-1,u=(t=r(t,e)).length,d=!1;++c<u;){var p=l(t[c]);if(!(d=null!=e&&n(e,p)))break;e=e[p]}return d||++c!=u?d:!!(u=null==e?0:e.length)&&s(u)&&a(p,u)&&(o(e)||i(e))}},function(e,t){e.exports=function(e){return function(t){return null==t?void 0:t[e]}}},function(e,t,n){var r=n(323),i=n(179);e.exports=function(e,t){return null!=e&&i(e,t,r)}},function(e,t){e.exports=function(e){return void 0===e}},function(e,t,n){var r=n(88),i=n(37),o=n(184),a=n(13);e.exports=function(e,t){return(a(e)?r:o)(e,i(t,3))}},function(e,t,n){var r=n(85),i=n(36);e.exports=function(e,t){var n=-1,o=i(e)?Array(e.length):[];return r(e,(function(e,r,i){o[++n]=t(e,r,i)})),o}},function(e,t,n){var r=n(325),i=n(85),o=n(37),a=n(326),s=n(13);e.exports=function(e,t,n){var l=s(e)?r:a,c=arguments.length<3;return l(e,o(t,4),n,c,i)}},function(e,t,n){var r=n(336),i=Math.max;e.exports=function(e,t,n){return t=i(void 0===t?e.length-1:t,0),function(){for(var o=arguments,a=-1,s=i(o.length-t,0),l=Array(s);++a<s;)l[a]=o[t+a];a=-1;for(var c=Array(t+1);++a<t;)c[a]=o[a];return c[t]=n(l),r(e,this,c)}}},function(e,t,n){var r=n(337),i=n(338)(r);e.exports=i},function(e,t){e.exports=function(e,t,n,r){for(var i=e.length,o=n+(r?1:-1);r?o--:++o<i;)if(t(e[o],o,e))return o;return-1}},function(e,t,n){var r=n(36),i=n(34);e.exports=function(e){return i(e)&&r(e)}},function(e,t,n){var r=n(347),i=n(41);e.exports=function(e){return null==e?[]:r(e,i(e))}},function(e,t,n){var r=n(22),i=n(192);e.exports=function(e,t,n,r){return function(e,t,n,r){var o,a,s={},l=new i,c=function(e){var t=e.v!==o?e.v:e.w,r=s[t],i=n(e),c=a.distance+i;if(i<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+i);c<r.distance&&(r.distance=c,r.predecessor=o,l.decrease(t,c))};e.nodes().forEach((function(e){var n=e===t?0:Number.POSITIVE_INFINITY;s[e]={distance:n},l.add(e,n)}));for(;l.size()>0&&(o=l.removeMin(),(a=s[o]).distance!==Number.POSITIVE_INFINITY);)r(o).forEach(c);return s}(e,String(t),n||o,r||function(t){return e.outEdges(t)})};var o=r.constant(1)},function(e,t,n){var r=n(22);function i(){this._arr=[],this._keyIndices={}}e.exports=i,i.prototype.size=function(){return this._arr.length},i.prototype.keys=function(){return this._arr.map((function(e){return e.key}))},i.prototype.has=function(e){return r.has(this._keyIndices,e)},i.prototype.priority=function(e){var t=this._keyIndices[e];if(void 0!==t)return this._arr[t].priority},i.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},i.prototype.add=function(e,t){var n=this._keyIndices;if(e=String(e),!r.has(n,e)){var i=this._arr,o=i.length;return n[e]=o,i.push({key:e,priority:t}),this._decrease(o),!0}return!1},i.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},i.prototype.decrease=function(e,t){var n=this._keyIndices[e];if(t>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[n].priority+" New: "+t);this._arr[n].priority=t,this._decrease(n)},i.prototype._heapify=function(e){var t=this._arr,n=2*e,r=n+1,i=e;n<t.length&&(i=t[n].priority<t[i].priority?n:i,r<t.length&&(i=t[r].priority<t[i].priority?r:i),i!==e&&(this._swap(e,i),this._heapify(i)))},i.prototype._decrease=function(e){for(var t,n=this._arr,r=n[e].priority;0!==e&&!(n[t=e>>1].priority<r);)this._swap(e,t),e=t},i.prototype._swap=function(e,t){var n=this._arr,r=this._keyIndices,i=n[e],o=n[t];n[e]=o,n[t]=i,r[o.key]=e,r[i.key]=t}},function(e,t,n){var r=n(22);e.exports=function(e){var t=0,n=[],i={},o=[];return e.nodes().forEach((function(a){r.has(i,a)||function a(s){var l=i[s]={onStack:!0,lowlink:t,index:t++};if(n.push(s),e.successors(s).forEach((function(e){r.has(i,e)?i[e].onStack&&(l.lowlink=Math.min(l.lowlink,i[e].index)):(a(e),l.lowlink=Math.min(l.lowlink,i[e].lowlink))})),l.lowlink===l.index){var c,u=[];do{c=n.pop(),i[c].onStack=!1,u.push(c)}while(s!==c);o.push(u)}}(a)})),o}},function(e,t,n){var r=n(22);function i(e){var t={},n={},i=[];if(r.each(e.sinks(),(function a(s){if(r.has(n,s))throw new o;r.has(t,s)||(n[s]=!0,t[s]=!0,r.each(e.predecessors(s),a),delete n[s],i.push(s))})),r.size(t)!==e.nodeCount())throw new o;return i}function o(){}e.exports=i,i.CycleException=o,o.prototype=new Error},function(e,t,n){var r=n(22);e.exports=function(e,t,n){r.isArray(t)||(t=[t]);var i=(e.isDirected()?e.successors:e.neighbors).bind(e),o=[],a={};return r.each(t,(function(t){if(!e.hasNode(t))throw new Error("Graph does not have node: "+t);!function e(t,n,i,o,a,s){r.has(o,n)||(o[n]=!0,i||s.push(n),r.each(a(n),(function(n){e(t,n,i,o,a,s)})),i&&s.push(n))}(e,t,"post"===n,a,i,o)})),o}},function(e,t,n){var r=n(366);e.exports=function(e){return e?(e=r(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}},function(e,t,n){var r=n(131);e.exports=function(e){return(null==e?0:e.length)?r(e,1):[]}},function(e,t,n){var r=n(79),i=n(57);e.exports=function(e,t,n){(void 0!==n&&!i(e[t],n)||void 0===n&&!(t in e))&&r(e,t,n)}},function(e,t){e.exports=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}},function(e,t){e.exports=function(e,t){return e<t}},function(e,t,n){"use strict";var r=n(11),i=n(30).Graph,o=n(91).slack;function a(e,t){return r.forEach(e.nodes(),(function n(i){r.forEach(t.nodeEdges(i),(function(r){var a=r.v,s=i===a?r.w:a;e.hasNode(s)||o(t,r)||(e.setNode(s,{}),e.setEdge(i,s,{}),n(s))}))})),e.nodeCount()}function s(e,t){return r.minBy(t.edges(),(function(n){if(e.hasNode(n.v)!==e.hasNode(n.w))return o(t,n)}))}function l(e,t,n){r.forEach(e.nodes(),(function(e){t.node(e).rank+=n}))}e.exports=function(e){var t,n,r=new i({directed:!1}),c=e.nodes()[0],u=e.nodeCount();r.setNode(c,{});for(;a(r,e)<u;)t=s(r,e),n=r.hasNode(t.v)?o(e,t):-o(e,t),l(r,e,n);return r}},function(e,t,n){(function(e,r){var i;
186
+ /**
187
+ * @license
188
+ * Lodash <https://lodash.com/>
189
+ * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
190
+ * Released under MIT license <https://lodash.com/license>
191
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
192
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
193
+ */(function () { var o = "Expected a function", a = "__lodash_placeholder__", s = [["ary", 128], ["bind", 1], ["bindKey", 2], ["curry", 8], ["curryRight", 16], ["flip", 512], ["partial", 32], ["partialRight", 64], ["rearg", 256]], l = "[object Arguments]", c = "[object Array]", u = "[object Boolean]", d = "[object Date]", p = "[object Error]", f = "[object Function]", h = "[object GeneratorFunction]", g = "[object Map]", m = "[object Number]", v = "[object Object]", b = "[object RegExp]", y = "[object Set]", x = "[object String]", w = "[object Symbol]", k = "[object WeakMap]", A = "[object ArrayBuffer]", E = "[object DataView]", S = "[object Float32Array]", $ = "[object Float64Array]", C = "[object Int8Array]", _ = "[object Int16Array]", O = "[object Int32Array]", T = "[object Uint8Array]", j = "[object Uint16Array]", P = "[object Uint32Array]", D = /\b__p \+= '';/g, R = /\b(__p \+=) '' \+/g, I = /(__e\(.*?\)|\b__t\)) \+\n'';/g, N = /&(?:amp|lt|gt|quot|#39);/g, M = /[&<>"']/g, z = RegExp(N.source), L = RegExp(M.source), B = /<%-([\s\S]+?)%>/g, F = /<%([\s\S]+?)%>/g, q = /<%=([\s\S]+?)%>/g, V = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, U = /^\w*$/, H = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, G = /[\\^$.*+?()[\]{}|]/g, W = RegExp(G.source), Y = /^\s+/, X = /\s/, Z = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, Q = /\{\n\/\* \[wrapped with (.+)\] \*/, J = /,? & /, K = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g, ee = /[()=,{}\[\]\/\s]/, te = /\\(\\)?/g, ne = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g, re = /\w*$/, ie = /^[-+]0x[0-9a-f]+$/i, oe = /^0b[01]+$/i, ae = /^\[object .+?Constructor\]$/, se = /^0o[0-7]+$/i, le = /^(?:0|[1-9]\d*)$/, ce = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g, ue = /($^)/, de = /['\n\r\u2028\u2029\\]/g, pe = "\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff", fe = "\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", he = "[\\ud800-\\udfff]", ge = "[" + fe + "]", me = "[" + pe + "]", ve = "\\d+", be = "[\\u2700-\\u27bf]", ye = "[a-z\\xdf-\\xf6\\xf8-\\xff]", xe = "[^\\ud800-\\udfff" + fe + ve + "\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]", we = "\\ud83c[\\udffb-\\udfff]", ke = "[^\\ud800-\\udfff]", Ae = "(?:\\ud83c[\\udde6-\\uddff]){2}", Ee = "[\\ud800-\\udbff][\\udc00-\\udfff]", Se = "[A-Z\\xc0-\\xd6\\xd8-\\xde]", $e = "(?:" + ye + "|" + xe + ")", Ce = "(?:" + Se + "|" + xe + ")", _e = "(?:" + me + "|" + we + ")" + "?", Oe = "[\\ufe0e\\ufe0f]?" + _e + ("(?:\\u200d(?:" + [ke, Ae, Ee].join("|") + ")[\\ufe0e\\ufe0f]?" + _e + ")*"), Te = "(?:" + [be, Ae, Ee].join("|") + ")" + Oe, je = "(?:" + [ke + me + "?", me, Ae, Ee, he].join("|") + ")", Pe = RegExp("['’]", "g"), De = RegExp(me, "g"), Re = RegExp(we + "(?=" + we + ")|" + je + Oe, "g"), Ie = RegExp([Se + "?" + ye + "+(?:['’](?:d|ll|m|re|s|t|ve))?(?=" + [ge, Se, "$"].join("|") + ")", Ce + "+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=" + [ge, Se + $e, "$"].join("|") + ")", Se + "?" + $e + "+(?:['’](?:d|ll|m|re|s|t|ve))?", Se + "+(?:['’](?:D|LL|M|RE|S|T|VE))?", "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", ve, Te].join("|"), "g"), Ne = RegExp("[\\u200d\\ud800-\\udfff" + pe + "\\ufe0e\\ufe0f]"), Me = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/, ze = ["Array", "Buffer", "DataView", "Date", "Error", "Float32Array", "Float64Array", "Function", "Int8Array", "Int16Array", "Int32Array", "Map", "Math", "Object", "Promise", "RegExp", "Set", "String", "Symbol", "TypeError", "Uint8Array", "Uint8ClampedArray", "Uint16Array", "Uint32Array", "WeakMap", "_", "clearTimeout", "isFinite", "parseInt", "setTimeout"], Le = -1, Be = {}; Be[S] = Be[$] = Be[C] = Be[_] = Be[O] = Be[T] = Be["[object Uint8ClampedArray]"] = Be[j] = Be[P] = !0, Be[l] = Be[c] = Be[A] = Be[u] = Be[E] = Be[d] = Be[p] = Be[f] = Be[g] = Be[m] = Be[v] = Be[b] = Be[y] = Be[x] = Be[k] = !1; var Fe = {}; Fe[l] = Fe[c] = Fe[A] = Fe[E] = Fe[u] = Fe[d] = Fe[S] = Fe[$] = Fe[C] = Fe[_] = Fe[O] = Fe[g] = Fe[m] = Fe[v] = Fe[b] = Fe[y] = Fe[x] = Fe[w] = Fe[T] = Fe["[object Uint8ClampedArray]"] = Fe[j] = Fe[P] = !0, Fe[p] = Fe[f] = Fe[k] = !1; var qe = { "\\": "\\", "'": "'", "\n": "n", "\r": "r", "\u2028": "u2028", "\u2029": "u2029" }, Ve = parseFloat, Ue = parseInt, He = "object" == typeof e && e && e.Object === Object && e, Ge = "object" == typeof self && self && self.Object === Object && self, We = He || Ge || Function("return this")(), Ye = t && !t.nodeType && t, Xe = Ye && "object" == typeof r && r && !r.nodeType && r, Ze = Xe && Xe.exports === Ye, Qe = Ze && He.process, Je = function () { try { var e = Xe && Xe.require && Xe.require("util").types; return e || Qe && Qe.binding && Qe.binding("util") } catch (e) { } }(), Ke = Je && Je.isArrayBuffer, et = Je && Je.isDate, tt = Je && Je.isMap, nt = Je && Je.isRegExp, rt = Je && Je.isSet, it = Je && Je.isTypedArray; function ot(e, t, n) { switch (n.length) { case 0: return e.call(t); case 1: return e.call(t, n[0]); case 2: return e.call(t, n[0], n[1]); case 3: return e.call(t, n[0], n[1], n[2]) }return e.apply(t, n) } function at(e, t, n, r) { for (var i = -1, o = null == e ? 0 : e.length; ++i < o;) { var a = e[i]; t(r, a, n(a), e) } return r } function st(e, t) { for (var n = -1, r = null == e ? 0 : e.length; ++n < r && !1 !== t(e[n], n, e);); return e } function lt(e, t) { for (var n = null == e ? 0 : e.length; n-- && !1 !== t(e[n], n, e);); return e } function ct(e, t) { for (var n = -1, r = null == e ? 0 : e.length; ++n < r;)if (!t(e[n], n, e)) return !1; return !0 } function ut(e, t) { for (var n = -1, r = null == e ? 0 : e.length, i = 0, o = []; ++n < r;) { var a = e[n]; t(a, n, e) && (o[i++] = a) } return o } function dt(e, t) { return !!(null == e ? 0 : e.length) && wt(e, t, 0) > -1 } function pt(e, t, n) { for (var r = -1, i = null == e ? 0 : e.length; ++r < i;)if (n(t, e[r])) return !0; return !1 } function ft(e, t) { for (var n = -1, r = null == e ? 0 : e.length, i = Array(r); ++n < r;)i[n] = t(e[n], n, e); return i } function ht(e, t) { for (var n = -1, r = t.length, i = e.length; ++n < r;)e[i + n] = t[n]; return e } function gt(e, t, n, r) { var i = -1, o = null == e ? 0 : e.length; for (r && o && (n = e[++i]); ++i < o;)n = t(n, e[i], i, e); return n } function mt(e, t, n, r) { var i = null == e ? 0 : e.length; for (r && i && (n = e[--i]); i--;)n = t(n, e[i], i, e); return n } function vt(e, t) { for (var n = -1, r = null == e ? 0 : e.length; ++n < r;)if (t(e[n], n, e)) return !0; return !1 } var bt = St("length"); function yt(e, t, n) { var r; return n(e, (function (e, n, i) { if (t(e, n, i)) return r = n, !1 })), r } function xt(e, t, n, r) { for (var i = e.length, o = n + (r ? 1 : -1); r ? o-- : ++o < i;)if (t(e[o], o, e)) return o; return -1 } function wt(e, t, n) { return t == t ? function (e, t, n) { var r = n - 1, i = e.length; for (; ++r < i;)if (e[r] === t) return r; return -1 }(e, t, n) : xt(e, At, n) } function kt(e, t, n, r) { for (var i = n - 1, o = e.length; ++i < o;)if (r(e[i], t)) return i; return -1 } function At(e) { return e != e } function Et(e, t) { var n = null == e ? 0 : e.length; return n ? _t(e, t) / n : NaN } function St(e) { return function (t) { return null == t ? void 0 : t[e] } } function $t(e) { return function (t) { return null == e ? void 0 : e[t] } } function Ct(e, t, n, r, i) { return i(e, (function (e, i, o) { n = r ? (r = !1, e) : t(n, e, i, o) })), n } function _t(e, t) { for (var n, r = -1, i = e.length; ++r < i;) { var o = t(e[r]); void 0 !== o && (n = void 0 === n ? o : n + o) } return n } function Ot(e, t) { for (var n = -1, r = Array(e); ++n < e;)r[n] = t(n); return r } function Tt(e) { return e ? e.slice(0, Yt(e) + 1).replace(Y, "") : e } function jt(e) { return function (t) { return e(t) } } function Pt(e, t) { return ft(t, (function (t) { return e[t] })) } function Dt(e, t) { return e.has(t) } function Rt(e, t) { for (var n = -1, r = e.length; ++n < r && wt(t, e[n], 0) > -1;); return n } function It(e, t) { for (var n = e.length; n-- && wt(t, e[n], 0) > -1;); return n } function Nt(e, t) { for (var n = e.length, r = 0; n--;)e[n] === t && ++r; return r } var Mt = $t({ "À": "A", "Á": "A", "Â": "A", "Ã": "A", "Ä": "A", "Å": "A", "à": "a", "á": "a", "â": "a", "ã": "a", "ä": "a", "å": "a", "Ç": "C", "ç": "c", "Ð": "D", "ð": "d", "È": "E", "É": "E", "Ê": "E", "Ë": "E", "è": "e", "é": "e", "ê": "e", "ë": "e", "Ì": "I", "Í": "I", "Î": "I", "Ï": "I", "ì": "i", "í": "i", "î": "i", "ï": "i", "Ñ": "N", "ñ": "n", "Ò": "O", "Ó": "O", "Ô": "O", "Õ": "O", "Ö": "O", "Ø": "O", "ò": "o", "ó": "o", "ô": "o", "õ": "o", "ö": "o", "ø": "o", "Ù": "U", "Ú": "U", "Û": "U", "Ü": "U", "ù": "u", "ú": "u", "û": "u", "ü": "u", "Ý": "Y", "ý": "y", "ÿ": "y", "Æ": "Ae", "æ": "ae", "Þ": "Th", "þ": "th", "ß": "ss", "Ā": "A", "Ă": "A", "Ą": "A", "ā": "a", "ă": "a", "ą": "a", "Ć": "C", "Ĉ": "C", "Ċ": "C", "Č": "C", "ć": "c", "ĉ": "c", "ċ": "c", "č": "c", "Ď": "D", "Đ": "D", "ď": "d", "đ": "d", "Ē": "E", "Ĕ": "E", "Ė": "E", "Ę": "E", "Ě": "E", "ē": "e", "ĕ": "e", "ė": "e", "ę": "e", "ě": "e", "Ĝ": "G", "Ğ": "G", "Ġ": "G", "Ģ": "G", "ĝ": "g", "ğ": "g", "ġ": "g", "ģ": "g", "Ĥ": "H", "Ħ": "H", "ĥ": "h", "ħ": "h", "Ĩ": "I", "Ī": "I", "Ĭ": "I", "Į": "I", "İ": "I", "ĩ": "i", "ī": "i", "ĭ": "i", "į": "i", "ı": "i", "Ĵ": "J", "ĵ": "j", "Ķ": "K", "ķ": "k", "ĸ": "k", "Ĺ": "L", "Ļ": "L", "Ľ": "L", "Ŀ": "L", "Ł": "L", "ĺ": "l", "ļ": "l", "ľ": "l", "ŀ": "l", "ł": "l", "Ń": "N", "Ņ": "N", "Ň": "N", "Ŋ": "N", "ń": "n", "ņ": "n", "ň": "n", "ŋ": "n", "Ō": "O", "Ŏ": "O", "Ő": "O", "ō": "o", "ŏ": "o", "ő": "o", "Ŕ": "R", "Ŗ": "R", "Ř": "R", "ŕ": "r", "ŗ": "r", "ř": "r", "Ś": "S", "Ŝ": "S", "Ş": "S", "Š": "S", "ś": "s", "ŝ": "s", "ş": "s", "š": "s", "Ţ": "T", "Ť": "T", "Ŧ": "T", "ţ": "t", "ť": "t", "ŧ": "t", "Ũ": "U", "Ū": "U", "Ŭ": "U", "Ů": "U", "Ű": "U", "Ų": "U", "ũ": "u", "ū": "u", "ŭ": "u", "ů": "u", "ű": "u", "ų": "u", "Ŵ": "W", "ŵ": "w", "Ŷ": "Y", "ŷ": "y", "Ÿ": "Y", "Ź": "Z", "Ż": "Z", "Ž": "Z", "ź": "z", "ż": "z", "ž": "z", "IJ": "IJ", "ij": "ij", "Œ": "Oe", "œ": "oe", "ʼn": "'n", "ſ": "s" }), zt = $t({ "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" }); function Lt(e) { return "\\" + qe[e] } function Bt(e) { return Ne.test(e) } function Ft(e) { var t = -1, n = Array(e.size); return e.forEach((function (e, r) { n[++t] = [r, e] })), n } function qt(e, t) { return function (n) { return e(t(n)) } } function Vt(e, t) { for (var n = -1, r = e.length, i = 0, o = []; ++n < r;) { var s = e[n]; s !== t && s !== a || (e[n] = a, o[i++] = n) } return o } function Ut(e) { var t = -1, n = Array(e.size); return e.forEach((function (e) { n[++t] = e })), n } function Ht(e) { var t = -1, n = Array(e.size); return e.forEach((function (e) { n[++t] = [e, e] })), n } function Gt(e) { return Bt(e) ? function (e) { var t = Re.lastIndex = 0; for (; Re.test(e);)++t; return t }(e) : bt(e) } function Wt(e) { return Bt(e) ? function (e) { return e.match(Re) || [] }(e) : function (e) { return e.split("") }(e) } function Yt(e) { for (var t = e.length; t-- && X.test(e.charAt(t));); return t } var Xt = $t({ "&amp;": "&", "&lt;": "<", "&gt;": ">", "&quot;": '"', "&#39;": "'" }); var Zt = function e(t) { var n, r = (t = null == t ? We : Zt.defaults(We.Object(), t, Zt.pick(We, ze))).Array, i = t.Date, X = t.Error, pe = t.Function, fe = t.Math, he = t.Object, ge = t.RegExp, me = t.String, ve = t.TypeError, be = r.prototype, ye = pe.prototype, xe = he.prototype, we = t["__core-js_shared__"], ke = ye.toString, Ae = xe.hasOwnProperty, Ee = 0, Se = (n = /[^.]+$/.exec(we && we.keys && we.keys.IE_PROTO || "")) ? "Symbol(src)_1." + n : "", $e = xe.toString, Ce = ke.call(he), _e = We._, Oe = ge("^" + ke.call(Ae).replace(G, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"), Te = Ze ? t.Buffer : void 0, je = t.Symbol, Re = t.Uint8Array, Ne = Te ? Te.allocUnsafe : void 0, qe = qt(he.getPrototypeOf, he), He = he.create, Ge = xe.propertyIsEnumerable, Ye = be.splice, Xe = je ? je.isConcatSpreadable : void 0, Qe = je ? je.iterator : void 0, Je = je ? je.toStringTag : void 0, bt = function () { try { var e = eo(he, "defineProperty"); return e({}, "", {}), e } catch (e) { } }(), $t = t.clearTimeout !== We.clearTimeout && t.clearTimeout, Qt = i && i.now !== We.Date.now && i.now, Jt = t.setTimeout !== We.setTimeout && t.setTimeout, Kt = fe.ceil, en = fe.floor, tn = he.getOwnPropertySymbols, nn = Te ? Te.isBuffer : void 0, rn = t.isFinite, on = be.join, an = qt(he.keys, he), sn = fe.max, ln = fe.min, cn = i.now, un = t.parseInt, dn = fe.random, pn = be.reverse, fn = eo(t, "DataView"), hn = eo(t, "Map"), gn = eo(t, "Promise"), mn = eo(t, "Set"), vn = eo(t, "WeakMap"), bn = eo(he, "create"), yn = vn && new vn, xn = {}, wn = _o(fn), kn = _o(hn), An = _o(gn), En = _o(mn), Sn = _o(vn), $n = je ? je.prototype : void 0, Cn = $n ? $n.valueOf : void 0, _n = $n ? $n.toString : void 0; function On(e) { if (Ha(e) && !Ra(e) && !(e instanceof Dn)) { if (e instanceof Pn) return e; if (Ae.call(e, "__wrapped__")) return Oo(e) } return new Pn(e) } var Tn = function () { function e() { } return function (t) { if (!Ua(t)) return {}; if (He) return He(t); e.prototype = t; var n = new e; return e.prototype = void 0, n } }(); function jn() { } function Pn(e, t) { this.__wrapped__ = e, this.__actions__ = [], this.__chain__ = !!t, this.__index__ = 0, this.__values__ = void 0 } function Dn(e) { this.__wrapped__ = e, this.__actions__ = [], this.__dir__ = 1, this.__filtered__ = !1, this.__iteratees__ = [], this.__takeCount__ = 4294967295, this.__views__ = [] } function Rn(e) { var t = -1, n = null == e ? 0 : e.length; for (this.clear(); ++t < n;) { var r = e[t]; this.set(r[0], r[1]) } } function In(e) { var t = -1, n = null == e ? 0 : e.length; for (this.clear(); ++t < n;) { var r = e[t]; this.set(r[0], r[1]) } } function Nn(e) { var t = -1, n = null == e ? 0 : e.length; for (this.clear(); ++t < n;) { var r = e[t]; this.set(r[0], r[1]) } } function Mn(e) { var t = -1, n = null == e ? 0 : e.length; for (this.__data__ = new Nn; ++t < n;)this.add(e[t]) } function zn(e) { var t = this.__data__ = new In(e); this.size = t.size } function Ln(e, t) { var n = Ra(e), r = !n && Da(e), i = !n && !r && za(e), o = !n && !r && !i && Ka(e), a = n || r || i || o, s = a ? Ot(e.length, me) : [], l = s.length; for (var c in e) !t && !Ae.call(e, c) || a && ("length" == c || i && ("offset" == c || "parent" == c) || o && ("buffer" == c || "byteLength" == c || "byteOffset" == c) || so(c, l)) || s.push(c); return s } function Bn(e) { var t = e.length; return t ? e[Mr(0, t - 1)] : void 0 } function Fn(e, t) { return So(bi(e), Zn(t, 0, e.length)) } function qn(e) { return So(bi(e)) } function Vn(e, t, n) { (void 0 !== n && !Ta(e[t], n) || void 0 === n && !(t in e)) && Yn(e, t, n) } function Un(e, t, n) { var r = e[t]; Ae.call(e, t) && Ta(r, n) && (void 0 !== n || t in e) || Yn(e, t, n) } function Hn(e, t) { for (var n = e.length; n--;)if (Ta(e[n][0], t)) return n; return -1 } function Gn(e, t, n, r) { return tr(e, (function (e, i, o) { t(r, e, n(e), o) })), r } function Wn(e, t) { return e && yi(t, ws(t), e) } function Yn(e, t, n) { "__proto__" == t && bt ? bt(e, t, { configurable: !0, enumerable: !0, value: n, writable: !0 }) : e[t] = n } function Xn(e, t) { for (var n = -1, i = t.length, o = r(i), a = null == e; ++n < i;)o[n] = a ? void 0 : ms(e, t[n]); return o } function Zn(e, t, n) { return e == e && (void 0 !== n && (e = e <= n ? e : n), void 0 !== t && (e = e >= t ? e : t)), e } function Qn(e, t, n, r, i, o) { var a, s = 1 & t, c = 2 & t, p = 4 & t; if (n && (a = i ? n(e, r, i, o) : n(e)), void 0 !== a) return a; if (!Ua(e)) return e; var k = Ra(e); if (k) { if (a = function (e) { var t = e.length, n = new e.constructor(t); t && "string" == typeof e[0] && Ae.call(e, "index") && (n.index = e.index, n.input = e.input); return n }(e), !s) return bi(e, a) } else { var D = ro(e), R = D == f || D == h; if (za(e)) return pi(e, s); if (D == v || D == l || R && !i) { if (a = c || R ? {} : oo(e), !s) return c ? function (e, t) { return yi(e, no(e), t) }(e, function (e, t) { return e && yi(t, ks(t), e) }(a, e)) : function (e, t) { return yi(e, to(e), t) }(e, Wn(a, e)) } else { if (!Fe[D]) return i ? e : {}; a = function (e, t, n) { var r = e.constructor; switch (t) { case A: return fi(e); case u: case d: return new r(+e); case E: return function (e, t) { var n = t ? fi(e.buffer) : e.buffer; return new e.constructor(n, e.byteOffset, e.byteLength) }(e, n); case S: case $: case C: case _: case O: case T: case "[object Uint8ClampedArray]": case j: case P: return hi(e, n); case g: return new r; case m: case x: return new r(e); case b: return function (e) { var t = new e.constructor(e.source, re.exec(e)); return t.lastIndex = e.lastIndex, t }(e); case y: return new r; case w: return i = e, Cn ? he(Cn.call(i)) : {} }var i }(e, D, s) } } o || (o = new zn); var I = o.get(e); if (I) return I; o.set(e, a), Za(e) ? e.forEach((function (r) { a.add(Qn(r, t, n, r, e, o)) })) : Ga(e) && e.forEach((function (r, i) { a.set(i, Qn(r, t, n, i, e, o)) })); var N = k ? void 0 : (p ? c ? Wi : Gi : c ? ks : ws)(e); return st(N || e, (function (r, i) { N && (r = e[i = r]), Un(a, i, Qn(r, t, n, i, e, o)) })), a } function Jn(e, t, n) { var r = n.length; if (null == e) return !r; for (e = he(e); r--;) { var i = n[r], o = t[i], a = e[i]; if (void 0 === a && !(i in e) || !o(a)) return !1 } return !0 } function Kn(e, t, n) { if ("function" != typeof e) throw new ve(o); return wo((function () { e.apply(void 0, n) }), t) } function er(e, t, n, r) { var i = -1, o = dt, a = !0, s = e.length, l = [], c = t.length; if (!s) return l; n && (t = ft(t, jt(n))), r ? (o = pt, a = !1) : t.length >= 200 && (o = Dt, a = !1, t = new Mn(t)); e: for (; ++i < s;) { var u = e[i], d = null == n ? u : n(u); if (u = r || 0 !== u ? u : 0, a && d == d) { for (var p = c; p--;)if (t[p] === d) continue e; l.push(u) } else o(t, d, r) || l.push(u) } return l } On.templateSettings = { escape: B, evaluate: F, interpolate: q, variable: "", imports: { _: On } }, On.prototype = jn.prototype, On.prototype.constructor = On, Pn.prototype = Tn(jn.prototype), Pn.prototype.constructor = Pn, Dn.prototype = Tn(jn.prototype), Dn.prototype.constructor = Dn, Rn.prototype.clear = function () { this.__data__ = bn ? bn(null) : {}, this.size = 0 }, Rn.prototype.delete = function (e) { var t = this.has(e) && delete this.__data__[e]; return this.size -= t ? 1 : 0, t }, Rn.prototype.get = function (e) { var t = this.__data__; if (bn) { var n = t[e]; return "__lodash_hash_undefined__" === n ? void 0 : n } return Ae.call(t, e) ? t[e] : void 0 }, Rn.prototype.has = function (e) { var t = this.__data__; return bn ? void 0 !== t[e] : Ae.call(t, e) }, Rn.prototype.set = function (e, t) { var n = this.__data__; return this.size += this.has(e) ? 0 : 1, n[e] = bn && void 0 === t ? "__lodash_hash_undefined__" : t, this }, In.prototype.clear = function () { this.__data__ = [], this.size = 0 }, In.prototype.delete = function (e) { var t = this.__data__, n = Hn(t, e); return !(n < 0) && (n == t.length - 1 ? t.pop() : Ye.call(t, n, 1), --this.size, !0) }, In.prototype.get = function (e) { var t = this.__data__, n = Hn(t, e); return n < 0 ? void 0 : t[n][1] }, In.prototype.has = function (e) { return Hn(this.__data__, e) > -1 }, In.prototype.set = function (e, t) { var n = this.__data__, r = Hn(n, e); return r < 0 ? (++this.size, n.push([e, t])) : n[r][1] = t, this }, Nn.prototype.clear = function () { this.size = 0, this.__data__ = { hash: new Rn, map: new (hn || In), string: new Rn } }, Nn.prototype.delete = function (e) { var t = Ji(this, e).delete(e); return this.size -= t ? 1 : 0, t }, Nn.prototype.get = function (e) { return Ji(this, e).get(e) }, Nn.prototype.has = function (e) { return Ji(this, e).has(e) }, Nn.prototype.set = function (e, t) { var n = Ji(this, e), r = n.size; return n.set(e, t), this.size += n.size == r ? 0 : 1, this }, Mn.prototype.add = Mn.prototype.push = function (e) { return this.__data__.set(e, "__lodash_hash_undefined__"), this }, Mn.prototype.has = function (e) { return this.__data__.has(e) }, zn.prototype.clear = function () { this.__data__ = new In, this.size = 0 }, zn.prototype.delete = function (e) { var t = this.__data__, n = t.delete(e); return this.size = t.size, n }, zn.prototype.get = function (e) { return this.__data__.get(e) }, zn.prototype.has = function (e) { return this.__data__.has(e) }, zn.prototype.set = function (e, t) { var n = this.__data__; if (n instanceof In) { var r = n.__data__; if (!hn || r.length < 199) return r.push([e, t]), this.size = ++n.size, this; n = this.__data__ = new Nn(r) } return n.set(e, t), this.size = n.size, this }; var tr = ki(cr), nr = ki(ur, !0); function rr(e, t) { var n = !0; return tr(e, (function (e, r, i) { return n = !!t(e, r, i) })), n } function ir(e, t, n) { for (var r = -1, i = e.length; ++r < i;) { var o = e[r], a = t(o); if (null != a && (void 0 === s ? a == a && !Ja(a) : n(a, s))) var s = a, l = o } return l } function or(e, t) { var n = []; return tr(e, (function (e, r, i) { t(e, r, i) && n.push(e) })), n } function ar(e, t, n, r, i) { var o = -1, a = e.length; for (n || (n = ao), i || (i = []); ++o < a;) { var s = e[o]; t > 0 && n(s) ? t > 1 ? ar(s, t - 1, n, r, i) : ht(i, s) : r || (i[i.length] = s) } return i } var sr = Ai(), lr = Ai(!0); function cr(e, t) { return e && sr(e, t, ws) } function ur(e, t) { return e && lr(e, t, ws) } function dr(e, t) { return ut(t, (function (t) { return Fa(e[t]) })) } function pr(e, t) { for (var n = 0, r = (t = li(t, e)).length; null != e && n < r;)e = e[Co(t[n++])]; return n && n == r ? e : void 0 } function fr(e, t, n) { var r = t(e); return Ra(e) ? r : ht(r, n(e)) } function hr(e) { return null == e ? void 0 === e ? "[object Undefined]" : "[object Null]" : Je && Je in he(e) ? function (e) { var t = Ae.call(e, Je), n = e[Je]; try { e[Je] = void 0; var r = !0 } catch (e) { } var i = $e.call(e); r && (t ? e[Je] = n : delete e[Je]); return i }(e) : function (e) { return $e.call(e) }(e) } function gr(e, t) { return e > t } function mr(e, t) { return null != e && Ae.call(e, t) } function vr(e, t) { return null != e && t in he(e) } function br(e, t, n) { for (var i = n ? pt : dt, o = e[0].length, a = e.length, s = a, l = r(a), c = 1 / 0, u = []; s--;) { var d = e[s]; s && t && (d = ft(d, jt(t))), c = ln(d.length, c), l[s] = !n && (t || o >= 120 && d.length >= 120) ? new Mn(s && d) : void 0 } d = e[0]; var p = -1, f = l[0]; e: for (; ++p < o && u.length < c;) { var h = d[p], g = t ? t(h) : h; if (h = n || 0 !== h ? h : 0, !(f ? Dt(f, g) : i(u, g, n))) { for (s = a; --s;) { var m = l[s]; if (!(m ? Dt(m, g) : i(e[s], g, n))) continue e } f && f.push(g), u.push(h) } } return u } function yr(e, t, n) { var r = null == (e = vo(e, t = li(t, e))) ? e : e[Co(Bo(t))]; return null == r ? void 0 : ot(r, e, n) } function xr(e) { return Ha(e) && hr(e) == l } function wr(e, t, n, r, i) { return e === t || (null == e || null == t || !Ha(e) && !Ha(t) ? e != e && t != t : function (e, t, n, r, i, o) { var a = Ra(e), s = Ra(t), f = a ? c : ro(e), h = s ? c : ro(t), k = (f = f == l ? v : f) == v, S = (h = h == l ? v : h) == v, $ = f == h; if ($ && za(e)) { if (!za(t)) return !1; a = !0, k = !1 } if ($ && !k) return o || (o = new zn), a || Ka(e) ? Ui(e, t, n, r, i, o) : function (e, t, n, r, i, o, a) { switch (n) { case E: if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset) return !1; e = e.buffer, t = t.buffer; case A: return !(e.byteLength != t.byteLength || !o(new Re(e), new Re(t))); case u: case d: case m: return Ta(+e, +t); case p: return e.name == t.name && e.message == t.message; case b: case x: return e == t + ""; case g: var s = Ft; case y: var l = 1 & r; if (s || (s = Ut), e.size != t.size && !l) return !1; var c = a.get(e); if (c) return c == t; r |= 2, a.set(e, t); var f = Ui(s(e), s(t), r, i, o, a); return a.delete(e), f; case w: if (Cn) return Cn.call(e) == Cn.call(t) }return !1 }(e, t, f, n, r, i, o); if (!(1 & n)) { var C = k && Ae.call(e, "__wrapped__"), _ = S && Ae.call(t, "__wrapped__"); if (C || _) { var O = C ? e.value() : e, T = _ ? t.value() : t; return o || (o = new zn), i(O, T, n, r, o) } } if (!$) return !1; return o || (o = new zn), function (e, t, n, r, i, o) { var a = 1 & n, s = Gi(e), l = s.length, c = Gi(t).length; if (l != c && !a) return !1; var u = l; for (; u--;) { var d = s[u]; if (!(a ? d in t : Ae.call(t, d))) return !1 } var p = o.get(e), f = o.get(t); if (p && f) return p == t && f == e; var h = !0; o.set(e, t), o.set(t, e); var g = a; for (; ++u < l;) { d = s[u]; var m = e[d], v = t[d]; if (r) var b = a ? r(v, m, d, t, e, o) : r(m, v, d, e, t, o); if (!(void 0 === b ? m === v || i(m, v, n, r, o) : b)) { h = !1; break } g || (g = "constructor" == d) } if (h && !g) { var y = e.constructor, x = t.constructor; y == x || !("constructor" in e) || !("constructor" in t) || "function" == typeof y && y instanceof y && "function" == typeof x && x instanceof x || (h = !1) } return o.delete(e), o.delete(t), h }(e, t, n, r, i, o) }(e, t, n, r, wr, i)) } function kr(e, t, n, r) { var i = n.length, o = i, a = !r; if (null == e) return !o; for (e = he(e); i--;) { var s = n[i]; if (a && s[2] ? s[1] !== e[s[0]] : !(s[0] in e)) return !1 } for (; ++i < o;) { var l = (s = n[i])[0], c = e[l], u = s[1]; if (a && s[2]) { if (void 0 === c && !(l in e)) return !1 } else { var d = new zn; if (r) var p = r(c, u, l, e, t, d); if (!(void 0 === p ? wr(u, c, 3, r, d) : p)) return !1 } } return !0 } function Ar(e) { return !(!Ua(e) || (t = e, Se && Se in t)) && (Fa(e) ? Oe : ae).test(_o(e)); var t } function Er(e) { return "function" == typeof e ? e : null == e ? Ws : "object" == typeof e ? Ra(e) ? Tr(e[0], e[1]) : Or(e) : nl(e) } function Sr(e) { if (!fo(e)) return an(e); var t = []; for (var n in he(e)) Ae.call(e, n) && "constructor" != n && t.push(n); return t } function $r(e) { if (!Ua(e)) return function (e) { var t = []; if (null != e) for (var n in he(e)) t.push(n); return t }(e); var t = fo(e), n = []; for (var r in e) ("constructor" != r || !t && Ae.call(e, r)) && n.push(r); return n } function Cr(e, t) { return e < t } function _r(e, t) { var n = -1, i = Na(e) ? r(e.length) : []; return tr(e, (function (e, r, o) { i[++n] = t(e, r, o) })), i } function Or(e) { var t = Ki(e); return 1 == t.length && t[0][2] ? go(t[0][0], t[0][1]) : function (n) { return n === e || kr(n, e, t) } } function Tr(e, t) { return co(e) && ho(t) ? go(Co(e), t) : function (n) { var r = ms(n, e); return void 0 === r && r === t ? vs(n, e) : wr(t, r, 3) } } function jr(e, t, n, r, i) { e !== t && sr(t, (function (o, a) { if (i || (i = new zn), Ua(o)) !function (e, t, n, r, i, o, a) { var s = yo(e, n), l = yo(t, n), c = a.get(l); if (c) return void Vn(e, n, c); var u = o ? o(s, l, n + "", e, t, a) : void 0, d = void 0 === u; if (d) { var p = Ra(l), f = !p && za(l), h = !p && !f && Ka(l); u = l, p || f || h ? Ra(s) ? u = s : Ma(s) ? u = bi(s) : f ? (d = !1, u = pi(l, !0)) : h ? (d = !1, u = hi(l, !0)) : u = [] : Ya(l) || Da(l) ? (u = s, Da(s) ? u = ss(s) : Ua(s) && !Fa(s) || (u = oo(l))) : d = !1 } d && (a.set(l, u), i(u, l, r, o, a), a.delete(l)); Vn(e, n, u) }(e, t, a, n, jr, r, i); else { var s = r ? r(yo(e, a), o, a + "", e, t, i) : void 0; void 0 === s && (s = o), Vn(e, a, s) } }), ks) } function Pr(e, t) { var n = e.length; if (n) return so(t += t < 0 ? n : 0, n) ? e[t] : void 0 } function Dr(e, t, n) { t = t.length ? ft(t, (function (e) { return Ra(e) ? function (t) { return pr(t, 1 === e.length ? e[0] : e) } : e })) : [Ws]; var r = -1; return t = ft(t, jt(Qi())), function (e, t) { var n = e.length; for (e.sort(t); n--;)e[n] = e[n].value; return e }(_r(e, (function (e, n, i) { return { criteria: ft(t, (function (t) { return t(e) })), index: ++r, value: e } })), (function (e, t) { return function (e, t, n) { var r = -1, i = e.criteria, o = t.criteria, a = i.length, s = n.length; for (; ++r < a;) { var l = gi(i[r], o[r]); if (l) { if (r >= s) return l; var c = n[r]; return l * ("desc" == c ? -1 : 1) } } return e.index - t.index }(e, t, n) })) } function Rr(e, t, n) { for (var r = -1, i = t.length, o = {}; ++r < i;) { var a = t[r], s = pr(e, a); n(s, a) && qr(o, li(a, e), s) } return o } function Ir(e, t, n, r) { var i = r ? kt : wt, o = -1, a = t.length, s = e; for (e === t && (t = bi(t)), n && (s = ft(e, jt(n))); ++o < a;)for (var l = 0, c = t[o], u = n ? n(c) : c; (l = i(s, u, l, r)) > -1;)s !== e && Ye.call(s, l, 1), Ye.call(e, l, 1); return e } function Nr(e, t) { for (var n = e ? t.length : 0, r = n - 1; n--;) { var i = t[n]; if (n == r || i !== o) { var o = i; so(i) ? Ye.call(e, i, 1) : ei(e, i) } } return e } function Mr(e, t) { return e + en(dn() * (t - e + 1)) } function zr(e, t) { var n = ""; if (!e || t < 1 || t > 9007199254740991) return n; do { t % 2 && (n += e), (t = en(t / 2)) && (e += e) } while (t); return n } function Lr(e, t) { return ko(mo(e, t, Ws), e + "") } function Br(e) { return Bn(Ts(e)) } function Fr(e, t) { var n = Ts(e); return So(n, Zn(t, 0, n.length)) } function qr(e, t, n, r) { if (!Ua(e)) return e; for (var i = -1, o = (t = li(t, e)).length, a = o - 1, s = e; null != s && ++i < o;) { var l = Co(t[i]), c = n; if ("__proto__" === l || "constructor" === l || "prototype" === l) return e; if (i != a) { var u = s[l]; void 0 === (c = r ? r(u, l, s) : void 0) && (c = Ua(u) ? u : so(t[i + 1]) ? [] : {}) } Un(s, l, c), s = s[l] } return e } var Vr = yn ? function (e, t) { return yn.set(e, t), e } : Ws, Ur = bt ? function (e, t) { return bt(e, "toString", { configurable: !0, enumerable: !1, value: Us(t), writable: !0 }) } : Ws; function Hr(e) { return So(Ts(e)) } function Gr(e, t, n) { var i = -1, o = e.length; t < 0 && (t = -t > o ? 0 : o + t), (n = n > o ? o : n) < 0 && (n += o), o = t > n ? 0 : n - t >>> 0, t >>>= 0; for (var a = r(o); ++i < o;)a[i] = e[i + t]; return a } function Wr(e, t) { var n; return tr(e, (function (e, r, i) { return !(n = t(e, r, i)) })), !!n } function Yr(e, t, n) { var r = 0, i = null == e ? r : e.length; if ("number" == typeof t && t == t && i <= 2147483647) { for (; r < i;) { var o = r + i >>> 1, a = e[o]; null !== a && !Ja(a) && (n ? a <= t : a < t) ? r = o + 1 : i = o } return i } return Xr(e, t, Ws, n) } function Xr(e, t, n, r) { var i = 0, o = null == e ? 0 : e.length; if (0 === o) return 0; for (var a = (t = n(t)) != t, s = null === t, l = Ja(t), c = void 0 === t; i < o;) { var u = en((i + o) / 2), d = n(e[u]), p = void 0 !== d, f = null === d, h = d == d, g = Ja(d); if (a) var m = r || h; else m = c ? h && (r || p) : s ? h && p && (r || !f) : l ? h && p && !f && (r || !g) : !f && !g && (r ? d <= t : d < t); m ? i = u + 1 : o = u } return ln(o, 4294967294) } function Zr(e, t) { for (var n = -1, r = e.length, i = 0, o = []; ++n < r;) { var a = e[n], s = t ? t(a) : a; if (!n || !Ta(s, l)) { var l = s; o[i++] = 0 === a ? 0 : a } } return o } function Qr(e) { return "number" == typeof e ? e : Ja(e) ? NaN : +e } function Jr(e) { if ("string" == typeof e) return e; if (Ra(e)) return ft(e, Jr) + ""; if (Ja(e)) return _n ? _n.call(e) : ""; var t = e + ""; return "0" == t && 1 / e == -1 / 0 ? "-0" : t } function Kr(e, t, n) { var r = -1, i = dt, o = e.length, a = !0, s = [], l = s; if (n) a = !1, i = pt; else if (o >= 200) { var c = t ? null : zi(e); if (c) return Ut(c); a = !1, i = Dt, l = new Mn } else l = t ? [] : s; e: for (; ++r < o;) { var u = e[r], d = t ? t(u) : u; if (u = n || 0 !== u ? u : 0, a && d == d) { for (var p = l.length; p--;)if (l[p] === d) continue e; t && l.push(d), s.push(u) } else i(l, d, n) || (l !== s && l.push(d), s.push(u)) } return s } function ei(e, t) { return null == (e = vo(e, t = li(t, e))) || delete e[Co(Bo(t))] } function ti(e, t, n, r) { return qr(e, t, n(pr(e, t)), r) } function ni(e, t, n, r) { for (var i = e.length, o = r ? i : -1; (r ? o-- : ++o < i) && t(e[o], o, e);); return n ? Gr(e, r ? 0 : o, r ? o + 1 : i) : Gr(e, r ? o + 1 : 0, r ? i : o) } function ri(e, t) { var n = e; return n instanceof Dn && (n = n.value()), gt(t, (function (e, t) { return t.func.apply(t.thisArg, ht([e], t.args)) }), n) } function ii(e, t, n) { var i = e.length; if (i < 2) return i ? Kr(e[0]) : []; for (var o = -1, a = r(i); ++o < i;)for (var s = e[o], l = -1; ++l < i;)l != o && (a[o] = er(a[o] || s, e[l], t, n)); return Kr(ar(a, 1), t, n) } function oi(e, t, n) { for (var r = -1, i = e.length, o = t.length, a = {}; ++r < i;) { var s = r < o ? t[r] : void 0; n(a, e[r], s) } return a } function ai(e) { return Ma(e) ? e : [] } function si(e) { return "function" == typeof e ? e : Ws } function li(e, t) { return Ra(e) ? e : co(e, t) ? [e] : $o(ls(e)) } var ci = Lr; function ui(e, t, n) { var r = e.length; return n = void 0 === n ? r : n, !t && n >= r ? e : Gr(e, t, n) } var di = $t || function (e) { return We.clearTimeout(e) }; function pi(e, t) { if (t) return e.slice(); var n = e.length, r = Ne ? Ne(n) : new e.constructor(n); return e.copy(r), r } function fi(e) { var t = new e.constructor(e.byteLength); return new Re(t).set(new Re(e)), t } function hi(e, t) { var n = t ? fi(e.buffer) : e.buffer; return new e.constructor(n, e.byteOffset, e.length) } function gi(e, t) { if (e !== t) { var n = void 0 !== e, r = null === e, i = e == e, o = Ja(e), a = void 0 !== t, s = null === t, l = t == t, c = Ja(t); if (!s && !c && !o && e > t || o && a && l && !s && !c || r && a && l || !n && l || !i) return 1; if (!r && !o && !c && e < t || c && n && i && !r && !o || s && n && i || !a && i || !l) return -1 } return 0 } function mi(e, t, n, i) { for (var o = -1, a = e.length, s = n.length, l = -1, c = t.length, u = sn(a - s, 0), d = r(c + u), p = !i; ++l < c;)d[l] = t[l]; for (; ++o < s;)(p || o < a) && (d[n[o]] = e[o]); for (; u--;)d[l++] = e[o++]; return d } function vi(e, t, n, i) { for (var o = -1, a = e.length, s = -1, l = n.length, c = -1, u = t.length, d = sn(a - l, 0), p = r(d + u), f = !i; ++o < d;)p[o] = e[o]; for (var h = o; ++c < u;)p[h + c] = t[c]; for (; ++s < l;)(f || o < a) && (p[h + n[s]] = e[o++]); return p } function bi(e, t) { var n = -1, i = e.length; for (t || (t = r(i)); ++n < i;)t[n] = e[n]; return t } function yi(e, t, n, r) { var i = !n; n || (n = {}); for (var o = -1, a = t.length; ++o < a;) { var s = t[o], l = r ? r(n[s], e[s], s, n, e) : void 0; void 0 === l && (l = e[s]), i ? Yn(n, s, l) : Un(n, s, l) } return n } function xi(e, t) { return function (n, r) { var i = Ra(n) ? at : Gn, o = t ? t() : {}; return i(n, e, Qi(r, 2), o) } } function wi(e) { return Lr((function (t, n) { var r = -1, i = n.length, o = i > 1 ? n[i - 1] : void 0, a = i > 2 ? n[2] : void 0; for (o = e.length > 3 && "function" == typeof o ? (i--, o) : void 0, a && lo(n[0], n[1], a) && (o = i < 3 ? void 0 : o, i = 1), t = he(t); ++r < i;) { var s = n[r]; s && e(t, s, r, o) } return t })) } function ki(e, t) { return function (n, r) { if (null == n) return n; if (!Na(n)) return e(n, r); for (var i = n.length, o = t ? i : -1, a = he(n); (t ? o-- : ++o < i) && !1 !== r(a[o], o, a);); return n } } function Ai(e) { return function (t, n, r) { for (var i = -1, o = he(t), a = r(t), s = a.length; s--;) { var l = a[e ? s : ++i]; if (!1 === n(o[l], l, o)) break } return t } } function Ei(e) { return function (t) { var n = Bt(t = ls(t)) ? Wt(t) : void 0, r = n ? n[0] : t.charAt(0), i = n ? ui(n, 1).join("") : t.slice(1); return r[e]() + i } } function Si(e) { return function (t) { return gt(Fs(Ds(t).replace(Pe, "")), e, "") } } function $i(e) { return function () { var t = arguments; switch (t.length) { case 0: return new e; case 1: return new e(t[0]); case 2: return new e(t[0], t[1]); case 3: return new e(t[0], t[1], t[2]); case 4: return new e(t[0], t[1], t[2], t[3]); case 5: return new e(t[0], t[1], t[2], t[3], t[4]); case 6: return new e(t[0], t[1], t[2], t[3], t[4], t[5]); case 7: return new e(t[0], t[1], t[2], t[3], t[4], t[5], t[6]) }var n = Tn(e.prototype), r = e.apply(n, t); return Ua(r) ? r : n } } function Ci(e) { return function (t, n, r) { var i = he(t); if (!Na(t)) { var o = Qi(n, 3); t = ws(t), n = function (e) { return o(i[e], e, i) } } var a = e(t, n, r); return a > -1 ? i[o ? t[a] : a] : void 0 } } function _i(e) { return Hi((function (t) { var n = t.length, r = n, i = Pn.prototype.thru; for (e && t.reverse(); r--;) { var a = t[r]; if ("function" != typeof a) throw new ve(o); if (i && !s && "wrapper" == Xi(a)) var s = new Pn([], !0) } for (r = s ? r : n; ++r < n;) { var l = Xi(a = t[r]), c = "wrapper" == l ? Yi(a) : void 0; s = c && uo(c[0]) && 424 == c[1] && !c[4].length && 1 == c[9] ? s[Xi(c[0])].apply(s, c[3]) : 1 == a.length && uo(a) ? s[l]() : s.thru(a) } return function () { var e = arguments, r = e[0]; if (s && 1 == e.length && Ra(r)) return s.plant(r).value(); for (var i = 0, o = n ? t[i].apply(this, e) : r; ++i < n;)o = t[i].call(this, o); return o } })) } function Oi(e, t, n, i, o, a, s, l, c, u) { var d = 128 & t, p = 1 & t, f = 2 & t, h = 24 & t, g = 512 & t, m = f ? void 0 : $i(e); return function v() { for (var b = arguments.length, y = r(b), x = b; x--;)y[x] = arguments[x]; if (h) var w = Zi(v), k = Nt(y, w); if (i && (y = mi(y, i, o, h)), a && (y = vi(y, a, s, h)), b -= k, h && b < u) { var A = Vt(y, w); return Ni(e, t, Oi, v.placeholder, n, y, A, l, c, u - b) } var E = p ? n : this, S = f ? E[e] : e; return b = y.length, l ? y = bo(y, l) : g && b > 1 && y.reverse(), d && c < b && (y.length = c), this && this !== We && this instanceof v && (S = m || $i(S)), S.apply(E, y) } } function Ti(e, t) { return function (n, r) { return function (e, t, n, r) { return cr(e, (function (e, i, o) { t(r, n(e), i, o) })), r }(n, e, t(r), {}) } } function ji(e, t) { return function (n, r) { var i; if (void 0 === n && void 0 === r) return t; if (void 0 !== n && (i = n), void 0 !== r) { if (void 0 === i) return r; "string" == typeof n || "string" == typeof r ? (n = Jr(n), r = Jr(r)) : (n = Qr(n), r = Qr(r)), i = e(n, r) } return i } } function Pi(e) { return Hi((function (t) { return t = ft(t, jt(Qi())), Lr((function (n) { var r = this; return e(t, (function (e) { return ot(e, r, n) })) })) })) } function Di(e, t) { var n = (t = void 0 === t ? " " : Jr(t)).length; if (n < 2) return n ? zr(t, e) : t; var r = zr(t, Kt(e / Gt(t))); return Bt(t) ? ui(Wt(r), 0, e).join("") : r.slice(0, e) } function Ri(e) { return function (t, n, i) { return i && "number" != typeof i && lo(t, n, i) && (n = i = void 0), t = rs(t), void 0 === n ? (n = t, t = 0) : n = rs(n), function (e, t, n, i) { for (var o = -1, a = sn(Kt((t - e) / (n || 1)), 0), s = r(a); a--;)s[i ? a : ++o] = e, e += n; return s }(t, n, i = void 0 === i ? t < n ? 1 : -1 : rs(i), e) } } function Ii(e) { return function (t, n) { return "string" == typeof t && "string" == typeof n || (t = as(t), n = as(n)), e(t, n) } } function Ni(e, t, n, r, i, o, a, s, l, c) { var u = 8 & t; t |= u ? 32 : 64, 4 & (t &= ~(u ? 64 : 32)) || (t &= -4); var d = [e, t, i, u ? o : void 0, u ? a : void 0, u ? void 0 : o, u ? void 0 : a, s, l, c], p = n.apply(void 0, d); return uo(e) && xo(p, d), p.placeholder = r, Ao(p, e, t) } function Mi(e) { var t = fe[e]; return function (e, n) { if (e = as(e), (n = null == n ? 0 : ln(is(n), 292)) && rn(e)) { var r = (ls(e) + "e").split("e"); return +((r = (ls(t(r[0] + "e" + (+r[1] + n))) + "e").split("e"))[0] + "e" + (+r[1] - n)) } return t(e) } } var zi = mn && 1 / Ut(new mn([, -0]))[1] == 1 / 0 ? function (e) { return new mn(e) } : Js; function Li(e) { return function (t) { var n = ro(t); return n == g ? Ft(t) : n == y ? Ht(t) : function (e, t) { return ft(t, (function (t) { return [t, e[t]] })) }(t, e(t)) } } function Bi(e, t, n, i, s, l, c, u) { var d = 2 & t; if (!d && "function" != typeof e) throw new ve(o); var p = i ? i.length : 0; if (p || (t &= -97, i = s = void 0), c = void 0 === c ? c : sn(is(c), 0), u = void 0 === u ? u : is(u), p -= s ? s.length : 0, 64 & t) { var f = i, h = s; i = s = void 0 } var g = d ? void 0 : Yi(e), m = [e, t, n, i, s, f, h, l, c, u]; if (g && function (e, t) { var n = e[1], r = t[1], i = n | r, o = i < 131, s = 128 == r && 8 == n || 128 == r && 256 == n && e[7].length <= t[8] || 384 == r && t[7].length <= t[8] && 8 == n; if (!o && !s) return e; 1 & r && (e[2] = t[2], i |= 1 & n ? 0 : 4); var l = t[3]; if (l) { var c = e[3]; e[3] = c ? mi(c, l, t[4]) : l, e[4] = c ? Vt(e[3], a) : t[4] } (l = t[5]) && (c = e[5], e[5] = c ? vi(c, l, t[6]) : l, e[6] = c ? Vt(e[5], a) : t[6]); (l = t[7]) && (e[7] = l); 128 & r && (e[8] = null == e[8] ? t[8] : ln(e[8], t[8])); null == e[9] && (e[9] = t[9]); e[0] = t[0], e[1] = i }(m, g), e = m[0], t = m[1], n = m[2], i = m[3], s = m[4], !(u = m[9] = void 0 === m[9] ? d ? 0 : e.length : sn(m[9] - p, 0)) && 24 & t && (t &= -25), t && 1 != t) v = 8 == t || 16 == t ? function (e, t, n) { var i = $i(e); return function o() { for (var a = arguments.length, s = r(a), l = a, c = Zi(o); l--;)s[l] = arguments[l]; var u = a < 3 && s[0] !== c && s[a - 1] !== c ? [] : Vt(s, c); if ((a -= u.length) < n) return Ni(e, t, Oi, o.placeholder, void 0, s, u, void 0, void 0, n - a); var d = this && this !== We && this instanceof o ? i : e; return ot(d, this, s) } }(e, t, u) : 32 != t && 33 != t || s.length ? Oi.apply(void 0, m) : function (e, t, n, i) { var o = 1 & t, a = $i(e); return function t() { for (var s = -1, l = arguments.length, c = -1, u = i.length, d = r(u + l), p = this && this !== We && this instanceof t ? a : e; ++c < u;)d[c] = i[c]; for (; l--;)d[c++] = arguments[++s]; return ot(p, o ? n : this, d) } }(e, t, n, i); else var v = function (e, t, n) { var r = 1 & t, i = $i(e); return function t() { var o = this && this !== We && this instanceof t ? i : e; return o.apply(r ? n : this, arguments) } }(e, t, n); return Ao((g ? Vr : xo)(v, m), e, t) } function Fi(e, t, n, r) { return void 0 === e || Ta(e, xe[n]) && !Ae.call(r, n) ? t : e } function qi(e, t, n, r, i, o) { return Ua(e) && Ua(t) && (o.set(t, e), jr(e, t, void 0, qi, o), o.delete(t)), e } function Vi(e) { return Ya(e) ? void 0 : e } function Ui(e, t, n, r, i, o) { var a = 1 & n, s = e.length, l = t.length; if (s != l && !(a && l > s)) return !1; var c = o.get(e), u = o.get(t); if (c && u) return c == t && u == e; var d = -1, p = !0, f = 2 & n ? new Mn : void 0; for (o.set(e, t), o.set(t, e); ++d < s;) { var h = e[d], g = t[d]; if (r) var m = a ? r(g, h, d, t, e, o) : r(h, g, d, e, t, o); if (void 0 !== m) { if (m) continue; p = !1; break } if (f) { if (!vt(t, (function (e, t) { if (!Dt(f, t) && (h === e || i(h, e, n, r, o))) return f.push(t) }))) { p = !1; break } } else if (h !== g && !i(h, g, n, r, o)) { p = !1; break } } return o.delete(e), o.delete(t), p } function Hi(e) { return ko(mo(e, void 0, Io), e + "") } function Gi(e) { return fr(e, ws, to) } function Wi(e) { return fr(e, ks, no) } var Yi = yn ? function (e) { return yn.get(e) } : Js; function Xi(e) { for (var t = e.name + "", n = xn[t], r = Ae.call(xn, t) ? n.length : 0; r--;) { var i = n[r], o = i.func; if (null == o || o == e) return i.name } return t } function Zi(e) { return (Ae.call(On, "placeholder") ? On : e).placeholder } function Qi() { var e = On.iteratee || Ys; return e = e === Ys ? Er : e, arguments.length ? e(arguments[0], arguments[1]) : e } function Ji(e, t) { var n, r, i = e.__data__; return ("string" == (r = typeof (n = t)) || "number" == r || "symbol" == r || "boolean" == r ? "__proto__" !== n : null === n) ? i["string" == typeof t ? "string" : "hash"] : i.map } function Ki(e) { for (var t = ws(e), n = t.length; n--;) { var r = t[n], i = e[r]; t[n] = [r, i, ho(i)] } return t } function eo(e, t) { var n = function (e, t) { return null == e ? void 0 : e[t] }(e, t); return Ar(n) ? n : void 0 } var to = tn ? function (e) { return null == e ? [] : (e = he(e), ut(tn(e), (function (t) { return Ge.call(e, t) }))) } : ol, no = tn ? function (e) { for (var t = []; e;)ht(t, to(e)), e = qe(e); return t } : ol, ro = hr; function io(e, t, n) { for (var r = -1, i = (t = li(t, e)).length, o = !1; ++r < i;) { var a = Co(t[r]); if (!(o = null != e && n(e, a))) break; e = e[a] } return o || ++r != i ? o : !!(i = null == e ? 0 : e.length) && Va(i) && so(a, i) && (Ra(e) || Da(e)) } function oo(e) { return "function" != typeof e.constructor || fo(e) ? {} : Tn(qe(e)) } function ao(e) { return Ra(e) || Da(e) || !!(Xe && e && e[Xe]) } function so(e, t) { var n = typeof e; return !!(t = null == t ? 9007199254740991 : t) && ("number" == n || "symbol" != n && le.test(e)) && e > -1 && e % 1 == 0 && e < t } function lo(e, t, n) { if (!Ua(n)) return !1; var r = typeof t; return !!("number" == r ? Na(n) && so(t, n.length) : "string" == r && t in n) && Ta(n[t], e) } function co(e, t) { if (Ra(e)) return !1; var n = typeof e; return !("number" != n && "symbol" != n && "boolean" != n && null != e && !Ja(e)) || (U.test(e) || !V.test(e) || null != t && e in he(t)) } function uo(e) { var t = Xi(e), n = On[t]; if ("function" != typeof n || !(t in Dn.prototype)) return !1; if (e === n) return !0; var r = Yi(n); return !!r && e === r[0] } (fn && ro(new fn(new ArrayBuffer(1))) != E || hn && ro(new hn) != g || gn && "[object Promise]" != ro(gn.resolve()) || mn && ro(new mn) != y || vn && ro(new vn) != k) && (ro = function (e) { var t = hr(e), n = t == v ? e.constructor : void 0, r = n ? _o(n) : ""; if (r) switch (r) { case wn: return E; case kn: return g; case An: return "[object Promise]"; case En: return y; case Sn: return k }return t }); var po = we ? Fa : al; function fo(e) { var t = e && e.constructor; return e === ("function" == typeof t && t.prototype || xe) } function ho(e) { return e == e && !Ua(e) } function go(e, t) { return function (n) { return null != n && (n[e] === t && (void 0 !== t || e in he(n))) } } function mo(e, t, n) { return t = sn(void 0 === t ? e.length - 1 : t, 0), function () { for (var i = arguments, o = -1, a = sn(i.length - t, 0), s = r(a); ++o < a;)s[o] = i[t + o]; o = -1; for (var l = r(t + 1); ++o < t;)l[o] = i[o]; return l[t] = n(s), ot(e, this, l) } } function vo(e, t) { return t.length < 2 ? e : pr(e, Gr(t, 0, -1)) } function bo(e, t) { for (var n = e.length, r = ln(t.length, n), i = bi(e); r--;) { var o = t[r]; e[r] = so(o, n) ? i[o] : void 0 } return e } function yo(e, t) { if (("constructor" !== t || "function" != typeof e[t]) && "__proto__" != t) return e[t] } var xo = Eo(Vr), wo = Jt || function (e, t) { return We.setTimeout(e, t) }, ko = Eo(Ur); function Ao(e, t, n) { var r = t + ""; return ko(e, function (e, t) { var n = t.length; if (!n) return e; var r = n - 1; return t[r] = (n > 1 ? "& " : "") + t[r], t = t.join(n > 2 ? ", " : " "), e.replace(Z, "{\n/* [wrapped with " + t + "] */\n") }(r, function (e, t) { return st(s, (function (n) { var r = "_." + n[0]; t & n[1] && !dt(e, r) && e.push(r) })), e.sort() }(function (e) { var t = e.match(Q); return t ? t[1].split(J) : [] }(r), n))) } function Eo(e) { var t = 0, n = 0; return function () { var r = cn(), i = 16 - (r - n); if (n = r, i > 0) { if (++t >= 800) return arguments[0] } else t = 0; return e.apply(void 0, arguments) } } function So(e, t) { var n = -1, r = e.length, i = r - 1; for (t = void 0 === t ? r : t; ++n < t;) { var o = Mr(n, i), a = e[o]; e[o] = e[n], e[n] = a } return e.length = t, e } var $o = function (e) { var t = Ea(e, (function (e) { return 500 === n.size && n.clear(), e })), n = t.cache; return t }((function (e) { var t = []; return 46 === e.charCodeAt(0) && t.push(""), e.replace(H, (function (e, n, r, i) { t.push(r ? i.replace(te, "$1") : n || e) })), t })); function Co(e) { if ("string" == typeof e || Ja(e)) return e; var t = e + ""; return "0" == t && 1 / e == -1 / 0 ? "-0" : t } function _o(e) { if (null != e) { try { return ke.call(e) } catch (e) { } try { return e + "" } catch (e) { } } return "" } function Oo(e) { if (e instanceof Dn) return e.clone(); var t = new Pn(e.__wrapped__, e.__chain__); return t.__actions__ = bi(e.__actions__), t.__index__ = e.__index__, t.__values__ = e.__values__, t } var To = Lr((function (e, t) { return Ma(e) ? er(e, ar(t, 1, Ma, !0)) : [] })), jo = Lr((function (e, t) { var n = Bo(t); return Ma(n) && (n = void 0), Ma(e) ? er(e, ar(t, 1, Ma, !0), Qi(n, 2)) : [] })), Po = Lr((function (e, t) { var n = Bo(t); return Ma(n) && (n = void 0), Ma(e) ? er(e, ar(t, 1, Ma, !0), void 0, n) : [] })); function Do(e, t, n) { var r = null == e ? 0 : e.length; if (!r) return -1; var i = null == n ? 0 : is(n); return i < 0 && (i = sn(r + i, 0)), xt(e, Qi(t, 3), i) } function Ro(e, t, n) { var r = null == e ? 0 : e.length; if (!r) return -1; var i = r - 1; return void 0 !== n && (i = is(n), i = n < 0 ? sn(r + i, 0) : ln(i, r - 1)), xt(e, Qi(t, 3), i, !0) } function Io(e) { return (null == e ? 0 : e.length) ? ar(e, 1) : [] } function No(e) { return e && e.length ? e[0] : void 0 } var Mo = Lr((function (e) { var t = ft(e, ai); return t.length && t[0] === e[0] ? br(t) : [] })), zo = Lr((function (e) { var t = Bo(e), n = ft(e, ai); return t === Bo(n) ? t = void 0 : n.pop(), n.length && n[0] === e[0] ? br(n, Qi(t, 2)) : [] })), Lo = Lr((function (e) { var t = Bo(e), n = ft(e, ai); return (t = "function" == typeof t ? t : void 0) && n.pop(), n.length && n[0] === e[0] ? br(n, void 0, t) : [] })); function Bo(e) { var t = null == e ? 0 : e.length; return t ? e[t - 1] : void 0 } var Fo = Lr(qo); function qo(e, t) { return e && e.length && t && t.length ? Ir(e, t) : e } var Vo = Hi((function (e, t) { var n = null == e ? 0 : e.length, r = Xn(e, t); return Nr(e, ft(t, (function (e) { return so(e, n) ? +e : e })).sort(gi)), r })); function Uo(e) { return null == e ? e : pn.call(e) } var Ho = Lr((function (e) { return Kr(ar(e, 1, Ma, !0)) })), Go = Lr((function (e) { var t = Bo(e); return Ma(t) && (t = void 0), Kr(ar(e, 1, Ma, !0), Qi(t, 2)) })), Wo = Lr((function (e) { var t = Bo(e); return t = "function" == typeof t ? t : void 0, Kr(ar(e, 1, Ma, !0), void 0, t) })); function Yo(e) { if (!e || !e.length) return []; var t = 0; return e = ut(e, (function (e) { if (Ma(e)) return t = sn(e.length, t), !0 })), Ot(t, (function (t) { return ft(e, St(t)) })) } function Xo(e, t) { if (!e || !e.length) return []; var n = Yo(e); return null == t ? n : ft(n, (function (e) { return ot(t, void 0, e) })) } var Zo = Lr((function (e, t) { return Ma(e) ? er(e, t) : [] })), Qo = Lr((function (e) { return ii(ut(e, Ma)) })), Jo = Lr((function (e) { var t = Bo(e); return Ma(t) && (t = void 0), ii(ut(e, Ma), Qi(t, 2)) })), Ko = Lr((function (e) { var t = Bo(e); return t = "function" == typeof t ? t : void 0, ii(ut(e, Ma), void 0, t) })), ea = Lr(Yo); var ta = Lr((function (e) { var t = e.length, n = t > 1 ? e[t - 1] : void 0; return n = "function" == typeof n ? (e.pop(), n) : void 0, Xo(e, n) })); function na(e) { var t = On(e); return t.__chain__ = !0, t } function ra(e, t) { return t(e) } var ia = Hi((function (e) { var t = e.length, n = t ? e[0] : 0, r = this.__wrapped__, i = function (t) { return Xn(t, e) }; return !(t > 1 || this.__actions__.length) && r instanceof Dn && so(n) ? ((r = r.slice(n, +n + (t ? 1 : 0))).__actions__.push({ func: ra, args: [i], thisArg: void 0 }), new Pn(r, this.__chain__).thru((function (e) { return t && !e.length && e.push(void 0), e }))) : this.thru(i) })); var oa = xi((function (e, t, n) { Ae.call(e, n) ? ++e[n] : Yn(e, n, 1) })); var aa = Ci(Do), sa = Ci(Ro); function la(e, t) { return (Ra(e) ? st : tr)(e, Qi(t, 3)) } function ca(e, t) { return (Ra(e) ? lt : nr)(e, Qi(t, 3)) } var ua = xi((function (e, t, n) { Ae.call(e, n) ? e[n].push(t) : Yn(e, n, [t]) })); var da = Lr((function (e, t, n) { var i = -1, o = "function" == typeof t, a = Na(e) ? r(e.length) : []; return tr(e, (function (e) { a[++i] = o ? ot(t, e, n) : yr(e, t, n) })), a })), pa = xi((function (e, t, n) { Yn(e, n, t) })); function fa(e, t) { return (Ra(e) ? ft : _r)(e, Qi(t, 3)) } var ha = xi((function (e, t, n) { e[n ? 0 : 1].push(t) }), (function () { return [[], []] })); var ga = Lr((function (e, t) { if (null == e) return []; var n = t.length; return n > 1 && lo(e, t[0], t[1]) ? t = [] : n > 2 && lo(t[0], t[1], t[2]) && (t = [t[0]]), Dr(e, ar(t, 1), []) })), ma = Qt || function () { return We.Date.now() }; function va(e, t, n) { return t = n ? void 0 : t, Bi(e, 128, void 0, void 0, void 0, void 0, t = e && null == t ? e.length : t) } function ba(e, t) { var n; if ("function" != typeof t) throw new ve(o); return e = is(e), function () { return --e > 0 && (n = t.apply(this, arguments)), e <= 1 && (t = void 0), n } } var ya = Lr((function (e, t, n) { var r = 1; if (n.length) { var i = Vt(n, Zi(ya)); r |= 32 } return Bi(e, r, t, n, i) })), xa = Lr((function (e, t, n) { var r = 3; if (n.length) { var i = Vt(n, Zi(xa)); r |= 32 } return Bi(t, r, e, n, i) })); function wa(e, t, n) { var r, i, a, s, l, c, u = 0, d = !1, p = !1, f = !0; if ("function" != typeof e) throw new ve(o); function h(t) { var n = r, o = i; return r = i = void 0, u = t, s = e.apply(o, n) } function g(e) { return u = e, l = wo(v, t), d ? h(e) : s } function m(e) { var n = e - c; return void 0 === c || n >= t || n < 0 || p && e - u >= a } function v() { var e = ma(); if (m(e)) return b(e); l = wo(v, function (e) { var n = t - (e - c); return p ? ln(n, a - (e - u)) : n }(e)) } function b(e) { return l = void 0, f && r ? h(e) : (r = i = void 0, s) } function y() { var e = ma(), n = m(e); if (r = arguments, i = this, c = e, n) { if (void 0 === l) return g(c); if (p) return di(l), l = wo(v, t), h(c) } return void 0 === l && (l = wo(v, t)), s } return t = as(t) || 0, Ua(n) && (d = !!n.leading, a = (p = "maxWait" in n) ? sn(as(n.maxWait) || 0, t) : a, f = "trailing" in n ? !!n.trailing : f), y.cancel = function () { void 0 !== l && di(l), u = 0, r = c = i = l = void 0 }, y.flush = function () { return void 0 === l ? s : b(ma()) }, y } var ka = Lr((function (e, t) { return Kn(e, 1, t) })), Aa = Lr((function (e, t, n) { return Kn(e, as(t) || 0, n) })); function Ea(e, t) { if ("function" != typeof e || null != t && "function" != typeof t) throw new ve(o); var n = function () { var r = arguments, i = t ? t.apply(this, r) : r[0], o = n.cache; if (o.has(i)) return o.get(i); var a = e.apply(this, r); return n.cache = o.set(i, a) || o, a }; return n.cache = new (Ea.Cache || Nn), n } function Sa(e) { if ("function" != typeof e) throw new ve(o); return function () { var t = arguments; switch (t.length) { case 0: return !e.call(this); case 1: return !e.call(this, t[0]); case 2: return !e.call(this, t[0], t[1]); case 3: return !e.call(this, t[0], t[1], t[2]) }return !e.apply(this, t) } } Ea.Cache = Nn; var $a = ci((function (e, t) { var n = (t = 1 == t.length && Ra(t[0]) ? ft(t[0], jt(Qi())) : ft(ar(t, 1), jt(Qi()))).length; return Lr((function (r) { for (var i = -1, o = ln(r.length, n); ++i < o;)r[i] = t[i].call(this, r[i]); return ot(e, this, r) })) })), Ca = Lr((function (e, t) { return Bi(e, 32, void 0, t, Vt(t, Zi(Ca))) })), _a = Lr((function (e, t) { return Bi(e, 64, void 0, t, Vt(t, Zi(_a))) })), Oa = Hi((function (e, t) { return Bi(e, 256, void 0, void 0, void 0, t) })); function Ta(e, t) { return e === t || e != e && t != t } var ja = Ii(gr), Pa = Ii((function (e, t) { return e >= t })), Da = xr(function () { return arguments }()) ? xr : function (e) { return Ha(e) && Ae.call(e, "callee") && !Ge.call(e, "callee") }, Ra = r.isArray, Ia = Ke ? jt(Ke) : function (e) { return Ha(e) && hr(e) == A }; function Na(e) { return null != e && Va(e.length) && !Fa(e) } function Ma(e) { return Ha(e) && Na(e) } var za = nn || al, La = et ? jt(et) : function (e) { return Ha(e) && hr(e) == d }; function Ba(e) { if (!Ha(e)) return !1; var t = hr(e); return t == p || "[object DOMException]" == t || "string" == typeof e.message && "string" == typeof e.name && !Ya(e) } function Fa(e) { if (!Ua(e)) return !1; var t = hr(e); return t == f || t == h || "[object AsyncFunction]" == t || "[object Proxy]" == t } function qa(e) { return "number" == typeof e && e == is(e) } function Va(e) { return "number" == typeof e && e > -1 && e % 1 == 0 && e <= 9007199254740991 } function Ua(e) { var t = typeof e; return null != e && ("object" == t || "function" == t) } function Ha(e) { return null != e && "object" == typeof e } var Ga = tt ? jt(tt) : function (e) { return Ha(e) && ro(e) == g }; function Wa(e) { return "number" == typeof e || Ha(e) && hr(e) == m } function Ya(e) { if (!Ha(e) || hr(e) != v) return !1; var t = qe(e); if (null === t) return !0; var n = Ae.call(t, "constructor") && t.constructor; return "function" == typeof n && n instanceof n && ke.call(n) == Ce } var Xa = nt ? jt(nt) : function (e) { return Ha(e) && hr(e) == b }; var Za = rt ? jt(rt) : function (e) { return Ha(e) && ro(e) == y }; function Qa(e) { return "string" == typeof e || !Ra(e) && Ha(e) && hr(e) == x } function Ja(e) { return "symbol" == typeof e || Ha(e) && hr(e) == w } var Ka = it ? jt(it) : function (e) { return Ha(e) && Va(e.length) && !!Be[hr(e)] }; var es = Ii(Cr), ts = Ii((function (e, t) { return e <= t })); function ns(e) { if (!e) return []; if (Na(e)) return Qa(e) ? Wt(e) : bi(e); if (Qe && e[Qe]) return function (e) { for (var t, n = []; !(t = e.next()).done;)n.push(t.value); return n }(e[Qe]()); var t = ro(e); return (t == g ? Ft : t == y ? Ut : Ts)(e) } function rs(e) { return e ? (e = as(e)) === 1 / 0 || e === -1 / 0 ? 17976931348623157e292 * (e < 0 ? -1 : 1) : e == e ? e : 0 : 0 === e ? e : 0 } function is(e) { var t = rs(e), n = t % 1; return t == t ? n ? t - n : t : 0 } function os(e) { return e ? Zn(is(e), 0, 4294967295) : 0 } function as(e) { if ("number" == typeof e) return e; if (Ja(e)) return NaN; if (Ua(e)) { var t = "function" == typeof e.valueOf ? e.valueOf() : e; e = Ua(t) ? t + "" : t } if ("string" != typeof e) return 0 === e ? e : +e; e = Tt(e); var n = oe.test(e); return n || se.test(e) ? Ue(e.slice(2), n ? 2 : 8) : ie.test(e) ? NaN : +e } function ss(e) { return yi(e, ks(e)) } function ls(e) { return null == e ? "" : Jr(e) } var cs = wi((function (e, t) { if (fo(t) || Na(t)) yi(t, ws(t), e); else for (var n in t) Ae.call(t, n) && Un(e, n, t[n]) })), us = wi((function (e, t) { yi(t, ks(t), e) })), ds = wi((function (e, t, n, r) { yi(t, ks(t), e, r) })), ps = wi((function (e, t, n, r) { yi(t, ws(t), e, r) })), fs = Hi(Xn); var hs = Lr((function (e, t) { e = he(e); var n = -1, r = t.length, i = r > 2 ? t[2] : void 0; for (i && lo(t[0], t[1], i) && (r = 1); ++n < r;)for (var o = t[n], a = ks(o), s = -1, l = a.length; ++s < l;) { var c = a[s], u = e[c]; (void 0 === u || Ta(u, xe[c]) && !Ae.call(e, c)) && (e[c] = o[c]) } return e })), gs = Lr((function (e) { return e.push(void 0, qi), ot(Es, void 0, e) })); function ms(e, t, n) { var r = null == e ? void 0 : pr(e, t); return void 0 === r ? n : r } function vs(e, t) { return null != e && io(e, t, vr) } var bs = Ti((function (e, t, n) { null != t && "function" != typeof t.toString && (t = $e.call(t)), e[t] = n }), Us(Ws)), ys = Ti((function (e, t, n) { null != t && "function" != typeof t.toString && (t = $e.call(t)), Ae.call(e, t) ? e[t].push(n) : e[t] = [n] }), Qi), xs = Lr(yr); function ws(e) { return Na(e) ? Ln(e) : Sr(e) } function ks(e) { return Na(e) ? Ln(e, !0) : $r(e) } var As = wi((function (e, t, n) { jr(e, t, n) })), Es = wi((function (e, t, n, r) { jr(e, t, n, r) })), Ss = Hi((function (e, t) { var n = {}; if (null == e) return n; var r = !1; t = ft(t, (function (t) { return t = li(t, e), r || (r = t.length > 1), t })), yi(e, Wi(e), n), r && (n = Qn(n, 7, Vi)); for (var i = t.length; i--;)ei(n, t[i]); return n })); var $s = Hi((function (e, t) { return null == e ? {} : function (e, t) { return Rr(e, t, (function (t, n) { return vs(e, n) })) }(e, t) })); function Cs(e, t) { if (null == e) return {}; var n = ft(Wi(e), (function (e) { return [e] })); return t = Qi(t), Rr(e, n, (function (e, n) { return t(e, n[0]) })) } var _s = Li(ws), Os = Li(ks); function Ts(e) { return null == e ? [] : Pt(e, ws(e)) } var js = Si((function (e, t, n) { return t = t.toLowerCase(), e + (n ? Ps(t) : t) })); function Ps(e) { return Bs(ls(e).toLowerCase()) } function Ds(e) { return (e = ls(e)) && e.replace(ce, Mt).replace(De, "") } var Rs = Si((function (e, t, n) { return e + (n ? "-" : "") + t.toLowerCase() })), Is = Si((function (e, t, n) { return e + (n ? " " : "") + t.toLowerCase() })), Ns = Ei("toLowerCase"); var Ms = Si((function (e, t, n) { return e + (n ? "_" : "") + t.toLowerCase() })); var zs = Si((function (e, t, n) { return e + (n ? " " : "") + Bs(t) })); var Ls = Si((function (e, t, n) { return e + (n ? " " : "") + t.toUpperCase() })), Bs = Ei("toUpperCase"); function Fs(e, t, n) { return e = ls(e), void 0 === (t = n ? void 0 : t) ? function (e) { return Me.test(e) }(e) ? function (e) { return e.match(Ie) || [] }(e) : function (e) { return e.match(K) || [] }(e) : e.match(t) || [] } var qs = Lr((function (e, t) { try { return ot(e, void 0, t) } catch (e) { return Ba(e) ? e : new X(e) } })), Vs = Hi((function (e, t) { return st(t, (function (t) { t = Co(t), Yn(e, t, ya(e[t], e)) })), e })); function Us(e) { return function () { return e } } var Hs = _i(), Gs = _i(!0); function Ws(e) { return e } function Ys(e) { return Er("function" == typeof e ? e : Qn(e, 1)) } var Xs = Lr((function (e, t) { return function (n) { return yr(n, e, t) } })), Zs = Lr((function (e, t) { return function (n) { return yr(e, n, t) } })); function Qs(e, t, n) { var r = ws(t), i = dr(t, r); null != n || Ua(t) && (i.length || !r.length) || (n = t, t = e, e = this, i = dr(t, ws(t))); var o = !(Ua(n) && "chain" in n && !n.chain), a = Fa(e); return st(i, (function (n) { var r = t[n]; e[n] = r, a && (e.prototype[n] = function () { var t = this.__chain__; if (o || t) { var n = e(this.__wrapped__), i = n.__actions__ = bi(this.__actions__); return i.push({ func: r, args: arguments, thisArg: e }), n.__chain__ = t, n } return r.apply(e, ht([this.value()], arguments)) }) })), e } function Js() { } var Ks = Pi(ft), el = Pi(ct), tl = Pi(vt); function nl(e) { return co(e) ? St(Co(e)) : function (e) { return function (t) { return pr(t, e) } }(e) } var rl = Ri(), il = Ri(!0); function ol() { return [] } function al() { return !1 } var sl = ji((function (e, t) { return e + t }), 0), ll = Mi("ceil"), cl = ji((function (e, t) { return e / t }), 1), ul = Mi("floor"); var dl, pl = ji((function (e, t) { return e * t }), 1), fl = Mi("round"), hl = ji((function (e, t) { return e - t }), 0); return On.after = function (e, t) { if ("function" != typeof t) throw new ve(o); return e = is(e), function () { if (--e < 1) return t.apply(this, arguments) } }, On.ary = va, On.assign = cs, On.assignIn = us, On.assignInWith = ds, On.assignWith = ps, On.at = fs, On.before = ba, On.bind = ya, On.bindAll = Vs, On.bindKey = xa, On.castArray = function () { if (!arguments.length) return []; var e = arguments[0]; return Ra(e) ? e : [e] }, On.chain = na, On.chunk = function (e, t, n) { t = (n ? lo(e, t, n) : void 0 === t) ? 1 : sn(is(t), 0); var i = null == e ? 0 : e.length; if (!i || t < 1) return []; for (var o = 0, a = 0, s = r(Kt(i / t)); o < i;)s[a++] = Gr(e, o, o += t); return s }, On.compact = function (e) { for (var t = -1, n = null == e ? 0 : e.length, r = 0, i = []; ++t < n;) { var o = e[t]; o && (i[r++] = o) } return i }, On.concat = function () { var e = arguments.length; if (!e) return []; for (var t = r(e - 1), n = arguments[0], i = e; i--;)t[i - 1] = arguments[i]; return ht(Ra(n) ? bi(n) : [n], ar(t, 1)) }, On.cond = function (e) { var t = null == e ? 0 : e.length, n = Qi(); return e = t ? ft(e, (function (e) { if ("function" != typeof e[1]) throw new ve(o); return [n(e[0]), e[1]] })) : [], Lr((function (n) { for (var r = -1; ++r < t;) { var i = e[r]; if (ot(i[0], this, n)) return ot(i[1], this, n) } })) }, On.conforms = function (e) { return function (e) { var t = ws(e); return function (n) { return Jn(n, e, t) } }(Qn(e, 1)) }, On.constant = Us, On.countBy = oa, On.create = function (e, t) { var n = Tn(e); return null == t ? n : Wn(n, t) }, On.curry = function e(t, n, r) { var i = Bi(t, 8, void 0, void 0, void 0, void 0, void 0, n = r ? void 0 : n); return i.placeholder = e.placeholder, i }, On.curryRight = function e(t, n, r) { var i = Bi(t, 16, void 0, void 0, void 0, void 0, void 0, n = r ? void 0 : n); return i.placeholder = e.placeholder, i }, On.debounce = wa, On.defaults = hs, On.defaultsDeep = gs, On.defer = ka, On.delay = Aa, On.difference = To, On.differenceBy = jo, On.differenceWith = Po, On.drop = function (e, t, n) { var r = null == e ? 0 : e.length; return r ? Gr(e, (t = n || void 0 === t ? 1 : is(t)) < 0 ? 0 : t, r) : [] }, On.dropRight = function (e, t, n) { var r = null == e ? 0 : e.length; return r ? Gr(e, 0, (t = r - (t = n || void 0 === t ? 1 : is(t))) < 0 ? 0 : t) : [] }, On.dropRightWhile = function (e, t) { return e && e.length ? ni(e, Qi(t, 3), !0, !0) : [] }, On.dropWhile = function (e, t) { return e && e.length ? ni(e, Qi(t, 3), !0) : [] }, On.fill = function (e, t, n, r) { var i = null == e ? 0 : e.length; return i ? (n && "number" != typeof n && lo(e, t, n) && (n = 0, r = i), function (e, t, n, r) { var i = e.length; for ((n = is(n)) < 0 && (n = -n > i ? 0 : i + n), (r = void 0 === r || r > i ? i : is(r)) < 0 && (r += i), r = n > r ? 0 : os(r); n < r;)e[n++] = t; return e }(e, t, n, r)) : [] }, On.filter = function (e, t) { return (Ra(e) ? ut : or)(e, Qi(t, 3)) }, On.flatMap = function (e, t) { return ar(fa(e, t), 1) }, On.flatMapDeep = function (e, t) { return ar(fa(e, t), 1 / 0) }, On.flatMapDepth = function (e, t, n) { return n = void 0 === n ? 1 : is(n), ar(fa(e, t), n) }, On.flatten = Io, On.flattenDeep = function (e) { return (null == e ? 0 : e.length) ? ar(e, 1 / 0) : [] }, On.flattenDepth = function (e, t) { return (null == e ? 0 : e.length) ? ar(e, t = void 0 === t ? 1 : is(t)) : [] }, On.flip = function (e) { return Bi(e, 512) }, On.flow = Hs, On.flowRight = Gs, On.fromPairs = function (e) { for (var t = -1, n = null == e ? 0 : e.length, r = {}; ++t < n;) { var i = e[t]; r[i[0]] = i[1] } return r }, On.functions = function (e) { return null == e ? [] : dr(e, ws(e)) }, On.functionsIn = function (e) { return null == e ? [] : dr(e, ks(e)) }, On.groupBy = ua, On.initial = function (e) { return (null == e ? 0 : e.length) ? Gr(e, 0, -1) : [] }, On.intersection = Mo, On.intersectionBy = zo, On.intersectionWith = Lo, On.invert = bs, On.invertBy = ys, On.invokeMap = da, On.iteratee = Ys, On.keyBy = pa, On.keys = ws, On.keysIn = ks, On.map = fa, On.mapKeys = function (e, t) { var n = {}; return t = Qi(t, 3), cr(e, (function (e, r, i) { Yn(n, t(e, r, i), e) })), n }, On.mapValues = function (e, t) { var n = {}; return t = Qi(t, 3), cr(e, (function (e, r, i) { Yn(n, r, t(e, r, i)) })), n }, On.matches = function (e) { return Or(Qn(e, 1)) }, On.matchesProperty = function (e, t) { return Tr(e, Qn(t, 1)) }, On.memoize = Ea, On.merge = As, On.mergeWith = Es, On.method = Xs, On.methodOf = Zs, On.mixin = Qs, On.negate = Sa, On.nthArg = function (e) { return e = is(e), Lr((function (t) { return Pr(t, e) })) }, On.omit = Ss, On.omitBy = function (e, t) { return Cs(e, Sa(Qi(t))) }, On.once = function (e) { return ba(2, e) }, On.orderBy = function (e, t, n, r) { return null == e ? [] : (Ra(t) || (t = null == t ? [] : [t]), Ra(n = r ? void 0 : n) || (n = null == n ? [] : [n]), Dr(e, t, n)) }, On.over = Ks, On.overArgs = $a, On.overEvery = el, On.overSome = tl, On.partial = Ca, On.partialRight = _a, On.partition = ha, On.pick = $s, On.pickBy = Cs, On.property = nl, On.propertyOf = function (e) { return function (t) { return null == e ? void 0 : pr(e, t) } }, On.pull = Fo, On.pullAll = qo, On.pullAllBy = function (e, t, n) { return e && e.length && t && t.length ? Ir(e, t, Qi(n, 2)) : e }, On.pullAllWith = function (e, t, n) { return e && e.length && t && t.length ? Ir(e, t, void 0, n) : e }, On.pullAt = Vo, On.range = rl, On.rangeRight = il, On.rearg = Oa, On.reject = function (e, t) { return (Ra(e) ? ut : or)(e, Sa(Qi(t, 3))) }, On.remove = function (e, t) { var n = []; if (!e || !e.length) return n; var r = -1, i = [], o = e.length; for (t = Qi(t, 3); ++r < o;) { var a = e[r]; t(a, r, e) && (n.push(a), i.push(r)) } return Nr(e, i), n }, On.rest = function (e, t) { if ("function" != typeof e) throw new ve(o); return Lr(e, t = void 0 === t ? t : is(t)) }, On.reverse = Uo, On.sampleSize = function (e, t, n) { return t = (n ? lo(e, t, n) : void 0 === t) ? 1 : is(t), (Ra(e) ? Fn : Fr)(e, t) }, On.set = function (e, t, n) { return null == e ? e : qr(e, t, n) }, On.setWith = function (e, t, n, r) { return r = "function" == typeof r ? r : void 0, null == e ? e : qr(e, t, n, r) }, On.shuffle = function (e) { return (Ra(e) ? qn : Hr)(e) }, On.slice = function (e, t, n) { var r = null == e ? 0 : e.length; return r ? (n && "number" != typeof n && lo(e, t, n) ? (t = 0, n = r) : (t = null == t ? 0 : is(t), n = void 0 === n ? r : is(n)), Gr(e, t, n)) : [] }, On.sortBy = ga, On.sortedUniq = function (e) { return e && e.length ? Zr(e) : [] }, On.sortedUniqBy = function (e, t) { return e && e.length ? Zr(e, Qi(t, 2)) : [] }, On.split = function (e, t, n) { return n && "number" != typeof n && lo(e, t, n) && (t = n = void 0), (n = void 0 === n ? 4294967295 : n >>> 0) ? (e = ls(e)) && ("string" == typeof t || null != t && !Xa(t)) && !(t = Jr(t)) && Bt(e) ? ui(Wt(e), 0, n) : e.split(t, n) : [] }, On.spread = function (e, t) { if ("function" != typeof e) throw new ve(o); return t = null == t ? 0 : sn(is(t), 0), Lr((function (n) { var r = n[t], i = ui(n, 0, t); return r && ht(i, r), ot(e, this, i) })) }, On.tail = function (e) { var t = null == e ? 0 : e.length; return t ? Gr(e, 1, t) : [] }, On.take = function (e, t, n) { return e && e.length ? Gr(e, 0, (t = n || void 0 === t ? 1 : is(t)) < 0 ? 0 : t) : [] }, On.takeRight = function (e, t, n) { var r = null == e ? 0 : e.length; return r ? Gr(e, (t = r - (t = n || void 0 === t ? 1 : is(t))) < 0 ? 0 : t, r) : [] }, On.takeRightWhile = function (e, t) { return e && e.length ? ni(e, Qi(t, 3), !1, !0) : [] }, On.takeWhile = function (e, t) { return e && e.length ? ni(e, Qi(t, 3)) : [] }, On.tap = function (e, t) { return t(e), e }, On.throttle = function (e, t, n) { var r = !0, i = !0; if ("function" != typeof e) throw new ve(o); return Ua(n) && (r = "leading" in n ? !!n.leading : r, i = "trailing" in n ? !!n.trailing : i), wa(e, t, { leading: r, maxWait: t, trailing: i }) }, On.thru = ra, On.toArray = ns, On.toPairs = _s, On.toPairsIn = Os, On.toPath = function (e) { return Ra(e) ? ft(e, Co) : Ja(e) ? [e] : bi($o(ls(e))) }, On.toPlainObject = ss, On.transform = function (e, t, n) { var r = Ra(e), i = r || za(e) || Ka(e); if (t = Qi(t, 4), null == n) { var o = e && e.constructor; n = i ? r ? new o : [] : Ua(e) && Fa(o) ? Tn(qe(e)) : {} } return (i ? st : cr)(e, (function (e, r, i) { return t(n, e, r, i) })), n }, On.unary = function (e) { return va(e, 1) }, On.union = Ho, On.unionBy = Go, On.unionWith = Wo, On.uniq = function (e) { return e && e.length ? Kr(e) : [] }, On.uniqBy = function (e, t) { return e && e.length ? Kr(e, Qi(t, 2)) : [] }, On.uniqWith = function (e, t) { return t = "function" == typeof t ? t : void 0, e && e.length ? Kr(e, void 0, t) : [] }, On.unset = function (e, t) { return null == e || ei(e, t) }, On.unzip = Yo, On.unzipWith = Xo, On.update = function (e, t, n) { return null == e ? e : ti(e, t, si(n)) }, On.updateWith = function (e, t, n, r) { return r = "function" == typeof r ? r : void 0, null == e ? e : ti(e, t, si(n), r) }, On.values = Ts, On.valuesIn = function (e) { return null == e ? [] : Pt(e, ks(e)) }, On.without = Zo, On.words = Fs, On.wrap = function (e, t) { return Ca(si(t), e) }, On.xor = Qo, On.xorBy = Jo, On.xorWith = Ko, On.zip = ea, On.zipObject = function (e, t) { return oi(e || [], t || [], Un) }, On.zipObjectDeep = function (e, t) { return oi(e || [], t || [], qr) }, On.zipWith = ta, On.entries = _s, On.entriesIn = Os, On.extend = us, On.extendWith = ds, Qs(On, On), On.add = sl, On.attempt = qs, On.camelCase = js, On.capitalize = Ps, On.ceil = ll, On.clamp = function (e, t, n) { return void 0 === n && (n = t, t = void 0), void 0 !== n && (n = (n = as(n)) == n ? n : 0), void 0 !== t && (t = (t = as(t)) == t ? t : 0), Zn(as(e), t, n) }, On.clone = function (e) { return Qn(e, 4) }, On.cloneDeep = function (e) { return Qn(e, 5) }, On.cloneDeepWith = function (e, t) { return Qn(e, 5, t = "function" == typeof t ? t : void 0) }, On.cloneWith = function (e, t) { return Qn(e, 4, t = "function" == typeof t ? t : void 0) }, On.conformsTo = function (e, t) { return null == t || Jn(e, t, ws(t)) }, On.deburr = Ds, On.defaultTo = function (e, t) { return null == e || e != e ? t : e }, On.divide = cl, On.endsWith = function (e, t, n) { e = ls(e), t = Jr(t); var r = e.length, i = n = void 0 === n ? r : Zn(is(n), 0, r); return (n -= t.length) >= 0 && e.slice(n, i) == t }, On.eq = Ta, On.escape = function (e) { return (e = ls(e)) && L.test(e) ? e.replace(M, zt) : e }, On.escapeRegExp = function (e) { return (e = ls(e)) && W.test(e) ? e.replace(G, "\\$&") : e }, On.every = function (e, t, n) { var r = Ra(e) ? ct : rr; return n && lo(e, t, n) && (t = void 0), r(e, Qi(t, 3)) }, On.find = aa, On.findIndex = Do, On.findKey = function (e, t) { return yt(e, Qi(t, 3), cr) }, On.findLast = sa, On.findLastIndex = Ro, On.findLastKey = function (e, t) { return yt(e, Qi(t, 3), ur) }, On.floor = ul, On.forEach = la, On.forEachRight = ca, On.forIn = function (e, t) { return null == e ? e : sr(e, Qi(t, 3), ks) }, On.forInRight = function (e, t) { return null == e ? e : lr(e, Qi(t, 3), ks) }, On.forOwn = function (e, t) { return e && cr(e, Qi(t, 3)) }, On.forOwnRight = function (e, t) { return e && ur(e, Qi(t, 3)) }, On.get = ms, On.gt = ja, On.gte = Pa, On.has = function (e, t) { return null != e && io(e, t, mr) }, On.hasIn = vs, On.head = No, On.identity = Ws, On.includes = function (e, t, n, r) { e = Na(e) ? e : Ts(e), n = n && !r ? is(n) : 0; var i = e.length; return n < 0 && (n = sn(i + n, 0)), Qa(e) ? n <= i && e.indexOf(t, n) > -1 : !!i && wt(e, t, n) > -1 }, On.indexOf = function (e, t, n) { var r = null == e ? 0 : e.length; if (!r) return -1; var i = null == n ? 0 : is(n); return i < 0 && (i = sn(r + i, 0)), wt(e, t, i) }, On.inRange = function (e, t, n) { return t = rs(t), void 0 === n ? (n = t, t = 0) : n = rs(n), function (e, t, n) { return e >= ln(t, n) && e < sn(t, n) }(e = as(e), t, n) }, On.invoke = xs, On.isArguments = Da, On.isArray = Ra, On.isArrayBuffer = Ia, On.isArrayLike = Na, On.isArrayLikeObject = Ma, On.isBoolean = function (e) { return !0 === e || !1 === e || Ha(e) && hr(e) == u }, On.isBuffer = za, On.isDate = La, On.isElement = function (e) { return Ha(e) && 1 === e.nodeType && !Ya(e) }, On.isEmpty = function (e) { if (null == e) return !0; if (Na(e) && (Ra(e) || "string" == typeof e || "function" == typeof e.splice || za(e) || Ka(e) || Da(e))) return !e.length; var t = ro(e); if (t == g || t == y) return !e.size; if (fo(e)) return !Sr(e).length; for (var n in e) if (Ae.call(e, n)) return !1; return !0 }, On.isEqual = function (e, t) { return wr(e, t) }, On.isEqualWith = function (e, t, n) { var r = (n = "function" == typeof n ? n : void 0) ? n(e, t) : void 0; return void 0 === r ? wr(e, t, void 0, n) : !!r }, On.isError = Ba, On.isFinite = function (e) { return "number" == typeof e && rn(e) }, On.isFunction = Fa, On.isInteger = qa, On.isLength = Va, On.isMap = Ga, On.isMatch = function (e, t) { return e === t || kr(e, t, Ki(t)) }, On.isMatchWith = function (e, t, n) { return n = "function" == typeof n ? n : void 0, kr(e, t, Ki(t), n) }, On.isNaN = function (e) { return Wa(e) && e != +e }, On.isNative = function (e) { if (po(e)) throw new X("Unsupported core-js use. Try https://npms.io/search?q=ponyfill."); return Ar(e) }, On.isNil = function (e) { return null == e }, On.isNull = function (e) { return null === e }, On.isNumber = Wa, On.isObject = Ua, On.isObjectLike = Ha, On.isPlainObject = Ya, On.isRegExp = Xa, On.isSafeInteger = function (e) { return qa(e) && e >= -9007199254740991 && e <= 9007199254740991 }, On.isSet = Za, On.isString = Qa, On.isSymbol = Ja, On.isTypedArray = Ka, On.isUndefined = function (e) { return void 0 === e }, On.isWeakMap = function (e) { return Ha(e) && ro(e) == k }, On.isWeakSet = function (e) { return Ha(e) && "[object WeakSet]" == hr(e) }, On.join = function (e, t) { return null == e ? "" : on.call(e, t) }, On.kebabCase = Rs, On.last = Bo, On.lastIndexOf = function (e, t, n) { var r = null == e ? 0 : e.length; if (!r) return -1; var i = r; return void 0 !== n && (i = (i = is(n)) < 0 ? sn(r + i, 0) : ln(i, r - 1)), t == t ? function (e, t, n) { for (var r = n + 1; r--;)if (e[r] === t) return r; return r }(e, t, i) : xt(e, At, i, !0) }, On.lowerCase = Is, On.lowerFirst = Ns, On.lt = es, On.lte = ts, On.max = function (e) { return e && e.length ? ir(e, Ws, gr) : void 0 }, On.maxBy = function (e, t) { return e && e.length ? ir(e, Qi(t, 2), gr) : void 0 }, On.mean = function (e) { return Et(e, Ws) }, On.meanBy = function (e, t) { return Et(e, Qi(t, 2)) }, On.min = function (e) { return e && e.length ? ir(e, Ws, Cr) : void 0 }, On.minBy = function (e, t) { return e && e.length ? ir(e, Qi(t, 2), Cr) : void 0 }, On.stubArray = ol, On.stubFalse = al, On.stubObject = function () { return {} }, On.stubString = function () { return "" }, On.stubTrue = function () { return !0 }, On.multiply = pl, On.nth = function (e, t) { return e && e.length ? Pr(e, is(t)) : void 0 }, On.noConflict = function () { return We._ === this && (We._ = _e), this }, On.noop = Js, On.now = ma, On.pad = function (e, t, n) { e = ls(e); var r = (t = is(t)) ? Gt(e) : 0; if (!t || r >= t) return e; var i = (t - r) / 2; return Di(en(i), n) + e + Di(Kt(i), n) }, On.padEnd = function (e, t, n) { e = ls(e); var r = (t = is(t)) ? Gt(e) : 0; return t && r < t ? e + Di(t - r, n) : e }, On.padStart = function (e, t, n) { e = ls(e); var r = (t = is(t)) ? Gt(e) : 0; return t && r < t ? Di(t - r, n) + e : e }, On.parseInt = function (e, t, n) { return n || null == t ? t = 0 : t && (t = +t), un(ls(e).replace(Y, ""), t || 0) }, On.random = function (e, t, n) { if (n && "boolean" != typeof n && lo(e, t, n) && (t = n = void 0), void 0 === n && ("boolean" == typeof t ? (n = t, t = void 0) : "boolean" == typeof e && (n = e, e = void 0)), void 0 === e && void 0 === t ? (e = 0, t = 1) : (e = rs(e), void 0 === t ? (t = e, e = 0) : t = rs(t)), e > t) { var r = e; e = t, t = r } if (n || e % 1 || t % 1) { var i = dn(); return ln(e + i * (t - e + Ve("1e-" + ((i + "").length - 1))), t) } return Mr(e, t) }, On.reduce = function (e, t, n) { var r = Ra(e) ? gt : Ct, i = arguments.length < 3; return r(e, Qi(t, 4), n, i, tr) }, On.reduceRight = function (e, t, n) { var r = Ra(e) ? mt : Ct, i = arguments.length < 3; return r(e, Qi(t, 4), n, i, nr) }, On.repeat = function (e, t, n) { return t = (n ? lo(e, t, n) : void 0 === t) ? 1 : is(t), zr(ls(e), t) }, On.replace = function () { var e = arguments, t = ls(e[0]); return e.length < 3 ? t : t.replace(e[1], e[2]) }, On.result = function (e, t, n) { var r = -1, i = (t = li(t, e)).length; for (i || (i = 1, e = void 0); ++r < i;) { var o = null == e ? void 0 : e[Co(t[r])]; void 0 === o && (r = i, o = n), e = Fa(o) ? o.call(e) : o } return e }, On.round = fl, On.runInContext = e, On.sample = function (e) { return (Ra(e) ? Bn : Br)(e) }, On.size = function (e) { if (null == e) return 0; if (Na(e)) return Qa(e) ? Gt(e) : e.length; var t = ro(e); return t == g || t == y ? e.size : Sr(e).length }, On.snakeCase = Ms, On.some = function (e, t, n) { var r = Ra(e) ? vt : Wr; return n && lo(e, t, n) && (t = void 0), r(e, Qi(t, 3)) }, On.sortedIndex = function (e, t) { return Yr(e, t) }, On.sortedIndexBy = function (e, t, n) { return Xr(e, t, Qi(n, 2)) }, On.sortedIndexOf = function (e, t) { var n = null == e ? 0 : e.length; if (n) { var r = Yr(e, t); if (r < n && Ta(e[r], t)) return r } return -1 }, On.sortedLastIndex = function (e, t) { return Yr(e, t, !0) }, On.sortedLastIndexBy = function (e, t, n) { return Xr(e, t, Qi(n, 2), !0) }, On.sortedLastIndexOf = function (e, t) { if (null == e ? 0 : e.length) { var n = Yr(e, t, !0) - 1; if (Ta(e[n], t)) return n } return -1 }, On.startCase = zs, On.startsWith = function (e, t, n) { return e = ls(e), n = null == n ? 0 : Zn(is(n), 0, e.length), t = Jr(t), e.slice(n, n + t.length) == t }, On.subtract = hl, On.sum = function (e) { return e && e.length ? _t(e, Ws) : 0 }, On.sumBy = function (e, t) { return e && e.length ? _t(e, Qi(t, 2)) : 0 }, On.template = function (e, t, n) { var r = On.templateSettings; n && lo(e, t, n) && (t = void 0), e = ls(e), t = ds({}, t, r, Fi); var i, o, a = ds({}, t.imports, r.imports, Fi), s = ws(a), l = Pt(a, s), c = 0, u = t.interpolate || ue, d = "__p += '", p = ge((t.escape || ue).source + "|" + u.source + "|" + (u === q ? ne : ue).source + "|" + (t.evaluate || ue).source + "|$", "g"), f = "//# sourceURL=" + (Ae.call(t, "sourceURL") ? (t.sourceURL + "").replace(/\s/g, " ") : "lodash.templateSources[" + ++Le + "]") + "\n"; e.replace(p, (function (t, n, r, a, s, l) { return r || (r = a), d += e.slice(c, l).replace(de, Lt), n && (i = !0, d += "' +\n__e(" + n + ") +\n'"), s && (o = !0, d += "';\n" + s + ";\n__p += '"), r && (d += "' +\n((__t = (" + r + ")) == null ? '' : __t) +\n'"), c = l + t.length, t })), d += "';\n"; var h = Ae.call(t, "variable") && t.variable; if (h) { if (ee.test(h)) throw new X("Invalid `variable` option passed into `_.template`") } else d = "with (obj) {\n" + d + "\n}\n"; d = (o ? d.replace(D, "") : d).replace(R, "$1").replace(I, "$1;"), d = "function(" + (h || "obj") + ") {\n" + (h ? "" : "obj || (obj = {});\n") + "var __t, __p = ''" + (i ? ", __e = _.escape" : "") + (o ? ", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n" : ";\n") + d + "return __p\n}"; var g = qs((function () { return pe(s, f + "return " + d).apply(void 0, l) })); if (g.source = d, Ba(g)) throw g; return g }, On.times = function (e, t) { if ((e = is(e)) < 1 || e > 9007199254740991) return []; var n = 4294967295, r = ln(e, 4294967295); e -= 4294967295; for (var i = Ot(r, t = Qi(t)); ++n < e;)t(n); return i }, On.toFinite = rs, On.toInteger = is, On.toLength = os, On.toLower = function (e) { return ls(e).toLowerCase() }, On.toNumber = as, On.toSafeInteger = function (e) { return e ? Zn(is(e), -9007199254740991, 9007199254740991) : 0 === e ? e : 0 }, On.toString = ls, On.toUpper = function (e) { return ls(e).toUpperCase() }, On.trim = function (e, t, n) { if ((e = ls(e)) && (n || void 0 === t)) return Tt(e); if (!e || !(t = Jr(t))) return e; var r = Wt(e), i = Wt(t); return ui(r, Rt(r, i), It(r, i) + 1).join("") }, On.trimEnd = function (e, t, n) { if ((e = ls(e)) && (n || void 0 === t)) return e.slice(0, Yt(e) + 1); if (!e || !(t = Jr(t))) return e; var r = Wt(e); return ui(r, 0, It(r, Wt(t)) + 1).join("") }, On.trimStart = function (e, t, n) { if ((e = ls(e)) && (n || void 0 === t)) return e.replace(Y, ""); if (!e || !(t = Jr(t))) return e; var r = Wt(e); return ui(r, Rt(r, Wt(t))).join("") }, On.truncate = function (e, t) { var n = 30, r = "..."; if (Ua(t)) { var i = "separator" in t ? t.separator : i; n = "length" in t ? is(t.length) : n, r = "omission" in t ? Jr(t.omission) : r } var o = (e = ls(e)).length; if (Bt(e)) { var a = Wt(e); o = a.length } if (n >= o) return e; var s = n - Gt(r); if (s < 1) return r; var l = a ? ui(a, 0, s).join("") : e.slice(0, s); if (void 0 === i) return l + r; if (a && (s += l.length - s), Xa(i)) { if (e.slice(s).search(i)) { var c, u = l; for (i.global || (i = ge(i.source, ls(re.exec(i)) + "g")), i.lastIndex = 0; c = i.exec(u);)var d = c.index; l = l.slice(0, void 0 === d ? s : d) } } else if (e.indexOf(Jr(i), s) != s) { var p = l.lastIndexOf(i); p > -1 && (l = l.slice(0, p)) } return l + r }, On.unescape = function (e) { return (e = ls(e)) && z.test(e) ? e.replace(N, Xt) : e }, On.uniqueId = function (e) { var t = ++Ee; return ls(e) + t }, On.upperCase = Ls, On.upperFirst = Bs, On.each = la, On.eachRight = ca, On.first = No, Qs(On, (dl = {}, cr(On, (function (e, t) { Ae.call(On.prototype, t) || (dl[t] = e) })), dl), { chain: !1 }), On.VERSION = "4.17.21", st(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], (function (e) { On[e].placeholder = On })), st(["drop", "take"], (function (e, t) { Dn.prototype[e] = function (n) { n = void 0 === n ? 1 : sn(is(n), 0); var r = this.__filtered__ && !t ? new Dn(this) : this.clone(); return r.__filtered__ ? r.__takeCount__ = ln(n, r.__takeCount__) : r.__views__.push({ size: ln(n, 4294967295), type: e + (r.__dir__ < 0 ? "Right" : "") }), r }, Dn.prototype[e + "Right"] = function (t) { return this.reverse()[e](t).reverse() } })), st(["filter", "map", "takeWhile"], (function (e, t) { var n = t + 1, r = 1 == n || 3 == n; Dn.prototype[e] = function (e) { var t = this.clone(); return t.__iteratees__.push({ iteratee: Qi(e, 3), type: n }), t.__filtered__ = t.__filtered__ || r, t } })), st(["head", "last"], (function (e, t) { var n = "take" + (t ? "Right" : ""); Dn.prototype[e] = function () { return this[n](1).value()[0] } })), st(["initial", "tail"], (function (e, t) { var n = "drop" + (t ? "" : "Right"); Dn.prototype[e] = function () { return this.__filtered__ ? new Dn(this) : this[n](1) } })), Dn.prototype.compact = function () { return this.filter(Ws) }, Dn.prototype.find = function (e) { return this.filter(e).head() }, Dn.prototype.findLast = function (e) { return this.reverse().find(e) }, Dn.prototype.invokeMap = Lr((function (e, t) { return "function" == typeof e ? new Dn(this) : this.map((function (n) { return yr(n, e, t) })) })), Dn.prototype.reject = function (e) { return this.filter(Sa(Qi(e))) }, Dn.prototype.slice = function (e, t) { e = is(e); var n = this; return n.__filtered__ && (e > 0 || t < 0) ? new Dn(n) : (e < 0 ? n = n.takeRight(-e) : e && (n = n.drop(e)), void 0 !== t && (n = (t = is(t)) < 0 ? n.dropRight(-t) : n.take(t - e)), n) }, Dn.prototype.takeRightWhile = function (e) { return this.reverse().takeWhile(e).reverse() }, Dn.prototype.toArray = function () { return this.take(4294967295) }, cr(Dn.prototype, (function (e, t) { var n = /^(?:filter|find|map|reject)|While$/.test(t), r = /^(?:head|last)$/.test(t), i = On[r ? "take" + ("last" == t ? "Right" : "") : t], o = r || /^find/.test(t); i && (On.prototype[t] = function () { var t = this.__wrapped__, a = r ? [1] : arguments, s = t instanceof Dn, l = a[0], c = s || Ra(t), u = function (e) { var t = i.apply(On, ht([e], a)); return r && d ? t[0] : t }; c && n && "function" == typeof l && 1 != l.length && (s = c = !1); var d = this.__chain__, p = !!this.__actions__.length, f = o && !d, h = s && !p; if (!o && c) { t = h ? t : new Dn(this); var g = e.apply(t, a); return g.__actions__.push({ func: ra, args: [u], thisArg: void 0 }), new Pn(g, d) } return f && h ? e.apply(this, a) : (g = this.thru(u), f ? r ? g.value()[0] : g.value() : g) }) })), st(["pop", "push", "shift", "sort", "splice", "unshift"], (function (e) { var t = be[e], n = /^(?:push|sort|unshift)$/.test(e) ? "tap" : "thru", r = /^(?:pop|shift)$/.test(e); On.prototype[e] = function () { var e = arguments; if (r && !this.__chain__) { var i = this.value(); return t.apply(Ra(i) ? i : [], e) } return this[n]((function (n) { return t.apply(Ra(n) ? n : [], e) })) } })), cr(Dn.prototype, (function (e, t) { var n = On[t]; if (n) { var r = n.name + ""; Ae.call(xn, r) || (xn[r] = []), xn[r].push({ name: t, func: n }) } })), xn[Oi(void 0, 2).name] = [{ name: "wrapper", func: void 0 }], Dn.prototype.clone = function () { var e = new Dn(this.__wrapped__); return e.__actions__ = bi(this.__actions__), e.__dir__ = this.__dir__, e.__filtered__ = this.__filtered__, e.__iteratees__ = bi(this.__iteratees__), e.__takeCount__ = this.__takeCount__, e.__views__ = bi(this.__views__), e }, Dn.prototype.reverse = function () { if (this.__filtered__) { var e = new Dn(this); e.__dir__ = -1, e.__filtered__ = !0 } else (e = this.clone()).__dir__ *= -1; return e }, Dn.prototype.value = function () { var e = this.__wrapped__.value(), t = this.__dir__, n = Ra(e), r = t < 0, i = n ? e.length : 0, o = function (e, t, n) { var r = -1, i = n.length; for (; ++r < i;) { var o = n[r], a = o.size; switch (o.type) { case "drop": e += a; break; case "dropRight": t -= a; break; case "take": t = ln(t, e + a); break; case "takeRight": e = sn(e, t - a) } } return { start: e, end: t } }(0, i, this.__views__), a = o.start, s = o.end, l = s - a, c = r ? s : a - 1, u = this.__iteratees__, d = u.length, p = 0, f = ln(l, this.__takeCount__); if (!n || !r && i == l && f == l) return ri(e, this.__actions__); var h = []; e: for (; l-- && p < f;) { for (var g = -1, m = e[c += t]; ++g < d;) { var v = u[g], b = v.iteratee, y = v.type, x = b(m); if (2 == y) m = x; else if (!x) { if (1 == y) continue e; break e } } h[p++] = m } return h }, On.prototype.at = ia, On.prototype.chain = function () { return na(this) }, On.prototype.commit = function () { return new Pn(this.value(), this.__chain__) }, On.prototype.next = function () { void 0 === this.__values__ && (this.__values__ = ns(this.value())); var e = this.__index__ >= this.__values__.length; return { done: e, value: e ? void 0 : this.__values__[this.__index__++] } }, On.prototype.plant = function (e) { for (var t, n = this; n instanceof jn;) { var r = Oo(n); r.__index__ = 0, r.__values__ = void 0, t ? i.__wrapped__ = r : t = r; var i = r; n = n.__wrapped__ } return i.__wrapped__ = e, t }, On.prototype.reverse = function () { var e = this.__wrapped__; if (e instanceof Dn) { var t = e; return this.__actions__.length && (t = new Dn(this)), (t = t.reverse()).__actions__.push({ func: ra, args: [Uo], thisArg: void 0 }), new Pn(t, this.__chain__) } return this.thru(Uo) }, On.prototype.toJSON = On.prototype.valueOf = On.prototype.value = function () { return ri(this.__wrapped__, this.__actions__) }, On.prototype.first = On.prototype.head, Qe && (On.prototype[Qe] = function () { return this }), On }(); We._ = Zt, void 0 === (i = function () { return Zt }.call(t, n, t, r)) || (r.exports = i) }).call(this)
194
+ }).call(this, n(35), n(80)(e))
195
+ }, function (e, t, n) { const r = n(21); function i(e) { return !r.isNull(e) && !r.isUndefined(e) } function o(e, t, n, a) { a || (a = 1); var s = e.predecessors(t); if (!s || 0 == n) return []; var l = s.concat(s.reduce((function (t, r) { return a >= n && i(n) ? t : t.concat(o(e, r, n, a + 1)) }), [])); return r.uniq(l) } function a(e, t, n, o) { o || (o = 1); var s = e.successors(t); if (!s || 0 == n) return []; var l = s.concat(s.reduce((function (t, r) { return o >= n && i(n) ? t : t.concat(a(e, r, n, o + 1)) }), [])); return r.uniq(l) } e.exports = { selectAt: function (e, t) { var n = [t], i = r.union([t], a(e, t)); return r.each(i, (function (t) { var i = o(e, t); n = r.union(n, i, [t]) })), n }, ancestorNodes: o, descendentNodes: a } }, function (e, t) { var n = { utf8: { stringToBytes: function (e) { return n.bin.stringToBytes(unescape(encodeURIComponent(e))) }, bytesToString: function (e) { return decodeURIComponent(escape(n.bin.bytesToString(e))) } }, bin: { stringToBytes: function (e) { for (var t = [], n = 0; n < e.length; n++)t.push(255 & e.charCodeAt(n)); return t }, bytesToString: function (e) { for (var t = [], n = 0; n < e.length; n++)t.push(String.fromCharCode(e[n])); return t.join("") } } }; e.exports = n }, function (e, t) { var n = "/docs/source.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n <h1>\n <span class="break">{{ model.source_name }}.{{ model.name }}</span>\n <small>source table</small>\n </h1>\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.source({\'#\': \'details\'})">Details</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.source({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.source({\'#\': \'columns\'})">Columns</a></li>\n <li ui-sref-active=\'active\' ng-show = "referencesLength != 0"><a ui-sref="dbt.source({\'#\': \'referenced_by\'})">Referenced By</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.source({\'#\': \'code\'})">SQL</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n <section class="section">\n <div class="section-target" id="details"></div>\n <table-details model="model" extras="extra_table_fields"/>\n </section>\n\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="model.description" class="model-markdown" marked="model.description"></div>\n <div ng-if="!model.description">This {{ model.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n <section class="section">\n <div class="section-target" id="columns"></div>\n <div class="section-content">\n <h6>Columns</h6>\n <column-details model="model" />\n </div>\n </section>\n\n <section class="section" ng-show = "referencesLength != 0">\n <div class="section-target" id="referenced_by"></div>\n <div class="section-content">\n <h6>Referenced By</h6>\n <reference-list references="references" node="model" />\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="code"></div>\n <div class="section-content">\n <code-block versions="versions" default="default_version" language="language"></code-block>\n </div>\n </section>\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t, n) { "use strict"; n.r(t); var r = function (e) { return function (e) { return !!e && "object" == typeof e }(e) && !function (e) { var t = Object.prototype.toString.call(e); return "[object RegExp]" === t || "[object Date]" === t || function (e) { return e.$$typeof === i }(e) }(e) }; var i = "function" == typeof Symbol && Symbol.for ? Symbol.for("react.element") : 60103; function o(e, t) { return !1 !== t.clone && t.isMergeableObject(e) ? s((n = e, Array.isArray(n) ? [] : {}), e, t) : e; var n } function a(e, t, n) { return e.concat(t).map((function (e) { return o(e, n) })) } function s(e, t, n) { (n = n || {}).arrayMerge = n.arrayMerge || a, n.isMergeableObject = n.isMergeableObject || r; var i = Array.isArray(t); return i === Array.isArray(e) ? i ? n.arrayMerge(e, t, n) : function (e, t, n) { var r = {}; return n.isMergeableObject(e) && Object.keys(e).forEach((function (t) { r[t] = o(e[t], n) })), Object.keys(t).forEach((function (i) { n.isMergeableObject(t[i]) && e[i] ? r[i] = s(e[i], t[i], n) : r[i] = o(t[i], n) })), r }(e, t, n) : o(t, n) } s.all = function (e, t) { if (!Array.isArray(e)) throw new Error("first argument should be an array"); return e.reduce((function (e, n) { return s(e, n, t) }), {}) }; var l = s; const c = n(8), u = (n(33), n(202)), { getQuoteChar: d } = n(430); c.module("dbt").factory("project", ["$q", "$http", function (e, t) { var n = { manifest: "MANIFEST.JSON INLINE DATA", catalog: "CATALOG.JSON INLINE DATA" }, r = { project: {}, tree: { project: [], database: [], sources: [] }, files: { manifest: {}, catalog: {} }, loaded: e.defer() }; function i(e, t) { return u.each(t.sources, (function (e, n) { t.nodes[n] = e })), u.each(e.nodes, (function (e, n) { var r = t.nodes[n]; if (r) { var i, o, a, s = u.keys(r.columns), l = e.columns, c = (i = s, o = l, a = {}, u.each(o, (function (e, t) { var n = u.find(i, (function (e) { return e.toLowerCase() == t.toLowerCase() })); n ? a[n] = e : a[t] = e })), a); e.columns = c } })), l(t, e) } function o(e, r) { return e in n && "object" == typeof n[e] ? { label: e, data: n[e] } : t({ method: "GET", url: r }).then((function (t) { return { label: e, data: t.data } }), (function (t) { console.error(t), alert("dbt Docs was unable to load the " + e + " file at path: \n " + r + "\n\nError: " + t.statusText + " (" + t.status + ")\n\nThe dbt Docs site may not work as expected if this file cannot be found.Please try again, and contact support if this error persists.") })) } return r.find_by_id = function (e, t) { r.ready((function () { if (e) { var n = r.node(e); t(n) } })) }, r.node = function (e) { return u.find(r.project.nodes, { unique_id: e }) }, r.loadProject = function () { var t = "?cb=" + (new Date).getTime(), n = [o("manifest", "manifest.json" + t), o("catalog", "catalog.json" + t)]; e.all(n).then((function (e) { u.each(e, (function (e) { e ? r.files[e.label] = e.data : console.error("FILE FAILED TO LOAD!") })), u.each(r.files.manifest.nodes, (function (e) { "model" == e.resource_type && null != e.version ? e.label = e.name + "_v" + e.version : e.label = e.name })), u.each(r.files.manifest.sources, (function (e) { e.label = e.source_name + "." + e.name, r.files.manifest.nodes[e.unique_id] = e })), u.each(r.files.manifest.exposures, (function (e) { e.label || (e.label = e.name), r.files.manifest.nodes[e.unique_id] = e })), u.each(r.files.manifest.metrics, (function (e) { r.files.manifest.nodes[e.unique_id] = e })), u.each(r.files.manifest.semantic_models, (function (e) { r.files.manifest.nodes[e.unique_id] = e, e.label = e.name })), u.each(r.files.manifest.saved_queries, (function (e) { r.files.manifest.nodes[e.unique_id] = e, e.label = e.name })), u.each(r.files.manifest.unit_tests, (function (e) { r.files.manifest.nodes[e.unique_id] = e, e.label = e.name })); var t = r.files.manifest.metadata.adapter_type, n = function (e, t) { var n = e || [], r = {}; u.each(n, (function (e) { r[e.package_name] || (r[e.package_name] = {}), r[e.package_name][e.name] = e })); e = []; return u.each(r, (function (n, r) { if ("dbt" != r && r != "dbt_" + t) { var i = function (e, t) { var n = {}; u.each(e, (function (e) { e.macro_sql.match(/{{\s*adapter_macro\([^)]+\)\s+}}/) && (e.impls = { "Adapter Macro": e.macro_sql }, e.is_adapter_macro = !0, n[e.name] = e) })); var r = ["postgres", "redshift", "bigquery", "snowflake", "spark", "presto", "default"], i = u.values(n), o = u.filter(e, (function (e) { var t = e.name.split("__"), i = t.shift(), o = t.join("__"); return !(r.indexOf(i) >= 0 && n[o]) || (n[o].impls[i] = e.macro_sql, e.is_adapter_macro_impl = !0, !1) })); return i.concat(o) }(n); e = e.concat(i) } })), u.keyBy(e, "unique_id") }(r.files.manifest.macros, t); r.files.manifest.macros = n; var o = i(r.files.manifest, r.files.catalog), a = o.nodes, s = u.keyBy(a, "name"), l = u.filter(o.nodes, { resource_type: "test" }); u.each(l, (function (e) { if (e.hasOwnProperty("test_metadata")) { var t, n = { test_name: t = e.test_metadata.namespace ? e.test_metadata.namespace + "." + e.test_metadata.name : e.test_metadata.name }; if ("not_null" == e.test_metadata.name) n.short = "N", n.label = "Not Null"; else if ("unique" == e.test_metadata.name) n.short = "U", n.label = "Unique"; else if ("relationships" == e.test_metadata.name) { var r = e.refs[0], i = s[r]; i && e.test_metadata.kwargs.field && (n.fk_field = e.test_metadata.kwargs.field, n.fk_model = i), n.short = "F", n.label = "Foreign Key" } else if ("accepted_values" == e.test_metadata.name) { if (Array.isArray(e.test_metadata.kwargs.values)) var a = e.test_metadata.kwargs.values.join(", "); else a = JSON.stringify(e.test_metadata.kwargs.values); n.short = "A", n.label = "Accepted Values: " + a } else { var l = u.omit(e.test_metadata.kwargs, "column_name"); n.short = "+", n.label = t + "(" + JSON.stringify(l) + ")" } var c = e.depends_on.nodes, p = e.column_name || e.test_metadata.kwargs.column_name || e.test_metadata.kwargs.arg; if (c.length && p) { if ("relationships" == e.test_metadata.name) var f = c[c.length - 1]; else f = c[0]; var h = o.nodes[f], g = d(o.metadata), m = u.find(h.columns, (function (e, t) { let n = p; return p.startsWith(g) && p.endsWith(g) && (n = p.substring(1, p.length - 1)), t.toLowerCase() == n.toLowerCase() })); m && (m.tests = m.tests || [], m.tests.push(n)) } } })), r.project = o; var c = u.filter(r.project.macros, (function (e) { return !e.is_adapter_macro_impl })), p = u.filter(r.project.nodes, (function (e) { return u.includes(["model", "source", "seed", "snapshot", "analysis", "exposure", "metric", "semantic_model", "saved_query"], e.resource_type) })); r.project.searchable = u.filter(p.concat(c), (function (e) { return !e.docs || e.docs.show })), r.loaded.resolve() })) }, r.ready = function (e) { r.loaded.promise.then((function () { e(r.project) })) }, r.search = function (e) { if (0 == e.length) return u.map(r.project.searchable, (function (e) { return { model: e, matches: [] } })); var t = []; return u.each(r.project.searchable, (function (n) { var r = function (e, t) { var n = [], r = { name: "string", description: "string", raw_code: "string", columns: "object", column_description: "n/a", tags: "array", arguments: "array", label: "string" }; let i = u.words(e.toLowerCase()); for (var o in r) if ("column_description" === o) for (var a in t.columns) null != t.columns[a].description && i.every(e => -1 != t.columns[a].description.toLowerCase().indexOf(e)) && n.push({ key: o, value: e }); else { if (!t[o]) continue; if ("string" === r[o] && i.every(e => -1 != t[o].toLowerCase().indexOf(e))) n.push({ key: o, value: e }); else if ("object" === r[o]) for (var a in t[o]) null != t[o][a].name && i.every(e => -1 != t[o][a].name.toLowerCase().indexOf(e)) && n.push({ key: o, value: e }); else if ("array" === r[o]) for (var s of t[o]) i.every(e => -1 != JSON.stringify(s).toLowerCase().indexOf(e)) && n.push({ key: o, value: e }) } return n }(e, n); r.length && t.push({ model: n, matches: r }) })), t }, r.getModelTree = function (e, t) { r.loaded.promise.then((function () { var n = u.values(r.project.macros), i = u.filter(r.project.nodes, (function (e) { if ("test" == e.resource_type && !e.hasOwnProperty("test_metadata")) return !0; return u.includes(["snapshot", "source", "seed", "model", "analysis", "exposure", "metric", "semantic_model", "saved_query"], e.resource_type) })); r.tree.database = function (e, t) { var n = {}, r = u.filter(e, (function (e) { return !!u.get(e, ["docs", "show"], !0) && (-1 != u.indexOf(["source", "snapshot", "seed"], e.resource_type) || ("model" == e.resource_type ? "ephemeral" != e.config.materialized : void 0)) })), i = u.sortBy(r, (function (e) { return e.database + "." + e.schema + "." + (e.identifier || e.alias || e.name) })), o = u.groupBy(i, "database"); return u.each(o, (function (e, r) { var i = { type: "database", name: r, active: !1, items: [] }; n[r] = i; var o = u.groupBy(e, "schema"); u.each(o, (function (e, n) { n = { type: "schema", name: n, active: !1, items: [] }; i.items.push(n), u.each(e, (function (e) { var r = e.unique_id == t; r && (i.active = !0, n.active = !0), n.items.push({ type: "table", name: e.identifier || e.alias || e.name, node: e, active: r, unique_id: e.unique_id, node_type: "model" }) })) })) })), n }(i, e), r.tree.groups = function (e, t) { var n = {}; u.each(e, (function (e) { const r = u.get(e, ["docs", "show"], !0); if (!(e.resource_type in ["source", "exposure", "seed", "macro"]) && r && "private" !== e.access) { if ("model" == e.resource_type && null != e.version) var i = e.name + "_v" + e.version; else i = e.name; var o = "protected" === e.access ? i + " (protected)" : i, a = e.group, s = e.unique_id == t; n[a] ? s && (n[a].active = !0) : n[a] = { type: "group", name: a, active: s, items: [] }, n[a].items.push({ type: "file", name: o, node: e, active: s, unique_id: e.unique_id, node_type: "model" }) } })); n = u.sortBy(u.values(n), "name"); return u.each(n, (function (e) { e.items = u.sortBy(e.items, "name") })), n }(i, e), r.tree.project = function (e, t, n) { var r = {}; e = e || [], t = t || []; return u.each(e.concat(t), (function (e) { var t = u.get(e, ["docs", "show"], !0); if ("source" != e.resource_type && "exposure" != e.resource_type && "metric" != e.resource_type && "semantic_model" != e.resource_type && "saved_query" != e.resource_type && t) { if (-1 != e.original_file_path.indexOf("\\")) var i = e.original_file_path.split("\\"); else i = e.original_file_path.split("/"); var o = [e.package_name].concat(i), a = e.unique_id == n, s = u.initial(o); if ("macro" == e.resource_type) var l = e.name; else l = u.last(o); if ("model" == e.resource_type && null != e.version) var c = e.name + "_v" + e.version; else c = e.name; var d = r; u.each(s, (function (e) { d[e] ? a && (d[e].active = !0) : d[e] = { type: "folder", name: e, active: a, items: {} }, d = d[e].items })), d[l] = { type: "file", name: c, node: e, active: a, unique_id: e.unique_id, node_type: e.resource_type } } })), function e(t) { var n = [], r = u.values(t); return u.each(r, (function (t) { if (t.items) { var r = e(t.items), i = u.sortBy(r, "name"); t.items = i } n.push(t) })), n }(r) }(i, n, e); var o = u.values(r.project.sources); r.tree.sources = function (e, t) { var n = {}; u.each(e, (function (e) { var r = e.source_name, i = e.name, o = e.unique_id == t; n[r] ? o && (n[r].active = !0) : n[r] = { type: "folder", name: r, active: o, items: [] }, n[r].items.push({ type: "file", name: i, node: e, active: o, unique_id: e.unique_id, node_type: "source" }) })); n = u.sortBy(u.values(n), "name"); return u.each(n, (function (e) { e.items = u.sortBy(e.items, "name") })), n }(o, e); var a = u.values(r.project.exposures); r.tree.exposures = function (e, t) { var n = {}; u.each(e, (function (e) { e.name; var r = e.type || "Uncategorized"; r = function (e) { var t = { ml: "ML" }; return t.hasOwnProperty(e) ? t[e] : e.charAt(0).toUpperCase() + e.slice(1) }(r); var i = e.unique_id == t; n[r] ? i && (n[r].active = !0) : n[r] = { type: "folder", name: r, active: i, items: [] }, n[r].items.push({ type: "file", name: e.label, node: e, active: i, unique_id: e.unique_id, node_type: "exposure" }) })); n = u.sortBy(u.values(n), "name"); return u.each(n, (function (e) { e.items = u.sortBy(e.items, "name") })), n }(a, e); var s = u.values(r.project.metrics); r.tree.metrics = function (e, t) { var n = {}; u.each(e, (function (e) { e.name; var r = e.package_name, i = e.unique_id == t; n[r] ? i && (n[r].active = !0) : n[r] = { type: "folder", name: r, active: i, items: [] }, n[r].items.push({ type: "file", name: e.label, node: e, active: i, unique_id: e.unique_id, node_type: "metric" }) })); n = u.sortBy(u.values(n), "name"); return u.each(n, (function (e) { n.items = u.sortBy(n.items, "name") })), n }(s, e); var l = u.values(r.project.semantic_models); r.tree.semantic_models = function (e, t) { var n = {}; u.each(e, (function (e) { e.name; var r = e.package_name, i = e.unique_id == t; n[r] ? i && (n[r].active = !0) : n[r] = { type: "folder", name: r, active: i, items: [] }, n[r].items.push({ type: "file", name: e.name, node: e, active: i, unique_id: e.unique_id, node_type: "semantic_model" }) })); n = u.sortBy(u.values(n), "name"); return u.each(n, (function (e) { n.items = u.sortBy(n.items, "name") })), n }(l, e); var c = u.values(r.project.saved_queries); r.tree.saved_queries = function (e, t) { var n = {}; u.each(e, (function (e) { e.name; var r = e.package_name, i = e.unique_id == t; n[r] ? i && (n[r].active = !0) : n[r] = { type: "folder", name: r, active: i, items: [] }, n[r].items.push({ type: "file", name: e.name, node: e, active: i, unique_id: e.unique_id, node_type: "saved_query" }) })); n = u.sortBy(u.values(n), "name"); return u.each(n, (function (e) { n.items = u.sortBy(n.items, "name") })), n }(c, e), t(r.tree) })) }, r.updateSelectedInTree = function (e, t) { var n = !1; return u.each(t, (function (t) { if (t.node && t.node.unique_id == e) t.active = !0, n = !0; else if (t.node && t.node.unique_id != e) t.active = !1; else { r.updateSelectedInTree(e, t.items) && (t.active = !0, n = !0) } })), n }, r.updateSelected = function (e) { return r.updateSelectedInTree(e, r.tree.project), r.updateSelectedInTree(e, r.tree.database), r.updateSelectedInTree(e, r.tree.groups), r.updateSelectedInTree(e, r.tree.sources), r.updateSelectedInTree(e, r.tree.exposures), r.updateSelectedInTree(e, r.tree.metrics), r.updateSelectedInTree(e, r.tree.semantic_models), r.updateSelectedInTree(e, r.tree.saved_queries), r.tree }, r.caseColumn = function (e) { return "snowflake" == r.project.metadata.adapter_type && e.toUpperCase() == e ? e.toLowerCase() : e }, r.init = function () { r.loadProject() }, r }]) }, function (e, t, n) { const r = n(8); n(209), n(230), n(445), n(459), n(460), n(480), n(481), n(482), r.module("dbt").run(["$rootScope", "$state", "$stateParams", function (e, t, n) { e.$state = t, e.$stateParams = n }]) }, function (e, t) {
196
+ /**
197
+ * @license AngularJS v1.8.3
198
+ * (c) 2010-2020 Google LLC. http://angularjs.org
199
+ * License: MIT
200
+ */
201
+ !function (e) { "use strict"; var t = { objectMaxDepth: 5, urlErrorParamsEnabled: !0 }; function n(e) { if (!L(e)) return t; z(e.objectMaxDepth) && (t.objectMaxDepth = r(e.objectMaxDepth) ? e.objectMaxDepth : NaN), z(e.urlErrorParamsEnabled) && Z(e.urlErrorParamsEnabled) && (t.urlErrorParamsEnabled = e.urlErrorParamsEnabled) } function r(e) { return q(e) && e > 0 } function i(e, n) { n = n || Error; var r = "https://errors.angularjs.org/1.8.3/", i = r.replace(".", "\\.") + "[\\s\\S]*", o = new RegExp(i, "g"); return function () { var i, a, s = arguments[0], l = arguments[1], c = "[" + (e ? e + ":" : "") + s + "] ", u = de(arguments, 2).map((function (e) { return Ve(e, t.objectMaxDepth) })); if (c += l.replace(/\{\d+\}/g, (function (e) { var t = +e.slice(1, -1); return t < u.length ? u[t].replace(o, "") : e })), c += "\n" + r + (e ? e + "/" : "") + s, t.urlErrorParamsEnabled) for (a = 0, i = "?"; a < u.length; a++, i = "&")c += i + "p" + a + "=" + encodeURIComponent(u[a]); return new n(c) } } var o, a, s, l, c = /^\/(.+)\/([a-z]*)$/, u = Object.prototype.hasOwnProperty, d = function (e) { return F(e) ? e.toLowerCase() : e }, p = function (e) { return F(e) ? e.toUpperCase() : e }, f = [].slice, h = [].splice, g = [].push, m = Object.prototype.toString, v = Object.getPrototypeOf, b = i("ng"), y = e.angular || (e.angular = {}), x = 0; function w(e) { if (null == e || Y(e)) return !1; if (U(e) || F(e) || a && e instanceof a) return !0; var t = "length" in Object(e) && e.length; return q(t) && (t >= 0 && t - 1 in e || "function" == typeof e.item) } function k(e, t, n) { var r, i; if (e) if (G(e)) for (r in e) "prototype" !== r && "length" !== r && "name" !== r && e.hasOwnProperty(r) && t.call(n, e[r], r, e); else if (U(e) || w(e)) { var o = "object" != typeof e; for (r = 0, i = e.length; r < i; r++)(o || r in e) && t.call(n, e[r], r, e) } else if (e.forEach && e.forEach !== k) e.forEach(t, n, e); else if (B(e)) for (r in e) t.call(n, e[r], r, e); else if ("function" == typeof e.hasOwnProperty) for (r in e) e.hasOwnProperty(r) && t.call(n, e[r], r, e); else for (r in e) u.call(e, r) && t.call(n, e[r], r, e); return e } function A(e, t, n) { for (var r = Object.keys(e).sort(), i = 0; i < r.length; i++)t.call(n, e[r[i]], r[i]); return r } function E(e) { return function (t, n) { e(n, t) } } function S() { return ++x } function $(e, t) { t ? e.$$hashKey = t : delete e.$$hashKey } function C(e, t, n) { for (var r = e.$$hashKey, i = 0, o = t.length; i < o; ++i) { var a = t[i]; if (L(a) || G(a)) for (var s = Object.keys(a), l = 0, c = s.length; l < c; l++) { var u = s[l], d = a[u]; n && L(d) ? V(d) ? e[u] = new Date(d.valueOf()) : W(d) ? e[u] = new RegExp(d) : d.nodeName ? e[u] = d.cloneNode(!0) : te(d) ? e[u] = d.clone() : "__proto__" !== u && (L(e[u]) || (e[u] = U(d) ? [] : {}), C(e[u], [d], !0)) : e[u] = d } } return $(e, r), e } function _(e) { return C(e, f.call(arguments, 1), !1) } function O(e) { return C(e, f.call(arguments, 1), !0) } function T(e) { return parseInt(e, 10) } o = e.document.documentMode; var j = Number.isNaN || function (e) { return e != e }; function P(e, t) { return _(Object.create(e), t) } function D() { } function R(e) { return e } function I(e) { return function () { return e } } function N(e) { return G(e.toString) && e.toString !== m } function M(e) { return void 0 === e } function z(e) { return void 0 !== e } function L(e) { return null !== e && "object" == typeof e } function B(e) { return null !== e && "object" == typeof e && !v(e) } function F(e) { return "string" == typeof e } function q(e) { return "number" == typeof e } function V(e) { return "[object Date]" === m.call(e) } function U(e) { return Array.isArray(e) || e instanceof Array } function H(e) { switch (m.call(e)) { case "[object Error]": case "[object Exception]": case "[object DOMException]": return !0; default: return e instanceof Error } } function G(e) { return "function" == typeof e } function W(e) { return "[object RegExp]" === m.call(e) } function Y(e) { return e && e.window === e } function X(e) { return e && e.$evalAsync && e.$watch } function Z(e) { return "boolean" == typeof e } function Q(e) { return e && G(e.then) } D.$inject = [], R.$inject = []; var J = /^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array]$/; var K = function (e) { return F(e) ? e.trim() : e }, ee = function (e) { return e.replace(/([-()[\]{}+?*.$^|,:#<!\\])/g, "\\$1").replace(/\x08/g, "\\x08") }; function te(e) { return !(!e || !(e.nodeName || e.prop && e.attr && e.find)) } function ne(e) { return d(e.nodeName || e[0] && e[0].nodeName) } function re(e, t) { return -1 !== Array.prototype.indexOf.call(e, t) } function ie(e, t) { var n = e.indexOf(t); return n >= 0 && e.splice(n, 1), n } function oe(e, t, n) { var i, o, a = [], s = []; if (n = r(n) ? n : NaN, t) { if ((o = t) && q(o.length) && J.test(m.call(o)) || (i = t, "[object ArrayBuffer]" === m.call(i))) throw b("cpta", "Can't copy! TypedArray destination cannot be mutated."); if (e === t) throw b("cpi", "Can't copy! Source and destination are identical."); return U(t) ? t.length = 0 : k(t, (function (e, n) { "$$hashKey" !== n && delete t[n] })), a.push(e), s.push(t), l(e, t, n) } return c(e, n); function l(e, t, n) { if (--n < 0) return "..."; var r, i = t.$$hashKey; if (U(e)) for (var o = 0, a = e.length; o < a; o++)t.push(c(e[o], n)); else if (B(e)) for (r in e) t[r] = c(e[r], n); else if (e && "function" == typeof e.hasOwnProperty) for (r in e) e.hasOwnProperty(r) && (t[r] = c(e[r], n)); else for (r in e) u.call(e, r) && (t[r] = c(e[r], n)); return $(t, i), t } function c(e, t) { if (!L(e)) return e; var n = a.indexOf(e); if (-1 !== n) return s[n]; if (Y(e) || X(e)) throw b("cpws", "Can't copy! Making copies of Window or Scope instances is not supported."); var r = !1, i = function (e) { switch (m.call(e)) { case "[object Int8Array]": case "[object Int16Array]": case "[object Int32Array]": case "[object Float32Array]": case "[object Float64Array]": case "[object Uint8Array]": case "[object Uint8ClampedArray]": case "[object Uint16Array]": case "[object Uint32Array]": return new e.constructor(c(e.buffer), e.byteOffset, e.length); case "[object ArrayBuffer]": if (!e.slice) { var t = new ArrayBuffer(e.byteLength); return new Uint8Array(t).set(new Uint8Array(e)), t } return e.slice(0); case "[object Boolean]": case "[object Number]": case "[object String]": case "[object Date]": return new e.constructor(e.valueOf()); case "[object RegExp]": var n = new RegExp(e.source, e.toString().match(/[^/]*$/)[0]); return n.lastIndex = e.lastIndex, n; case "[object Blob]": return new e.constructor([e], { type: e.type }) }if (G(e.cloneNode)) return e.cloneNode(!0) }(e); return void 0 === i && (i = U(e) ? [] : Object.create(v(e)), r = !0), a.push(e), s.push(i), r ? l(e, i, t) : i } } function ae(e, t) { return e === t || e != e && t != t } function se(e, t) { if (e === t) return !0; if (null === e || null === t) return !1; if (e != e && t != t) return !0; var n, r, i, o = typeof e; if (o === typeof t && "object" === o) { if (!U(e)) { if (V(e)) return !!V(t) && ae(e.getTime(), t.getTime()); if (W(e)) return !!W(t) && e.toString() === t.toString(); if (X(e) || X(t) || Y(e) || Y(t) || U(t) || V(t) || W(t)) return !1; for (r in i = Le(), e) if ("$" !== r.charAt(0) && !G(e[r])) { if (!se(e[r], t[r])) return !1; i[r] = !0 } for (r in t) if (!(r in i) && "$" !== r.charAt(0) && z(t[r]) && !G(t[r])) return !1; return !0 } if (!U(t)) return !1; if ((n = e.length) === t.length) { for (r = 0; r < n; r++)if (!se(e[r], t[r])) return !1; return !0 } } return !1 } var le = function () { if (!z(le.rules)) { var t = e.document.querySelector("[ng-csp]") || e.document.querySelector("[data-ng-csp]"); if (t) { var n = t.getAttribute("ng-csp") || t.getAttribute("data-ng-csp"); le.rules = { noUnsafeEval: !n || -1 !== n.indexOf("no-unsafe-eval"), noInlineStyle: !n || -1 !== n.indexOf("no-inline-style") } } else le.rules = { noUnsafeEval: function () { try { return new Function(""), !1 } catch (e) { return !0 } }(), noInlineStyle: !1 } } return le.rules }, ce = function () { if (z(ce.name_)) return ce.name_; var t, n, r, i, o = Se.length; for (n = 0; n < o; ++n)if (r = Se[n], t = e.document.querySelector("[" + r.replace(":", "\\:") + "jq]")) { i = t.getAttribute(r + "jq"); break } return ce.name_ = i }; function ue(e, t, n) { return e.concat(f.call(t, n)) } function de(e, t) { return f.call(e, t || 0) } function pe(e, t) { var n = arguments.length > 2 ? de(arguments, 2) : []; return !G(t) || t instanceof RegExp ? t : n.length ? function () { return arguments.length ? t.apply(e, ue(n, arguments, 0)) : t.apply(e, n) } : function () { return arguments.length ? t.apply(e, arguments) : t.call(e) } } function fe(t, n) { var r = n; return "string" == typeof t && "$" === t.charAt(0) && "$" === t.charAt(1) ? r = void 0 : Y(n) ? r = "$WINDOW" : n && e.document === n ? r = "$DOCUMENT" : X(n) && (r = "$SCOPE"), r } function he(e, t) { if (!M(e)) return q(t) || (t = t ? 2 : null), JSON.stringify(e, fe, t) } function ge(e) { return F(e) ? JSON.parse(e) : e } var me = /:/g; function ve(e, t) { e = e.replace(me, ""); var n = Date.parse("Jan 01, 1970 00:00:00 " + e) / 6e4; return j(n) ? t : n } function be(e, t) { return (e = new Date(e.getTime())).setMinutes(e.getMinutes() + t), e } function ye(e, t, n) { n = n ? -1 : 1; var r = e.getTimezoneOffset(); return be(e, n * (ve(t, r) - r)) } function xe(e) { e = a(e).clone().empty(); var t = a("<div></div>").append(e).html(); try { return e[0].nodeType === Fe ? d(t) : t.match(/^(<[^>]+>)/)[1].replace(/^<([\w-]+)/, (function (e, t) { return "<" + d(t) })) } catch (e) { return d(t) } } function we(e) { try { return decodeURIComponent(e) } catch (e) { } } function ke(e) { var t = {}; return k((e || "").split("&"), (function (e) { var n, r, i; e && (r = e = e.replace(/\+/g, "%20"), -1 !== (n = e.indexOf("=")) && (r = e.substring(0, n), i = e.substring(n + 1)), z(r = we(r)) && (i = !z(i) || we(i), u.call(t, r) ? U(t[r]) ? t[r].push(i) : t[r] = [t[r], i] : t[r] = i)) })), t } function Ae(e) { return Ee(e, !0).replace(/%26/gi, "&").replace(/%3D/gi, "=").replace(/%2B/gi, "+") } function Ee(e, t) { return encodeURIComponent(e).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%3B/gi, ";").replace(/%20/g, t ? "%20" : "+") } var Se = ["ng-", "data-ng-", "ng:", "x-ng-"]; var $e = function (t) { var n = t.currentScript; if (!n) return !0; if (!(n instanceof e.HTMLScriptElement || n instanceof e.SVGScriptElement)) return !1; var r = n.attributes; return [r.getNamedItem("src"), r.getNamedItem("href"), r.getNamedItem("xlink:href")].every((function (e) { if (!e) return !0; if (!e.value) return !1; var n = t.createElement("a"); if (n.href = e.value, t.location.origin === n.origin) return !0; switch (n.protocol) { case "http:": case "https:": case "ftp:": case "blob:": case "file:": case "data:": return !0; default: return !1 } })) }(e.document); function Ce(t, n) { var r, i, o = {}; if (k(Se, (function (e) { var n = e + "app"; !r && t.hasAttribute && t.hasAttribute(n) && (r = t, i = t.getAttribute(n)) })), k(Se, (function (e) { var n, o = e + "app"; !r && (n = t.querySelector("[" + o.replace(":", "\\:") + "]")) && (r = n, i = n.getAttribute(o)) })), r) { if (!$e) return void e.console.error("AngularJS: disabling automatic bootstrap. <script> protocol indicates an extension, document.location.href does not match."); o.strictDi = null !== function (e, t) { var n, r, i = Se.length; for (r = 0; r < i; ++r)if (n = Se[r] + t, F(n = e.getAttribute(n))) return n; return null }(r, "strict-di"), n(r, i ? [i] : [], o) } } function _e(t, n, r) { L(r) || (r = {}); r = _({ strictDi: !1 }, r); var i = function () { if ((t = a(t)).injector()) { var i = t[0] === e.document ? "document" : xe(t); throw b("btstrpd", "App already bootstrapped with this element '{0}'", i.replace(/</, "&lt;").replace(/>/, "&gt;")) } (n = n || []).unshift(["$provide", function (e) { e.value("$rootElement", t) }]), r.debugInfoEnabled && n.push(["$compileProvider", function (e) { e.debugInfoEnabled(!0) }]), n.unshift("ng"); var o = Qt(n, r.strictDi); return o.invoke(["$rootScope", "$rootElement", "$compile", "$injector", function (e, t, n, r) { e.$apply((function () { t.data("$injector", r), n(t)(e) })) }]), o }, o = /^NG_ENABLE_DEBUG_INFO!/, s = /^NG_DEFER_BOOTSTRAP!/; if (e && o.test(e.name) && (r.debugInfoEnabled = !0, e.name = e.name.replace(o, "")), e && !s.test(e.name)) return i(); e.name = e.name.replace(s, ""), y.resumeBootstrap = function (e) { return k(e, (function (e) { n.push(e) })), i() }, G(y.resumeDeferredBootstrap) && y.resumeDeferredBootstrap() } function Oe() { e.name = "NG_ENABLE_DEBUG_INFO!" + e.name, e.location.reload() } function Te(e) { var t = y.element(e).injector(); if (!t) throw b("test", "no injector found for element argument to getTestability"); return t.get("$$testability") } var je = /[A-Z]/g; function Pe(e, t) { return t = t || "_", e.replace(je, (function (e, n) { return (n ? t : "") + e.toLowerCase() })) } var De = !1; function Re() { pt.legacyXHTMLReplacement = !0 } function Ie(e, t, n) { if (!e) throw b("areq", "Argument '{0}' is {1}", t || "?", n || "required"); return e } function Ne(e, t, n) { return n && U(e) && (e = e[e.length - 1]), Ie(G(e), t, "not a function, got " + (e && "object" == typeof e ? e.constructor.name || "Object" : typeof e)), e } function Me(e, t) { if ("hasOwnProperty" === e) throw b("badname", "hasOwnProperty is not a valid {0} name", t) } function ze(e) { for (var t, n = e[0], r = e[e.length - 1], i = 1; n !== r && (n = n.nextSibling); i++)(t || e[i] !== n) && (t || (t = a(f.call(e, 0, i))), t.push(n)); return t || e } function Le() { return Object.create(null) } function Be(e) { if (null == e) return ""; switch (typeof e) { case "string": break; case "number": e = "" + e; break; default: e = !N(e) || U(e) || V(e) ? he(e) : e.toString() }return e } var Fe = 3; function qe(e, t) { if (U(e)) { t = t || []; for (var n = 0, r = e.length; n < r; n++)t[n] = e[n] } else if (L(e)) for (var i in t = t || {}, e) "$" === i.charAt(0) && "$" === i.charAt(1) || (t[i] = e[i]); return t || e } function Ve(e, t) { return "function" == typeof e ? e.toString().replace(/ \{[\s\S]*$/, "") : M(e) ? "undefined" : "string" != typeof e ? function (e, t) { var n = []; return r(t) && (e = y.copy(e, null, t)), JSON.stringify(e, (function (e, t) { if (L(t = fe(e, t))) { if (n.indexOf(t) >= 0) return "..."; n.push(t) } return t })) }(e, t) : e } var Ue = { full: "1.8.3", major: 1, minor: 8, dot: 3, codeName: "ultimate-farewell" }; pt.expando = "ng339"; var He = pt.cache = {}, Ge = 1; pt._data = function (e) { return this.cache[e[this.expando]] || {} }; var We = /-([a-z])/g, Ye = /^-ms-/, Xe = { mouseleave: "mouseout", mouseenter: "mouseover" }, Ze = i("jqLite"); function Qe(e, t) { return t.toUpperCase() } function Je(e) { return e.replace(We, Qe) } var Ke = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/, et = /<|&#?\w+;/, tt = /<([\w:-]+)/, nt = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, rt = { thead: ["table"], col: ["colgroup", "table"], tr: ["tbody", "table"], td: ["tr", "tbody", "table"] }; rt.tbody = rt.tfoot = rt.colgroup = rt.caption = rt.thead, rt.th = rt.td; var it = { option: [1, '<select multiple="multiple">', "</select>"], _default: [0, "", ""] }; for (var ot in rt) { var at = rt[ot], st = at.slice().reverse(); it[ot] = [st.length, "<" + st.join("><") + ">", "</" + at.join("></") + ">"] } function lt(e) { return !et.test(e) } function ct(e) { var t = e.nodeType; return 1 === t || !t || 9 === t } function ut(t, n) { var r, i, a, s, l, c = n.createDocumentFragment(), u = []; if (lt(t)) u.push(n.createTextNode(t)); else { if (r = c.appendChild(n.createElement("div")), i = (tt.exec(t) || ["", ""])[1].toLowerCase(), s = pt.legacyXHTMLReplacement ? t.replace(nt, "<$1></$2>") : t, o < 10) for (a = it[i] || it._default, r.innerHTML = a[1] + s + a[2], l = a[0]; l--;)r = r.firstChild; else { for (l = (a = rt[i] || []).length; --l > -1;)r.appendChild(e.document.createElement(a[l])), r = r.firstChild; r.innerHTML = s } u = ue(u, r.childNodes), (r = c.firstChild).textContent = "" } return c.textContent = "", c.innerHTML = "", k(u, (function (e) { c.appendChild(e) })), c } it.optgroup = it.option; var dt = e.Node.prototype.contains || function (e) { return !!(16 & this.compareDocumentPosition(e)) }; function pt(t) { if (t instanceof pt) return t; var n, r, i, o; if (F(t) && (t = K(t), n = !0), !(this instanceof pt)) { if (n && "<" !== t.charAt(0)) throw Ze("nosel", "Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element"); return new pt(t) } n ? Et(this, (r = t, i = i || e.document, (o = Ke.exec(r)) ? [i.createElement(o[1])] : (o = ut(r, i)) ? o.childNodes : [])) : G(t) ? Ot(t) : Et(this, t) } function ft(e) { return e.cloneNode(!0) } function ht(e, t) { !t && ct(e) && a.cleanData([e]), e.querySelectorAll && a.cleanData(e.querySelectorAll("*")) } function gt(e) { var t; for (t in e) return !1; return !0 } function mt(e) { var t = e.ng339, n = t && He[t], r = n && n.events, i = n && n.data; i && !gt(i) || r && !gt(r) || (delete He[t], e.ng339 = void 0) } function vt(e, t, n, r) { if (z(r)) throw Ze("offargs", "jqLite#off() does not support the `selector` argument"); var i = yt(e), o = i && i.events, a = i && i.handle; if (a) { if (t) { var s = function (t) { var r = o[t]; z(n) && ie(r || [], n), z(n) && r && r.length > 0 || (e.removeEventListener(t, a), delete o[t]) }; k(t.split(" "), (function (e) { s(e), Xe[e] && s(Xe[e]) })) } else for (t in o) "$destroy" !== t && e.removeEventListener(t, a), delete o[t]; mt(e) } } function bt(e, t) { var n = e.ng339, r = n && He[n]; r && (t ? delete r.data[t] : r.data = {}, mt(e)) } function yt(e, t) { var n = e.ng339, r = n && He[n]; return t && !r && (e.ng339 = n = ++Ge, r = He[n] = { events: {}, data: {}, handle: void 0 }), r } function xt(e, t, n) { if (ct(e)) { var r, i = z(n), o = !i && t && !L(t), a = !t, s = yt(e, !o), l = s && s.data; if (i) l[Je(t)] = n; else { if (a) return l; if (o) return l && l[Je(t)]; for (r in t) l[Je(r)] = t[r] } } } function wt(e, t) { return !!e.getAttribute && (" " + (e.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " ").indexOf(" " + t + " ") > -1 } function kt(e, t) { if (t && e.setAttribute) { var n = (" " + (e.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " "), r = n; k(t.split(" "), (function (e) { e = K(e), r = r.replace(" " + e + " ", " ") })), r !== n && e.setAttribute("class", K(r)) } } function At(e, t) { if (t && e.setAttribute) { var n = (" " + (e.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " "), r = n; k(t.split(" "), (function (e) { e = K(e), -1 === r.indexOf(" " + e + " ") && (r += e + " ") })), r !== n && e.setAttribute("class", K(r)) } } function Et(e, t) { if (t) if (t.nodeType) e[e.length++] = t; else { var n = t.length; if ("number" == typeof n && t.window !== t) { if (n) for (var r = 0; r < n; r++)e[e.length++] = t[r] } else e[e.length++] = t } } function St(e, t) { return $t(e, "$" + (t || "ngController") + "Controller") } function $t(e, t, n) { 9 === e.nodeType && (e = e.documentElement); for (var r = U(t) ? t : [t]; e;) { for (var i = 0, o = r.length; i < o; i++)if (z(n = a.data(e, r[i]))) return n; e = e.parentNode || 11 === e.nodeType && e.host } } function Ct(e) { for (ht(e, !0); e.firstChild;)e.removeChild(e.firstChild) } function _t(e, t) { t || ht(e); var n = e.parentNode; n && n.removeChild(e) } function Ot(t) { function n() { e.document.removeEventListener("DOMContentLoaded", n), e.removeEventListener("load", n), t() } "complete" === e.document.readyState ? e.setTimeout(t) : (e.document.addEventListener("DOMContentLoaded", n), e.addEventListener("load", n)) } var Tt = pt.prototype = { ready: Ot, toString: function () { var e = []; return k(this, (function (t) { e.push("" + t) })), "[" + e.join(", ") + "]" }, eq: function (e) { return a(e >= 0 ? this[e] : this[this.length + e]) }, length: 0, push: g, sort: [].sort, splice: [].splice }, jt = {}; k("multiple,selected,checked,disabled,readOnly,required,open".split(","), (function (e) { jt[d(e)] = e })); var Pt = {}; k("input,select,option,textarea,button,form,details".split(","), (function (e) { Pt[e] = !0 })); var Dt = { ngMinlength: "minlength", ngMaxlength: "maxlength", ngMin: "min", ngMax: "max", ngPattern: "pattern", ngStep: "step" }; function Rt(e, t) { var n = jt[t.toLowerCase()]; return n && Pt[ne(e)] && n } function It(e, t, n) { n.call(e, t) } function Nt(e, t, n) { var r = t.relatedTarget; r && (r === e || dt.call(e, r)) || n.call(e, t) } function Mt() { this.$get = function () { return _(pt, { hasClass: function (e, t) { return e.attr && (e = e[0]), wt(e, t) }, addClass: function (e, t) { return e.attr && (e = e[0]), At(e, t) }, removeClass: function (e, t) { return e.attr && (e = e[0]), kt(e, t) } }) } } function zt(e, t) { var n = e && e.$$hashKey; if (n) return "function" == typeof n && (n = e.$$hashKey()), n; var r = typeof e; return n = "function" === r || "object" === r && null !== e ? e.$$hashKey = r + ":" + (t || S)() : r + ":" + e } k({ data: xt, removeData: bt, hasData: function (e) { for (var t in He[e.ng339]) return !0; return !1 }, cleanData: function (e) { for (var t = 0, n = e.length; t < n; t++)bt(e[t]), vt(e[t]) } }, (function (e, t) { pt[t] = e })), k({ data: xt, inheritedData: $t, scope: function (e) { return a.data(e, "$scope") || $t(e.parentNode || e, ["$isolateScope", "$scope"]) }, isolateScope: function (e) { return a.data(e, "$isolateScope") || a.data(e, "$isolateScopeNoTemplate") }, controller: St, injector: function (e) { return $t(e, "$injector") }, removeAttr: function (e, t) { e.removeAttribute(t) }, hasClass: wt, css: function (e, t, n) { if (t = function (e) { return Je(e.replace(Ye, "ms-")) }(t), !z(n)) return e.style[t]; e.style[t] = n }, attr: function (e, t, n) { var r, i = e.nodeType; if (i !== Fe && 2 !== i && 8 !== i && e.getAttribute) { var o = d(t), a = jt[o]; if (!z(n)) return r = e.getAttribute(t), a && null !== r && (r = o), null === r ? void 0 : r; null === n || !1 === n && a ? e.removeAttribute(t) : e.setAttribute(t, a ? o : n) } }, prop: function (e, t, n) { if (!z(n)) return e[t]; e[t] = n }, text: function () { return e.$dv = "", e; function e(e, t) { if (M(t)) { var n = e.nodeType; return 1 === n || n === Fe ? e.textContent : "" } e.textContent = t } }(), val: function (e, t) { if (M(t)) { if (e.multiple && "select" === ne(e)) { var n = []; return k(e.options, (function (e) { e.selected && n.push(e.value || e.text) })), n } return e.value } e.value = t }, html: function (e, t) { if (M(t)) return e.innerHTML; ht(e, !0), e.innerHTML = t }, empty: Ct }, (function (e, t) { pt.prototype[t] = function (t, n) { var r, i, o = this.length; if (e !== Ct && M(2 === e.length && e !== wt && e !== St ? t : n)) { if (L(t)) { for (r = 0; r < o; r++)if (e === xt) e(this[r], t); else for (i in t) e(this[r], i, t[i]); return this } for (var a = e.$dv, s = M(a) ? Math.min(o, 1) : o, l = 0; l < s; l++) { var c = e(this[l], t, n); a = a ? a + c : c } return a } for (r = 0; r < o; r++)e(this[r], t, n); return this } })), k({ removeData: bt, on: function (e, t, n, r) { if (z(r)) throw Ze("onargs", "jqLite#on() does not support the `selector` or `eventData` parameters"); if (ct(e)) { var i = yt(e, !0), o = i.events, a = i.handle; a || (a = i.handle = function (e, t) { var n = function (n, r) { n.isDefaultPrevented = function () { return n.defaultPrevented }; var i = t[r || n.type], o = i ? i.length : 0; if (o) { if (M(n.immediatePropagationStopped)) { var a = n.stopImmediatePropagation; n.stopImmediatePropagation = function () { n.immediatePropagationStopped = !0, n.stopPropagation && n.stopPropagation(), a && a.call(n) } } n.isImmediatePropagationStopped = function () { return !0 === n.immediatePropagationStopped }; var s = i.specialHandlerWrapper || It; o > 1 && (i = qe(i)); for (var l = 0; l < o; l++)n.isImmediatePropagationStopped() || s(e, n, i[l]) } }; return n.elem = e, n }(e, o)); for (var s = t.indexOf(" ") >= 0 ? t.split(" ") : [t], l = s.length, c = function (t, r, i) { var s = o[t]; s || ((s = o[t] = []).specialHandlerWrapper = r, "$destroy" === t || i || e.addEventListener(t, a)), s.push(n) }; l--;)t = s[l], Xe[t] ? (c(Xe[t], Nt), c(t, void 0, !0)) : c(t) } }, off: vt, one: function (e, t, n) { (e = a(e)).on(t, (function r() { e.off(t, n), e.off(t, r) })), e.on(t, n) }, replaceWith: function (e, t) { var n, r = e.parentNode; ht(e), k(new pt(t), (function (t) { n ? r.insertBefore(t, n.nextSibling) : r.replaceChild(t, e), n = t })) }, children: function (e) { var t = []; return k(e.childNodes, (function (e) { 1 === e.nodeType && t.push(e) })), t }, contents: function (e) { return e.contentDocument || e.childNodes || [] }, append: function (e, t) { var n = e.nodeType; if (1 === n || 11 === n) for (var r = 0, i = (t = new pt(t)).length; r < i; r++) { var o = t[r]; e.appendChild(o) } }, prepend: function (e, t) { if (1 === e.nodeType) { var n = e.firstChild; k(new pt(t), (function (t) { e.insertBefore(t, n) })) } }, wrap: function (e, t) { var n, r, i; n = e, r = a(t).eq(0).clone()[0], (i = n.parentNode) && i.replaceChild(r, n), r.appendChild(n) }, remove: _t, detach: function (e) { _t(e, !0) }, after: function (e, t) { var n = e, r = e.parentNode; if (r) for (var i = 0, o = (t = new pt(t)).length; i < o; i++) { var a = t[i]; r.insertBefore(a, n.nextSibling), n = a } }, addClass: At, removeClass: kt, toggleClass: function (e, t, n) { t && k(t.split(" "), (function (t) { var r = n; M(r) && (r = !wt(e, t)), (r ? At : kt)(e, t) })) }, parent: function (e) { var t = e.parentNode; return t && 11 !== t.nodeType ? t : null }, next: function (e) { return e.nextElementSibling }, find: function (e, t) { return e.getElementsByTagName ? e.getElementsByTagName(t) : [] }, clone: ft, triggerHandler: function (e, t, n) { var r, i, o, a = t.type || t, s = yt(e), l = s && s.events, c = l && l[a]; c && (r = { preventDefault: function () { this.defaultPrevented = !0 }, isDefaultPrevented: function () { return !0 === this.defaultPrevented }, stopImmediatePropagation: function () { this.immediatePropagationStopped = !0 }, isImmediatePropagationStopped: function () { return !0 === this.immediatePropagationStopped }, stopPropagation: D, type: a, target: e }, t.type && (r = _(r, t)), i = qe(c), o = n ? [r].concat(n) : [r], k(i, (function (t) { r.isImmediatePropagationStopped() || t.apply(e, o) }))) } }, (function (e, t) { pt.prototype[t] = function (t, n, r) { for (var i, o = 0, s = this.length; o < s; o++)M(i) ? z(i = e(this[o], t, n, r)) && (i = a(i)) : Et(i, e(this[o], t, n, r)); return z(i) ? i : this } })), pt.prototype.bind = pt.prototype.on, pt.prototype.unbind = pt.prototype.off; var Lt = Object.create(null); function Bt() { this._keys = [], this._values = [], this._lastKey = NaN, this._lastIndex = -1 } Bt.prototype = { _idx: function (e) { return e !== this._lastKey && (this._lastKey = e, this._lastIndex = this._keys.indexOf(e)), this._lastIndex }, _transformKey: function (e) { return j(e) ? Lt : e }, get: function (e) { e = this._transformKey(e); var t = this._idx(e); if (-1 !== t) return this._values[t] }, has: function (e) { return e = this._transformKey(e), -1 !== this._idx(e) }, set: function (e, t) { e = this._transformKey(e); var n = this._idx(e); -1 === n && (n = this._lastIndex = this._keys.length), this._keys[n] = e, this._values[n] = t }, delete: function (e) { e = this._transformKey(e); var t = this._idx(e); return -1 !== t && (this._keys.splice(t, 1), this._values.splice(t, 1), this._lastKey = NaN, this._lastIndex = -1, !0) } }; var Ft = Bt, qt = [function () { this.$get = [function () { return Ft }] }], Vt = /^([^(]+?)=>/, Ut = /^[^(]*\(\s*([^)]*)\)/m, Ht = /,/, Gt = /^\s*(_?)(\S+?)\1\s*$/, Wt = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm, Yt = i("$injector"); function Xt(e) { return Function.prototype.toString.call(e) } function Zt(e) { var t = Xt(e).replace(Wt, ""); return t.match(Vt) || t.match(Ut) } function Qt(e, t) { t = !0 === t; var n = {}, r = [], i = new Ft, a = { $provide: { provider: f(h), factory: f(m), service: f((function (e, t) { return m(e, ["$injector", function (e) { return e.instantiate(t) }]) })), value: f((function (e, t) { return m(e, I(t), !1) })), constant: f((function (e, t) { Me(e, "constant"), a[e] = t, c[e] = t })), decorator: function (e, t) { var n = s.get(e + "Provider"), r = n.$get; n.$get = function () { var e = d.invoke(r, n); return d.invoke(t, null, { $delegate: e }) } } } }, s = a.$injector = b(a, (function (e, t) { throw y.isString(t) && r.push(t), Yt("unpr", "Unknown provider: {0}", r.join(" <- ")) })), c = {}, u = b(c, (function (e, t) { var n = s.get(e + "Provider", t); return d.invoke(n.$get, n, void 0, e) })), d = u; a.$injectorProvider = { $get: I(u) }, d.modules = s.modules = Le(); var p = v(e); return (d = u.get("$injector")).strictDi = t, k(p, (function (e) { e && d.invoke(e) })), d.loadNewModules = function (e) { k(v(e), (function (e) { e && d.invoke(e) })) }, d; function f(e) { return function (t, n) { if (!L(t)) return e(t, n); k(t, E(e)) } } function h(e, t) { if (Me(e, "service"), (G(t) || U(t)) && (t = s.instantiate(t)), !t.$get) throw Yt("pget", "Provider '{0}' must define $get factory method.", e); return a[e + "Provider"] = t } function g(e, t) { return function () { var n = d.invoke(t, this); if (M(n)) throw Yt("undef", "Provider '{0}' must return a value from $get factory method.", e); return n } } function m(e, t, n) { return h(e, { $get: !1 !== n ? g(e, t) : t }) } function v(e) { Ie(M(e) || U(e), "modulesToLoad", "not an array"); var t, n = []; return k(e, (function (e) { if (!i.get(e)) { i.set(e, !0); try { F(e) ? (t = l(e), d.modules[e] = t, n = n.concat(v(t.requires)).concat(t._runBlocks), r(t._invokeQueue), r(t._configBlocks)) : G(e) || U(e) ? n.push(s.invoke(e)) : Ne(e, "module") } catch (t) { throw U(e) && (e = e[e.length - 1]), t.message && t.stack && -1 === t.stack.indexOf(t.message) && (t = t.message + "\n" + t.stack), Yt("modulerr", "Failed to instantiate module {0} due to:\n{1}", e, t.stack || t.message || t) } } function r(e) { var t, n; for (t = 0, n = e.length; t < n; t++) { var r = e[t], i = s.get(r[0]); i[r[1]].apply(i, r[2]) } } })), n } function b(e, i) { function s(t, o) { if (e.hasOwnProperty(t)) { if (e[t] === n) throw Yt("cdep", "Circular dependency found: {0}", t + " <- " + r.join(" <- ")); return e[t] } try { return r.unshift(t), e[t] = n, e[t] = i(t, o), e[t] } catch (r) { throw e[t] === n && delete e[t], r } finally { r.shift() } } function l(e, n, r) { for (var i = [], o = Qt.$$annotate(e, t, r), a = 0, l = o.length; a < l; a++) { var c = o[a]; if ("string" != typeof c) throw Yt("itkn", "Incorrect injection token! Expected service name as string, got {0}", c); i.push(n && n.hasOwnProperty(c) ? n[c] : s(c, r)) } return i } return { invoke: function (e, t, n, r) { "string" == typeof n && (r = n, n = null); var i = l(e, n, r); return U(e) && (e = e[e.length - 1]), function (e) { if (o || "function" != typeof e) return !1; var t = e.$$ngIsClass; return Z(t) || (t = e.$$ngIsClass = /^class\b/.test(Xt(e))), t }(e) ? (i.unshift(null), new (Function.prototype.bind.apply(e, i))) : e.apply(t, i) }, instantiate: function (e, t, n) { var r = U(e) ? e[e.length - 1] : e, i = l(e, t, n); return i.unshift(null), new (Function.prototype.bind.apply(r, i)) }, get: s, annotate: Qt.$$annotate, has: function (t) { return a.hasOwnProperty(t + "Provider") || e.hasOwnProperty(t) } } } } function Jt() { var t = !0; this.disableAutoScrolling = function () { t = !1 }, this.$get = ["$window", "$location", "$rootScope", function (n, r, i) { var o = n.document; function s(e) { if (e) { e.scrollIntoView(); var t = function () { var e = l.yOffset; if (G(e)) e = e(); else if (te(e)) { var t = e[0]; e = "fixed" !== n.getComputedStyle(t).position ? 0 : t.getBoundingClientRect().bottom } else q(e) || (e = 0); return e }(); if (t) { var r = e.getBoundingClientRect().top; n.scrollBy(0, r - t) } } else n.scrollTo(0, 0) } function l(e) { var t, n, i; (e = F(e) ? e : q(e) ? e.toString() : r.hash()) ? (t = o.getElementById(e)) ? s(t) : (n = o.getElementsByName(e), i = null, Array.prototype.some.call(n, (function (e) { if ("a" === ne(e)) return i = e, !0 })), (t = i) ? s(t) : "top" === e && s(null)) : s(null) } return t && i.$watch((function () { return r.hash() }), (function (t, n) { var r, o; t === n && "" === t || (r = function () { i.$evalAsync(l) }, "complete" === (o = o || e).document.readyState ? o.setTimeout(r) : a(o).on("load", r)) })), l }] } Qt.$$annotate = function (e, t, n) { var r, i; if ("function" == typeof e) { if (!(r = e.$inject)) { if (r = [], e.length) { if (t) throw F(n) && n || (n = e.name || function (e) { var t = Zt(e); return t ? "function(" + (t[1] || "").replace(/[\s\r\n]+/, " ") + ")" : "fn" }(e)), Yt("strictdi", "{0} is not using explicit annotation and cannot be invoked in strict mode", n); k(Zt(e)[1].split(Ht), (function (e) { e.replace(Gt, (function (e, t, n) { r.push(n) })) })) } e.$inject = r } } else U(e) ? (Ne(e[i = e.length - 1], "fn"), r = e.slice(0, i)) : Ne(e, "fn", !0); return r }; var Kt = i("$animate"); function en(e, t) { return e || t ? e ? t ? (U(e) && (e = e.join(" ")), U(t) && (t = t.join(" ")), e + " " + t) : e : t : "" } function tn(e) { return L(e) ? e : {} } var nn = function () { this.$get = D }, rn = function () { var e = new Ft, t = []; this.$get = ["$$AnimateRunner", "$rootScope", function (n, r) { return { enabled: D, on: D, off: D, pin: D, push: function (a, s, l, c) { c && c(), (l = l || {}).from && a.css(l.from), l.to && a.css(l.to), (l.addClass || l.removeClass) && function (n, a, s) { var l = e.get(n) || {}, c = i(l, a, !0), u = i(l, s, !1); (c || u) && (e.set(n, l), t.push(n), 1 === t.length && r.$$postDigest(o)) }(a, l.addClass, l.removeClass); var u = new n; return u.complete(), u } }; function i(e, t, n) { var r = !1; return t && k(t = F(t) ? t.split(" ") : U(t) ? t : [], (function (t) { t && (r = !0, e[t] = n) })), r } function o() { k(t, (function (t) { var n = e.get(t); if (n) { var r = function (e) { F(e) && (e = e.split(" ")); var t = Le(); return k(e, (function (e) { e.length && (t[e] = !0) })), t }(t.attr("class")), i = "", o = ""; k(n, (function (e, t) { e !== !!r[t] && (e ? i += (i.length ? " " : "") + t : o += (o.length ? " " : "") + t) })), k(t, (function (e) { i && At(e, i), o && kt(e, o) })), e.delete(t) } })), t.length = 0 } }] }, on = ["$provide", function (e) { var t = this, n = null, r = null; this.$$registeredAnimations = Object.create(null), this.register = function (n, r) { if (n && "." !== n.charAt(0)) throw Kt("notcsel", "Expecting class selector starting with '.' got '{0}'.", n); var i = n + "-animation"; t.$$registeredAnimations[n.substr(1)] = i, e.factory(i, r) }, this.customFilter = function (e) { return 1 === arguments.length && (r = G(e) ? e : null), r }, this.classNameFilter = function (e) { if (1 === arguments.length && (n = e instanceof RegExp ? e : null)) { var t = new RegExp("[(\\s|\\/)]ng-animate[(\\s|\\/)]"); if (t.test(n.toString())) throw n = null, Kt("nongcls", '$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.', "ng-animate") } return n }, this.$get = ["$$animateQueue", function (e) { function t(e, t, n) { if (n) { var r = function (e) { for (var t = 0; t < e.length; t++) { var n = e[t]; if (1 === n.nodeType) return n } }(n); !r || r.parentNode || r.previousElementSibling || (n = null) } n ? n.after(e) : t.prepend(e) } return { on: e.on, off: e.off, pin: e.pin, enabled: e.enabled, cancel: function (e) { e.cancel && e.cancel() }, enter: function (n, r, i, o) { return r = r && a(r), i = i && a(i), t(n, r = r || i.parent(), i), e.push(n, "enter", tn(o)) }, move: function (n, r, i, o) { return r = r && a(r), i = i && a(i), t(n, r = r || i.parent(), i), e.push(n, "move", tn(o)) }, leave: function (t, n) { return e.push(t, "leave", tn(n), (function () { t.remove() })) }, addClass: function (t, n, r) { return (r = tn(r)).addClass = en(r.addclass, n), e.push(t, "addClass", r) }, removeClass: function (t, n, r) { return (r = tn(r)).removeClass = en(r.removeClass, n), e.push(t, "removeClass", r) }, setClass: function (t, n, r, i) { return (i = tn(i)).addClass = en(i.addClass, n), i.removeClass = en(i.removeClass, r), e.push(t, "setClass", i) }, animate: function (t, n, r, i, o) { return (o = tn(o)).from = o.from ? _(o.from, n) : n, o.to = o.to ? _(o.to, r) : r, i = i || "ng-inline-animate", o.tempClasses = en(o.tempClasses, i), e.push(t, "animate", o) } } }] }], an = function () { this.$get = ["$$rAF", function (e) { var t = []; function n(n) { t.push(n), t.length > 1 || e((function () { for (var e = 0; e < t.length; e++)t[e](); t = [] })) } return function () { var e = !1; return n((function () { e = !0 })), function (t) { e ? t() : n(t) } } }] }, sn = function () { this.$get = ["$q", "$sniffer", "$$animateAsyncRun", "$$isDocumentHidden", "$timeout", function (e, t, n, r, i) { function o(e) { this.setHost(e); var t = n(); this._doneCallbacks = [], this._tick = function (e) { r() ? function (e) { i(e, 0, !1) }(e) : t(e) }, this._state = 0 } return o.chain = function (e, t) { var n = 0; !function r() { if (n === e.length) return void t(!0); e[n]((function (e) { !1 !== e ? (n++, r()) : t(!1) })) }() }, o.all = function (e, t) { var n = 0, r = !0; function i(i) { r = r && i, ++n === e.length && t(r) } k(e, (function (e) { e.done(i) })) }, o.prototype = { setHost: function (e) { this.host = e || {} }, done: function (e) { 2 === this._state ? e() : this._doneCallbacks.push(e) }, progress: D, getPromise: function () { if (!this.promise) { var t = this; this.promise = e((function (e, n) { t.done((function (t) { !1 === t ? n() : e() })) })) } return this.promise }, then: function (e, t) { return this.getPromise().then(e, t) }, catch: function (e) { return this.getPromise().catch(e) }, finally: function (e) { return this.getPromise().finally(e) }, pause: function () { this.host.pause && this.host.pause() }, resume: function () { this.host.resume && this.host.resume() }, end: function () { this.host.end && this.host.end(), this._resolve(!0) }, cancel: function () { this.host.cancel && this.host.cancel(), this._resolve(!1) }, complete: function (e) { var t = this; 0 === t._state && (t._state = 1, t._tick((function () { t._resolve(e) }))) }, _resolve: function (e) { 2 !== this._state && (k(this._doneCallbacks, (function (t) { t(e) })), this._doneCallbacks.length = 0, this._state = 2) } }, o }] }, ln = function () { this.$get = ["$$rAF", "$q", "$$AnimateRunner", function (e, t, n) { return function (t, r) { var i = r || {}; i.$$prepared || (i = oe(i)), i.cleanupStyles && (i.from = i.to = null), i.from && (t.css(i.from), i.from = null); var o, a = new n; return { start: s, end: s }; function s() { return e((function () { !function () { i.addClass && (t.addClass(i.addClass), i.addClass = null); i.removeClass && (t.removeClass(i.removeClass), i.removeClass = null); i.to && (t.css(i.to), i.to = null) }(), o || a.complete(), o = !0 })), a } } }] }; function cn(e, t, n, r, i) { var o = this, s = e.location, l = e.history, c = e.setTimeout, u = e.clearTimeout, d = {}, p = i(n); o.isMock = !1, o.$$completeOutstandingRequest = p.completeTask, o.$$incOutstandingRequestCount = p.incTaskCount, o.notifyWhenNoOutstandingRequests = p.notifyWhenNoPendingTasks; var f, h, g = s.href, m = t.find("base"), v = null, b = r.history ? function () { try { return l.state } catch (e) { } } : D; E(), o.url = function (t, n, i) { if (M(i) && (i = null), s !== e.location && (s = e.location), l !== e.history && (l = e.history), t) { var a = h === i; if (t = li(t).href, g === t && (!r.history || a)) return o; var c = g && sr(g) === sr(t); return g = t, h = i, !r.history || c && a ? (c || (v = t), n ? s.replace(t) : c ? s.hash = function (e) { var t = e.indexOf("#"); return -1 === t ? "" : e.substr(t) }(t) : s.href = t, s.href !== t && (v = t)) : (l[n ? "replaceState" : "pushState"](i, "", t), E()), v && (v = t), o } return function (e) { return e.replace(/#$/, "") }(v || s.href) }, o.state = function () { return f }; var y = [], x = !1; function w() { v = null, S() } var A = null; function E() { se(f = M(f = b()) ? null : f, A) && (f = A), A = f, h = f } function S() { var e = h; E(), g === o.url() && e === f || (g = o.url(), h = f, k(y, (function (e) { e(o.url(), f) }))) } o.onUrlChange = function (t) { return x || (r.history && a(e).on("popstate", w), a(e).on("hashchange", w), x = !0), y.push(t), t }, o.$$applicationDestroyed = function () { a(e).off("hashchange popstate", w) }, o.$$checkUrlChange = S, o.baseHref = function () { var e = m.attr("href"); return e ? e.replace(/^(https?:)?\/\/[^/]*/, "") : "" }, o.defer = function (e, t, n) { var r; return t = t || 0, n = n || p.DEFAULT_TASK_TYPE, p.incTaskCount(n), r = c((function () { delete d[r], p.completeTask(e, n) }), t), d[r] = n, r }, o.defer.cancel = function (e) { if (d.hasOwnProperty(e)) { var t = d[e]; return delete d[e], u(e), p.completeTask(D, t), !0 } return !1 } } function un() { this.$get = ["$window", "$log", "$sniffer", "$document", "$$taskTrackerFactory", function (e, t, n, r, i) { return new cn(e, r, t, n, i) }] } function dn() { this.$get = function () { var e = {}; function t(t, n) { if (t in e) throw i("$cacheFactory")("iid", "CacheId '{0}' is already taken!", t); var r = 0, o = _({}, n, { id: t }), a = Le(), s = n && n.capacity || Number.MAX_VALUE, l = Le(), c = null, u = null; return e[t] = { put: function (e, t) { if (!M(t)) { if (s < Number.MAX_VALUE) d(l[e] || (l[e] = { key: e })); return e in a || r++, a[e] = t, r > s && this.remove(u.key), t } }, get: function (e) { if (s < Number.MAX_VALUE) { var t = l[e]; if (!t) return; d(t) } return a[e] }, remove: function (e) { if (s < Number.MAX_VALUE) { var t = l[e]; if (!t) return; t === c && (c = t.p), t === u && (u = t.n), p(t.n, t.p), delete l[e] } e in a && (delete a[e], r--) }, removeAll: function () { a = Le(), r = 0, l = Le(), c = u = null }, destroy: function () { a = null, o = null, l = null, delete e[t] }, info: function () { return _({}, o, { size: r }) } }; function d(e) { e !== c && (u ? u === e && (u = e.n) : u = e, p(e.n, e.p), p(e, c), (c = e).n = null) } function p(e, t) { e !== t && (e && (e.p = t), t && (t.n = e)) } } return t.info = function () { var t = {}; return k(e, (function (e, n) { t[n] = e.info() })), t }, t.get = function (t) { return e[t] }, t } } function pn() { this.$get = ["$cacheFactory", function (e) { return e("templates") }] } var fn = i("$compile"); var hn = new function () { }; function gn(t, n) { var r = {}, i = /^\s*directive:\s*([\w-]+)\s+(.*)$/, s = /(([\w-]+)(?::([^;]+))?;?)/, l = function (e) { var t, n = {}, r = e.split(","); for (t = 0; t < r.length; t++)n[r[t]] = !0; return n }("ngSrc,ngSrcset,src,srcset"), c = /^(?:(\^\^?)?(\?)?(\^\^?)?)?/, p = /^(on[a-z]+|formaction)$/, f = Le(); function h(e, t, n) { var r = /^([@&]|[=<](\*?))(\??)\s*([\w$]*)$/, i = Le(); return k(e, (function (e, o) { if ((e = e.trim()) in f) i[o] = f[e]; else { var a = e.match(r); if (!a) throw fn("iscp", "Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}", t, o, e, n ? "controller bindings definition" : "isolate scope definition"); i[o] = { mode: a[1][0], collection: "*" === a[2], optional: "?" === a[3], attrName: a[4] || o }, a[4] && (f[e] = i[o]) } })), i } function g(e, t) { var n = { isolateScope: null, bindToController: null }; if (L(e.scope) && (!0 === e.bindToController ? (n.bindToController = h(e.scope, t, !0), n.isolateScope = {}) : n.isolateScope = h(e.scope, t, !1)), L(e.bindToController) && (n.bindToController = h(e.bindToController, t, !0)), n.bindToController && !e.controller) throw fn("noctrl", "Cannot bind to controller without directive '{0}'s controller.", t); return n } this.directive = function e(n, i) { return Ie(n, "name"), Me(n, "directive"), F(n) ? (!function (e) { var t = e.charAt(0); if (!t || t !== d(t)) throw fn("baddir", "Directive/Component name '{0}' is invalid. The first character must be a lowercase letter", e); if (e !== e.trim()) throw fn("baddir", "Directive/Component name '{0}' is invalid. The name should not contain leading or trailing whitespaces", e) }(n), Ie(i, "directiveFactory"), r.hasOwnProperty(n) || (r[n] = [], t.factory(n + "Directive", ["$injector", "$exceptionHandler", function (e, t) { var i = []; return k(r[n], (function (r, o) { try { var a = e.invoke(r); G(a) ? a = { compile: I(a) } : !a.compile && a.link && (a.compile = I(a.link)), a.priority = a.priority || 0, a.index = o, a.name = a.name || n, a.require = function (e) { var t = e.require || e.controller && e.name; return !U(t) && L(t) && k(t, (function (e, n) { var r = e.match(c); e.substring(r[0].length) || (t[n] = r[0] + n) })), t }(a), a.restrict = function (e, t) { if (e && (!F(e) || !/[EACM]/.test(e))) throw fn("badrestrict", "Restrict property '{0}' of directive '{1}' is invalid", e, t); return e || "EA" }(a.restrict, n), a.$$moduleName = r.$$moduleName, i.push(a) } catch (e) { t(e) } })), i }])), r[n].push(i)) : k(n, E(e)), this }, this.component = function e(t, n) { if (!F(t)) return k(t, E(pe(this, e))), this; var r = n.controller || function () { }; function i(e) { function t(t) { return G(t) || U(t) ? function (n, r) { return e.invoke(t, this, { $element: n, $attrs: r }) } : t } var i = n.template || n.templateUrl ? n.template : "", o = { controller: r, controllerAs: En(n.controller) || n.controllerAs || "$ctrl", template: t(i), templateUrl: t(n.templateUrl), transclude: n.transclude, scope: {}, bindToController: n.bindings || {}, restrict: "E", require: n.require }; return k(n, (function (e, t) { "$" === t.charAt(0) && (o[t] = e) })), o } return k(n, (function (e, t) { "$" === t.charAt(0) && (i[t] = e, G(r) && (r[t] = e)) })), i.$inject = ["$injector"], this.directive(t, i) }, this.aHrefSanitizationTrustedUrlList = function (e) { return z(e) ? (n.aHrefSanitizationTrustedUrlList(e), this) : n.aHrefSanitizationTrustedUrlList() }, Object.defineProperty(this, "aHrefSanitizationWhitelist", { get: function () { return this.aHrefSanitizationTrustedUrlList }, set: function (e) { this.aHrefSanitizationTrustedUrlList = e } }), this.imgSrcSanitizationTrustedUrlList = function (e) { return z(e) ? (n.imgSrcSanitizationTrustedUrlList(e), this) : n.imgSrcSanitizationTrustedUrlList() }, Object.defineProperty(this, "imgSrcSanitizationWhitelist", { get: function () { return this.imgSrcSanitizationTrustedUrlList }, set: function (e) { this.imgSrcSanitizationTrustedUrlList = e } }); var v = !0; this.debugInfoEnabled = function (e) { return z(e) ? (v = e, this) : v }; var b = !1; this.strictComponentBindingsEnabled = function (e) { return z(e) ? (b = e, this) : b }; var y = 10; this.onChangesTtl = function (e) { return arguments.length ? (y = e, this) : y }; var x = !0; this.commentDirectivesEnabled = function (e) { return arguments.length ? (x = e, this) : x }; var w = !0; this.cssClassDirectivesEnabled = function (e) { return arguments.length ? (w = e, this) : w }; var A = Le(); this.addPropertySecurityContext = function (e, t, n) { var r = e.toLowerCase() + "|" + t.toLowerCase(); if (r in A && A[r] !== n) throw fn("ctxoverride", "Property context '{0}.{1}' already set to '{2}', cannot override to '{3}'.", e, t, A[r], n); return A[r] = n, this }, function () { function e(e, t) { k(t, (function (t) { A[t.toLowerCase()] = e })) } e(Ur.HTML, ["iframe|srcdoc", "*|innerHTML", "*|outerHTML"]), e(Ur.CSS, ["*|style"]), e(Ur.URL, ["area|href", "area|ping", "a|href", "a|ping", "blockquote|cite", "body|background", "del|cite", "input|src", "ins|cite", "q|cite"]), e(Ur.MEDIA_URL, ["audio|src", "img|src", "img|srcset", "source|src", "source|srcset", "track|src", "video|src", "video|poster"]), e(Ur.RESOURCE_URL, ["*|formAction", "applet|code", "applet|codebase", "base|href", "embed|src", "frame|src", "form|action", "head|profile", "html|manifest", "iframe|src", "link|href", "media|src", "object|codebase", "object|data", "script|src"]) }(), this.$get = ["$injector", "$interpolate", "$exceptionHandler", "$templateRequest", "$parse", "$controller", "$rootScope", "$sce", "$animate", function (t, n, f, h, E, S, $, C, O) { var T, j = /^\w/, I = e.document.createElement("div"), N = x, z = w, B = y; function q() { try { if (!--B) throw T = void 0, fn("infchng", "{0} $onChanges() iterations reached. Aborting!\n", y); $.$apply((function () { for (var e = 0, t = T.length; e < t; ++e)try { T[e]() } catch (e) { f(e) } T = void 0 })) } finally { B++ } } function V(e, t) { if (!e) return e; if (!F(e)) throw fn("srcset", 'Can\'t pass trusted values to `{0}`: "{1}"', t, e.toString()); for (var n = "", r = K(e), i = /\s/.test(r) ? /(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/ : /(,)/, o = r.split(i), a = Math.floor(o.length / 2), s = 0; s < a; s++) { var l = 2 * s; n += C.getTrustedMediaUrl(K(o[l])), n += " " + K(o[l + 1]) } var c = K(o[2 * s]).split(/\s/); return n += C.getTrustedMediaUrl(K(c[0])), 2 === c.length && (n += " " + K(c[1])), n } function W(e, t) { if (t) { var n, r, i, o = Object.keys(t); for (n = 0, r = o.length; n < r; n++)this[i = o[n]] = t[i] } else this.$attr = {}; this.$$element = e } function Y(e, t) { try { e.addClass(t) } catch (e) { } } W.prototype = { $normalize: yn, $addClass: function (e) { e && e.length > 0 && O.addClass(this.$$element, e) }, $removeClass: function (e) { e && e.length > 0 && O.removeClass(this.$$element, e) }, $updateClass: function (e, t) { var n = xn(e, t); n && n.length && O.addClass(this.$$element, n); var r = xn(t, e); r && r.length && O.removeClass(this.$$element, r) }, $set: function (e, t, n, r) { var i = Rt(this.$$element[0], e), o = Dt[e], a = e; i ? (this.$$element.prop(e, t), r = i) : o && (this[o] = t, a = o), this[e] = t, r ? this.$attr[e] = r : (r = this.$attr[e]) || (this.$attr[e] = r = Pe(e, "-")), "img" === ne(this.$$element) && "srcset" === e && (this[e] = t = V(t, "$set('srcset', value)")), !1 !== n && (null === t || M(t) ? this.$$element.removeAttr(r) : j.test(r) ? i && !1 === t ? this.$$element.removeAttr(r) : this.$$element.attr(r, t) : function (e, t, n) { I.innerHTML = "<span " + t + ">"; var r = I.firstChild.attributes, i = r[0]; r.removeNamedItem(i.name), i.value = n, e.attributes.setNamedItem(i) }(this.$$element[0], r, t)); var s = this.$$observers; s && k(s[a], (function (e) { try { e(t) } catch (e) { f(e) } })) }, $observe: function (e, t) { var n = this, r = n.$$observers || (n.$$observers = Le()), i = r[e] || (r[e] = []); return i.push(t), $.$evalAsync((function () { i.$$inter || !n.hasOwnProperty(e) || M(n[e]) || t(n[e]) })), function () { ie(i, t) } } }; var Q = n.startSymbol(), J = n.endSymbol(), ee = "{{" === Q && "}}" === J ? R : function (e) { return e.replace(/\{\{/g, Q).replace(/}}/g, J) }, te = /^ng(Attr|Prop|On)([A-Z].*)$/, re = /^(.+)Start$/; return oe.$$addBindingInfo = v ? function (e, t) { var n = e.data("$binding") || []; U(t) ? n = n.concat(t) : n.push(t), e.data("$binding", n) } : D, oe.$$addBindingClass = v ? function (e) { Y(e, "ng-binding") } : D, oe.$$addScopeInfo = v ? function (e, t, n, r) { var i = n ? r ? "$isolateScopeNoTemplate" : "$isolateScope" : "$scope"; e.data(i, t) } : D, oe.$$addScopeClass = v ? function (e, t) { Y(e, t ? "ng-isolate-scope" : "ng-scope") } : D, oe.$$createComment = function (t, n) { var r = ""; return v && (r = " " + (t || "") + ": ", n && (r += n + " ")), e.document.createComment(r) }, oe; function oe(e, t, n, r, i) { e instanceof a || (e = a(e)); var o = le(e, t, e, n, r, i); oe.$$addScopeClass(e); var s = null; return function (t, n, r) { if (!e) throw fn("multilink", "This element has already been linked."); Ie(t, "scope"), i && i.needsNewScope && (t = t.$parent.$new()); var l, c, u, d = (r = r || {}).parentBoundTranscludeFn, p = r.transcludeControllers, f = r.futureParentElement; if (d && d.$$boundTransclude && (d = d.$$boundTransclude), s || (c = (l = f) && l[0], s = c && "foreignobject" !== ne(c) && m.call(c).match(/SVG/) ? "svg" : "html"), u = "html" !== s ? a(Ce(s, a("<div></div>").append(e).html())) : n ? Tt.clone.call(e) : e, p) for (var h in p) u.data("$" + h + "Controller", p[h].instance); return oe.$$addScopeInfo(u, t), n && n(u, t), o && o(t, u, u, d), n || (e = o = null), u } } function le(e, t, n, r, i, s) { for (var l, c, u, d, p, f, h, g = [], m = U(e) || e instanceof a, v = 0; v < e.length; v++)l = new W, 11 === o && ce(e, v, m), (u = (c = fe(e[v], [], l, 0 === v ? r : void 0, i)).length ? ve(c, e[v], l, t, n, null, [], [], s) : null) && u.scope && oe.$$addScopeClass(l.$$element), p = u && u.terminal || !(d = e[v].childNodes) || !d.length ? null : le(d, u ? (u.transcludeOnThisElement || !u.templateOnThisElement) && u.transclude : t), (u || p) && (g.push(v, u, p), f = !0, h = h || u), s = null; return f ? function (e, n, r, i) { var o, s, l, c, u, d, p, f, m; if (h) { var v = n.length; for (m = new Array(v), u = 0; u < g.length; u += 3)p = g[u], m[p] = n[p] } else m = n; for (u = 0, d = g.length; u < d;)l = m[g[u++]], o = g[u++], s = g[u++], o ? (o.scope ? (c = e.$new(), oe.$$addScopeInfo(a(l), c)) : c = e, f = o.transcludeOnThisElement ? ue(e, o.transclude, i) : !o.templateOnThisElement && i ? i : !i && t ? ue(e, t) : null, o(s, c, l, r, f)) : s && s(e, l.childNodes, void 0, i) } : null } function ce(e, t, n) { var r, i = e[t], o = i.parentNode; if (i.nodeType === Fe) for (; (r = o ? i.nextSibling : e[t + 1]) && r.nodeType === Fe;)i.nodeValue = i.nodeValue + r.nodeValue, r.parentNode && r.parentNode.removeChild(r), n && r === e[t + 1] && e.splice(t + 1, 1) } function ue(e, t, n) { function r(r, i, o, a, s) { return r || ((r = e.$new(!1, s)).$$transcluded = !0), t(r, i, { parentBoundTranscludeFn: n, transcludeControllers: o, futureParentElement: a }) } var i = r.$$slots = Le(); for (var o in t.$$slots) t.$$slots[o] ? i[o] = ue(e, t.$$slots[o], n) : i[o] = null; return r } function fe(e, t, r, o, a) { var l, c, u, d = e.nodeType, p = r.$attr; switch (d) { case 1: we(t, yn(c = ne(e)), "E", o, a); for (var f, h, g, m, v, b = e.attributes, y = 0, x = b && b.length; y < x; y++) { var w, k = !1, A = !1, E = !1, S = !1, $ = !1; h = (f = b[y]).name, m = f.value, (v = (g = yn(h.toLowerCase())).match(te)) ? (E = "Attr" === v[1], S = "Prop" === v[1], $ = "On" === v[1], h = h.replace(vn, "").toLowerCase().substr(4 + v[1].length).replace(/_(.)/g, (function (e, t) { return t.toUpperCase() }))) : (w = g.match(re)) && ke(w[1]) && (k = h, A = h.substr(0, h.length - 5) + "end", h = h.substr(0, h.length - 6)), S || $ ? (r[g] = m, p[g] = f.name, S ? Oe(e, t, g, h) : Te(t, g, h)) : (p[g = yn(h.toLowerCase())] = h, !E && r.hasOwnProperty(g) || (r[g] = m, Rt(e, g) && (r[g] = !0)), je(e, t, m, g, E), we(t, g, "A", o, a, k, A)) } if ("input" === c && "hidden" === e.getAttribute("type") && e.setAttribute("autocomplete", "off"), !z) break; if (L(u = e.className) && (u = u.animVal), F(u) && "" !== u) for (; l = s.exec(u);)we(t, g = yn(l[2]), "C", o, a) && (r[g] = K(l[3])), u = u.substr(l.index + l[0].length); break; case Fe: !function (e, t) { var r = n(t, !0); r && e.push({ priority: 0, compile: function (e) { var t = e.parent(), n = !!t.length; return n && oe.$$addBindingClass(t), function (e, t) { var i = t.parent(); n || oe.$$addBindingClass(i), oe.$$addBindingInfo(i, r.expressions), e.$watch(r, (function (e) { t[0].nodeValue = e })) } } }) }(t, e.nodeValue); break; case 8: if (!N) break; !function (e, t, n, r, o) { try { var a = i.exec(e.nodeValue); if (a) { var s = yn(a[1]); we(t, s, "M", r, o) && (n[s] = K(a[2])) } } catch (e) { } }(e, t, r, o, a) }return t.sort(Se), t } function he(e, t, n) { var r = [], i = 0; if (t && e.hasAttribute && e.hasAttribute(t)) do { if (!e) throw fn("uterdir", "Unterminated attribute, found '{0}' but no matching '{1}' found.", t, n); 1 === e.nodeType && (e.hasAttribute(t) && i++, e.hasAttribute(n) && i--), r.push(e), e = e.nextSibling } while (i > 0); else r.push(e); return a(r) } function ge(e, t, n) { return function (r, i, o, a, s) { return i = he(i[0], t, n), e(r, i, o, a, s) } } function me(e, t, n, r, i, o) { var a; return e ? oe(t, n, r, i, o) : function () { return a || (a = oe(t, n, r, i, o), t = n = o = null), a.apply(this, arguments) } } function ve(t, n, r, i, o, s, l, c, u) { u = u || {}; for (var d, p, h, g, m, v = -Number.MAX_VALUE, b = u.newScopeDirective, y = u.controllerDirectives, x = u.newIsolateScopeDirective, w = u.templateDirective, A = u.nonTlbTranscludeDirective, E = !1, $ = !1, C = u.hasElementTranscludeDirective, O = r.$$element = a(n), T = s, j = i, P = !1, D = !1, R = 0, I = t.length; R < I; R++) { var N = (d = t[R]).$$start, z = d.$$end; if (N && (O = he(n, N, z)), h = void 0, v > d.priority) break; if ((m = d.scope) && (d.templateUrl || (L(m) ? ($e("new/isolated scope", x || b, d, O), x = d) : $e("new/isolated scope", x, d, O)), b = b || d), p = d.name, !P && (d.replace && (d.templateUrl || d.template) || d.transclude && !d.$$tlb)) { for (var B, F = R + 1; B = t[F++];)if (B.transclude && !B.$$tlb || B.replace && (B.templateUrl || B.template)) { D = !0; break } P = !0 } if (!d.templateUrl && d.controller && (y = y || Le(), $e("'" + p + "' controller", y[p], d, O), y[p] = d), m = d.transclude) if (E = !0, d.$$tlb || ($e("transclusion", A, d, O), A = d), "element" === m) C = !0, v = d.priority, h = O, O = r.$$element = a(oe.$$createComment(p, r[p])), n = O[0], De(o, de(h), n), j = me(D, h, i, v, T && T.name, { nonTlbTranscludeDirective: A }); else { var q = Le(); if (L(m)) { h = e.document.createDocumentFragment(); var V = Le(), H = Le(); for (var Y in k(m, (function (e, t) { var n = "?" === e.charAt(0); e = n ? e.substring(1) : e, V[e] = t, q[t] = null, H[t] = n })), k(O.contents(), (function (t) { var n = V[yn(ne(t))]; n ? (H[n] = !0, q[n] = q[n] || e.document.createDocumentFragment(), q[n].appendChild(t)) : h.appendChild(t) })), k(H, (function (e, t) { if (!e) throw fn("reqslot", "Required transclusion slot `{0}` was not filled.", t) })), q) if (q[Y]) { var Z = a(q[Y].childNodes); q[Y] = me(D, Z, i) } h = a(h.childNodes) } else h = a(ft(n)).contents(); O.empty(), (j = me(D, h, i, void 0, void 0, { needsNewScope: d.$$isolateScope || d.$$newScope })).$$slots = q } if (d.template) if ($ = !0, $e("template", w, d, O), w = d, m = G(d.template) ? d.template(O, r) : d.template, m = ee(m), d.replace) { if (T = d, h = lt(m) ? [] : wn(Ce(d.templateNamespace, K(m))), n = h[0], 1 !== h.length || 1 !== n.nodeType) throw fn("tplrt", "Template for directive '{0}' must have exactly one root element. {1}", p, ""); De(o, O, n); var Q = { $attr: {} }, J = fe(n, [], Q), te = t.splice(R + 1, t.length - (R + 1)); (x || b) && ye(J, x, b), t = t.concat(J).concat(te), Ae(r, Q), I = t.length } else O.html(m); if (d.templateUrl) $ = !0, $e("template", w, d, O), w = d, d.replace && (T = d), ae = Ee(t.splice(R, t.length - R), O, r, o, E && j, l, c, { controllerDirectives: y, newScopeDirective: b !== d && b, newIsolateScopeDirective: x, templateDirective: w, nonTlbTranscludeDirective: A }), I = t.length; else if (d.compile) try { g = d.compile(O, r, j); var re = d.$$originalDirective || d; G(g) ? ie(null, pe(re, g), N, z) : g && ie(pe(re, g.pre), pe(re, g.post), N, z) } catch (e) { f(e, xe(O)) } d.terminal && (ae.terminal = !0, v = Math.max(v, d.priority)) } return ae.scope = b && !0 === b.scope, ae.transcludeOnThisElement = E, ae.templateOnThisElement = $, ae.transclude = j, u.hasElementTranscludeDirective = C, ae; function ie(e, t, n, r) { e && (n && (e = ge(e, n, r)), e.require = d.require, e.directiveName = p, (x === d || d.$$isolateScope) && (e = Re(e, { isolateScope: !0 })), l.push(e)), t && (n && (t = ge(t, n, r)), t.require = d.require, t.directiveName = p, (x === d || d.$$isolateScope) && (t = Re(t, { isolateScope: !0 })), c.push(t)) } function ae(e, t, i, o, s) { var u, d, p, h, g, m, v, A, E, $; for (var O in n === i ? (E = r, A = r.$$element) : E = new W(A = a(i), r), g = t, x ? h = t.$new(!0) : b && (g = t.$parent), s && ((v = function (e, t, n, r) { var i; X(e) || (r = n, n = t, t = e, e = void 0); C && (i = m); n || (n = C ? A.parent() : A); if (!r) return s(e, t, i, n, D); var o = s.$$slots[r]; if (o) return o(e, t, i, n, D); if (M(o)) throw fn("noslot", 'No parent directive that requires a transclusion with slot name "{0}". Element: {1}', r, xe(A)) }).$$boundTransclude = s, v.isSlotFilled = function (e) { return !!s.$$slots[e] }), y && (m = function (e, t, n, r, i, o, a) { var s = Le(); for (var l in r) { var c = r[l], u = { $scope: c === a || c.$$isolateScope ? i : o, $element: e, $attrs: t, $transclude: n }, d = c.controller; "@" === d && (d = t[c.name]); var p = S(d, u, !0, c.controllerAs); s[c.name] = p, e.data("$" + c.name + "Controller", p.instance) } return s }(A, E, v, y, h, t, x)), x && (oe.$$addScopeInfo(A, h, !0, !(w && (w === x || w === x.$$originalDirective))), oe.$$addScopeClass(A, !0), h.$$isolateBindings = x.$$isolateBindings, ($ = ze(t, E, h, h.$$isolateBindings, x)).removeWatches && h.$on("$destroy", $.removeWatches)), m) { var T = y[O], j = m[O], P = T.$$bindings.bindToController; j.instance = j(), A.data("$" + T.name + "Controller", j.instance), j.bindingInfo = ze(g, E, j.instance, P, T) } for (k(y, (function (e, t) { var n = e.require; e.bindToController && !U(n) && L(n) && _(m[t].instance, be(t, n, A, m)) })), k(m, (function (e) { var t = e.instance; if (G(t.$onChanges)) try { t.$onChanges(e.bindingInfo.initialChanges) } catch (e) { f(e) } if (G(t.$onInit)) try { t.$onInit() } catch (e) { f(e) } G(t.$doCheck) && (g.$watch((function () { t.$doCheck() })), t.$doCheck()), G(t.$onDestroy) && g.$on("$destroy", (function () { t.$onDestroy() })) })), u = 0, d = l.length; u < d; u++)Ne(p = l[u], p.isolateScope ? h : t, A, E, p.require && be(p.directiveName, p.require, A, m), v); var D = t; for (x && (x.template || null === x.templateUrl) && (D = h), e && e(D, i.childNodes, void 0, s), u = c.length - 1; u >= 0; u--)Ne(p = c[u], p.isolateScope ? h : t, A, E, p.require && be(p.directiveName, p.require, A, m), v); k(m, (function (e) { var t = e.instance; G(t.$postLink) && t.$postLink() })) } } function be(e, t, n, r) { var i; if (F(t)) { var o = t.match(c), a = t.substring(o[0].length), s = o[1] || o[3], l = "?" === o[2]; if ("^^" === s ? n = n.parent() : i = (i = r && r[a]) && i.instance, !i) { var u = "$" + a + "Controller"; i = "^^" === s && n[0] && 9 === n[0].nodeType ? null : s ? n.inheritedData(u) : n.data(u) } if (!i && !l) throw fn("ctreq", "Controller '{0}', required by directive '{1}', can't be found!", a, e) } else if (U(t)) { i = []; for (var d = 0, p = t.length; d < p; d++)i[d] = be(e, t[d], n, r) } else L(t) && (i = {}, k(t, (function (t, o) { i[o] = be(e, t, n, r) }))); return i || null } function ye(e, t, n) { for (var r = 0, i = e.length; r < i; r++)e[r] = P(e[r], { $$isolateScope: t, $$newScope: n }) } function we(e, n, i, o, a, s, l) { if (n === a) return null; var c = null; if (r.hasOwnProperty(n)) for (var u, d = t.get(n + "Directive"), p = 0, f = d.length; p < f; p++)if (u = d[p], (M(o) || o > u.priority) && -1 !== u.restrict.indexOf(i)) { if (s && (u = P(u, { $$start: s, $$end: l })), !u.$$bindings) { var h = u.$$bindings = g(u, u.name); L(h.isolateScope) && (u.$$isolateBindings = h.isolateScope) } e.push(u), c = u } return c } function ke(e) { if (r.hasOwnProperty(e)) for (var n = t.get(e + "Directive"), i = 0, o = n.length; i < o; i++)if (n[i].multiElement) return !0; return !1 } function Ae(e, t) { var n = t.$attr, r = e.$attr; k(e, (function (r, i) { "$" !== i.charAt(0) && (t[i] && t[i] !== r && (r.length ? r += ("style" === i ? ";" : " ") + t[i] : r = t[i]), e.$set(i, r, !0, n[i])) })), k(t, (function (t, i) { e.hasOwnProperty(i) || "$" === i.charAt(0) || (e[i] = t, "class" !== i && "style" !== i && (r[i] = n[i])) })) } function Ee(e, t, n, r, i, o, s, l) { var c, u, d = [], p = t[0], g = e.shift(), m = P(g, { templateUrl: null, transclude: null, replace: null, $$originalDirective: g }), v = G(g.templateUrl) ? g.templateUrl(t, n) : g.templateUrl, b = g.templateNamespace; return t.empty(), h(v).then((function (f) { var h, y, x, w; if (f = ee(f), g.replace) { if (x = lt(f) ? [] : wn(Ce(b, K(f))), h = x[0], 1 !== x.length || 1 !== h.nodeType) throw fn("tplrt", "Template for directive '{0}' must have exactly one root element. {1}", g.name, v); y = { $attr: {} }, De(r, t, h); var A = fe(h, [], y); L(g.scope) && ye(A, !0), e = A.concat(e), Ae(n, y) } else h = p, t.html(f); for (e.unshift(m), c = ve(e, h, n, i, t, g, o, s, l), k(r, (function (e, n) { e === h && (r[n] = t[0]) })), u = le(t[0].childNodes, i); d.length;) { var E = d.shift(), S = d.shift(), $ = d.shift(), C = d.shift(), _ = t[0]; if (!E.$$destroyed) { if (S !== p) { var O = S.className; l.hasElementTranscludeDirective && g.replace || (_ = ft(h)), De($, a(S), _), Y(a(_), O) } w = c.transcludeOnThisElement ? ue(E, c.transclude, C) : C, c(u, E, _, r, w) } } d = null })).catch((function (e) { H(e) && f(e) })), function (e, t, n, r, i) { var o = i; t.$$destroyed || (d ? d.push(t, n, r, o) : (c.transcludeOnThisElement && (o = ue(t, c.transclude, i)), c(u, t, n, r, o))) } } function Se(e, t) { var n = t.priority - e.priority; return 0 !== n ? n : e.name !== t.name ? e.name < t.name ? -1 : 1 : e.index - t.index } function $e(e, t, n, r) { function i(e) { return e ? " (module: " + e + ")" : "" } if (t) throw fn("multidir", "Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}", t.name, i(t.$$moduleName), n.name, i(n.$$moduleName), e, xe(r)) } function Ce(t, n) { switch (t = d(t || "html")) { case "svg": case "math": var r = e.document.createElement("div"); return r.innerHTML = "<" + t + ">" + n + "</" + t + ">", r.childNodes[0].childNodes; default: return n } } function _e(e) { return V(C.valueOf(e), "ng-prop-srcset") } function Oe(e, t, n, r) { if (p.test(r)) throw fn("nodomevents", "Property bindings for HTML DOM event properties are disallowed"); var i = ne(e), o = function (e, t) { var n = t.toLowerCase(); return A[e + "|" + n] || A["*|" + n] }(i, r), a = R; "srcset" !== r || "img" !== i && "source" !== i ? o && (a = C.getTrusted.bind(C, o)) : a = _e, t.push({ priority: 100, compile: function (e, t) { var i = E(t[n]), o = E(t[n], (function (e) { return C.valueOf(e) })); return { pre: function (e, t) { function n() { var n = i(e); t[0][r] = a(n) } n(), e.$watch(o, n) } } } }) } function Te(e, t, n) { e.push(Po(E, $, f, t, n, !1)) } function je(e, t, r, i, o) { var a = ne(e), s = function (e, t) { return "srcdoc" === t ? C.HTML : "src" === t || "ngSrc" === t ? -1 === ["img", "video", "audio", "source", "track"].indexOf(e) ? C.RESOURCE_URL : C.MEDIA_URL : "xlinkHref" === t ? "image" === e ? C.MEDIA_URL : "a" === e ? C.URL : C.RESOURCE_URL : "form" === e && "action" === t || "base" === e && "href" === t || "link" === e && "href" === t ? C.RESOURCE_URL : "a" !== e || "href" !== t && "ngHref" !== t ? void 0 : C.URL }(a, i), c = !o, u = l[i] || o, d = n(r, c, s, u); if (d) { if ("multiple" === i && "select" === a) throw fn("selmulti", "Binding to the 'multiple' attribute is not supported. Element: {0}", xe(e)); if (p.test(i)) throw fn("nodomevents", "Interpolations for HTML DOM event attributes are disallowed"); t.push({ priority: 100, compile: function () { return { pre: function (e, t, o) { var a = o.$$observers || (o.$$observers = Le()), l = o[i]; l !== r && (d = l && n(l, !0, s, u), r = l), d && (o[i] = d(e), (a[i] || (a[i] = [])).$$inter = !0, (o.$$observers && o.$$observers[i].$$scope || e).$watch(d, (function (e, t) { "class" === i && e !== t ? o.$updateClass(e, t) : o.$set(i, e) }))) } } } }) } } function De(t, n, r) { var i, o, s = n[0], l = n.length, c = s.parentNode; if (t) for (i = 0, o = t.length; i < o; i++)if (t[i] === s) { t[i++] = r; for (var u = i, d = u + l - 1, p = t.length; u < p; u++, d++)d < p ? t[u] = t[d] : delete t[u]; t.length -= l - 1, t.context === s && (t.context = r); break } c && c.replaceChild(r, s); var f = e.document.createDocumentFragment(); for (i = 0; i < l; i++)f.appendChild(n[i]); for (a.hasData(s) && (a.data(r, a.data(s)), a(s).off("$destroy")), a.cleanData(f.querySelectorAll("*")), i = 1; i < l; i++)delete n[i]; n[0] = r, n.length = 1 } function Re(e, t) { return _((function () { return e.apply(null, arguments) }), e, t) } function Ne(e, t, n, r, i, o) { try { e(t, n, r, i, o) } catch (e) { f(e, xe(n)) } } function Me(e, t) { if (b) throw fn("missingattr", "Attribute '{0}' of '{1}' is non-optional and must be set!", e, t) } function ze(e, t, r, i, o) { var a, s = [], l = {}; function c(t, n, i) { G(r.$onChanges) && !ae(n, i) && (T || (e.$$postDigest(q), T = []), a || (a = {}, T.push(d)), a[t] && (i = a[t].previousValue), a[t] = new mn(i, n)) } function d() { r.$onChanges(a), a = void 0 } return k(i, (function (i, a) { var d, p, f, h, g, m = i.attrName, v = i.optional; switch (i.mode) { case "@": v || u.call(t, m) || (Me(m, o.name), r[a] = t[m] = void 0), g = t.$observe(m, (function (e) { if (F(e) || Z(e)) { var t = r[a]; c(a, e, t), r[a] = e } })), t.$$observers[m].$$scope = e, F(d = t[m]) ? r[a] = n(d)(e) : Z(d) && (r[a] = d), l[a] = new mn(hn, r[a]), s.push(g); break; case "=": if (!u.call(t, m)) { if (v) break; Me(m, o.name), t[m] = void 0 } if (v && !t[m]) break; p = E(t[m]), h = p.literal ? se : ae, f = p.assign || function () { throw d = r[a] = p(e), fn("nonassign", "Expression '{0}' in attribute '{1}' used with directive '{2}' is non-assignable!", t[m], m, o.name) }, d = r[a] = p(e); var b = function (t) { return h(t, r[a]) || (h(t, d) ? f(e, t = r[a]) : r[a] = t), d = t }; b.$stateful = !0, g = i.collection ? e.$watchCollection(t[m], b) : e.$watch(E(t[m], b), null, p.literal), s.push(g); break; case "<": if (!u.call(t, m)) { if (v) break; Me(m, o.name), t[m] = void 0 } if (v && !t[m]) break; var y = (p = E(t[m])).literal, x = r[a] = p(e); l[a] = new mn(hn, r[a]), g = e[i.collection ? "$watchCollection" : "$watch"](p, (function (e, t) { if (t === e) { if (t === x || y && se(t, x)) return; t = x } c(a, e, t), r[a] = e })), s.push(g); break; case "&": if (v || u.call(t, m) || Me(m, o.name), (p = t.hasOwnProperty(m) ? E(t[m]) : D) === D && v) break; r[a] = function (t) { return p(e, t) } } })), { initialChanges: l, removeWatches: s.length && function () { for (var e = 0, t = s.length; e < t; ++e)s[e]() } } } }] } function mn(e, t) { this.previousValue = e, this.currentValue = t } gn.$inject = ["$provide", "$$sanitizeUriProvider"], mn.prototype.isFirstChange = function () { return this.previousValue === hn }; var vn = /^((?:x|data)[:\-_])/i, bn = /[:\-_]+(.)/g; function yn(e) { return e.replace(vn, "").replace(bn, (function (e, t, n) { return n ? t.toUpperCase() : t })) } function xn(e, t) { var n = "", r = e.split(/\s+/), i = t.split(/\s+/); e: for (var o = 0; o < r.length; o++) { for (var a = r[o], s = 0; s < i.length; s++)if (a === i[s]) continue e; n += (n.length > 0 ? " " : "") + a } return n } function wn(e) { var t = (e = a(e)).length; if (t <= 1) return e; for (; t--;) { var n = e[t]; (8 === n.nodeType || n.nodeType === Fe && "" === n.nodeValue.trim()) && h.call(e, t, 1) } return e } var kn = i("$controller"), An = /^(\S+)(\s+as\s+([\w$]+))?$/; function En(e, t) { if (t && F(t)) return t; if (F(e)) { var n = An.exec(e); if (n) return n[3] } } function Sn() { var e = {}; this.has = function (t) { return e.hasOwnProperty(t) }, this.register = function (t, n) { Me(t, "controller"), L(t) ? _(e, t) : e[t] = n }, this.$get = ["$injector", function (t) { return function (r, i, o, a) { var s, l, c, u; if (o = !0 === o, a && F(a) && (u = a), F(r)) { if (!(l = r.match(An))) throw kn("ctrlfmt", "Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.", r); if (c = l[1], u = u || l[3], !(r = e.hasOwnProperty(c) ? e[c] : function (e, t, n) { if (!t) return e; for (var r, i = t.split("."), o = e, a = i.length, s = 0; s < a; s++)r = i[s], e && (e = (o = e)[r]); return !n && G(e) ? pe(o, e) : e }(i.$scope, c, !0))) throw kn("ctrlreg", "The controller with the name '{0}' is not registered.", c); Ne(r, c, !0) } if (o) { var d = (U(r) ? r[r.length - 1] : r).prototype; return s = Object.create(d || null), u && n(i, u, s, c || r.name), _((function () { var e = t.invoke(r, s, i, c); return e !== s && (L(e) || G(e)) && (s = e, u && n(i, u, s, c || r.name)), s }), { instance: s, identifier: u }) } return s = t.instantiate(r, i, c), u && n(i, u, s, c || r.name), s }; function n(e, t, n, r) { if (!e || !L(e.$scope)) throw i("$controller")("noscp", "Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.", r, t); e.$scope[t] = n } }] } function $n() { this.$get = ["$window", function (e) { return a(e.document) }] } function Cn() { this.$get = ["$document", "$rootScope", function (e, t) { var n = e[0], r = n && n.hidden; function i() { r = n.hidden } return e.on("visibilitychange", i), t.$on("$destroy", (function () { e.off("visibilitychange", i) })), function () { return r } }] } function _n() { this.$get = ["$log", function (e) { return function (t, n) { e.error.apply(e, arguments) } }] } var On = function () { this.$get = ["$document", function (e) { return function (t) { return t ? !t.nodeType && t instanceof a && (t = t[0]) : t = e[0].body, t.offsetWidth + 1 } }] }, Tn = { "Content-Type": "application/json;charset=utf-8" }, jn = /^\[|^\{(?!\{)/, Pn = { "[": /]$/, "{": /}$/ }, Dn = /^\)]\}',?\n/, Rn = i("$http"); function In(e) { return L(e) ? V(e) ? e.toISOString() : he(e) : e } function Nn() { this.$get = function () { return function (e) { if (!e) return ""; var t = []; return A(e, (function (e, n) { null === e || M(e) || G(e) || (U(e) ? k(e, (function (e) { t.push(Ee(n) + "=" + Ee(In(e))) })) : t.push(Ee(n) + "=" + Ee(In(e)))) })), t.join("&") } } } function Mn() { this.$get = function () { return function (e) { if (!e) return ""; var t = []; return function e(n, r, i) { U(n) ? k(n, (function (t, n) { e(t, r + "[" + (L(t) ? n : "") + "]") })) : L(n) && !V(n) ? A(n, (function (t, n) { e(t, r + (i ? "" : "[") + n + (i ? "" : "]")) })) : (G(n) && (n = n()), t.push(Ee(r) + "=" + (null == n ? "" : Ee(In(n))))) }(e, "", !0), t.join("&") } } } function zn(e, t) { if (F(e)) { var n = e.replace(Dn, "").trim(); if (n) { var r = t("Content-Type"), i = r && 0 === r.indexOf("application/json"); if (i || (a = (o = n).match(jn)) && Pn[a[0]].test(o)) try { e = ge(n) } catch (t) { if (!i) return e; throw Rn("baddata", 'Data must be a valid JSON object. Received: "{0}". Parse error: "{1}"', e, t) } } } var o, a; return e } function Ln(e) { var t, n = Le(); function r(e, t) { e && (n[e] = n[e] ? n[e] + ", " + t : t) } return F(e) ? k(e.split("\n"), (function (e) { t = e.indexOf(":"), r(d(K(e.substr(0, t))), K(e.substr(t + 1))) })) : L(e) && k(e, (function (e, t) { r(d(t), K(e)) })), n } function Bn(e) { var t; return function (n) { if (t || (t = Ln(e)), n) { var r = t[d(n)]; return void 0 === r && (r = null), r } return t } } function Fn(e, t, n, r) { return G(r) ? r(e, t, n) : (k(r, (function (r) { e = r(e, t, n) })), e) } function qn(e) { return 200 <= e && e < 300 } function Vn() { var e = this.defaults = { transformResponse: [zn], transformRequest: [function (e) { return !L(e) || (t = e, "[object File]" === m.call(t)) || function (e) { return "[object Blob]" === m.call(e) }(e) || function (e) { return "[object FormData]" === m.call(e) }(e) ? e : he(e); var t }], headers: { common: { Accept: "application/json, text/plain, */*" }, post: qe(Tn), put: qe(Tn), patch: qe(Tn) }, xsrfCookieName: "XSRF-TOKEN", xsrfHeaderName: "X-XSRF-TOKEN", paramSerializer: "$httpParamSerializer", jsonpCallbackParam: "callback" }, t = !1; this.useApplyAsync = function (e) { return z(e) ? (t = !!e, this) : t }; var n = this.interceptors = [], r = this.xsrfTrustedOrigins = []; Object.defineProperty(this, "xsrfWhitelistedOrigins", { get: function () { return this.xsrfTrustedOrigins }, set: function (e) { this.xsrfTrustedOrigins = e } }), this.$get = ["$browser", "$httpBackend", "$$cookieReader", "$cacheFactory", "$rootScope", "$q", "$injector", "$sce", function (o, a, s, l, c, u, f, h) { var g = l("$http"); e.paramSerializer = F(e.paramSerializer) ? f.get(e.paramSerializer) : e.paramSerializer; var m = []; k(n, (function (e) { m.unshift(F(e) ? f.get(e) : f.invoke(e)) })); var v, b = (v = [ai].concat(r.map(li)), function (e) { var t = li(e); return v.some(ci.bind(null, t)) }); function y(n) { if (!L(n)) throw i("$http")("badreq", "Http request configuration must be an object. Received: {0}", n); if (!F(h.valueOf(n.url))) throw i("$http")("badreq", "Http request configuration url must be a string or a $sce trusted object. Received: {0}", n.url); var r = _({ method: "get", transformRequest: e.transformRequest, transformResponse: e.transformResponse, paramSerializer: e.paramSerializer, jsonpCallbackParam: e.jsonpCallbackParam }, n); r.headers = function (t) { var n, r, i, o = e.headers, a = _({}, t.headers); o = _({}, o.common, o[d(t.method)]); e: for (n in o) { for (i in r = d(n), a) if (d(i) === r) continue e; a[n] = o[n] } return function (e, t) { var n, r = {}; return k(e, (function (e, i) { G(e) ? null != (n = e(t)) && (r[i] = n) : r[i] = e })), r }(a, qe(t)) }(n), r.method = p(r.method), r.paramSerializer = F(r.paramSerializer) ? f.get(r.paramSerializer) : r.paramSerializer, o.$$incOutstandingRequestCount("$http"); var l = [], v = [], x = u.resolve(r); return k(m, (function (e) { (e.request || e.requestError) && l.unshift(e.request, e.requestError), (e.response || e.responseError) && v.push(e.response, e.responseError) })), x = w(x, l), x = (x = w(x = x.then((function (n) { var r = n.headers, i = Fn(n.data, Bn(r), void 0, n.transformRequest); M(i) && k(r, (function (e, t) { "content-type" === d(t) && delete r[t] })); M(n.withCredentials) && !M(e.withCredentials) && (n.withCredentials = e.withCredentials); return function (n, r) { var i, o, l = u.defer(), p = l.promise, f = n.headers, m = "jsonp" === d(n.method), v = n.url; m ? v = h.getTrustedResourceUrl(v) : F(v) || (v = h.valueOf(v)); v = function (e, t) { t.length > 0 && (e += (-1 === e.indexOf("?") ? "?" : "&") + t); return e }(v, n.paramSerializer(n.params)), m && (v = function (e, t) { var n = e.split("?"); if (n.length > 2) throw Rn("badjsonp", 'Illegal use more than one "?", in url, "{1}"', e); return k(ke(n[1]), (function (n, r) { if ("JSON_CALLBACK" === n) throw Rn("badjsonp", 'Illegal use of JSON_CALLBACK in url, "{0}"', e); if (r === t) throw Rn("badjsonp", 'Illegal use of callback param, "{0}", in url, "{1}"', t, e) })), e += (-1 === e.indexOf("?") ? "?" : "&") + t + "=JSON_CALLBACK" }(v, n.jsonpCallbackParam)); y.pendingRequests.push(n), p.then(S, S), !n.cache && !e.cache || !1 === n.cache || "GET" !== n.method && "JSONP" !== n.method || (i = L(n.cache) ? n.cache : L(e.cache) ? e.cache : g); i && (z(o = i.get(v)) ? Q(o) ? o.then(E, E) : U(o) ? A(o[1], o[0], qe(o[2]), o[3], o[4]) : A(o, 200, {}, "OK", "complete") : i.put(v, p)); if (M(o)) { var x = b(n.url) ? s()[n.xsrfCookieName || e.xsrfCookieName] : void 0; x && (f[n.xsrfHeaderName || e.xsrfHeaderName] = x), a(n.method, v, r, (function (e, n, r, o, a) { i && (qn(e) ? i.put(v, [e, n, Ln(r), o, a]) : i.remove(v)); function s() { A(n, e, r, o, a) } t ? c.$applyAsync(s) : (s(), c.$$phase || c.$apply()) }), f, n.timeout, n.withCredentials, n.responseType, w(n.eventHandlers), w(n.uploadEventHandlers)) } return p; function w(e) { if (e) { var n = {}; return k(e, (function (e, r) { n[r] = function (n) { function r() { e(n) } t ? c.$applyAsync(r) : c.$$phase ? r() : c.$apply(r) } })), n } } function A(e, t, r, i, o) { (qn(t = t >= -1 ? t : 0) ? l.resolve : l.reject)({ data: e, status: t, headers: Bn(r), config: n, statusText: i, xhrStatus: o }) } function E(e) { A(e.data, e.status, qe(e.headers()), e.statusText, e.xhrStatus) } function S() { var e = y.pendingRequests.indexOf(n); -1 !== e && y.pendingRequests.splice(e, 1) } }(n, i).then(A, A) })), v)).finally((function () { o.$$completeOutstandingRequest(D, "$http") })); function w(e, t) { for (var n = 0, r = t.length; n < r;) { var i = t[n++], o = t[n++]; e = e.then(i, o) } return t.length = 0, e } function A(e) { var t = _({}, e); return t.data = Fn(e.data, e.headers, e.status, r.transformResponse), qn(e.status) ? t : u.reject(t) } } return y.pendingRequests = [], function (e) { k(arguments, (function (e) { y[e] = function (t, n) { return y(_({}, n || {}, { method: e, url: t })) } })) }("get", "delete", "head", "jsonp"), function (e) { k(arguments, (function (e) { y[e] = function (t, n, r) { return y(_({}, r || {}, { method: e, url: t, data: n })) } })) }("post", "put", "patch"), y.defaults = e, y }] } function Un() { this.$get = function () { return function () { return new e.XMLHttpRequest } } } function Hn() { this.$get = ["$browser", "$jsonpCallbacks", "$document", "$xhrFactory", function (e, t, n, r) { return function (e, t, n, r, i) { return function (o, a, s, l, c, u, p, f, h, g) { if (a = a || e.url(), "jsonp" === d(o)) var m = r.createCallback(a), v = function (e, t, n) { e = e.replace("JSON_CALLBACK", t); var o = i.createElement("script"), a = null; return o.type = "text/javascript", o.src = e, o.async = !0, a = function (e) { o.removeEventListener("load", a), o.removeEventListener("error", a), i.body.removeChild(o), o = null; var s = -1, l = "unknown"; e && ("load" !== e.type || r.wasCalled(t) || (e = { type: "error" }), l = e.type, s = "error" === e.type ? 404 : 200), n && n(s, l) }, o.addEventListener("load", a), o.addEventListener("error", a), i.body.appendChild(o), a }(a, m, (function (e, t) { var n = 200 === e && r.getResponse(m); A(l, e, n, "", t, "complete"), r.removeCallback(m) })); else { var b = t(o, a), y = !1; b.open(o, a, !0), k(c, (function (e, t) { z(e) && b.setRequestHeader(t, e) })), b.onload = function () { var e = b.statusText || "", t = "response" in b ? b.response : b.responseText, n = 1223 === b.status ? 204 : b.status; 0 === n && (n = t ? 200 : "file" === li(a).protocol ? 404 : 0), A(l, n, t, b.getAllResponseHeaders(), e, "complete") }; if (b.onerror = function () { A(l, -1, null, null, "", "error") }, b.ontimeout = function () { A(l, -1, null, null, "", "timeout") }, b.onabort = function () { A(l, -1, null, null, "", y ? "timeout" : "abort") }, k(h, (function (e, t) { b.addEventListener(t, e) })), k(g, (function (e, t) { b.upload.addEventListener(t, e) })), p && (b.withCredentials = !0), f) try { b.responseType = f } catch (e) { if ("json" !== f) throw e } b.send(M(s) ? null : s) } if (u > 0) var x = n((function () { w("timeout") }), u); else Q(u) && u.then((function () { w(z(u.$$timeoutId) ? "timeout" : "abort") })); function w(e) { y = "timeout" === e, v && v(), b && b.abort() } function A(e, t, r, i, o, a) { z(x) && n.cancel(x), v = b = null, e(t, r, i, o, a) } } }(e, r, e.defer, t, n[0]) }] } var Gn = y.$interpolateMinErr = i("$interpolate"); function Wn() { var e = "{{", t = "}}"; this.startSymbol = function (t) { return t ? (e = t, this) : e }, this.endSymbol = function (e) { return e ? (t = e, this) : t }, this.$get = ["$parse", "$exceptionHandler", "$sce", function (n, r, i) { var o = e.length, a = t.length, s = new RegExp(e.replace(/./g, c), "g"), l = new RegExp(t.replace(/./g, c), "g"); function c(e) { return "\\\\\\" + e } function u(n) { return n.replace(s, e).replace(l, t) } function d(e, t, n, r) { var i = e.$watch((function (e) { return i(), r(e) }), t, n); return i } function p(s, l, c, p) { var f = c === i.URL || c === i.MEDIA_URL; if (!s.length || -1 === s.indexOf(e)) { if (l) return; var h = u(s); f && (h = i.getTrusted(c, h)); var g = I(h); return g.exp = s, g.expressions = [], g.$$watchDelegate = d, g } p = !!p; for (var m, v, b, y, x, w = 0, k = [], A = s.length, E = [], S = []; w < A;) { if (-1 === (m = s.indexOf(e, w)) || -1 === (v = s.indexOf(t, m + o))) { w !== A && E.push(u(s.substring(w))); break } w !== m && E.push(u(s.substring(w, m))), y = s.substring(m + o, v), k.push(y), w = v + a, S.push(E.length), E.push("") } x = 1 === E.length && 1 === S.length; var $ = f && x ? void 0 : function (e) { try { return e = c && !f ? i.getTrusted(c, e) : i.valueOf(e), p && !z(e) ? e : Be(e) } catch (e) { r(Gn.interr(s, e)) } }; if (b = k.map((function (e) { return n(e, $) })), !l || k.length) { var C = function (e) { for (var t = 0, n = k.length; t < n; t++) { if (p && M(e[t])) return; E[S[t]] = e[t] } return f ? i.getTrusted(c, x ? E[0] : E.join("")) : (c && E.length > 1 && Gn.throwNoconcat(s), E.join("")) }; return _((function (e) { var t = 0, n = k.length, i = new Array(n); try { for (; t < n; t++)i[t] = b[t](e); return C(i) } catch (e) { r(Gn.interr(s, e)) } }), { exp: s, expressions: k, $$watchDelegate: function (e, t) { var n; return e.$watchGroup(b, (function (r, i) { var o = C(r); t.call(this, o, r !== i ? n : o, e), n = o })) } }) } } return p.startSymbol = function () { return e }, p.endSymbol = function () { return t }, p }] } Gn.throwNoconcat = function (e) { throw Gn("noconcat", "Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce", e) }, Gn.interr = function (e, t) { return Gn("interr", "Can't interpolate: {0}\n{1}", e, t.toString()) }; var Yn = i("$interval"); function Xn() { this.$get = ["$$intervalFactory", "$window", function (e, t) { var n = {}, r = function (e) { t.clearInterval(e), delete n[e] }, i = e((function (e, r, i) { var o = t.setInterval(e, r); return n[o] = i, o }), r); return i.cancel = function (e) { if (!e) return !1; if (!e.hasOwnProperty("$$intervalId")) throw Yn("badprom", "`$interval.cancel()` called with a promise that was not generated by `$interval()`."); if (!n.hasOwnProperty(e.$$intervalId)) return !1; var t = e.$$intervalId, i = n[t]; return Lr(i.promise), i.reject("canceled"), r(t), !0 }, i }] } function Zn() { this.$get = ["$browser", "$q", "$$q", "$rootScope", function (e, t, n, r) { return function (i, o) { return function (a, s, l, c) { var u = arguments.length > 4, d = u ? de(arguments, 4) : [], p = 0, f = z(c) && !c, h = (f ? n : t).defer(), g = h.promise; function m() { u ? a.apply(null, d) : a(p) } function v() { f ? e.defer(m) : r.$evalAsync(m), h.notify(p++), l > 0 && p >= l && (h.resolve(p), o(g.$$intervalId)), f || r.$apply() } return l = z(l) ? l : 0, g.$$intervalId = i(v, s, h, f), g } } }] } var Qn = function () { this.$get = function () { var e = y.callbacks, t = {}; return { createCallback: function (n) { var r = "_" + (e.$$counter++).toString(36), i = "angular.callbacks." + r, o = function (e) { var t = function (e) { t.data = e, t.called = !0 }; return t.id = e, t }(r); return t[i] = e[r] = o, i }, wasCalled: function (e) { return t[e].called }, getResponse: function (e) { return t[e].data }, removeCallback: function (n) { var r = t[n]; delete e[r.id], delete t[n] } } } }, Jn = /^([^?#]*)(\?([^#]*))?(#(.*))?$/, Kn = { http: 80, https: 443, ftp: 21 }, er = i("$location"); function tr(e, t, n) { var r, i = (r = [], k(t, (function (e, t) { U(e) ? k(e, (function (e) { r.push(Ee(t, !0) + (!0 === e ? "" : "=" + Ee(e, !0))) })) : r.push(Ee(t, !0) + (!0 === e ? "" : "=" + Ee(e, !0))) })), r.length ? r.join("&") : ""), o = n ? "#" + Ae(n) : ""; return function (e) { for (var t = e.split("/"), n = t.length; n--;)t[n] = Ae(t[n].replace(/%2F/g, "/")); return t.join("/") }(e) + (i ? "?" + i : "") + o } function nr(e, t) { var n = li(e); t.$$protocol = n.protocol, t.$$host = n.hostname, t.$$port = T(n.port) || Kn[n.protocol] || null } var rr = /^\s*[\\/]{2,}/; function ir(e, t, n) { if (rr.test(e)) throw er("badpath", 'Invalid url "{0}".', e); var r = "/" !== e.charAt(0); r && (e = "/" + e); var i = li(e), o = r && "/" === i.pathname.charAt(0) ? i.pathname.substring(1) : i.pathname; t.$$path = function (e, t) { for (var n = e.split("/"), r = n.length; r--;)n[r] = decodeURIComponent(n[r]), t && (n[r] = n[r].replace(/\//g, "%2F")); return n.join("/") }(o, n), t.$$search = ke(i.search), t.$$hash = decodeURIComponent(i.hash), t.$$path && "/" !== t.$$path.charAt(0) && (t.$$path = "/" + t.$$path) } function or(e, t) { return e.slice(0, t.length) === t } function ar(e, t) { if (or(t, e)) return t.substr(e.length) } function sr(e) { var t = e.indexOf("#"); return -1 === t ? e : e.substr(0, t) } function lr(e, t, n) { this.$$html5 = !0, n = n || "", nr(e, this), this.$$parse = function (e) { var n = ar(t, e); if (!F(n)) throw er("ipthprfx", 'Invalid url "{0}", missing path prefix "{1}".', e, t); ir(n, this, !0), this.$$path || (this.$$path = "/"), this.$$compose() }, this.$$normalizeUrl = function (e) { return t + e.substr(1) }, this.$$parseLinkUrl = function (r, i) { return i && "#" === i[0] ? (this.hash(i.slice(1)), !0) : (z(o = ar(e, r)) ? (a = o, s = n && z(o = ar(n, o)) ? t + (ar("/", o) || o) : e + a) : z(o = ar(t, r)) ? s = t + o : t === r + "/" && (s = t), s && this.$$parse(s), !!s); var o, a, s } } function cr(e, t, n) { nr(e, this), this.$$parse = function (r) { var i, o = ar(e, r) || ar(t, r); M(o) || "#" !== o.charAt(0) ? this.$$html5 ? i = o : (i = "", M(o) && (e = r, this.replace())) : M(i = ar(n, o)) && (i = o), ir(i, this, !1), this.$$path = function (e, t, n) { var r, i = /^\/[A-Z]:(\/.*)/; or(t, n) && (t = t.replace(n, "")); if (i.exec(t)) return e; return (r = i.exec(e)) ? r[1] : e }(this.$$path, i, e), this.$$compose() }, this.$$normalizeUrl = function (t) { return e + (t ? n + t : "") }, this.$$parseLinkUrl = function (t, n) { return sr(e) === sr(t) && (this.$$parse(t), !0) } } function ur(e, t, n) { this.$$html5 = !0, cr.apply(this, arguments), this.$$parseLinkUrl = function (r, i) { return i && "#" === i[0] ? (this.hash(i.slice(1)), !0) : (e === sr(r) ? o = r : (a = ar(t, r)) ? o = e + n + a : t === r + "/" && (o = t), o && this.$$parse(o), !!o); var o, a }, this.$$normalizeUrl = function (t) { return e + n + t } } var dr = { $$absUrl: "", $$html5: !1, $$replace: !1, $$compose: function () { this.$$url = tr(this.$$path, this.$$search, this.$$hash), this.$$absUrl = this.$$normalizeUrl(this.$$url), this.$$urlUpdatedByLocation = !0 }, absUrl: pr("$$absUrl"), url: function (e) { if (M(e)) return this.$$url; var t = Jn.exec(e); return (t[1] || "" === e) && this.path(decodeURIComponent(t[1])), (t[2] || t[1] || "" === e) && this.search(t[3] || ""), this.hash(t[5] || ""), this }, protocol: pr("$$protocol"), host: pr("$$host"), port: pr("$$port"), path: fr("$$path", (function (e) { return "/" === (e = null !== e ? e.toString() : "").charAt(0) ? e : "/" + e })), search: function (e, t) { switch (arguments.length) { case 0: return this.$$search; case 1: if (F(e) || q(e)) e = e.toString(), this.$$search = ke(e); else { if (!L(e)) throw er("isrcharg", "The first argument of the `$location#search()` call must be a string or an object."); k(e = oe(e, {}), (function (t, n) { null == t && delete e[n] })), this.$$search = e } break; default: M(t) || null === t ? delete this.$$search[e] : this.$$search[e] = t }return this.$$compose(), this }, hash: fr("$$hash", (function (e) { return null !== e ? e.toString() : "" })), replace: function () { return this.$$replace = !0, this } }; function pr(e) { return function () { return this[e] } } function fr(e, t) { return function (n) { return M(n) ? this[e] : (this[e] = t(n), this.$$compose(), this) } } function hr() { var e = "!", t = { enabled: !1, requireBase: !0, rewriteLinks: !0 }; this.hashPrefix = function (t) { return z(t) ? (e = t, this) : e }, this.html5Mode = function (e) { return Z(e) ? (t.enabled = e, this) : L(e) ? (Z(e.enabled) && (t.enabled = e.enabled), Z(e.requireBase) && (t.requireBase = e.requireBase), (Z(e.rewriteLinks) || F(e.rewriteLinks)) && (t.rewriteLinks = e.rewriteLinks), this) : t }, this.$get = ["$rootScope", "$browser", "$sniffer", "$rootElement", "$window", function (n, r, i, o, s) { var l, c, u, d, p = r.baseHref(), f = r.url(); if (t.enabled) { if (!p && t.requireBase) throw er("nobase", "$location in HTML5 mode requires a <base> tag to be present!"); u = (d = f).substring(0, d.indexOf("/", d.indexOf("//") + 2)) + (p || "/"), c = i.history ? lr : ur } else u = sr(f), c = cr; var h = function (e) { return e.substr(0, sr(e).lastIndexOf("/") + 1) }(u); (l = new c(u, h, "#" + e)).$$parseLinkUrl(f, f), l.$$state = r.state(); var g = /^\s*(javascript|mailto):/i; function m(e, t, n) { var i = l.url(), o = l.$$state; try { r.url(e, t, n), l.$$state = r.state() } catch (e) { throw l.url(i), l.$$state = o, e } } o.on("click", (function (e) { var i = t.rewriteLinks; if (i && !e.ctrlKey && !e.metaKey && !e.shiftKey && 2 !== e.which && 2 !== e.button) { for (var s = a(e.target); "a" !== ne(s[0]);)if (s[0] === o[0] || !(s = s.parent())[0]) return; if (!F(i) || !M(s.attr(i))) { var c = s.prop("href"), u = s.attr("href") || s.attr("xlink:href"); L(c) && "[object SVGAnimatedString]" === c.toString() && (c = li(c.animVal).href), g.test(c) || !c || s.attr("target") || e.isDefaultPrevented() || l.$$parseLinkUrl(c, u) && (e.preventDefault(), l.absUrl() !== r.url() && n.$apply()) } } })), l.absUrl() !== f && r.url(l.absUrl(), !0); var v = !0; return r.onUrlChange((function (e, t) { or(e, h) ? (n.$evalAsync((function () { var r, i = l.absUrl(), o = l.$$state; l.$$parse(e), l.$$state = t, r = n.$broadcast("$locationChangeStart", e, i, t, o).defaultPrevented, l.absUrl() === e && (r ? (l.$$parse(i), l.$$state = o, m(i, !1, o)) : (v = !1, b(i, o))) })), n.$$phase || n.$digest()) : s.location.href = e })), n.$watch((function () { if (v || l.$$urlUpdatedByLocation) { l.$$urlUpdatedByLocation = !1; var e = r.url(), t = l.absUrl(), o = r.state(), a = l.$$replace, s = !((c = e) === (u = t) || li(c).href === li(u).href) || l.$$html5 && i.history && o !== l.$$state; (v || s) && (v = !1, n.$evalAsync((function () { var t = l.absUrl(), r = n.$broadcast("$locationChangeStart", t, e, l.$$state, o).defaultPrevented; l.absUrl() === t && (r ? (l.$$parse(e), l.$$state = o) : (s && m(t, a, o === l.$$state ? null : l.$$state), b(e, o))) }))) } var c, u; l.$$replace = !1 })), l; function b(e, t) { n.$broadcast("$locationChangeSuccess", l.absUrl(), e, l.$$state, t) } }] } function gr() { var e = !0, t = this; this.debugEnabled = function (t) { return z(t) ? (e = t, this) : e }, this.$get = ["$window", function (n) { var r, i = o || /\bEdge\//.test(n.navigator && n.navigator.userAgent); return { log: s("log"), info: s("info"), warn: s("warn"), error: s("error"), debug: (r = s("debug"), function () { e && r.apply(t, arguments) }) }; function a(e) { return H(e) && (e.stack && i ? e = e.message && -1 === e.stack.indexOf(e.message) ? "Error: " + e.message + "\n" + e.stack : e.stack : e.sourceURL && (e = e.message + "\n" + e.sourceURL + ":" + e.line)), e } function s(e) { var t = n.console || {}, r = t[e] || t.log || D; return function () { var e = []; return k(arguments, (function (t) { e.push(a(t)) })), Function.prototype.apply.call(r, t, e) } } }] } k([ur, cr, lr], (function (e) { e.prototype = Object.create(dr), e.prototype.state = function (t) { if (!arguments.length) return this.$$state; if (e !== lr || !this.$$html5) throw er("nostate", "History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API"); return this.$$state = M(t) ? null : t, this.$$urlUpdatedByLocation = !0, this } })); var mr = i("$parse"), vr = {}.constructor.prototype.valueOf; function br(e) { return e + "" } var yr = Le(); k("+ - * / % === !== == != < > <= >= && || ! = |".split(" "), (function (e) { yr[e] = !0 })); var xr = { n: "\n", f: "\f", r: "\r", t: "\t", v: "\v", "'": "'", '"': '"' }, wr = function (e) { this.options = e }; wr.prototype = { constructor: wr, lex: function (e) { for (this.text = e, this.index = 0, this.tokens = []; this.index < this.text.length;) { var t = this.text.charAt(this.index); if ('"' === t || "'" === t) this.readString(t); else if (this.isNumber(t) || "." === t && this.isNumber(this.peek())) this.readNumber(); else if (this.isIdentifierStart(this.peekMultichar())) this.readIdent(); else if (this.is(t, "(){}[].,;:?")) this.tokens.push({ index: this.index, text: t }), this.index++; else if (this.isWhitespace(t)) this.index++; else { var n = t + this.peek(), r = n + this.peek(2), i = yr[t], o = yr[n], a = yr[r]; if (i || o || a) { var s = a ? r : o ? n : t; this.tokens.push({ index: this.index, text: s, operator: !0 }), this.index += s.length } else this.throwError("Unexpected next character ", this.index, this.index + 1) } } return this.tokens }, is: function (e, t) { return -1 !== t.indexOf(e) }, peek: function (e) { var t = e || 1; return this.index + t < this.text.length && this.text.charAt(this.index + t) }, isNumber: function (e) { return "0" <= e && e <= "9" && "string" == typeof e }, isWhitespace: function (e) { return " " === e || "\r" === e || "\t" === e || "\n" === e || "\v" === e || " " === e }, isIdentifierStart: function (e) { return this.options.isIdentifierStart ? this.options.isIdentifierStart(e, this.codePointAt(e)) : this.isValidIdentifierStart(e) }, isValidIdentifierStart: function (e) { return "a" <= e && e <= "z" || "A" <= e && e <= "Z" || "_" === e || "$" === e }, isIdentifierContinue: function (e) { return this.options.isIdentifierContinue ? this.options.isIdentifierContinue(e, this.codePointAt(e)) : this.isValidIdentifierContinue(e) }, isValidIdentifierContinue: function (e, t) { return this.isValidIdentifierStart(e, t) || this.isNumber(e) }, codePointAt: function (e) { return 1 === e.length ? e.charCodeAt(0) : (e.charCodeAt(0) << 10) + e.charCodeAt(1) - 56613888 }, peekMultichar: function () { var e = this.text.charAt(this.index), t = this.peek(); if (!t) return e; var n = e.charCodeAt(0), r = t.charCodeAt(0); return n >= 55296 && n <= 56319 && r >= 56320 && r <= 57343 ? e + t : e }, isExpOperator: function (e) { return "-" === e || "+" === e || this.isNumber(e) }, throwError: function (e, t, n) { n = n || this.index; var r = z(t) ? "s " + t + "-" + this.index + " [" + this.text.substring(t, n) + "]" : " " + n; throw mr("lexerr", "Lexer Error: {0} at column{1} in expression [{2}].", e, r, this.text) }, readNumber: function () { for (var e = "", t = this.index; this.index < this.text.length;) { var n = d(this.text.charAt(this.index)); if ("." === n || this.isNumber(n)) e += n; else { var r = this.peek(); if ("e" === n && this.isExpOperator(r)) e += n; else if (this.isExpOperator(n) && r && this.isNumber(r) && "e" === e.charAt(e.length - 1)) e += n; else { if (!this.isExpOperator(n) || r && this.isNumber(r) || "e" !== e.charAt(e.length - 1)) break; this.throwError("Invalid exponent") } } this.index++ } this.tokens.push({ index: t, text: e, constant: !0, value: Number(e) }) }, readIdent: function () { var e = this.index; for (this.index += this.peekMultichar().length; this.index < this.text.length;) { var t = this.peekMultichar(); if (!this.isIdentifierContinue(t)) break; this.index += t.length } this.tokens.push({ index: e, text: this.text.slice(e, this.index), identifier: !0 }) }, readString: function (e) { var t = this.index; this.index++; for (var n = "", r = e, i = !1; this.index < this.text.length;) { var o = this.text.charAt(this.index); if (r += o, i) { if ("u" === o) { var a = this.text.substring(this.index + 1, this.index + 5); a.match(/[\da-f]{4}/i) || this.throwError("Invalid unicode escape [\\u" + a + "]"), this.index += 4, n += String.fromCharCode(parseInt(a, 16)) } else { n += xr[o] || o } i = !1 } else if ("\\" === o) i = !0; else { if (o === e) return this.index++, void this.tokens.push({ index: t, text: r, constant: !0, value: n }); n += o } this.index++ } this.throwError("Unterminated quote", t) } }; var kr = function (e, t) { this.lexer = e, this.options = t }; function Ar(e, t) { return void 0 !== e ? e : t } function Er(e, t) { return void 0 === e ? t : void 0 === t ? e : e + t } kr.Program = "Program", kr.ExpressionStatement = "ExpressionStatement", kr.AssignmentExpression = "AssignmentExpression", kr.ConditionalExpression = "ConditionalExpression", kr.LogicalExpression = "LogicalExpression", kr.BinaryExpression = "BinaryExpression", kr.UnaryExpression = "UnaryExpression", kr.CallExpression = "CallExpression", kr.MemberExpression = "MemberExpression", kr.Identifier = "Identifier", kr.Literal = "Literal", kr.ArrayExpression = "ArrayExpression", kr.Property = "Property", kr.ObjectExpression = "ObjectExpression", kr.ThisExpression = "ThisExpression", kr.LocalsExpression = "LocalsExpression", kr.NGValueParameter = "NGValueParameter", kr.prototype = { ast: function (e) { this.text = e, this.tokens = this.lexer.lex(e); var t = this.program(); return 0 !== this.tokens.length && this.throwError("is an unexpected token", this.tokens[0]), t }, program: function () { for (var e = []; ;)if (this.tokens.length > 0 && !this.peek("}", ")", ";", "]") && e.push(this.expressionStatement()), !this.expect(";")) return { type: kr.Program, body: e } }, expressionStatement: function () { return { type: kr.ExpressionStatement, expression: this.filterChain() } }, filterChain: function () { for (var e = this.expression(); this.expect("|");)e = this.filter(e); return e }, expression: function () { return this.assignment() }, assignment: function () { var e = this.ternary(); if (this.expect("=")) { if (!Cr(e)) throw mr("lval", "Trying to assign a value to a non l-value"); e = { type: kr.AssignmentExpression, left: e, right: this.assignment(), operator: "=" } } return e }, ternary: function () { var e, t, n = this.logicalOR(); return this.expect("?") && (e = this.expression(), this.consume(":")) ? (t = this.expression(), { type: kr.ConditionalExpression, test: n, alternate: e, consequent: t }) : n }, logicalOR: function () { for (var e = this.logicalAND(); this.expect("||");)e = { type: kr.LogicalExpression, operator: "||", left: e, right: this.logicalAND() }; return e }, logicalAND: function () { for (var e = this.equality(); this.expect("&&");)e = { type: kr.LogicalExpression, operator: "&&", left: e, right: this.equality() }; return e }, equality: function () { for (var e, t = this.relational(); e = this.expect("==", "!=", "===", "!==");)t = { type: kr.BinaryExpression, operator: e.text, left: t, right: this.relational() }; return t }, relational: function () { for (var e, t = this.additive(); e = this.expect("<", ">", "<=", ">=");)t = { type: kr.BinaryExpression, operator: e.text, left: t, right: this.additive() }; return t }, additive: function () { for (var e, t = this.multiplicative(); e = this.expect("+", "-");)t = { type: kr.BinaryExpression, operator: e.text, left: t, right: this.multiplicative() }; return t }, multiplicative: function () { for (var e, t = this.unary(); e = this.expect("*", "/", "%");)t = { type: kr.BinaryExpression, operator: e.text, left: t, right: this.unary() }; return t }, unary: function () { var e; return (e = this.expect("+", "-", "!")) ? { type: kr.UnaryExpression, operator: e.text, prefix: !0, argument: this.unary() } : this.primary() }, primary: function () { var e, t; for (this.expect("(") ? (e = this.filterChain(), this.consume(")")) : this.expect("[") ? e = this.arrayDeclaration() : this.expect("{") ? e = this.object() : this.selfReferential.hasOwnProperty(this.peek().text) ? e = oe(this.selfReferential[this.consume().text]) : this.options.literals.hasOwnProperty(this.peek().text) ? e = { type: kr.Literal, value: this.options.literals[this.consume().text] } : this.peek().identifier ? e = this.identifier() : this.peek().constant ? e = this.constant() : this.throwError("not a primary expression", this.peek()); t = this.expect("(", "[", ".");)"(" === t.text ? (e = { type: kr.CallExpression, callee: e, arguments: this.parseArguments() }, this.consume(")")) : "[" === t.text ? (e = { type: kr.MemberExpression, object: e, property: this.expression(), computed: !0 }, this.consume("]")) : "." === t.text ? e = { type: kr.MemberExpression, object: e, property: this.identifier(), computed: !1 } : this.throwError("IMPOSSIBLE"); return e }, filter: function (e) { for (var t = [e], n = { type: kr.CallExpression, callee: this.identifier(), arguments: t, filter: !0 }; this.expect(":");)t.push(this.expression()); return n }, parseArguments: function () { var e = []; if (")" !== this.peekToken().text) do { e.push(this.filterChain()) } while (this.expect(",")); return e }, identifier: function () { var e = this.consume(); return e.identifier || this.throwError("is not a valid identifier", e), { type: kr.Identifier, name: e.text } }, constant: function () { return { type: kr.Literal, value: this.consume().value } }, arrayDeclaration: function () { var e = []; if ("]" !== this.peekToken().text) do { if (this.peek("]")) break; e.push(this.expression()) } while (this.expect(",")); return this.consume("]"), { type: kr.ArrayExpression, elements: e } }, object: function () { var e, t = []; if ("}" !== this.peekToken().text) do { if (this.peek("}")) break; e = { type: kr.Property, kind: "init" }, this.peek().constant ? (e.key = this.constant(), e.computed = !1, this.consume(":"), e.value = this.expression()) : this.peek().identifier ? (e.key = this.identifier(), e.computed = !1, this.peek(":") ? (this.consume(":"), e.value = this.expression()) : e.value = e.key) : this.peek("[") ? (this.consume("["), e.key = this.expression(), this.consume("]"), e.computed = !0, this.consume(":"), e.value = this.expression()) : this.throwError("invalid key", this.peek()), t.push(e) } while (this.expect(",")); return this.consume("}"), { type: kr.ObjectExpression, properties: t } }, throwError: function (e, t) { throw mr("syntax", "Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].", t.text, e, t.index + 1, this.text, this.text.substring(t.index)) }, consume: function (e) { if (0 === this.tokens.length) throw mr("ueoe", "Unexpected end of expression: {0}", this.text); var t = this.expect(e); return t || this.throwError("is unexpected, expecting [" + e + "]", this.peek()), t }, peekToken: function () { if (0 === this.tokens.length) throw mr("ueoe", "Unexpected end of expression: {0}", this.text); return this.tokens[0] }, peek: function (e, t, n, r) { return this.peekAhead(0, e, t, n, r) }, peekAhead: function (e, t, n, r, i) { if (this.tokens.length > e) { var o = this.tokens[e], a = o.text; if (a === t || a === n || a === r || a === i || !t && !n && !r && !i) return o } return !1 }, expect: function (e, t, n, r) { var i = this.peek(e, t, n, r); return !!i && (this.tokens.shift(), i) }, selfReferential: { this: { type: kr.ThisExpression }, $locals: { type: kr.LocalsExpression } } }; function Sr(e, t, n) { var r, i, o, a = e.isPure = function (e, t) { switch (e.type) { case kr.MemberExpression: if (e.computed) return !1; break; case kr.UnaryExpression: return 1; case kr.BinaryExpression: return "+" !== e.operator && 1; case kr.CallExpression: return !1 }return void 0 === t ? 2 : t }(e, n); switch (e.type) { case kr.Program: r = !0, k(e.body, (function (e) { Sr(e.expression, t, a), r = r && e.expression.constant })), e.constant = r; break; case kr.Literal: e.constant = !0, e.toWatch = []; break; case kr.UnaryExpression: Sr(e.argument, t, a), e.constant = e.argument.constant, e.toWatch = e.argument.toWatch; break; case kr.BinaryExpression: Sr(e.left, t, a), Sr(e.right, t, a), e.constant = e.left.constant && e.right.constant, e.toWatch = e.left.toWatch.concat(e.right.toWatch); break; case kr.LogicalExpression: Sr(e.left, t, a), Sr(e.right, t, a), e.constant = e.left.constant && e.right.constant, e.toWatch = e.constant ? [] : [e]; break; case kr.ConditionalExpression: Sr(e.test, t, a), Sr(e.alternate, t, a), Sr(e.consequent, t, a), e.constant = e.test.constant && e.alternate.constant && e.consequent.constant, e.toWatch = e.constant ? [] : [e]; break; case kr.Identifier: e.constant = !1, e.toWatch = [e]; break; case kr.MemberExpression: Sr(e.object, t, a), e.computed && Sr(e.property, t, a), e.constant = e.object.constant && (!e.computed || e.property.constant), e.toWatch = e.constant ? [] : [e]; break; case kr.CallExpression: o = !!e.filter && function (e, t) { return !e(t).$stateful }(t, e.callee.name), r = o, i = [], k(e.arguments, (function (e) { Sr(e, t, a), r = r && e.constant, i.push.apply(i, e.toWatch) })), e.constant = r, e.toWatch = o ? i : [e]; break; case kr.AssignmentExpression: Sr(e.left, t, a), Sr(e.right, t, a), e.constant = e.left.constant && e.right.constant, e.toWatch = [e]; break; case kr.ArrayExpression: r = !0, i = [], k(e.elements, (function (e) { Sr(e, t, a), r = r && e.constant, i.push.apply(i, e.toWatch) })), e.constant = r, e.toWatch = i; break; case kr.ObjectExpression: r = !0, i = [], k(e.properties, (function (e) { Sr(e.value, t, a), r = r && e.value.constant, i.push.apply(i, e.value.toWatch), e.computed && (Sr(e.key, t, !1), r = r && e.key.constant, i.push.apply(i, e.key.toWatch)) })), e.constant = r, e.toWatch = i; break; case kr.ThisExpression: case kr.LocalsExpression: e.constant = !1, e.toWatch = [] } } function $r(e) { if (1 === e.length) { var t = e[0].expression, n = t.toWatch; return 1 !== n.length || n[0] !== t ? n : void 0 } } function Cr(e) { return e.type === kr.Identifier || e.type === kr.MemberExpression } function _r(e) { if (1 === e.body.length && Cr(e.body[0].expression)) return { type: kr.AssignmentExpression, left: e.body[0].expression, right: { type: kr.NGValueParameter }, operator: "=" } } function Or(e) { this.$filter = e } function Tr(e) { this.$filter = e } function jr(e, t, n) { this.ast = new kr(e, n), this.astCompiler = n.csp ? new Tr(t) : new Or(t) } function Pr(e) { return G(e.valueOf) ? e.valueOf() : vr.call(e) } function Dr() { var e, t, n = Le(), r = { true: !0, false: !1, null: null, undefined: void 0 }; this.addLiteral = function (e, t) { r[e] = t }, this.setIdentifierFns = function (n, r) { return e = n, t = r, this }, this.$get = ["$filter", function (i) { var o = { csp: le().noUnsafeEval, literals: oe(r), isIdentifierStart: G(e) && e, isIdentifierContinue: G(t) && t }; return a.$$getAst = function (e) { return new jr(new wr(o), i, o).getAst(e).ast }, a; function a(e, t) { var r, a; switch (typeof e) { case "string": if (e = e.trim(), !(r = n[a = e])) r = new jr(new wr(o), i, o).parse(e), n[a] = p(r); return f(r, t); case "function": return f(e, t); default: return f(D, t) } } function s(e, t, n) { return null == e || null == t ? e === t : !("object" == typeof e && "object" == typeof (e = Pr(e)) && !n) && (e === t || e != e && t != t) } function l(e, t, n, r, i) { var o, a = r.inputs; if (1 === a.length) { var l = s; return a = a[0], e.$watch((function (e) { var t = a(e); return s(t, l, a.isPure) || (o = r(e, void 0, void 0, [t]), l = t && Pr(t)), o }), t, n, i) } for (var c = [], u = [], d = 0, p = a.length; d < p; d++)c[d] = s, u[d] = null; return e.$watch((function (e) { for (var t = !1, n = 0, i = a.length; n < i; n++) { var l = a[n](e); (t || (t = !s(l, c[n], a[n].isPure))) && (u[n] = l, c[n] = l && Pr(l)) } return t && (o = r(e, void 0, void 0, u)), o }), t, n, i) } function c(e, t, n, r, i) { var o, a, s = r.literal ? u : z, l = r.$$intercepted || r, c = r.$$interceptor || R, d = r.inputs && !l.inputs; return h.literal = r.literal, h.constant = r.constant, h.inputs = r.inputs, p(h), o = e.$watch(h, t, n, i); function f() { s(a) && o() } function h(e, t, n, r) { return a = d && r ? r[0] : l(e, t, n, r), s(a) && e.$$postDigest(f), c(a) } } function u(e) { var t = !0; return k(e, (function (e) { z(e) || (t = !1) })), t } function d(e, t, n, r) { var i = e.$watch((function (e) { return i(), r(e) }), t, n); return i } function p(e) { return e.constant ? e.$$watchDelegate = d : e.oneTime ? e.$$watchDelegate = c : e.inputs && (e.$$watchDelegate = l), e } function f(e, t) { if (!t) return e; e.$$interceptor && (t = function (e, t) { function n(n) { return t(e(n)) } return n.$stateful = e.$stateful || t.$stateful, n.$$pure = e.$$pure && t.$$pure, n }(e.$$interceptor, t), e = e.$$intercepted); var n = !1, r = function (r, i, o, a) { var s = n && a ? a[0] : e(r, i, o, a); return t(s) }; return r.$$intercepted = e, r.$$interceptor = t, r.literal = e.literal, r.oneTime = e.oneTime, r.constant = e.constant, t.$stateful || (n = !e.inputs, r.inputs = e.inputs ? e.inputs : [e], t.$$pure || (r.inputs = r.inputs.map((function (e) { return 2 === e.isPure ? function (t) { return e(t) } : e })))), p(r) } }] } function Rr() { var e = !0; this.$get = ["$rootScope", "$exceptionHandler", function (t, n) { return Nr((function (e) { t.$evalAsync(e) }), n, e) }], this.errorOnUnhandledRejections = function (t) { return z(t) ? (e = t, this) : e } } function Ir() { var e = !0; this.$get = ["$browser", "$exceptionHandler", function (t, n) { return Nr((function (e) { t.defer(e) }), n, e) }], this.errorOnUnhandledRejections = function (t) { return z(t) ? (e = t, this) : e } } function Nr(e, t, n) { var r = i("$q", TypeError), o = 0, a = []; function s() { return new l } function l() { var e = this.promise = new c; this.resolve = function (t) { p(e, t) }, this.reject = function (t) { f(e, t) }, this.notify = function (t) { g(e, t) } } function c() { this.$$state = { status: 0 } } function u() { for (; !o && a.length;) { var e = a.shift(); if (!Mr(e)) { zr(e); var n = "Possibly unhandled rejection: " + Ve(e.value); H(e.value) ? t(e.value, n) : t(n) } } } function d(r) { !n || r.pending || 2 !== r.status || Mr(r) || (0 === o && 0 === a.length && e(u), a.push(r)), !r.processScheduled && r.pending && (r.processScheduled = !0, ++o, e((function () { !function (r) { var i, a, s; s = r.pending, r.processScheduled = !1, r.pending = void 0; try { for (var l = 0, c = s.length; l < c; ++l) { zr(r), a = s[l][0], i = s[l][r.status]; try { G(i) ? p(a, i(r.value)) : 1 === r.status ? p(a, r.value) : f(a, r.value) } catch (e) { f(a, e), e && !0 === e.$$passToExceptionHandler && t(e) } } } finally { --o, n && 0 === o && e(u) } }(r) }))) } function p(e, t) { e.$$state.status || (t === e ? h(e, r("qcycle", "Expected promise to be resolved with value other than itself '{0}'", t)) : function e(t, n) { var r, i = !1; try { (L(n) || G(n)) && (r = n.then), G(r) ? (t.$$state.status = -1, r.call(n, o, a, (function (e) { g(t, e) }))) : (t.$$state.value = n, t.$$state.status = 1, d(t.$$state)) } catch (e) { a(e) } function o(n) { i || (i = !0, e(t, n)) } function a(e) { i || (i = !0, h(t, e)) } }(e, t)) } function f(e, t) { e.$$state.status || h(e, t) } function h(e, t) { e.$$state.value = t, e.$$state.status = 2, d(e.$$state) } function g(n, r) { var i = n.$$state.pending; n.$$state.status <= 0 && i && i.length && e((function () { for (var e, n, o = 0, a = i.length; o < a; o++) { n = i[o][0], e = i[o][3]; try { g(n, G(e) ? e(r) : r) } catch (e) { t(e) } } })) } function m(e) { var t = new c; return f(t, e), t } function v(e, t, n) { var r = null; try { G(n) && (r = n()) } catch (e) { return m(e) } return Q(r) ? r.then((function () { return t(e) }), m) : t(e) } function b(e, t, n, r) { var i = new c; return p(i, e), i.then(t, n, r) } _(c.prototype, { then: function (e, t, n) { if (M(e) && M(t) && M(n)) return this; var r = new c; return this.$$state.pending = this.$$state.pending || [], this.$$state.pending.push([r, e, t, n]), this.$$state.status > 0 && d(this.$$state), r }, catch: function (e) { return this.then(null, e) }, finally: function (e, t) { return this.then((function (t) { return v(t, y, e) }), (function (t) { return v(t, m, e) }), t) } }); var y = b; function x(e) { if (!G(e)) throw r("norslvr", "Expected resolverFn, got '{0}'", e); var t = new c; return e((function (e) { p(t, e) }), (function (e) { f(t, e) })), t } return x.prototype = c.prototype, x.defer = s, x.reject = m, x.when = b, x.resolve = y, x.all = function (e) { var t = new c, n = 0, r = U(e) ? [] : {}; return k(e, (function (e, i) { n++, b(e).then((function (e) { r[i] = e, --n || p(t, r) }), (function (e) { f(t, e) })) })), 0 === n && p(t, r), t }, x.race = function (e) { var t = s(); return k(e, (function (e) { b(e).then(t.resolve, t.reject) })), t.promise }, x } function Mr(e) { return !!e.pur } function zr(e) { e.pur = !0 } function Lr(e) { e.$$state && zr(e.$$state) } function Br() { this.$get = ["$window", "$timeout", function (e, t) { var n = e.requestAnimationFrame || e.webkitRequestAnimationFrame, r = e.cancelAnimationFrame || e.webkitCancelAnimationFrame || e.webkitCancelRequestAnimationFrame, i = !!n, o = i ? function (e) { var t = n(e); return function () { r(t) } } : function (e) { var n = t(e, 16.66, !1); return function () { t.cancel(n) } }; return o.supported = i, o }] } function Fr() { var e = 10, t = i("$rootScope"), n = null, r = null; this.digestTtl = function (t) { return arguments.length && (e = t), e }, this.$get = ["$exceptionHandler", "$parse", "$browser", function (i, a, s) { function l(e) { e.currentScope.$$destroyed = !0 } function c() { this.$id = S(), this.$$phase = this.$parent = this.$$watchers = this.$$nextSibling = this.$$prevSibling = this.$$childHead = this.$$childTail = null, this.$root = this, this.$$destroyed = !1, this.$$suspended = !1, this.$$listeners = {}, this.$$listenerCount = {}, this.$$watchersCount = 0, this.$$isolateBindings = null } c.prototype = { constructor: c, $new: function (e, t) { var n; return t = t || this, e ? (n = new c).$root = this.$root : (this.$$ChildScope || (this.$$ChildScope = function (e) { function t() { this.$$watchers = this.$$nextSibling = this.$$childHead = this.$$childTail = null, this.$$listeners = {}, this.$$listenerCount = {}, this.$$watchersCount = 0, this.$id = S(), this.$$ChildScope = null, this.$$suspended = !1 } return t.prototype = e, t }(this)), n = new this.$$ChildScope), n.$parent = t, n.$$prevSibling = t.$$childTail, t.$$childHead ? (t.$$childTail.$$nextSibling = n, t.$$childTail = n) : t.$$childHead = t.$$childTail = n, (e || t !== this) && n.$on("$destroy", l), n }, $watch: function (e, t, r, i) { var o = a(e), s = G(t) ? t : D; if (o.$$watchDelegate) return o.$$watchDelegate(this, s, r, o, e); var l = this, c = l.$$watchers, u = { fn: s, last: x, get: o, exp: i || e, eq: !!r }; return n = null, c || ((c = l.$$watchers = []).$$digestWatchIndex = -1), c.unshift(u), c.$$digestWatchIndex++, b(this, 1), function () { var e = ie(c, u); e >= 0 && (b(l, -1), e < c.$$digestWatchIndex && c.$$digestWatchIndex--), n = null } }, $watchGroup: function (e, t) { var n = new Array(e.length), r = new Array(e.length), i = [], o = this, a = !1, s = !0; if (!e.length) { var l = !0; return o.$evalAsync((function () { l && t(r, r, o) })), function () { l = !1 } } if (1 === e.length) return this.$watch(e[0], (function (e, i, o) { r[0] = e, n[0] = i, t(r, e === i ? r : n, o) })); function c() { a = !1; try { s ? (s = !1, t(r, r, o)) : t(r, n, o) } finally { for (var i = 0; i < e.length; i++)n[i] = r[i] } } return k(e, (function (e, t) { var n = o.$watch(e, (function (e) { r[t] = e, a || (a = !0, o.$evalAsync(c)) })); i.push(n) })), function () { for (; i.length;)i.shift()() } }, $watchCollection: function (e, t) { g.$$pure = a(e).literal, g.$stateful = !g.$$pure; var n, r, i, o = this, s = t.length > 1, l = 0, c = a(e, g), d = [], p = {}, f = !0, h = 0; function g(e) { var t, i, o, a; if (!M(n = e)) { if (L(n)) if (w(n)) { r !== d && (h = (r = d).length = 0, l++), t = n.length, h !== t && (l++, r.length = h = t); for (var s = 0; s < t; s++)a = r[s], o = n[s], a != a && o != o || a === o || (l++, r[s] = o) } else { for (i in r !== p && (r = p = {}, h = 0, l++), t = 0, n) u.call(n, i) && (t++, o = n[i], a = r[i], i in r ? a != a && o != o || a === o || (l++, r[i] = o) : (h++, r[i] = o, l++)); if (h > t) for (i in l++, r) u.call(n, i) || (h--, delete r[i]) } else r !== n && (r = n, l++); return l } } return this.$watch(c, (function () { if (f ? (f = !1, t(n, n, o)) : t(n, i, o), s) if (L(n)) if (w(n)) { i = new Array(n.length); for (var e = 0; e < n.length; e++)i[e] = n[e] } else for (var r in i = {}, n) u.call(n, r) && (i[r] = n[r]); else i = n })) }, $digest: function () { var o, a, l, c, u, h, b, y, w, k = e, E = p.length ? d : this, S = []; m("$digest"), s.$$checkUrlChange(), this === d && null !== r && (s.defer.cancel(r), A()), n = null; do { u = !1, b = E; for (var $ = 0; $ < p.length; $++) { try { (0, (w = p[$]).fn)(w.scope, w.locals) } catch (e) { i(e) } n = null } p.length = 0; e: do { if (c = !b.$$suspended && b.$$watchers) for (c.$$digestWatchIndex = c.length; c.$$digestWatchIndex--;)try { if (o = c[c.$$digestWatchIndex]) if ((a = (0, o.get)(b)) === (l = o.last) || (o.eq ? se(a, l) : j(a) && j(l))) { if (o === n) { u = !1; break e } } else u = !0, n = o, o.last = o.eq ? oe(a, null) : a, (0, o.fn)(a, l === x ? a : l, b), k < 5 && (S[y = 4 - k] || (S[y] = []), S[y].push({ msg: G(o.exp) ? "fn: " + (o.exp.name || o.exp.toString()) : o.exp, newVal: a, oldVal: l })) } catch (e) { i(e) } if (!(h = !b.$$suspended && b.$$watchersCount && b.$$childHead || b !== E && b.$$nextSibling)) for (; b !== E && !(h = b.$$nextSibling);)b = b.$parent } while (b = h); if ((u || p.length) && !k--) throw v(), t("infdig", "{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}", e, S) } while (u || p.length); for (v(); g < f.length;)try { f[g++]() } catch (e) { i(e) } f.length = g = 0, s.$$checkUrlChange() }, $suspend: function () { this.$$suspended = !0 }, $isSuspended: function () { return this.$$suspended }, $resume: function () { this.$$suspended = !1 }, $destroy: function () { if (!this.$$destroyed) { var e = this.$parent; for (var t in this.$broadcast("$destroy"), this.$$destroyed = !0, this === d && s.$$applicationDestroyed(), b(this, -this.$$watchersCount), this.$$listenerCount) y(this, this.$$listenerCount[t], t); e && e.$$childHead === this && (e.$$childHead = this.$$nextSibling), e && e.$$childTail === this && (e.$$childTail = this.$$prevSibling), this.$$prevSibling && (this.$$prevSibling.$$nextSibling = this.$$nextSibling), this.$$nextSibling && (this.$$nextSibling.$$prevSibling = this.$$prevSibling), this.$destroy = this.$digest = this.$apply = this.$evalAsync = this.$applyAsync = D, this.$on = this.$watch = this.$watchGroup = function () { return D }, this.$$listeners = {}, this.$$nextSibling = null, function e(t) { 9 === o && (t.$$childHead && e(t.$$childHead), t.$$nextSibling && e(t.$$nextSibling)), t.$parent = t.$$nextSibling = t.$$prevSibling = t.$$childHead = t.$$childTail = t.$root = t.$$watchers = null }(this) } }, $eval: function (e, t) { return a(e)(this, t) }, $evalAsync: function (e, t) { d.$$phase || p.length || s.defer((function () { p.length && d.$digest() }), null, "$evalAsync"), p.push({ scope: this, fn: a(e), locals: t }) }, $$postDigest: function (e) { f.push(e) }, $apply: function (e) { try { m("$apply"); try { return this.$eval(e) } finally { v() } } catch (e) { i(e) } finally { try { d.$digest() } catch (e) { throw i(e), e } } }, $applyAsync: function (e) { var t = this; e && h.push((function () { t.$eval(e) })), e = a(e), null === r && (r = s.defer((function () { d.$apply(A) }), null, "$applyAsync")) }, $on: function (e, t) { var n = this.$$listeners[e]; n || (this.$$listeners[e] = n = []), n.push(t); var r = this; do { r.$$listenerCount[e] || (r.$$listenerCount[e] = 0), r.$$listenerCount[e]++ } while (r = r.$parent); var i = this; return function () { var r = n.indexOf(t); -1 !== r && (delete n[r], y(i, 1, e)) } }, $emit: function (e, t) { var n, r, o, a = [], s = this, l = !1, c = { name: e, targetScope: s, stopPropagation: function () { l = !0 }, preventDefault: function () { c.defaultPrevented = !0 }, defaultPrevented: !1 }, u = ue([c], arguments, 1); do { for (n = s.$$listeners[e] || a, c.currentScope = s, r = 0, o = n.length; r < o; r++)if (n[r]) try { n[r].apply(null, u) } catch (e) { i(e) } else n.splice(r, 1), r--, o--; if (l) break; s = s.$parent } while (s); return c.currentScope = null, c }, $broadcast: function (e, t) { var n = this, r = n, o = n, a = { name: e, targetScope: n, preventDefault: function () { a.defaultPrevented = !0 }, defaultPrevented: !1 }; if (!n.$$listenerCount[e]) return a; for (var s, l, c, u = ue([a], arguments, 1); r = o;) { for (a.currentScope = r, l = 0, c = (s = r.$$listeners[e] || []).length; l < c; l++)if (s[l]) try { s[l].apply(null, u) } catch (e) { i(e) } else s.splice(l, 1), l--, c--; if (!(o = r.$$listenerCount[e] && r.$$childHead || r !== n && r.$$nextSibling)) for (; r !== n && !(o = r.$$nextSibling);)r = r.$parent } return a.currentScope = null, a } }; var d = new c, p = d.$$asyncQueue = [], f = d.$$postDigestQueue = [], h = d.$$applyAsyncQueue = [], g = 0; return d; function m(e) { if (d.$$phase) throw t("inprog", "{0} already in progress", d.$$phase); d.$$phase = e } function v() { d.$$phase = null } function b(e, t) { do { e.$$watchersCount += t } while (e = e.$parent) } function y(e, t, n) { do { e.$$listenerCount[n] -= t, 0 === e.$$listenerCount[n] && delete e.$$listenerCount[n] } while (e = e.$parent) } function x() { } function A() { for (; h.length;)try { h.shift()() } catch (e) { i(e) } r = null } }] } function qr() { var e = /^\s*(https?|s?ftp|mailto|tel|file):/, t = /^\s*((https?|ftp|file|blob):|data:image\/)/; this.aHrefSanitizationTrustedUrlList = function (t) { return z(t) ? (e = t, this) : e }, this.imgSrcSanitizationTrustedUrlList = function (e) { return z(e) ? (t = e, this) : t }, this.$get = function () { return function (n, r) { var i = r ? t : e, o = li(n && n.trim()).href; return "" === o || o.match(i) ? n : "unsafe:" + o } } } Or.prototype = { compile: function (e) { var t = this; this.state = { nextId: 0, filters: {}, fn: { vars: [], body: [], own: {} }, assign: { vars: [], body: [], own: {} }, inputs: [] }, Sr(e, t.$filter); var n, r = ""; if (this.stage = "assign", n = _r(e)) { this.state.computing = "assign"; var i = this.nextId(); this.recurse(n, i), this.return_(i), r = "fn.assign=" + this.generateFunction("assign", "s,v,l") } var o = $r(e.body); t.stage = "inputs", k(o, (function (e, n) { var r = "fn" + n; t.state[r] = { vars: [], body: [], own: {} }, t.state.computing = r; var i = t.nextId(); t.recurse(e, i), t.return_(i), t.state.inputs.push({ name: r, isPure: e.isPure }), e.watchId = n })), this.state.computing = "fn", this.stage = "main", this.recurse(e); var a = '"' + this.USE + " " + this.STRICT + '";\n' + this.filterPrefix() + "var fn=" + this.generateFunction("fn", "s,l,a,i") + r + this.watchFns() + "return fn;", s = new Function("$filter", "getStringValue", "ifDefined", "plus", a)(this.$filter, br, Ar, Er); return this.state = this.stage = void 0, s }, USE: "use", STRICT: "strict", watchFns: function () { var e = [], t = this.state.inputs, n = this; return k(t, (function (t) { e.push("var " + t.name + "=" + n.generateFunction(t.name, "s")), t.isPure && e.push(t.name, ".isPure=" + JSON.stringify(t.isPure) + ";") })), t.length && e.push("fn.inputs=[" + t.map((function (e) { return e.name })).join(",") + "];"), e.join("") }, generateFunction: function (e, t) { return "function(" + t + "){" + this.varsPrefix(e) + this.body(e) + "};" }, filterPrefix: function () { var e = [], t = this; return k(this.state.filters, (function (n, r) { e.push(n + "=$filter(" + t.escape(r) + ")") })), e.length ? "var " + e.join(",") + ";" : "" }, varsPrefix: function (e) { return this.state[e].vars.length ? "var " + this.state[e].vars.join(",") + ";" : "" }, body: function (e) { return this.state[e].body.join("") }, recurse: function (e, t, n, r, i, o) { var a, s, l, c, u, d = this; if (r = r || D, !o && z(e.watchId)) return t = t || this.nextId(), void this.if_("i", this.lazyAssign(t, this.computedMember("i", e.watchId)), this.lazyRecurse(e, t, n, r, i, !0)); switch (e.type) { case kr.Program: k(e.body, (function (t, n) { d.recurse(t.expression, void 0, void 0, (function (e) { s = e })), n !== e.body.length - 1 ? d.current().body.push(s, ";") : d.return_(s) })); break; case kr.Literal: c = this.escape(e.value), this.assign(t, c), r(t || c); break; case kr.UnaryExpression: this.recurse(e.argument, void 0, void 0, (function (e) { s = e })), c = e.operator + "(" + this.ifDefined(s, 0) + ")", this.assign(t, c), r(c); break; case kr.BinaryExpression: this.recurse(e.left, void 0, void 0, (function (e) { a = e })), this.recurse(e.right, void 0, void 0, (function (e) { s = e })), c = "+" === e.operator ? this.plus(a, s) : "-" === e.operator ? this.ifDefined(a, 0) + e.operator + this.ifDefined(s, 0) : "(" + a + ")" + e.operator + "(" + s + ")", this.assign(t, c), r(c); break; case kr.LogicalExpression: t = t || this.nextId(), d.recurse(e.left, t), d.if_("&&" === e.operator ? t : d.not(t), d.lazyRecurse(e.right, t)), r(t); break; case kr.ConditionalExpression: t = t || this.nextId(), d.recurse(e.test, t), d.if_(t, d.lazyRecurse(e.alternate, t), d.lazyRecurse(e.consequent, t)), r(t); break; case kr.Identifier: t = t || this.nextId(), n && (n.context = "inputs" === d.stage ? "s" : this.assign(this.nextId(), this.getHasOwnProperty("l", e.name) + "?l:s"), n.computed = !1, n.name = e.name), d.if_("inputs" === d.stage || d.not(d.getHasOwnProperty("l", e.name)), (function () { d.if_("inputs" === d.stage || "s", (function () { i && 1 !== i && d.if_(d.isNull(d.nonComputedMember("s", e.name)), d.lazyAssign(d.nonComputedMember("s", e.name), "{}")), d.assign(t, d.nonComputedMember("s", e.name)) })) }), t && d.lazyAssign(t, d.nonComputedMember("l", e.name))), r(t); break; case kr.MemberExpression: a = n && (n.context = this.nextId()) || this.nextId(), t = t || this.nextId(), d.recurse(e.object, a, void 0, (function () { d.if_(d.notNull(a), (function () { e.computed ? (s = d.nextId(), d.recurse(e.property, s), d.getStringValue(s), i && 1 !== i && d.if_(d.not(d.computedMember(a, s)), d.lazyAssign(d.computedMember(a, s), "{}")), c = d.computedMember(a, s), d.assign(t, c), n && (n.computed = !0, n.name = s)) : (i && 1 !== i && d.if_(d.isNull(d.nonComputedMember(a, e.property.name)), d.lazyAssign(d.nonComputedMember(a, e.property.name), "{}")), c = d.nonComputedMember(a, e.property.name), d.assign(t, c), n && (n.computed = !1, n.name = e.property.name)) }), (function () { d.assign(t, "undefined") })), r(t) }), !!i); break; case kr.CallExpression: t = t || this.nextId(), e.filter ? (s = d.filter(e.callee.name), l = [], k(e.arguments, (function (e) { var t = d.nextId(); d.recurse(e, t), l.push(t) })), c = s + "(" + l.join(",") + ")", d.assign(t, c), r(t)) : (s = d.nextId(), a = {}, l = [], d.recurse(e.callee, s, a, (function () { d.if_(d.notNull(s), (function () { k(e.arguments, (function (t) { d.recurse(t, e.constant ? void 0 : d.nextId(), void 0, (function (e) { l.push(e) })) })), c = a.name ? d.member(a.context, a.name, a.computed) + "(" + l.join(",") + ")" : s + "(" + l.join(",") + ")", d.assign(t, c) }), (function () { d.assign(t, "undefined") })), r(t) }))); break; case kr.AssignmentExpression: s = this.nextId(), a = {}, this.recurse(e.left, void 0, a, (function () { d.if_(d.notNull(a.context), (function () { d.recurse(e.right, s), c = d.member(a.context, a.name, a.computed) + e.operator + s, d.assign(t, c), r(t || c) })) }), 1); break; case kr.ArrayExpression: l = [], k(e.elements, (function (t) { d.recurse(t, e.constant ? void 0 : d.nextId(), void 0, (function (e) { l.push(e) })) })), c = "[" + l.join(",") + "]", this.assign(t, c), r(t || c); break; case kr.ObjectExpression: l = [], u = !1, k(e.properties, (function (e) { e.computed && (u = !0) })), u ? (t = t || this.nextId(), this.assign(t, "{}"), k(e.properties, (function (e) { e.computed ? (a = d.nextId(), d.recurse(e.key, a)) : a = e.key.type === kr.Identifier ? e.key.name : "" + e.key.value, s = d.nextId(), d.recurse(e.value, s), d.assign(d.member(t, a, e.computed), s) }))) : (k(e.properties, (function (t) { d.recurse(t.value, e.constant ? void 0 : d.nextId(), void 0, (function (e) { l.push(d.escape(t.key.type === kr.Identifier ? t.key.name : "" + t.key.value) + ":" + e) })) })), c = "{" + l.join(",") + "}", this.assign(t, c)), r(t || c); break; case kr.ThisExpression: this.assign(t, "s"), r(t || "s"); break; case kr.LocalsExpression: this.assign(t, "l"), r(t || "l"); break; case kr.NGValueParameter: this.assign(t, "v"), r(t || "v") } }, getHasOwnProperty: function (e, t) { var n = e + "." + t, r = this.current().own; return r.hasOwnProperty(n) || (r[n] = this.nextId(!1, e + "&&(" + this.escape(t) + " in " + e + ")")), r[n] }, assign: function (e, t) { if (e) return this.current().body.push(e, "=", t, ";"), e }, filter: function (e) { return this.state.filters.hasOwnProperty(e) || (this.state.filters[e] = this.nextId(!0)), this.state.filters[e] }, ifDefined: function (e, t) { return "ifDefined(" + e + "," + this.escape(t) + ")" }, plus: function (e, t) { return "plus(" + e + "," + t + ")" }, return_: function (e) { this.current().body.push("return ", e, ";") }, if_: function (e, t, n) { if (!0 === e) t(); else { var r = this.current().body; r.push("if(", e, "){"), t(), r.push("}"), n && (r.push("else{"), n(), r.push("}")) } }, not: function (e) { return "!(" + e + ")" }, isNull: function (e) { return e + "==null" }, notNull: function (e) { return e + "!=null" }, nonComputedMember: function (e, t) { return /^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(t) ? e + "." + t : e + '["' + t.replace(/[^$_a-zA-Z0-9]/g, this.stringEscapeFn) + '"]' }, computedMember: function (e, t) { return e + "[" + t + "]" }, member: function (e, t, n) { return n ? this.computedMember(e, t) : this.nonComputedMember(e, t) }, getStringValue: function (e) { this.assign(e, "getStringValue(" + e + ")") }, lazyRecurse: function (e, t, n, r, i, o) { var a = this; return function () { a.recurse(e, t, n, r, i, o) } }, lazyAssign: function (e, t) { var n = this; return function () { n.assign(e, t) } }, stringEscapeRegex: /[^ a-zA-Z0-9]/g, stringEscapeFn: function (e) { return "\\u" + ("0000" + e.charCodeAt(0).toString(16)).slice(-4) }, escape: function (e) { if (F(e)) return "'" + e.replace(this.stringEscapeRegex, this.stringEscapeFn) + "'"; if (q(e)) return e.toString(); if (!0 === e) return "true"; if (!1 === e) return "false"; if (null === e) return "null"; if (void 0 === e) return "undefined"; throw mr("esc", "IMPOSSIBLE") }, nextId: function (e, t) { var n = "v" + this.state.nextId++; return e || this.current().vars.push(n + (t ? "=" + t : "")), n }, current: function () { return this.state[this.state.computing] } }, Tr.prototype = { compile: function (e) { var t, n, r = this; Sr(e, r.$filter), (t = _r(e)) && (n = this.recurse(t)); var i, o = $r(e.body); o && (i = [], k(o, (function (e, t) { var n = r.recurse(e); n.isPure = e.isPure, e.input = n, i.push(n), e.watchId = t }))); var a = []; k(e.body, (function (e) { a.push(r.recurse(e.expression)) })); var s = 0 === e.body.length ? D : 1 === e.body.length ? a[0] : function (e, t) { var n; return k(a, (function (r) { n = r(e, t) })), n }; return n && (s.assign = function (e, t, r) { return n(e, r, t) }), i && (s.inputs = i), s }, recurse: function (e, t, n) { var r, i, o, a = this; if (e.input) return this.inputs(e.input, e.watchId); switch (e.type) { case kr.Literal: return this.value(e.value, t); case kr.UnaryExpression: return i = this.recurse(e.argument), this["unary" + e.operator](i, t); case kr.BinaryExpression: case kr.LogicalExpression: return r = this.recurse(e.left), i = this.recurse(e.right), this["binary" + e.operator](r, i, t); case kr.ConditionalExpression: return this["ternary?:"](this.recurse(e.test), this.recurse(e.alternate), this.recurse(e.consequent), t); case kr.Identifier: return a.identifier(e.name, t, n); case kr.MemberExpression: return r = this.recurse(e.object, !1, !!n), e.computed || (i = e.property.name), e.computed && (i = this.recurse(e.property)), e.computed ? this.computedMember(r, i, t, n) : this.nonComputedMember(r, i, t, n); case kr.CallExpression: return o = [], k(e.arguments, (function (e) { o.push(a.recurse(e)) })), e.filter && (i = this.$filter(e.callee.name)), e.filter || (i = this.recurse(e.callee, !0)), e.filter ? function (e, n, r, a) { for (var s = [], l = 0; l < o.length; ++l)s.push(o[l](e, n, r, a)); var c = i.apply(void 0, s, a); return t ? { context: void 0, name: void 0, value: c } : c } : function (e, n, r, a) { var s, l = i(e, n, r, a); if (null != l.value) { for (var c = [], u = 0; u < o.length; ++u)c.push(o[u](e, n, r, a)); s = l.value.apply(l.context, c) } return t ? { value: s } : s }; case kr.AssignmentExpression: return r = this.recurse(e.left, !0, 1), i = this.recurse(e.right), function (e, n, o, a) { var s = r(e, n, o, a), l = i(e, n, o, a); return s.context[s.name] = l, t ? { value: l } : l }; case kr.ArrayExpression: return o = [], k(e.elements, (function (e) { o.push(a.recurse(e)) })), function (e, n, r, i) { for (var a = [], s = 0; s < o.length; ++s)a.push(o[s](e, n, r, i)); return t ? { value: a } : a }; case kr.ObjectExpression: return o = [], k(e.properties, (function (e) { e.computed ? o.push({ key: a.recurse(e.key), computed: !0, value: a.recurse(e.value) }) : o.push({ key: e.key.type === kr.Identifier ? e.key.name : "" + e.key.value, computed: !1, value: a.recurse(e.value) }) })), function (e, n, r, i) { for (var a = {}, s = 0; s < o.length; ++s)o[s].computed ? a[o[s].key(e, n, r, i)] = o[s].value(e, n, r, i) : a[o[s].key] = o[s].value(e, n, r, i); return t ? { value: a } : a }; case kr.ThisExpression: return function (e) { return t ? { value: e } : e }; case kr.LocalsExpression: return function (e, n) { return t ? { value: n } : n }; case kr.NGValueParameter: return function (e, n, r) { return t ? { value: r } : r } } }, "unary+": function (e, t) { return function (n, r, i, o) { var a = e(n, r, i, o); return a = z(a) ? +a : 0, t ? { value: a } : a } }, "unary-": function (e, t) { return function (n, r, i, o) { var a = e(n, r, i, o); return a = z(a) ? -a : -0, t ? { value: a } : a } }, "unary!": function (e, t) { return function (n, r, i, o) { var a = !e(n, r, i, o); return t ? { value: a } : a } }, "binary+": function (e, t, n) { return function (r, i, o, a) { var s = Er(e(r, i, o, a), t(r, i, o, a)); return n ? { value: s } : s } }, "binary-": function (e, t, n) { return function (r, i, o, a) { var s = e(r, i, o, a), l = t(r, i, o, a), c = (z(s) ? s : 0) - (z(l) ? l : 0); return n ? { value: c } : c } }, "binary*": function (e, t, n) { return function (r, i, o, a) { var s = e(r, i, o, a) * t(r, i, o, a); return n ? { value: s } : s } }, "binary/": function (e, t, n) { return function (r, i, o, a) { var s = e(r, i, o, a) / t(r, i, o, a); return n ? { value: s } : s } }, "binary%": function (e, t, n) { return function (r, i, o, a) { var s = e(r, i, o, a) % t(r, i, o, a); return n ? { value: s } : s } }, "binary===": function (e, t, n) { return function (r, i, o, a) { var s = e(r, i, o, a) === t(r, i, o, a); return n ? { value: s } : s } }, "binary!==": function (e, t, n) { return function (r, i, o, a) { var s = e(r, i, o, a) !== t(r, i, o, a); return n ? { value: s } : s } }, "binary==": function (e, t, n) { return function (r, i, o, a) { var s = e(r, i, o, a) == t(r, i, o, a); return n ? { value: s } : s } }, "binary!=": function (e, t, n) { return function (r, i, o, a) { var s = e(r, i, o, a) != t(r, i, o, a); return n ? { value: s } : s } }, "binary<": function (e, t, n) { return function (r, i, o, a) { var s = e(r, i, o, a) < t(r, i, o, a); return n ? { value: s } : s } }, "binary>": function (e, t, n) { return function (r, i, o, a) { var s = e(r, i, o, a) > t(r, i, o, a); return n ? { value: s } : s } }, "binary<=": function (e, t, n) { return function (r, i, o, a) { var s = e(r, i, o, a) <= t(r, i, o, a); return n ? { value: s } : s } }, "binary>=": function (e, t, n) { return function (r, i, o, a) { var s = e(r, i, o, a) >= t(r, i, o, a); return n ? { value: s } : s } }, "binary&&": function (e, t, n) { return function (r, i, o, a) { var s = e(r, i, o, a) && t(r, i, o, a); return n ? { value: s } : s } }, "binary||": function (e, t, n) { return function (r, i, o, a) { var s = e(r, i, o, a) || t(r, i, o, a); return n ? { value: s } : s } }, "ternary?:": function (e, t, n, r) { return function (i, o, a, s) { var l = e(i, o, a, s) ? t(i, o, a, s) : n(i, o, a, s); return r ? { value: l } : l } }, value: function (e, t) { return function () { return t ? { context: void 0, name: void 0, value: e } : e } }, identifier: function (e, t, n) { return function (r, i, o, a) { var s = i && e in i ? i : r; n && 1 !== n && s && null == s[e] && (s[e] = {}); var l = s ? s[e] : void 0; return t ? { context: s, name: e, value: l } : l } }, computedMember: function (e, t, n, r) { return function (i, o, a, s) { var l, c, u = e(i, o, a, s); return null != u && (l = br(l = t(i, o, a, s)), r && 1 !== r && u && !u[l] && (u[l] = {}), c = u[l]), n ? { context: u, name: l, value: c } : c } }, nonComputedMember: function (e, t, n, r) { return function (i, o, a, s) { var l = e(i, o, a, s); r && 1 !== r && l && null == l[t] && (l[t] = {}); var c = null != l ? l[t] : void 0; return n ? { context: l, name: t, value: c } : c } }, inputs: function (e, t) { return function (n, r, i, o) { return o ? o[t] : e(n, r, i) } } }, jr.prototype = { constructor: jr, parse: function (e) { var t = this.getAst(e), n = this.astCompiler.compile(t.ast); return n.literal = function (e) { return 0 === e.body.length || 1 === e.body.length && (e.body[0].expression.type === kr.Literal || e.body[0].expression.type === kr.ArrayExpression || e.body[0].expression.type === kr.ObjectExpression) }(t.ast), n.constant = function (e) { return e.constant }(t.ast), n.oneTime = t.oneTime, n }, getAst: function (e) { var t = !1; return ":" === (e = e.trim()).charAt(0) && ":" === e.charAt(1) && (t = !0, e = e.substring(2)), { ast: this.ast.ast(e), oneTime: t } } }; var Vr = i("$sce"), Ur = { HTML: "html", CSS: "css", MEDIA_URL: "mediaUrl", URL: "url", RESOURCE_URL: "resourceUrl", JS: "js" }, Hr = /_([a-z])/g; function Gr(e) { return e.replace(Hr, Qe) } function Wr(e) { var t = []; return z(e) && k(e, (function (e) { t.push(function (e) { if ("self" === e) return e; if (F(e)) { if (e.indexOf("***") > -1) throw Vr("iwcard", "Illegal sequence *** in string matcher. String: {0}", e); return e = ee(e).replace(/\\\*\\\*/g, ".*").replace(/\\\*/g, "[^:/.?&;]*"), new RegExp("^" + e + "$") } if (W(e)) return new RegExp("^" + e.source + "$"); throw Vr("imatcher", 'Matchers may only be "self", string patterns or RegExp objects') }(e)) })), t } function Yr() { this.SCE_CONTEXTS = Ur; var t = ["self"], n = []; this.trustedResourceUrlList = function (e) { return arguments.length && (t = Wr(e)), t }, Object.defineProperty(this, "resourceUrlWhitelist", { get: function () { return this.trustedResourceUrlList }, set: function (e) { this.trustedResourceUrlList = e } }), this.bannedResourceUrlList = function (e) { return arguments.length && (n = Wr(e)), n }, Object.defineProperty(this, "resourceUrlBlacklist", { get: function () { return this.bannedResourceUrlList }, set: function (e) { this.bannedResourceUrlList = e } }), this.$get = ["$injector", "$$sanitizeUri", function (r, i) { var o = function (e) { throw Vr("unsafe", "Attempting to use an unsafe value in a safe context.") }; function a(t, n) { return "self" === t ? ci(n, ai) || function (t) { return ci(t, function () { if (e.document.baseURI) return e.document.baseURI; ii || ((ii = e.document.createElement("a")).href = ".", ii = ii.cloneNode(!1)); return ii.href }()) }(n) : !!t.exec(n.href) } function s(e) { var t = function (e) { this.$$unwrapTrustedValue = function () { return e } }; return e && (t.prototype = new e), t.prototype.valueOf = function () { return this.$$unwrapTrustedValue() }, t.prototype.toString = function () { return this.$$unwrapTrustedValue().toString() }, t } r.has("$sanitize") && (o = r.get("$sanitize")); var l = s(), c = {}; return c[Ur.HTML] = s(l), c[Ur.CSS] = s(l), c[Ur.MEDIA_URL] = s(l), c[Ur.URL] = s(c[Ur.MEDIA_URL]), c[Ur.JS] = s(l), c[Ur.RESOURCE_URL] = s(c[Ur.URL]), { trustAs: function (e, t) { var n = c.hasOwnProperty(e) ? c[e] : null; if (!n) throw Vr("icontext", "Attempted to trust a value in invalid context. Context: {0}; Value: {1}", e, t); if (null === t || M(t) || "" === t) return t; if ("string" != typeof t) throw Vr("itype", "Attempted to trust a non-string value in a content requiring a string: Context: {0}", e); return new n(t) }, getTrusted: function (e, r) { if (null === r || M(r) || "" === r) return r; var s = c.hasOwnProperty(e) ? c[e] : null; if (s && r instanceof s) return r.$$unwrapTrustedValue(); if (G(r.$$unwrapTrustedValue) && (r = r.$$unwrapTrustedValue()), e === Ur.MEDIA_URL || e === Ur.URL) return i(r.toString(), e === Ur.MEDIA_URL); if (e === Ur.RESOURCE_URL) { if (function (e) { var r, i, o = li(e.toString()), s = !1; for (r = 0, i = t.length; r < i; r++)if (a(t[r], o)) { s = !0; break } if (s) for (r = 0, i = n.length; r < i; r++)if (a(n[r], o)) { s = !1; break } return s }(r)) return r; throw Vr("insecurl", "Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}", r.toString()) } if (e === Ur.HTML) return o(r); throw Vr("unsafe", "Attempting to use an unsafe value in a safe context.") }, valueOf: function (e) { return e instanceof l ? e.$$unwrapTrustedValue() : e } } }] } function Xr() { var e = !0; this.enabled = function (t) { return arguments.length && (e = !!t), e }, this.$get = ["$parse", "$sceDelegate", function (t, n) { if (e && o < 8) throw Vr("iequirks", "Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode. You can fix this by adding the text <!doctype html> to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information."); var r = qe(Ur); r.isEnabled = function () { return e }, r.trustAs = n.trustAs, r.getTrusted = n.getTrusted, r.valueOf = n.valueOf, e || (r.trustAs = r.getTrusted = function (e, t) { return t }, r.valueOf = R), r.parseAs = function (e, n) { var i = t(n); return i.literal && i.constant ? i : t(n, (function (t) { return r.getTrusted(e, t) })) }; var i = r.parseAs, a = r.getTrusted, s = r.trustAs; return k(Ur, (function (e, t) { var n = d(t); r[Gr("parse_as_" + n)] = function (t) { return i(e, t) }, r[Gr("get_trusted_" + n)] = function (t) { return a(e, t) }, r[Gr("trust_as_" + n)] = function (t) { return s(e, t) } })), r }] } function Zr() { this.$get = ["$window", "$document", function (e, t) { var n = {}, r = !(!(e.nw && e.nw.process) && e.chrome && (e.chrome.app && e.chrome.app.runtime || !e.chrome.app && e.chrome.runtime && e.chrome.runtime.id)) && e.history && e.history.pushState, i = T((/android (\d+)/.exec(d((e.navigator || {}).userAgent)) || [])[1]), a = /Boxee/i.test((e.navigator || {}).userAgent), s = t[0] || {}, l = s.body && s.body.style, c = !1, u = !1; return l && (c = !(!("transition" in l) && !("webkitTransition" in l)), u = !(!("animation" in l) && !("webkitAnimation" in l))), { history: !(!r || i < 4 || a), hasEvent: function (e) { if ("input" === e && o) return !1; if (M(n[e])) { var t = s.createElement("div"); n[e] = "on" + e in t } return n[e] }, csp: le(), transitions: c, animations: u, android: i } }] } function Qr() { this.$get = I((function (e) { return new Jr(e) })) } function Jr(e) { var t = {}, n = [], r = this.ALL_TASKS_TYPE = "$$all$$", i = this.DEFAULT_TASK_TYPE = "$$default$$"; function o() { var e = n.pop(); return e && e.cb } function a(e) { for (var t = n.length - 1; t >= 0; --t) { var r = n[t]; if (r.type === e) return n.splice(t, 1), r.cb } } this.completeTask = function (n, s) { s = s || i; try { n() } finally { !function (e) { t[e = e || i] && (t[e]--, t[r]--) }(s); var l = t[s], c = t[r]; if (!c || !l) for (var u, d = c ? a : o; u = d(s);)try { u() } catch (t) { e.error(t) } } }, this.incTaskCount = function (e) { t[e = e || i] = (t[e] || 0) + 1, t[r] = (t[r] || 0) + 1 }, this.notifyWhenNoPendingTasks = function (e, i) { t[i = i || r] ? n.push({ type: i, cb: e }) : e() } } var Kr = i("$templateRequest"); function ei() { var e; this.httpOptions = function (t) { return t ? (e = t, this) : e }, this.$get = ["$exceptionHandler", "$templateCache", "$http", "$q", "$sce", function (t, n, r, i, o) { function a(s, l) { a.totalPendingRequests++, F(s) && !M(n.get(s)) || (s = o.getTrustedResourceUrl(s)); var c = r.defaults && r.defaults.transformResponse; return U(c) ? c = c.filter((function (e) { return e !== zn })) : c === zn && (c = null), r.get(s, _({ cache: n, transformResponse: c }, e)).finally((function () { a.totalPendingRequests-- })).then((function (e) { return n.put(s, e.data) }), (function (e) { l || (e = Kr("tpload", "Failed to load template: {0} (HTTP status: {1} {2})", s, e.status, e.statusText), t(e)); return i.reject(e) })) } return a.totalPendingRequests = 0, a }] } function ti() { this.$get = ["$rootScope", "$browser", "$location", function (e, t, n) { var r = { findBindings: function (e, t, n) { var r = e.getElementsByClassName("ng-binding"), i = []; return k(r, (function (e) { var r = y.element(e).data("$binding"); r && k(r, (function (r) { n ? new RegExp("(^|\\s)" + ee(t) + "(\\s|\\||$)").test(r) && i.push(e) : -1 !== r.indexOf(t) && i.push(e) })) })), i }, findModels: function (e, t, n) { for (var r = ["ng-", "data-ng-", "ng\\:"], i = 0; i < r.length; ++i) { var o = "[" + r[i] + "model" + (n ? "=" : "*=") + '"' + t + '"]', a = e.querySelectorAll(o); if (a.length) return a } }, getLocation: function () { return n.url() }, setLocation: function (t) { t !== n.url() && (n.url(t), e.$digest()) }, whenStable: function (e) { t.notifyWhenNoOutstandingRequests(e) } }; return r }] } var ni = i("$timeout"); function ri() { this.$get = ["$rootScope", "$browser", "$q", "$$q", "$exceptionHandler", function (e, t, n, r, i) { var o = {}; function a(a, s, l) { G(a) || (l = s, s = a, a = D); var c, u = de(arguments, 3), d = z(l) && !l, p = (d ? r : n).defer(), f = p.promise; return c = t.defer((function () { try { p.resolve(a.apply(null, u)) } catch (e) { p.reject(e), i(e) } finally { delete o[f.$$timeoutId] } d || e.$apply() }), s, "$timeout"), f.$$timeoutId = c, o[c] = p, f } return a.cancel = function (e) { if (!e) return !1; if (!e.hasOwnProperty("$$timeoutId")) throw ni("badprom", "`$timeout.cancel()` called with a promise that was not generated by `$timeout()`."); if (!o.hasOwnProperty(e.$$timeoutId)) return !1; var n = e.$$timeoutId, r = o[n]; return Lr(r.promise), r.reject("canceled"), delete o[n], t.defer.cancel(n) }, a }] } var ii, oi = e.document.createElement("a"), ai = li(e.location.href); oi.href = "http://[::1]"; var si = "[::1]" === oi.hostname; function li(e) { if (!F(e)) return e; var t = e; o && (oi.setAttribute("href", t), t = oi.href), oi.setAttribute("href", t); var n = oi.hostname; return !si && n.indexOf(":") > -1 && (n = "[" + n + "]"), { href: oi.href, protocol: oi.protocol ? oi.protocol.replace(/:$/, "") : "", host: oi.host, search: oi.search ? oi.search.replace(/^\?/, "") : "", hash: oi.hash ? oi.hash.replace(/^#/, "") : "", hostname: n, port: oi.port, pathname: "/" === oi.pathname.charAt(0) ? oi.pathname : "/" + oi.pathname } } function ci(e, t) { return e = li(e), t = li(t), e.protocol === t.protocol && e.host === t.host } function ui() { this.$get = I(e) } function di(e) { var t = e[0] || {}, n = {}, r = ""; function i(e) { try { return decodeURIComponent(e) } catch (t) { return e } } return function () { var e, o, a, s, l, c = function (e) { try { return e.cookie || "" } catch (e) { return "" } }(t); if (c !== r) for (e = (r = c).split("; "), n = {}, a = 0; a < e.length; a++)(s = (o = e[a]).indexOf("=")) > 0 && (l = i(o.substring(0, s)), M(n[l]) && (n[l] = i(o.substring(s + 1)))); return n } } function pi() { this.$get = di } function fi(e) { function t(n, r) { if (L(n)) { var i = {}; return k(n, (function (e, n) { i[n] = t(n, e) })), i } return e.factory(n + "Filter", r) } this.register = t, this.$get = ["$injector", function (e) { return function (t) { return e.get(t + "Filter") } }], t("currency", vi), t("date", Oi), t("filter", hi), t("json", Ti), t("limitTo", Di), t("lowercase", ji), t("number", bi), t("orderBy", Ii), t("uppercase", Pi) } function hi() { return function (e, t, n, r) { if (!w(e)) { if (null == e) return e; throw i("filter")("notarray", "Expected array but received: {0}", e) } var o, a; switch (r = r || "$", mi(t)) { case "function": o = t; break; case "boolean": case "null": case "number": case "string": a = !0; case "object": o = function (e, t, n, r) { var i = L(e) && n in e; !0 === t ? t = se : G(t) || (t = function (e, t) { return !M(e) && (null === e || null === t ? e === t : !(L(t) || L(e) && !N(e)) && (e = d("" + e), t = d("" + t), -1 !== e.indexOf(t))) }); return function (o) { return i && !L(o) ? gi(o, e[n], t, n, !1) : gi(o, e, t, n, r) } }(t, n, r, a); break; default: return e }return Array.prototype.filter.call(e, o) } } function gi(e, t, n, r, i, o) { var a = mi(e), s = mi(t); if ("string" === s && "!" === t.charAt(0)) return !gi(e, t.substring(1), n, r, i); if (U(e)) return e.some((function (e) { return gi(e, t, n, r, i) })); switch (a) { case "object": var l; if (i) { for (l in e) if (l.charAt && "$" !== l.charAt(0) && gi(e[l], t, n, r, !0)) return !0; return !o && gi(e, t, n, r, !1) } if ("object" === s) { for (l in t) { var c = t[l]; if (!G(c) && !M(c)) { var u = l === r; if (!gi(u ? e : e[l], c, n, r, u, u)) return !1 } } return !0 } return n(e, t); case "function": return !1; default: return n(e, t) } } function mi(e) { return null === e ? "null" : typeof e } di.$inject = ["$document"], fi.$inject = ["$provide"]; function vi(e) { var t = e.NUMBER_FORMATS; return function (e, n, r) { M(n) && (n = t.CURRENCY_SYM), M(r) && (r = t.PATTERNS[1].maxFrac); var i = n ? /\u00A4/g : /\s*\u00A4\s*/g; return null == e ? e : yi(e, t.PATTERNS[1], t.GROUP_SEP, t.DECIMAL_SEP, r).replace(i, n) } } function bi(e) { var t = e.NUMBER_FORMATS; return function (e, n) { return null == e ? e : yi(e, t.PATTERNS[0], t.GROUP_SEP, t.DECIMAL_SEP, n) } } function yi(e, t, n, r, i) { if (!F(e) && !q(e) || isNaN(e)) return ""; var o, a = !isFinite(e), s = !1, l = Math.abs(e) + "", c = ""; if (a) c = "∞"; else { (function (e, t, n, r) { var i = e.d, o = i.length - e.i, a = (t = M(t) ? Math.min(Math.max(n, o), r) : +t) + e.i, s = i[a]; if (a > 0) { i.splice(Math.max(e.i, a)); for (var l = a; l < i.length; l++)i[l] = 0 } else { o = Math.max(0, o), e.i = 1, i.length = Math.max(1, a = t + 1), i[0] = 0; for (var c = 1; c < a; c++)i[c] = 0 } if (s >= 5) if (a - 1 < 0) { for (var u = 0; u > a; u--)i.unshift(0), e.i++; i.unshift(1), e.i++ } else i[a - 1]++; for (; o < Math.max(0, t); o++)i.push(0); var d = i.reduceRight((function (e, t, n, r) { return t += e, r[n] = t % 10, Math.floor(t / 10) }), 0); d && (i.unshift(d), e.i++) })(o = function (e) { var t, n, r, i, o, a = 0; for ((n = e.indexOf(".")) > -1 && (e = e.replace(".", "")), (r = e.search(/e/i)) > 0 ? (n < 0 && (n = r), n += +e.slice(r + 1), e = e.substring(0, r)) : n < 0 && (n = e.length), r = 0; "0" === e.charAt(r); r++); if (r === (o = e.length)) t = [0], n = 1; else { for (o--; "0" === e.charAt(o);)o--; for (n -= r, t = [], i = 0; r <= o; r++, i++)t[i] = +e.charAt(r) } return n > 22 && (t = t.splice(0, 21), a = n - 1, n = 1), { d: t, e: a, i: n } }(l), i, t.minFrac, t.maxFrac); var u = o.d, d = o.i, p = o.e, f = []; for (s = u.reduce((function (e, t) { return e && !t }), !0); d < 0;)u.unshift(0), d++; d > 0 ? f = u.splice(d, u.length) : (f = u, u = [0]); var h = []; for (u.length >= t.lgSize && h.unshift(u.splice(-t.lgSize, u.length).join("")); u.length > t.gSize;)h.unshift(u.splice(-t.gSize, u.length).join("")); u.length && h.unshift(u.join("")), c = h.join(n), f.length && (c += r + f.join("")), p && (c += "e+" + p) } return e < 0 && !s ? t.negPre + c + t.negSuf : t.posPre + c + t.posSuf } function xi(e, t, n, r) { var i = ""; for ((e < 0 || r && e <= 0) && (r ? e = 1 - e : (e = -e, i = "-")), e = "" + e; e.length < t;)e = "0" + e; return n && (e = e.substr(e.length - t)), i + e } function wi(e, t, n, r, i) { return n = n || 0, function (o) { var a = o["get" + e](); return (n > 0 || a > -n) && (a += n), 0 === a && -12 === n && (a = 12), xi(a, t, r, i) } } function ki(e, t, n) { return function (r, i) { var o = r["get" + e](); return i[p((n ? "STANDALONE" : "") + (t ? "SHORT" : "") + e)][o] } } function Ai(e) { var t = new Date(e, 0, 1).getDay(); return new Date(e, 0, (t <= 4 ? 5 : 12) - t) } function Ei(e) { return function (t) { var n, r = Ai(t.getFullYear()), i = +(n = t, new Date(n.getFullYear(), n.getMonth(), n.getDate() + (4 - n.getDay()))) - +r; return xi(1 + Math.round(i / 6048e5), e) } } function Si(e, t) { return e.getFullYear() <= 0 ? t.ERAS[0] : t.ERAS[1] } vi.$inject = ["$locale"], bi.$inject = ["$locale"]; var $i = { yyyy: wi("FullYear", 4, 0, !1, !0), yy: wi("FullYear", 2, 0, !0, !0), y: wi("FullYear", 1, 0, !1, !0), MMMM: ki("Month"), MMM: ki("Month", !0), MM: wi("Month", 2, 1), M: wi("Month", 1, 1), LLLL: ki("Month", !1, !0), dd: wi("Date", 2), d: wi("Date", 1), HH: wi("Hours", 2), H: wi("Hours", 1), hh: wi("Hours", 2, -12), h: wi("Hours", 1, -12), mm: wi("Minutes", 2), m: wi("Minutes", 1), ss: wi("Seconds", 2), s: wi("Seconds", 1), sss: wi("Milliseconds", 3), EEEE: ki("Day"), EEE: ki("Day", !0), a: function (e, t) { return e.getHours() < 12 ? t.AMPMS[0] : t.AMPMS[1] }, Z: function (e, t, n) { var r = -1 * n, i = r >= 0 ? "+" : ""; return i += xi(Math[r > 0 ? "floor" : "ceil"](r / 60), 2) + xi(Math.abs(r % 60), 2) }, ww: Ei(2), w: Ei(1), G: Si, GG: Si, GGG: Si, GGGG: function (e, t) { return e.getFullYear() <= 0 ? t.ERANAMES[0] : t.ERANAMES[1] } }, Ci = /((?:[^yMLdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|m+|s+|a|Z|G+|w+))([\s\S]*)/, _i = /^-?\d+$/; function Oi(e) { var t = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/; return function (n, r, i) { var o, a, s = "", l = []; if (r = r || "mediumDate", r = e.DATETIME_FORMATS[r] || r, F(n) && (n = _i.test(n) ? T(n) : function (e) { var n; if (n = e.match(t)) { var r = new Date(0), i = 0, o = 0, a = n[8] ? r.setUTCFullYear : r.setFullYear, s = n[8] ? r.setUTCHours : r.setHours; n[9] && (i = T(n[9] + n[10]), o = T(n[9] + n[11])), a.call(r, T(n[1]), T(n[2]) - 1, T(n[3])); var l = T(n[4] || 0) - i, c = T(n[5] || 0) - o, u = T(n[6] || 0), d = Math.round(1e3 * parseFloat("0." + (n[7] || 0))); return s.call(r, l, c, u, d), r } return e }(n)), q(n) && (n = new Date(n)), !V(n) || !isFinite(n.getTime())) return n; for (; r;)(a = Ci.exec(r)) ? r = (l = ue(l, a, 1)).pop() : (l.push(r), r = null); var c = n.getTimezoneOffset(); return i && (c = ve(i, c), n = ye(n, i, !0)), k(l, (function (t) { s += (o = $i[t]) ? o(n, e.DATETIME_FORMATS, c) : "''" === t ? "'" : t.replace(/(^'|'$)/g, "").replace(/''/g, "'") })), s } } function Ti() { return function (e, t) { return M(t) && (t = 2), he(e, t) } } Oi.$inject = ["$locale"]; var ji = I(d), Pi = I(p); function Di() { return function (e, t, n) { return t = Math.abs(Number(t)) === 1 / 0 ? Number(t) : T(t), j(t) ? e : (q(e) && (e = e.toString()), w(e) ? (n = (n = !n || isNaN(n) ? 0 : T(n)) < 0 ? Math.max(0, e.length + n) : n, t >= 0 ? Ri(e, n, n + t) : 0 === n ? Ri(e, t, e.length) : Ri(e, Math.max(0, n + t), n)) : e) } } function Ri(e, t, n) { return F(e) ? e.slice(t, n) : f.call(e, t, n) } function Ii(e) { return function (r, o, a, s) { if (null == r) return r; if (!w(r)) throw i("orderBy")("notarray", "Expected array but received: {0}", r); U(o) || (o = [o]), 0 === o.length && (o = ["+"]); var l = o.map((function (t) { var n = 1, r = R; if (G(t)) r = t; else if (F(t) && ("+" !== t.charAt(0) && "-" !== t.charAt(0) || (n = "-" === t.charAt(0) ? -1 : 1, t = t.substring(1)), "" !== t && (r = e(t)).constant)) { var i = r(); r = function (e) { return e[i] } } return { get: r, descending: n } })), c = a ? -1 : 1, u = G(s) ? s : n, d = Array.prototype.map.call(r, (function (e, n) { return { value: e, tieBreaker: { value: n, type: "number", index: n }, predicateValues: l.map((function (r) { return function (e, n) { var r = typeof e; null === e ? r = "null" : "object" === r && (e = function (e) { if (G(e.valueOf) && t(e = e.valueOf())) return e; if (N(e) && t(e = e.toString())) return e; return e }(e)); return { value: e, type: r, index: n } }(r.get(e), n) })) } })); return d.sort((function (e, t) { for (var r = 0, i = l.length; r < i; r++) { var o = u(e.predicateValues[r], t.predicateValues[r]); if (o) return o * l[r].descending * c } return (u(e.tieBreaker, t.tieBreaker) || n(e.tieBreaker, t.tieBreaker)) * c })), r = d.map((function (e) { return e.value })) }; function t(e) { switch (typeof e) { case "number": case "boolean": case "string": return !0; default: return !1 } } function n(e, t) { var n = 0, r = e.type, i = t.type; if (r === i) { var o = e.value, a = t.value; "string" === r ? (o = o.toLowerCase(), a = a.toLowerCase()) : "object" === r && (L(o) && (o = e.index), L(a) && (a = t.index)), o !== a && (n = o < a ? -1 : 1) } else n = "undefined" === r ? 1 : "undefined" === i ? -1 : "null" === r ? 1 : "null" === i || r < i ? -1 : 1; return n } } function Ni(e) { return G(e) && (e = { link: e }), e.restrict = e.restrict || "AC", I(e) } Ii.$inject = ["$parse"]; var Mi = I({ restrict: "E", compile: function (e, t) { if (!t.href && !t.xlinkHref) return function (e, t) { if ("a" === t[0].nodeName.toLowerCase()) { var n = "[object SVGAnimatedString]" === m.call(t.prop("href")) ? "xlink:href" : "href"; t.on("click", (function (e) { t.attr(n) || e.preventDefault() })) } } } }), zi = {}; k(jt, (function (e, t) { if ("multiple" !== e) { var n = yn("ng-" + t), r = i; "checked" === e && (r = function (e, t, r) { r.ngModel !== r[n] && i(e, 0, r) }), zi[n] = function () { return { restrict: "A", priority: 100, link: r } } } function i(e, r, i) { e.$watch(i[n], (function (e) { i.$set(t, !!e) })) } })), k(Dt, (function (e, t) { zi[t] = function () { return { priority: 100, link: function (e, n, r) { if ("ngPattern" === t && "/" === r.ngPattern.charAt(0)) { var i = r.ngPattern.match(c); if (i) return void r.$set("ngPattern", new RegExp(i[1], i[2])) } e.$watch(r[t], (function (e) { r.$set(t, e) })) } } } })), k(["src", "srcset", "href"], (function (e) { var t = yn("ng-" + e); zi[t] = ["$sce", function (n) { return { priority: 99, link: function (r, i, a) { var s = e, l = e; "href" === e && "[object SVGAnimatedString]" === m.call(i.prop("href")) && (l = "xlinkHref", a.$attr[l] = "xlink:href", s = null), a.$set(t, n.getTrustedMediaUrl(a[t])), a.$observe(t, (function (t) { t ? (a.$set(l, t), o && s && i.prop(s, a[l])) : "href" === e && a.$set(l, null) })) } } }] })); var Li = { $addControl: D, $getControls: I([]), $$renameControl: function (e, t) { e.$name = t }, $removeControl: D, $setValidity: D, $setDirty: D, $setPristine: D, $setSubmitted: D, $$setSubmitted: D }; function Bi(e, t, n, r, i) { this.$$controls = [], this.$error = {}, this.$$success = {}, this.$pending = void 0, this.$name = i(t.name || t.ngForm || "")(n), this.$dirty = !1, this.$pristine = !0, this.$valid = !0, this.$invalid = !1, this.$submitted = !1, this.$$parentForm = Li, this.$$element = e, this.$$animate = r, Ui(this) } Bi.$inject = ["$element", "$attrs", "$scope", "$animate", "$interpolate"], Bi.prototype = { $rollbackViewValue: function () { k(this.$$controls, (function (e) { e.$rollbackViewValue() })) }, $commitViewValue: function () { k(this.$$controls, (function (e) { e.$commitViewValue() })) }, $addControl: function (e) { Me(e.$name, "input"), this.$$controls.push(e), e.$name && (this[e.$name] = e), e.$$parentForm = this }, $getControls: function () { return qe(this.$$controls) }, $$renameControl: function (e, t) { var n = e.$name; this[n] === e && delete this[n], this[t] = e, e.$name = t }, $removeControl: function (e) { e.$name && this[e.$name] === e && delete this[e.$name], k(this.$pending, (function (t, n) { this.$setValidity(n, null, e) }), this), k(this.$error, (function (t, n) { this.$setValidity(n, null, e) }), this), k(this.$$success, (function (t, n) { this.$setValidity(n, null, e) }), this), ie(this.$$controls, e), e.$$parentForm = Li }, $setDirty: function () { this.$$animate.removeClass(this.$$element, Bo), this.$$animate.addClass(this.$$element, Fo), this.$dirty = !0, this.$pristine = !1, this.$$parentForm.$setDirty() }, $setPristine: function () { this.$$animate.setClass(this.$$element, Bo, Fo + " ng-submitted"), this.$dirty = !1, this.$pristine = !0, this.$submitted = !1, k(this.$$controls, (function (e) { e.$setPristine() })) }, $setUntouched: function () { k(this.$$controls, (function (e) { e.$setUntouched() })) }, $setSubmitted: function () { for (var e = this; e.$$parentForm && e.$$parentForm !== Li;)e = e.$$parentForm; e.$$setSubmitted() }, $$setSubmitted: function () { this.$$animate.addClass(this.$$element, "ng-submitted"), this.$submitted = !0, k(this.$$controls, (function (e) { e.$$setSubmitted && e.$$setSubmitted() })) } }, Hi({ clazz: Bi, set: function (e, t, n) { var r = e[t]; r ? -1 === r.indexOf(n) && r.push(n) : e[t] = [n] }, unset: function (e, t, n) { var r = e[t]; r && (ie(r, n), 0 === r.length && delete e[t]) } }); var Fi = function (e) { return ["$timeout", "$parse", function (t, n) { return { name: "form", restrict: e ? "EAC" : "E", require: ["form", "^^?form"], controller: Bi, compile: function (n, i) { n.addClass(Bo).addClass(zo); var o = i.name ? "name" : !(!e || !i.ngForm) && "ngForm"; return { pre: function (e, n, i, a) { var s = a[0]; if (!("action" in i)) { var l = function (t) { e.$apply((function () { s.$commitViewValue(), s.$setSubmitted() })), t.preventDefault() }; n[0].addEventListener("submit", l), n.on("$destroy", (function () { t((function () { n[0].removeEventListener("submit", l) }), 0, !1) })) } (a[1] || s.$$parentForm).$addControl(s); var c = o ? r(s.$name) : D; o && (c(e, s), i.$observe(o, (function (t) { s.$name !== t && (c(e, void 0), s.$$parentForm.$$renameControl(s, t), (c = r(s.$name))(e, s)) }))), n.on("$destroy", (function () { s.$$parentForm.$removeControl(s), c(e, void 0), _(s, Li) })) } } } }; function r(e) { return "" === e ? n('this[""]').assign : n(e).assign || D } }] }, qi = Fi(), Vi = Fi(!0); function Ui(e) { e.$$classCache = {}, e.$$classCache[Lo] = !(e.$$classCache[zo] = e.$$element.hasClass(zo)) } function Hi(e) { var t = e.clazz, n = e.set, r = e.unset; function i(e, t, n) { n && !e.$$classCache[t] ? (e.$$animate.addClass(e.$$element, t), e.$$classCache[t] = !0) : !n && e.$$classCache[t] && (e.$$animate.removeClass(e.$$element, t), e.$$classCache[t] = !1) } function o(e, t, n) { t = t ? "-" + Pe(t, "-") : "", i(e, zo + t, !0 === n), i(e, Lo + t, !1 === n) } t.prototype.$setValidity = function (e, t, a) { var s; M(t) ? function (e, t, r, i) { e[t] || (e[t] = {}); n(e[t], r, i) }(this, "$pending", e, a) : function (e, t, n, i) { e[t] && r(e[t], n, i); Gi(e[t]) && (e[t] = void 0) }(this, "$pending", e, a), Z(t) ? t ? (r(this.$error, e, a), n(this.$$success, e, a)) : (n(this.$error, e, a), r(this.$$success, e, a)) : (r(this.$error, e, a), r(this.$$success, e, a)), this.$pending ? (i(this, "ng-pending", !0), this.$valid = this.$invalid = void 0, o(this, "", null)) : (i(this, "ng-pending", !1), this.$valid = Gi(this.$error), this.$invalid = !this.$valid, o(this, "", this.$valid)), o(this, e, s = this.$pending && this.$pending[e] ? void 0 : !this.$error[e] && (!!this.$$success[e] || null)), this.$$parentForm.$setValidity(e, s, this) } } function Gi(e) { if (e) for (var t in e) if (e.hasOwnProperty(t)) return !1; return !0 } var Wi = /^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/, Yi = /^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:/?#]+|\[[a-f\d:]+])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i, Xi = /^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/, Zi = /^\s*(-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/, Qi = /^(\d{4,})-(\d{2})-(\d{2})$/, Ji = /^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/, Ki = /^(\d{4,})-W(\d\d)$/, eo = /^(\d{4,})-(\d\d)$/, to = /^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/, no = Le(); k("date,datetime-local,month,time,week".split(","), (function (e) { no[e] = !0 })); var ro = { text: function (e, t, n, r, i, o) { oo(e, t, n, r, i, o), io(r) }, date: so("date", Qi, ao(Qi, ["yyyy", "MM", "dd"]), "yyyy-MM-dd"), "datetime-local": so("datetimelocal", Ji, ao(Ji, ["yyyy", "MM", "dd", "HH", "mm", "ss", "sss"]), "yyyy-MM-ddTHH:mm:ss.sss"), time: so("time", to, ao(to, ["HH", "mm", "ss", "sss"]), "HH:mm:ss.sss"), week: so("week", Ki, (function (e, t) { if (V(e)) return e; if (F(e)) { Ki.lastIndex = 0; var n = Ki.exec(e); if (n) { var r = +n[1], i = +n[2], o = 0, a = 0, s = 0, l = 0, c = Ai(r), u = 7 * (i - 1); return t && (o = t.getHours(), a = t.getMinutes(), s = t.getSeconds(), l = t.getMilliseconds()), new Date(r, 0, c.getDate() + u, o, a, s, l) } } return NaN }), "yyyy-Www"), month: so("month", eo, ao(eo, ["yyyy", "MM"]), "yyyy-MM"), number: function (e, t, n, r, i, o, a, s) { var l; if (lo(e, t, n, r, "number"), co(r), oo(e, t, n, r, i, o), z(n.min) || n.ngMin) { var c = n.min || s(n.ngMin)(e); l = uo(c), r.$validators.min = function (e, t) { return r.$isEmpty(t) || M(l) || t >= l }, n.$observe("min", (function (e) { e !== c && (l = uo(e), c = e, r.$validate()) })) } if (z(n.max) || n.ngMax) { var u = n.max || s(n.ngMax)(e), d = uo(u); r.$validators.max = function (e, t) { return r.$isEmpty(t) || M(d) || t <= d }, n.$observe("max", (function (e) { e !== u && (d = uo(e), u = e, r.$validate()) })) } if (z(n.step) || n.ngStep) { var p = n.step || s(n.ngStep)(e), f = uo(p); r.$validators.step = function (e, t) { return r.$isEmpty(t) || M(f) || ho(t, l || 0, f) }, n.$observe("step", (function (e) { e !== p && (f = uo(e), p = e, r.$validate()) })) } }, url: function (e, t, n, r, i, o) { oo(e, t, n, r, i, o), io(r), r.$validators.url = function (e, t) { var n = e || t; return r.$isEmpty(n) || Yi.test(n) } }, email: function (e, t, n, r, i, o) { oo(e, t, n, r, i, o), io(r), r.$validators.email = function (e, t) { var n = e || t; return r.$isEmpty(n) || Xi.test(n) } }, radio: function (e, t, n, r) { var i = !n.ngTrim || "false" !== K(n.ngTrim); M(n.name) && t.attr("name", S()); t.on("change", (function (e) { var o; t[0].checked && (o = n.value, i && (o = K(o)), r.$setViewValue(o, e && e.type)) })), r.$render = function () { var e = n.value; i && (e = K(e)), t[0].checked = e === r.$viewValue }, n.$observe("value", r.$render) }, range: function (e, t, n, r, i, o) { lo(e, t, n, r, "range"), co(r), oo(e, t, n, r, i, o); var a = r.$$hasNativeValidators && "range" === t[0].type, s = a ? 0 : void 0, l = a ? 100 : void 0, c = a ? 1 : void 0, u = t[0].validity, d = z(n.min), p = z(n.max), f = z(n.step), h = r.$render; r.$render = a && z(u.rangeUnderflow) && z(u.rangeOverflow) ? function () { h(), r.$setViewValue(t.val()) } : h, d && (s = uo(n.min), r.$validators.min = a ? function () { return !0 } : function (e, t) { return r.$isEmpty(t) || M(s) || t >= s }, g("min", (function (e) { if (s = uo(e), j(r.$modelValue)) return; if (a) { var n = t.val(); s > n && (n = s, t.val(n)), r.$setViewValue(n) } else r.$validate() }))); p && (l = uo(n.max), r.$validators.max = a ? function () { return !0 } : function (e, t) { return r.$isEmpty(t) || M(l) || t <= l }, g("max", (function (e) { if (l = uo(e), j(r.$modelValue)) return; if (a) { var n = t.val(); l < n && (t.val(l), n = l < s ? s : l), r.$setViewValue(n) } else r.$validate() }))); f && (c = uo(n.step), r.$validators.step = a ? function () { return !u.stepMismatch } : function (e, t) { return r.$isEmpty(t) || M(c) || ho(t, s || 0, c) }, g("step", (function (e) { if (c = uo(e), j(r.$modelValue)) return; a ? r.$viewValue !== t.val() && r.$setViewValue(t.val()) : r.$validate() }))); function g(e, r) { t.attr(e, n[e]); var i = n[e]; n.$observe(e, (function (e) { e !== i && (i = e, r(e)) })) } }, checkbox: function (e, t, n, r, i, o, a, s) { var l = go(s, e, "ngTrueValue", n.ngTrueValue, !0), c = go(s, e, "ngFalseValue", n.ngFalseValue, !1); t.on("change", (function (e) { r.$setViewValue(t[0].checked, e && e.type) })), r.$render = function () { t[0].checked = r.$viewValue }, r.$isEmpty = function (e) { return !1 === e }, r.$formatters.push((function (e) { return se(e, l) })), r.$parsers.push((function (e) { return e ? l : c })) }, hidden: D, button: D, submit: D, reset: D, file: D }; function io(e) { e.$formatters.push((function (t) { return e.$isEmpty(t) ? t : t.toString() })) } function oo(e, t, n, r, i, o) { var a, s = d(t[0].type); if (!i.android) { var l = !1; t.on("compositionstart", (function () { l = !0 })), t.on("compositionupdate", (function (e) { (M(e.data) || "" === e.data) && (l = !1) })), t.on("compositionend", (function () { l = !1, c() })) } var c = function (e) { if (a && (o.defer.cancel(a), a = null), !l) { var i = t.val(), c = e && e.type; "password" === s || n.ngTrim && "false" === n.ngTrim || (i = K(i)), (r.$viewValue !== i || "" === i && r.$$hasNativeValidators) && r.$setViewValue(i, c) } }; if (i.hasEvent("input")) t.on("input", c); else { var u = function (e, t, n) { a || (a = o.defer((function () { a = null, t && t.value === n || c(e) }))) }; t.on("keydown", (function (e) { var t = e.keyCode; 91 === t || 15 < t && t < 19 || 37 <= t && t <= 40 || u(e, this, this.value) })), i.hasEvent("paste") && t.on("paste cut drop", u) } t.on("change", c), no[s] && r.$$hasNativeValidators && s === n.type && t.on("keydown wheel mousedown", (function (e) { if (!a) { var t = this.validity, n = t.badInput, r = t.typeMismatch; a = o.defer((function () { a = null, t.badInput === n && t.typeMismatch === r || c(e) })) } })), r.$render = function () { var e = r.$isEmpty(r.$viewValue) ? "" : r.$viewValue; t.val() !== e && t.val(e) } } function ao(e, t) { return function (n, r) { var i, o; if (V(n)) return n; if (F(n)) { if ('"' === n.charAt(0) && '"' === n.charAt(n.length - 1) && (n = n.substring(1, n.length - 1)), Wi.test(n)) return new Date(n); if (e.lastIndex = 0, i = e.exec(n)) { i.shift(), o = r ? { yyyy: r.getFullYear(), MM: r.getMonth() + 1, dd: r.getDate(), HH: r.getHours(), mm: r.getMinutes(), ss: r.getSeconds(), sss: r.getMilliseconds() / 1e3 } : { yyyy: 1970, MM: 1, dd: 1, HH: 0, mm: 0, ss: 0, sss: 0 }, k(i, (function (e, n) { n < t.length && (o[t[n]] = +e) })); var a = new Date(o.yyyy, o.MM - 1, o.dd, o.HH, o.mm, o.ss || 0, 1e3 * o.sss || 0); return o.yyyy < 100 && a.setFullYear(o.yyyy), a } } return NaN } } function so(e, t, n, r) { return function (i, o, a, s, l, c, u, d) { lo(i, o, a, s, e), oo(0, o, a, s, l, c); var p, f, h = "time" === e || "datetimelocal" === e; if (s.$parsers.push((function (n) { return s.$isEmpty(n) ? null : t.test(n) ? w(n, p) : void (s.$$parserName = e) })), s.$formatters.push((function (e) { if (e && !V(e)) throw qo("datefmt", "Expected `{0}` to be a date", e); if (y(e)) { p = e; var t = s.$options.getOption("timezone"); return t && (f = t, p = ye(p, t, !0)), function (e, t) { var n = r; h && F(s.$options.getOption("timeSecondsFormat")) && (n = r.replace("ss.sss", s.$options.getOption("timeSecondsFormat")).replace(/:$/, "")); var i = u("date")(e, n, t); h && s.$options.getOption("timeStripZeroSeconds") && (i = i.replace(/(?::00)?(?:\.000)?$/, "")); return i }(e, t) } return p = null, f = null, "" })), z(a.min) || a.ngMin) { var g = a.min || d(a.ngMin)(i), m = x(g); s.$validators.min = function (e) { return !y(e) || M(m) || n(e) >= m }, a.$observe("min", (function (e) { e !== g && (m = x(e), g = e, s.$validate()) })) } if (z(a.max) || a.ngMax) { var v = a.max || d(a.ngMax)(i), b = x(v); s.$validators.max = function (e) { return !y(e) || M(b) || n(e) <= b }, a.$observe("max", (function (e) { e !== v && (b = x(e), v = e, s.$validate()) })) } function y(e) { return e && !(e.getTime && e.getTime() != e.getTime()) } function x(e) { return z(e) && !V(e) ? w(e) || void 0 : e } function w(e, t) { var r = s.$options.getOption("timezone"); f && f !== r && (t = be(t, ve(f))); var i = n(e, t); return !isNaN(i) && r && (i = ye(i, r)), i } } } function lo(e, t, n, r, i) { var o = t[0]; (r.$$hasNativeValidators = L(o.validity)) && r.$parsers.push((function (e) { var n = t.prop("validity") || {}; if (!n.badInput && !n.typeMismatch) return e; r.$$parserName = i })) } function co(e) { e.$parsers.push((function (t) { return e.$isEmpty(t) ? null : Zi.test(t) ? parseFloat(t) : void (e.$$parserName = "number") })), e.$formatters.push((function (t) { if (!e.$isEmpty(t)) { if (!q(t)) throw qo("numfmt", "Expected `{0}` to be a number", t); t = t.toString() } return t })) } function uo(e) { return z(e) && !q(e) && (e = parseFloat(e)), j(e) ? void 0 : e } function po(e) { return (0 | e) === e } function fo(e) { var t = e.toString(), n = t.indexOf("."); if (-1 === n) { if (-1 < e && e < 1) { var r = /e-(\d+)$/.exec(t); if (r) return Number(r[1]) } return 0 } return t.length - n - 1 } function ho(e, t, n) { var r = Number(e), i = !po(r), o = !po(t), a = !po(n); if (i || o || a) { var s = i ? fo(r) : 0, l = o ? fo(t) : 0, c = a ? fo(n) : 0, u = Math.max(s, l, c), d = Math.pow(10, u); r *= d, t *= d, n *= d, i && (r = Math.round(r)), o && (t = Math.round(t)), a && (n = Math.round(n)) } return (r - t) % n == 0 } function go(e, t, n, r, i) { var o; if (z(r)) { if (!(o = e(r)).constant) throw qo("constexpr", "Expected constant expression for `{0}`, but saw `{1}`.", n, r); return o(t) } return i } var mo = ["$browser", "$sniffer", "$filter", "$parse", function (e, t, n, r) { return { restrict: "E", require: ["?ngModel"], link: { pre: function (i, o, a, s) { s[0] && (ro[d(a.type)] || ro.text)(i, o, a, s[0], t, e, n, r) } } } }], vo = function () { var e = { configurable: !0, enumerable: !1, get: function () { return this.getAttribute("value") || "" }, set: function (e) { this.setAttribute("value", e) } }; return { restrict: "E", priority: 200, compile: function (t, n) { if ("hidden" === d(n.type)) return { pre: function (t, n, r, i) { var o = n[0]; o.parentNode && o.parentNode.insertBefore(o, o.nextSibling), Object.defineProperty && Object.defineProperty(o, "value", e) } } } } }, bo = /^(true|false|\d+)$/, yo = function () { function e(e, t, n) { var r = z(n) ? n : 9 === o ? "" : null; e.prop("value", r), t.$set("value", n) } return { restrict: "A", priority: 100, compile: function (t, n) { return bo.test(n.ngValue) ? function (t, n, r) { e(n, r, t.$eval(r.ngValue)) } : function (t, n, r) { t.$watch(r.ngValue, (function (t) { e(n, r, t) })) } } } }, xo = ["$compile", function (e) { return { restrict: "AC", compile: function (t) { return e.$$addBindingClass(t), function (t, n, r) { e.$$addBindingInfo(n, r.ngBind), n = n[0], t.$watch(r.ngBind, (function (e) { n.textContent = Be(e) })) } } } }], wo = ["$interpolate", "$compile", function (e, t) { return { compile: function (n) { return t.$$addBindingClass(n), function (n, r, i) { var o = e(r.attr(i.$attr.ngBindTemplate)); t.$$addBindingInfo(r, o.expressions), r = r[0], i.$observe("ngBindTemplate", (function (e) { r.textContent = M(e) ? "" : e })) } } } }], ko = ["$sce", "$parse", "$compile", function (e, t, n) { return { restrict: "A", compile: function (r, i) { var o = t(i.ngBindHtml), a = t(i.ngBindHtml, (function (t) { return e.valueOf(t) })); return n.$$addBindingClass(r), function (t, r, i) { n.$$addBindingInfo(r, i.ngBindHtml), t.$watch(a, (function () { var n = o(t); r.html(e.getTrustedHtml(n) || "") })) } } } }], Ao = I({ restrict: "A", require: "ngModel", link: function (e, t, n, r) { r.$viewChangeListeners.push((function () { e.$eval(n.ngChange) })) } }); function Eo(e, t) { var n; return e = "ngClass" + e, ["$parse", function (a) { return { restrict: "AC", link: function (s, l, c) { var u, d = l.data("$classCounts"), p = !0; function f(e, t) { var n = []; return k(e, (function (e) { (t > 0 || d[e]) && (d[e] = (d[e] || 0) + t, d[e] === +(t > 0) && n.push(e)) })), n.join(" ") } d || (d = Le(), l.data("$classCounts", d)), "ngClass" !== e && (n || (n = a("$index", (function (e) { return 1 & e }))), s.$watch(n, (function (e) { e === t ? (n = f(i(n = u), 1), c.$addClass(n)) : function (e) { e = f(i(e), -1), c.$removeClass(e) }(u); var n; p = e }))), s.$watch(a(c[e], o), (function (e) { p === t && function (e, t) { var n = i(e), o = i(t), a = r(n, o), s = r(o, n), l = f(a, -1), u = f(s, 1); c.$addClass(u), c.$removeClass(l) }(u, e); u = e })) } } }]; function r(e, t) { if (!e || !e.length) return []; if (!t || !t.length) return e; var n = []; e: for (var r = 0; r < e.length; r++) { for (var i = e[r], o = 0; o < t.length; o++)if (i === t[o]) continue e; n.push(i) } return n } function i(e) { return e && e.split(" ") } function o(e) { if (!e) return e; var t = e; return U(e) ? t = e.map(o).join(" ") : L(e) ? t = Object.keys(e).filter((function (t) { return e[t] })).join(" ") : F(e) || (t = e + ""), t } } var So = Eo("", !0), $o = Eo("Odd", 0), Co = Eo("Even", 1), _o = Ni({ compile: function (e, t) { t.$set("ngCloak", void 0), e.removeClass("ng-cloak") } }), Oo = [function () { return { restrict: "A", scope: !0, controller: "@", priority: 500 } }], To = {}, jo = { blur: !0, focus: !0 }; function Po(e, t, n, r, i, o) { return { restrict: "A", compile: function (a, s) { var l = e(s[r]); return function (e, r) { r.on(i, (function (r) { var i = function () { l(e, { $event: r }) }; if (t.$$phase) if (o) e.$evalAsync(i); else try { i() } catch (e) { n(e) } else e.$apply(i) })) } } } } k("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "), (function (e) { var t = yn("ng-" + e); To[t] = ["$parse", "$rootScope", "$exceptionHandler", function (n, r, i) { return Po(n, r, i, t, e, jo[e]) }] })); var Do = ["$animate", "$compile", function (e, t) { return { multiElement: !0, transclude: "element", priority: 600, terminal: !0, restrict: "A", $$tlb: !0, link: function (n, r, i, o, a) { var s, l, c; n.$watch(i.ngIf, (function (n) { n ? l || a((function (n, o) { l = o, n[n.length++] = t.$$createComment("end ngIf", i.ngIf), s = { clone: n }, e.enter(n, r.parent(), r) })) : (c && (c.remove(), c = null), l && (l.$destroy(), l = null), s && (c = ze(s.clone), e.leave(c).done((function (e) { !1 !== e && (c = null) })), s = null)) })) } } }], Ro = ["$templateRequest", "$anchorScroll", "$animate", function (e, t, n) { return { restrict: "ECA", priority: 400, terminal: !0, transclude: "element", controller: y.noop, compile: function (r, i) { var o = i.ngInclude || i.src, a = i.onload || "", s = i.autoscroll; return function (r, i, l, c, u) { var d, p, f, h = 0, g = function () { p && (p.remove(), p = null), d && (d.$destroy(), d = null), f && (n.leave(f).done((function (e) { !1 !== e && (p = null) })), p = f, f = null) }; r.$watch(o, (function (o) { var l = function (e) { !1 === e || !z(s) || s && !r.$eval(s) || t() }, p = ++h; o ? (e(o, !0).then((function (e) { if (!r.$$destroyed && p === h) { var t = r.$new(); c.template = e; var s = u(t, (function (e) { g(), n.enter(e, null, i).done(l) })); f = s, (d = t).$emit("$includeContentLoaded", o), r.$eval(a) } }), (function () { r.$$destroyed || p === h && (g(), r.$emit("$includeContentError", o)) })), r.$emit("$includeContentRequested", o)) : (g(), c.template = null) })) } } } }], Io = ["$compile", function (t) { return { restrict: "ECA", priority: -400, require: "ngInclude", link: function (n, r, i, o) { if (m.call(r[0]).match(/SVG/)) return r.empty(), void t(ut(o.template, e.document).childNodes)(n, (function (e) { r.append(e) }), { futureParentElement: r }); r.html(o.template), t(r.contents())(n) } } }], No = Ni({ priority: 450, compile: function () { return { pre: function (e, t, n) { e.$eval(n.ngInit) } } } }), Mo = function () { return { restrict: "A", priority: 100, require: "ngModel", link: function (e, t, n, r) { var i = n.ngList || ", ", o = "false" !== n.ngTrim, a = o ? K(i) : i; r.$parsers.push((function (e) { if (!M(e)) { var t = []; return e && k(e.split(a), (function (e) { e && t.push(o ? K(e) : e) })), t } })), r.$formatters.push((function (e) { if (U(e)) return e.join(i) })), r.$isEmpty = function (e) { return !e || !e.length } } } }, zo = "ng-valid", Lo = "ng-invalid", Bo = "ng-pristine", Fo = "ng-dirty", qo = i("ngModel"); function Vo(e, t, n, r, i, o, a, s, l) { var c; this.$viewValue = Number.NaN, this.$modelValue = Number.NaN, this.$$rawModelValue = void 0, this.$validators = {}, this.$asyncValidators = {}, this.$parsers = [], this.$formatters = [], this.$viewChangeListeners = [], this.$untouched = !0, this.$touched = !1, this.$pristine = !0, this.$dirty = !1, this.$valid = !0, this.$invalid = !1, this.$error = {}, this.$$success = {}, this.$pending = void 0, this.$name = l(n.name || "", !1)(e), this.$$parentForm = Li, this.$options = Uo, this.$$updateEvents = "", this.$$updateEventHandler = this.$$updateEventHandler.bind(this), this.$$parsedNgModel = i(n.ngModel), this.$$parsedNgModelAssign = this.$$parsedNgModel.assign, this.$$ngModelGet = this.$$parsedNgModel, this.$$ngModelSet = this.$$parsedNgModelAssign, this.$$pendingDebounce = null, this.$$parserValid = void 0, this.$$parserName = "parse", this.$$currentValidationRunId = 0, this.$$scope = e, this.$$rootScope = e.$root, this.$$attr = n, this.$$element = r, this.$$animate = o, this.$$timeout = a, this.$$parse = i, this.$$q = s, this.$$exceptionHandler = t, Ui(this), (c = this).$$scope.$watch((function (e) { var t = c.$$ngModelGet(e); return t === c.$modelValue || c.$modelValue != c.$modelValue && t != t || c.$$setModelValue(t), t })) } Vo.$inject = ["$scope", "$exceptionHandler", "$attrs", "$element", "$parse", "$animate", "$timeout", "$q", "$interpolate"], Vo.prototype = { $$initGetterSetters: function () { if (this.$options.getOption("getterSetter")) { var e = this.$$parse(this.$$attr.ngModel + "()"), t = this.$$parse(this.$$attr.ngModel + "($$$p)"); this.$$ngModelGet = function (t) { var n = this.$$parsedNgModel(t); return G(n) && (n = e(t)), n }, this.$$ngModelSet = function (e, n) { G(this.$$parsedNgModel(e)) ? t(e, { $$$p: n }) : this.$$parsedNgModelAssign(e, n) } } else if (!this.$$parsedNgModel.assign) throw qo("nonassign", "Expression '{0}' is non-assignable. Element: {1}", this.$$attr.ngModel, xe(this.$$element)) }, $render: D, $isEmpty: function (e) { return M(e) || "" === e || null === e || e != e }, $$updateEmptyClasses: function (e) { this.$isEmpty(e) ? (this.$$animate.removeClass(this.$$element, "ng-not-empty"), this.$$animate.addClass(this.$$element, "ng-empty")) : (this.$$animate.removeClass(this.$$element, "ng-empty"), this.$$animate.addClass(this.$$element, "ng-not-empty")) }, $setPristine: function () { this.$dirty = !1, this.$pristine = !0, this.$$animate.removeClass(this.$$element, Fo), this.$$animate.addClass(this.$$element, Bo) }, $setDirty: function () { this.$dirty = !0, this.$pristine = !1, this.$$animate.removeClass(this.$$element, Bo), this.$$animate.addClass(this.$$element, Fo), this.$$parentForm.$setDirty() }, $setUntouched: function () { this.$touched = !1, this.$untouched = !0, this.$$animate.setClass(this.$$element, "ng-untouched", "ng-touched") }, $setTouched: function () { this.$touched = !0, this.$untouched = !1, this.$$animate.setClass(this.$$element, "ng-touched", "ng-untouched") }, $rollbackViewValue: function () { this.$$timeout.cancel(this.$$pendingDebounce), this.$viewValue = this.$$lastCommittedViewValue, this.$render() }, $validate: function () { if (!j(this.$modelValue)) { var e = this.$$lastCommittedViewValue, t = this.$$rawModelValue, n = this.$valid, r = this.$modelValue, i = this.$options.getOption("allowInvalid"), o = this; this.$$runValidators(t, e, (function (e) { i || n === e || (o.$modelValue = e ? t : void 0, o.$modelValue !== r && o.$$writeModelToScope()) })) } }, $$runValidators: function (e, t, n) { this.$$currentValidationRunId++; var r, i, o = this.$$currentValidationRunId, a = this; (function () { var e = a.$$parserName; if (!M(a.$$parserValid)) return a.$$parserValid || (k(a.$validators, (function (e, t) { s(t, null) })), k(a.$asyncValidators, (function (e, t) { s(t, null) }))), s(e, a.$$parserValid), a.$$parserValid; s(e, null); return !0 })() ? !function () { var n = !0; if (k(a.$validators, (function (r, i) { var o = Boolean(r(e, t)); n = n && o, s(i, o) })), !n) return k(a.$asyncValidators, (function (e, t) { s(t, null) })), !1; return !0 }() ? l(!1) : (r = [], i = !0, k(a.$asyncValidators, (function (n, o) { var a = n(e, t); if (!Q(a)) throw qo("nopromise", "Expected asynchronous validator to return a promise but got '{0}' instead.", a); s(o, void 0), r.push(a.then((function () { s(o, !0) }), (function () { i = !1, s(o, !1) }))) })), r.length ? a.$$q.all(r).then((function () { l(i) }), D) : l(!0)) : l(!1); function s(e, t) { o === a.$$currentValidationRunId && a.$setValidity(e, t) } function l(e) { o === a.$$currentValidationRunId && n(e) } }, $commitViewValue: function () { var e = this.$viewValue; this.$$timeout.cancel(this.$$pendingDebounce), (this.$$lastCommittedViewValue !== e || "" === e && this.$$hasNativeValidators) && (this.$$updateEmptyClasses(e), this.$$lastCommittedViewValue = e, this.$pristine && this.$setDirty(), this.$$parseAndValidate()) }, $$parseAndValidate: function () { var e = this.$$lastCommittedViewValue, t = this; if (this.$$parserValid = !M(e) || void 0, this.$setValidity(this.$$parserName, null), this.$$parserName = "parse", this.$$parserValid) for (var n = 0; n < this.$parsers.length; n++)if (M(e = this.$parsers[n](e))) { this.$$parserValid = !1; break } j(this.$modelValue) && (this.$modelValue = this.$$ngModelGet(this.$$scope)); var r = this.$modelValue, i = this.$options.getOption("allowInvalid"); function o() { t.$modelValue !== r && t.$$writeModelToScope() } this.$$rawModelValue = e, i && (this.$modelValue = e, o()), this.$$runValidators(e, this.$$lastCommittedViewValue, (function (n) { i || (t.$modelValue = n ? e : void 0, o()) })) }, $$writeModelToScope: function () { this.$$ngModelSet(this.$$scope, this.$modelValue), k(this.$viewChangeListeners, (function (e) { try { e() } catch (e) { this.$$exceptionHandler(e) } }), this) }, $setViewValue: function (e, t) { this.$viewValue = e, this.$options.getOption("updateOnDefault") && this.$$debounceViewValueCommit(t) }, $$debounceViewValueCommit: function (e) { var t = this.$options.getOption("debounce"); q(t[e]) ? t = t[e] : q(t.default) && -1 === this.$options.getOption("updateOn").indexOf(e) ? t = t.default : q(t["*"]) && (t = t["*"]), this.$$timeout.cancel(this.$$pendingDebounce); var n = this; t > 0 ? this.$$pendingDebounce = this.$$timeout((function () { n.$commitViewValue() }), t) : this.$$rootScope.$$phase ? this.$commitViewValue() : this.$$scope.$apply((function () { n.$commitViewValue() })) }, $overrideModelOptions: function (e) { this.$options = this.$options.createChild(e), this.$$setUpdateOnEvents() }, $processModelValue: function () { var e = this.$$format(); this.$viewValue !== e && (this.$$updateEmptyClasses(e), this.$viewValue = this.$$lastCommittedViewValue = e, this.$render(), this.$$runValidators(this.$modelValue, this.$viewValue, D)) }, $$format: function () { for (var e = this.$formatters, t = e.length, n = this.$modelValue; t--;)n = e[t](n); return n }, $$setModelValue: function (e) { this.$modelValue = this.$$rawModelValue = e, this.$$parserValid = void 0, this.$processModelValue() }, $$setUpdateOnEvents: function () { this.$$updateEvents && this.$$element.off(this.$$updateEvents, this.$$updateEventHandler), this.$$updateEvents = this.$options.getOption("updateOn"), this.$$updateEvents && this.$$element.on(this.$$updateEvents, this.$$updateEventHandler) }, $$updateEventHandler: function (e) { this.$$debounceViewValueCommit(e && e.type) } }, Hi({ clazz: Vo, set: function (e, t) { e[t] = !0 }, unset: function (e, t) { delete e[t] } }); var Uo, Ho = ["$rootScope", function (e) { return { restrict: "A", require: ["ngModel", "^?form", "^?ngModelOptions"], controller: Vo, priority: 1, compile: function (t) { return t.addClass(Bo).addClass("ng-untouched").addClass(zo), { pre: function (e, t, n, r) { var i = r[0], o = r[1] || i.$$parentForm, a = r[2]; a && (i.$options = a.$options), i.$$initGetterSetters(), o.$addControl(i), n.$observe("name", (function (e) { i.$name !== e && i.$$parentForm.$$renameControl(i, e) })), e.$on("$destroy", (function () { i.$$parentForm.$removeControl(i) })) }, post: function (t, n, r, i) { var o = i[0]; function a() { o.$setTouched() } o.$$setUpdateOnEvents(), n.on("blur", (function () { o.$touched || (e.$$phase ? t.$evalAsync(a) : t.$apply(a)) })) } } } } }], Go = /(\s+|^)default(\s+|$)/; function Wo(e) { this.$$options = e } Wo.prototype = { getOption: function (e) { return this.$$options[e] }, createChild: function (e) { var t = !1; return k(e = _({}, e), (function (n, r) { "$inherit" === n ? "*" === r ? t = !0 : (e[r] = this.$$options[r], "updateOn" === r && (e.updateOnDefault = this.$$options.updateOnDefault)) : "updateOn" === r && (e.updateOnDefault = !1, e[r] = K(n.replace(Go, (function () { return e.updateOnDefault = !0, " " })))) }), this), t && (delete e["*"], Xo(e, this.$$options)), Xo(e, Uo.$$options), new Wo(e) } }, Uo = new Wo({ updateOn: "", updateOnDefault: !0, debounce: 0, getterSetter: !1, allowInvalid: !1, timezone: null }); var Yo = function () { function e(e, t) { this.$$attrs = e, this.$$scope = t } return e.$inject = ["$attrs", "$scope"], e.prototype = { $onInit: function () { var e = this.parentCtrl ? this.parentCtrl.$options : Uo, t = this.$$scope.$eval(this.$$attrs.ngModelOptions); this.$options = e.createChild(t) } }, { restrict: "A", priority: 10, require: { parentCtrl: "?^^ngModelOptions" }, bindToController: !0, controller: e } }; function Xo(e, t) { k(t, (function (t, n) { z(e[n]) || (e[n] = t) })) } var Zo = Ni({ terminal: !0, priority: 1e3 }), Qo = i("ngOptions"), Jo = /^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([$\w][$\w]*)|(?:\(\s*([$\w][$\w]*)\s*,\s*([$\w][$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/, Ko = ["$compile", "$document", "$parse", function (t, n, r) { var i = e.document.createElement("option"), o = e.document.createElement("optgroup"); return { restrict: "A", terminal: !0, require: ["select", "ngModel"], link: { pre: function (e, t, n, r) { r[0].registerOption = D }, post: function (e, s, l, c) { for (var u = c[0], d = c[1], p = l.multiple, f = 0, h = s.children(), g = h.length; f < g; f++)if ("" === h[f].value) { u.hasEmptyOption = !0, u.emptyOption = h.eq(f); break } s.empty(); var m, v = !!u.emptyOption; a(i.cloneNode(!1)).val("?"); var b = function (e, t, n) { var i = e.match(Jo); if (!i) throw Qo("iexp", "Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}", e, xe(t)); var o = i[5] || i[7], a = i[6], s = / as /.test(i[0]) && i[1], l = i[9], c = r(i[2] ? i[1] : o), u = s && r(s) || c, d = l && r(l), p = l ? function (e, t) { return d(n, t) } : function (e) { return zt(e) }, f = function (e, t) { return p(e, y(e, t)) }, h = r(i[2] || i[1]), g = r(i[3] || ""), m = r(i[4] || ""), v = r(i[8]), b = {}, y = a ? function (e, t) { return b[a] = t, b[o] = e, b } : function (e) { return b[o] = e, b }; function x(e, t, n, r, i) { this.selectValue = e, this.viewValue = t, this.label = n, this.group = r, this.disabled = i } function k(e) { var t; if (!a && w(e)) t = e; else for (var n in t = [], e) e.hasOwnProperty(n) && "$" !== n.charAt(0) && t.push(n); return t } return { trackBy: l, getTrackByValue: f, getWatchables: r(v, (function (e) { for (var t = [], r = k(e = e || []), o = r.length, a = 0; a < o; a++) { var s = e === r ? a : r[a], l = e[s], c = y(l, s), u = p(l, c); if (t.push(u), i[2] || i[1]) { var d = h(n, c); t.push(d) } if (i[4]) { var f = m(n, c); t.push(f) } } return t })), getOptions: function () { for (var e = [], t = {}, r = v(n) || [], i = k(r), o = i.length, a = 0; a < o; a++) { var s = r === i ? a : i[a], c = r[s], d = y(c, s), b = u(n, d), w = p(b, d), A = new x(w, b, h(n, d), g(n, d), m(n, d)); e.push(A), t[w] = A } return { items: e, selectValueMap: t, getOptionFromViewValue: function (e) { return t[f(e)] }, getViewValueFromOption: function (e) { return l ? oe(e.viewValue) : e.viewValue } } } } }(l.ngOptions, s, e), y = n[0].createDocumentFragment(); function x(e, t) { var n = i.cloneNode(!1); t.appendChild(n), function (e, t) { e.element = t, t.disabled = e.disabled, e.label !== t.label && (t.label = e.label, t.textContent = e.label); t.value = e.selectValue }(e, n) } function A(e) { var t = m.getOptionFromViewValue(e), n = t && t.element; return n && !n.selected && (n.selected = !0), t } u.generateUnknownOptionValue = function (e) { return "?" }, p ? (u.writeValue = function (e) { if (m) { var t = e && e.map(A) || []; m.items.forEach((function (e) { e.element.selected && !re(t, e) && (e.element.selected = !1) })) } }, u.readValue = function () { var e = s.val() || [], t = []; return k(e, (function (e) { var n = m.selectValueMap[e]; n && !n.disabled && t.push(m.getViewValueFromOption(n)) })), t }, b.trackBy && e.$watchCollection((function () { if (U(d.$viewValue)) return d.$viewValue.map((function (e) { return b.getTrackByValue(e) })) }), (function () { d.$render() }))) : (u.writeValue = function (e) { if (m) { var t = s[0].options[s[0].selectedIndex], n = m.getOptionFromViewValue(e); t && t.removeAttribute("selected"), n ? (s[0].value !== n.selectValue && (u.removeUnknownOption(), s[0].value = n.selectValue, n.element.selected = !0), n.element.setAttribute("selected", "selected")) : u.selectUnknownOrEmptyOption(e) } }, u.readValue = function () { var e = m.selectValueMap[s.val()]; return e && !e.disabled ? (u.unselectEmptyOption(), u.removeUnknownOption(), m.getViewValueFromOption(e)) : null }, b.trackBy && e.$watch((function () { return b.getTrackByValue(d.$viewValue) }), (function () { d.$render() }))), v && (t(u.emptyOption)(e), s.prepend(u.emptyOption), 8 === u.emptyOption[0].nodeType ? (u.hasEmptyOption = !1, u.registerOption = function (e, t) { "" === t.val() && (u.hasEmptyOption = !0, u.emptyOption = t, u.emptyOption.removeClass("ng-scope"), d.$render(), t.on("$destroy", (function () { var e = u.$isEmptyOptionSelected(); u.hasEmptyOption = !1, u.emptyOption = void 0, e && d.$render() }))) }) : u.emptyOption.removeClass("ng-scope")), e.$watchCollection(b.getWatchables, (function () { var e = m && u.readValue(); if (m) for (var t = m.items.length - 1; t >= 0; t--) { var n = m.items[t]; z(n.group) ? _t(n.element.parentNode) : _t(n.element) } m = b.getOptions(); var r = {}; if (m.items.forEach((function (e) { var t; z(e.group) ? ((t = r[e.group]) || (t = o.cloneNode(!1), y.appendChild(t), t.label = null === e.group ? "null" : e.group, r[e.group] = t), x(e, t)) : x(e, y) })), s[0].appendChild(y), d.$render(), !d.$isEmpty(e)) { var i = u.readValue(); (b.trackBy || p ? se(e, i) : e === i) || (d.$setViewValue(i), d.$render()) } })) } } } }], ea = ["$locale", "$interpolate", "$log", function (e, t, n) { var r = /{}/g, i = /^when(Minus)?(.+)$/; return { link: function (o, a, s) { var l, c = s.count, u = s.$attr.when && a.attr(s.$attr.when), p = s.offset || 0, f = o.$eval(u) || {}, h = {}, g = t.startSymbol(), m = t.endSymbol(), v = g + c + "-" + p + m, b = y.noop; function x(e) { a.text(e || "") } k(s, (function (e, t) { var n = i.exec(t); if (n) { var r = (n[1] ? "-" : "") + d(n[2]); f[r] = a.attr(s.$attr[t]) } })), k(f, (function (e, n) { h[n] = t(e.replace(r, v)) })), o.$watch(c, (function (t) { var r = parseFloat(t), i = j(r); if (i || r in f || (r = e.pluralCat(r - p)), !(r === l || i && j(l))) { b(); var a = h[r]; M(a) ? (null != t && n.debug("ngPluralize: no rule defined for '" + r + "' in " + u), b = D, x()) : b = o.$watch(a, x), l = r } })) } } }], ta = i("ngRef"), na = ["$parse", function (e) { return { priority: -1, restrict: "A", compile: function (t, n) { var r = yn(ne(t)), i = e(n.ngRef), o = i.assign || function () { throw ta("nonassign", 'Expression in ngRef="{0}" is non-assignable!', n.ngRef) }; return function (e, t, a) { var s; if (a.hasOwnProperty("ngRefRead")) { if ("$element" === a.ngRefRead) s = t; else if (!(s = t.data("$" + a.ngRefRead + "Controller"))) throw ta("noctrl", 'The controller for ngRefRead="{0}" could not be found on ngRef="{1}"', a.ngRefRead, n.ngRef) } else s = t.data("$" + r + "Controller"); o(e, s = s || t), t.on("$destroy", (function () { i(e) === s && o(e, null) })) } } } }], ra = ["$parse", "$animate", "$compile", function (e, t, n) { var r = i("ngRepeat"), o = function (e, t, n, r, i, o, a) { e[n] = r, i && (e[i] = o), e.$index = t, e.$first = 0 === t, e.$last = t === a - 1, e.$middle = !(e.$first || e.$last), e.$odd = !(e.$even = 0 == (1 & t)) }, a = function (e) { return e.clone[0] }, s = function (e) { return e.clone[e.clone.length - 1] }, l = function (e, t, n) { return zt(n) }, c = function (e, t) { return t }; return { restrict: "A", multiElement: !0, transclude: "element", priority: 1e3, terminal: !0, $$tlb: !0, compile: function (i, d) { var p = d.ngRepeat, f = n.$$createComment("end ngRepeat", p), h = p.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/); if (!h) throw r("iexp", "Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.", p); var g = h[1], m = h[2], v = h[3], b = h[4]; if (!(h = g.match(/^(?:(\s*[$\w]+)|\(\s*([$\w]+)\s*,\s*([$\w]+)\s*\))$/))) throw r("iidexp", "'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.", g); var y, x = h[3] || h[1], A = h[2]; if (v && (!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(v) || /^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(v))) throw r("badident", "alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.", v); if (b) { var E = { $id: zt }, S = e(b); y = function (e, t, n, r) { return A && (E[A] = t), E[x] = n, E.$index = r, S(e, E) } } return function (e, n, i, d, h) { var g = Le(); e.$watchCollection(m, (function (i) { var d, m, b, S, $, C, _, O, T, j, P, D, R = n[0], I = Le(); if (v && (e[v] = i), w(i)) T = i, O = y || l; else for (var N in O = y || c, T = [], i) u.call(i, N) && "$" !== N.charAt(0) && T.push(N); for (S = T.length, P = new Array(S), d = 0; d < S; d++)if ($ = i === T ? d : T[d], C = i[$], _ = O(e, $, C, d), g[_]) j = g[_], delete g[_], I[_] = j, P[d] = j; else { if (I[_]) throw k(P, (function (e) { e && e.scope && (g[e.id] = e) })), r("dupes", "Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}", p, _, C); P[d] = { id: _, scope: void 0, clone: void 0 }, I[_] = !0 } for (var M in E && (E[x] = void 0), g) { if (D = ze((j = g[M]).clone), t.leave(D), D[0].parentNode) for (d = 0, m = D.length; d < m; d++)D[d].$$NG_REMOVED = !0; j.scope.$destroy() } for (d = 0; d < S; d++)if ($ = i === T ? d : T[d], C = i[$], (j = P[d]).scope) { b = R; do { b = b.nextSibling } while (b && b.$$NG_REMOVED); a(j) !== b && t.move(ze(j.clone), null, R), R = s(j), o(j.scope, d, x, C, A, $, S) } else h((function (e, n) { j.scope = n; var r = f.cloneNode(!1); e[e.length++] = r, t.enter(e, null, R), R = r, j.clone = e, I[j.id] = j, o(j.scope, d, x, C, A, $, S) })); g = I })) } } } }], ia = ["$animate", function (e) { return { restrict: "A", multiElement: !0, link: function (t, n, r) { t.$watch(r.ngShow, (function (t) { e[t ? "removeClass" : "addClass"](n, "ng-hide", { tempClasses: "ng-hide-animate" }) })) } } }], oa = ["$animate", function (e) { return { restrict: "A", multiElement: !0, link: function (t, n, r) { t.$watch(r.ngHide, (function (t) { e[t ? "addClass" : "removeClass"](n, "ng-hide", { tempClasses: "ng-hide-animate" }) })) } } }], aa = Ni((function (e, t, n) { e.$watchCollection(n.ngStyle, (function (e, n) { n && e !== n && k(n, (function (e, n) { t.css(n, "") })), e && t.css(e) })) })), sa = ["$animate", "$compile", function (e, t) { return { require: "ngSwitch", controller: ["$scope", function () { this.cases = {} }], link: function (n, r, i, o) { var a = i.ngSwitch || i.on, s = [], l = [], c = [], u = [], d = function (e, t) { return function (n) { !1 !== n && e.splice(t, 1) } }; n.$watch(a, (function (n) { for (var r, i; c.length;)e.cancel(c.pop()); for (r = 0, i = u.length; r < i; ++r) { var a = ze(l[r].clone); u[r].$destroy(), (c[r] = e.leave(a)).done(d(c, r)) } l.length = 0, u.length = 0, (s = o.cases["!" + n] || o.cases["?"]) && k(s, (function (n) { n.transclude((function (r, i) { u.push(i); var o = n.element; r[r.length++] = t.$$createComment("end ngSwitchWhen"); var a = { clone: r }; l.push(a), e.enter(r, o.parent(), o) })) })) })) } } }], la = Ni({ transclude: "element", priority: 1200, require: "^ngSwitch", multiElement: !0, link: function (e, t, n, r, i) { k(n.ngSwitchWhen.split(n.ngSwitchWhenSeparator).sort().filter((function (e, t, n) { return n[t - 1] !== e })), (function (e) { r.cases["!" + e] = r.cases["!" + e] || [], r.cases["!" + e].push({ transclude: i, element: t }) })) } }), ca = Ni({ transclude: "element", priority: 1200, require: "^ngSwitch", multiElement: !0, link: function (e, t, n, r, i) { r.cases["?"] = r.cases["?"] || [], r.cases["?"].push({ transclude: i, element: t }) } }), ua = i("ngTransclude"), da = ["$compile", function (e) { return { restrict: "EAC", compile: function (t) { var n = e(t.contents()); return t.empty(), function (e, t, r, i, o) { if (!o) throw ua("orphan", "Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}", xe(t)); r.ngTransclude === r.$attr.ngTransclude && (r.ngTransclude = ""); var a = r.ngTransclude || r.ngTranscludeSlot; function s() { n(e, (function (e) { t.append(e) })) } o((function (e, n) { e.length && function (e) { for (var t = 0, n = e.length; t < n; t++) { var r = e[t]; if (r.nodeType !== Fe || r.nodeValue.trim()) return !0 } }(e) ? t.append(e) : (s(), n.$destroy()) }), null, a), a && !o.isSlotFilled(a) && s() } } } }], pa = ["$templateCache", function (e) { return { restrict: "E", terminal: !0, compile: function (t, n) { if ("text/ng-template" === n.type) { var r = n.id, i = t[0].text; e.put(r, i) } } } }], fa = { $setViewValue: D, $render: D }; function ha(e, t) { e.prop("selected", t), e.attr("selected", t) } var ga = ["$element", "$scope", function (t, n) { var r = this, i = new Ft; r.selectValueMap = {}, r.ngModelCtrl = fa, r.multiple = !1, r.unknownOption = a(e.document.createElement("option")), r.hasEmptyOption = !1, r.emptyOption = void 0, r.renderUnknownOption = function (e) { var n = r.generateUnknownOptionValue(e); r.unknownOption.val(n), t.prepend(r.unknownOption), ha(r.unknownOption, !0), t.val(n) }, r.updateUnknownOption = function (e) { var n = r.generateUnknownOptionValue(e); r.unknownOption.val(n), ha(r.unknownOption, !0), t.val(n) }, r.generateUnknownOptionValue = function (e) { return "? " + zt(e) + " ?" }, r.removeUnknownOption = function () { r.unknownOption.parent() && r.unknownOption.remove() }, r.selectEmptyOption = function () { r.emptyOption && (t.val(""), ha(r.emptyOption, !0)) }, r.unselectEmptyOption = function () { r.hasEmptyOption && ha(r.emptyOption, !1) }, n.$on("$destroy", (function () { r.renderUnknownOption = D })), r.readValue = function () { var e = t.val(), n = e in r.selectValueMap ? r.selectValueMap[e] : e; return r.hasOption(n) ? n : null }, r.writeValue = function (e) { var n = t[0].options[t[0].selectedIndex]; if (n && ha(a(n), !1), r.hasOption(e)) { r.removeUnknownOption(); var i = zt(e); t.val(i in r.selectValueMap ? i : e); var o = t[0].options[t[0].selectedIndex]; ha(a(o), !0) } else r.selectUnknownOrEmptyOption(e) }, r.addOption = function (e, t) { if (8 !== t[0].nodeType) { Me(e, '"option value"'), "" === e && (r.hasEmptyOption = !0, r.emptyOption = t); var n = i.get(e) || 0; i.set(e, n + 1), s() } }, r.removeOption = function (e) { var t = i.get(e); t && (1 === t ? (i.delete(e), "" === e && (r.hasEmptyOption = !1, r.emptyOption = void 0)) : i.set(e, t - 1)) }, r.hasOption = function (e) { return !!i.get(e) }, r.$hasEmptyOption = function () { return r.hasEmptyOption }, r.$isUnknownOptionSelected = function () { return t[0].options[0] === r.unknownOption[0] }, r.$isEmptyOptionSelected = function () { return r.hasEmptyOption && t[0].options[t[0].selectedIndex] === r.emptyOption[0] }, r.selectUnknownOrEmptyOption = function (e) { null == e && r.emptyOption ? (r.removeUnknownOption(), r.selectEmptyOption()) : r.unknownOption.parent().length ? r.updateUnknownOption(e) : r.renderUnknownOption(e) }; var o = !1; function s() { o || (o = !0, n.$$postDigest((function () { o = !1, r.ngModelCtrl.$render() }))) } var l = !1; function c(e) { l || (l = !0, n.$$postDigest((function () { n.$$destroyed || (l = !1, r.ngModelCtrl.$setViewValue(r.readValue()), e && r.ngModelCtrl.$render()) }))) } r.registerOption = function (e, t, n, i, o) { var a, l; n.$attr.ngValue ? n.$observe("value", (function (e) { var n, i = t.prop("selected"); z(l) && (r.removeOption(a), delete r.selectValueMap[l], n = !0), l = zt(e), a = e, r.selectValueMap[l] = e, r.addOption(e, t), t.attr("value", l), n && i && c() })) : i ? n.$observe("value", (function (e) { var n; r.readValue(); var i = t.prop("selected"); z(a) && (r.removeOption(a), n = !0), a = e, r.addOption(e, t), n && i && c() })) : o ? e.$watch(o, (function (e, i) { n.$set("value", e); var o = t.prop("selected"); i !== e && r.removeOption(i), r.addOption(e, t), i && o && c() })) : r.addOption(n.value, t); n.$observe("disabled", (function (e) { ("true" === e || e && t.prop("selected")) && (r.multiple ? c(!0) : (r.ngModelCtrl.$setViewValue(null), r.ngModelCtrl.$render())) })), t.on("$destroy", (function () { var e = r.readValue(), t = n.value; r.removeOption(t), s(), (r.multiple && e && -1 !== e.indexOf(t) || e === t) && c(!0) })) } }], ma = function () { return { restrict: "E", require: ["select", "?ngModel"], controller: ga, priority: 1, link: { pre: function (e, t, n, r) { var i = r[0], o = r[1]; if (!o) return void (i.registerOption = D); if (i.ngModelCtrl = o, t.on("change", (function () { i.removeUnknownOption(), e.$apply((function () { o.$setViewValue(i.readValue()) })) })), n.multiple) { i.multiple = !0, i.readValue = function () { var e = []; return k(t.find("option"), (function (t) { if (t.selected && !t.disabled) { var n = t.value; e.push(n in i.selectValueMap ? i.selectValueMap[n] : n) } })), e }, i.writeValue = function (e) { k(t.find("option"), (function (t) { var n = !!e && (re(e, t.value) || re(e, i.selectValueMap[t.value])); n !== t.selected && ha(a(t), n) })) }; var s, l = NaN; e.$watch((function () { l !== o.$viewValue || se(s, o.$viewValue) || (s = qe(o.$viewValue), o.$render()), l = o.$viewValue })), o.$isEmpty = function (e) { return !e || 0 === e.length } } }, post: function (e, t, n, r) { var i = r[1]; if (!i) return; var o = r[0]; i.$render = function () { o.writeValue(i.$viewValue) } } } } }, va = ["$interpolate", function (e) { return { restrict: "E", priority: 100, compile: function (t, n) { var r, i; return z(n.ngValue) || (z(n.value) ? r = e(n.value, !0) : (i = e(t.text(), !0)) || n.$set("value", t.text())), function (e, t, n) { var o = t.parent(), a = o.data("$selectController") || o.parent().data("$selectController"); a && a.registerOption(e, t, n, r, i) } } } }], ba = ["$parse", function (e) { return { restrict: "A", require: "?ngModel", link: function (t, n, r, i) { if (i) { var o = r.hasOwnProperty("required") || e(r.ngRequired)(t); r.ngRequired || (r.required = !0), i.$validators.required = function (e, t) { return !o || !i.$isEmpty(t) }, r.$observe("required", (function (e) { o !== e && (o = e, i.$validate()) })) } } } }], ya = ["$parse", function (e) { return { restrict: "A", require: "?ngModel", compile: function (t, n) { var r, i; return n.ngPattern && (r = n.ngPattern, i = "/" === n.ngPattern.charAt(0) && c.test(n.ngPattern) ? function () { return n.ngPattern } : e(n.ngPattern)), function (e, t, n, o) { if (o) { var a = n.pattern; n.ngPattern ? a = i(e) : r = n.pattern; var s = ka(a, r, t); n.$observe("pattern", (function (e) { var n = s; s = ka(e, r, t), (n && n.toString()) !== (s && s.toString()) && o.$validate() })), o.$validators.pattern = function (e, t) { return o.$isEmpty(t) || M(s) || s.test(t) } } } } } }], xa = ["$parse", function (e) { return { restrict: "A", require: "?ngModel", link: function (t, n, r, i) { if (i) { var o = r.maxlength || e(r.ngMaxlength)(t), a = Aa(o); r.$observe("maxlength", (function (e) { o !== e && (a = Aa(e), o = e, i.$validate()) })), i.$validators.maxlength = function (e, t) { return a < 0 || i.$isEmpty(t) || t.length <= a } } } } }], wa = ["$parse", function (e) { return { restrict: "A", require: "?ngModel", link: function (t, n, r, i) { if (i) { var o = r.minlength || e(r.ngMinlength)(t), a = Aa(o) || -1; r.$observe("minlength", (function (e) { o !== e && (a = Aa(e) || -1, o = e, i.$validate()) })), i.$validators.minlength = function (e, t) { return i.$isEmpty(t) || t.length >= a } } } } }]; function ka(e, t, n) { if (e) { if (F(e) && (e = new RegExp("^" + e + "$")), !e.test) throw i("ngPattern")("noregexp", "Expected {0} to be a RegExp but was {1}. Element: {2}", t, e, xe(n)); return e } } function Aa(e) { var t = T(e); return j(t) ? -1 : t } e.angular.bootstrap ? e.console && console.log("WARNING: Tried to load AngularJS more than once.") : (!function () { var t; if (!De) { var n = ce(); (s = M(n) ? e.jQuery : n ? e[n] : void 0) && s.fn.on ? (a = s, _(s.fn, { scope: Tt.scope, isolateScope: Tt.isolateScope, controller: Tt.controller, injector: Tt.injector, inheritedData: Tt.inheritedData })) : a = pt, t = a.cleanData, a.cleanData = function (e) { for (var n, r, i = 0; null != (r = e[i]); i++)(n = (a._data(r) || {}).events) && n.$destroy && a(r).triggerHandler("$destroy"); t(e) }, y.element = a, De = !0 } }(), function (t) { _(t, { errorHandlingConfig: n, bootstrap: _e, copy: oe, extend: _, merge: O, equals: se, element: a, forEach: k, injector: Qt, noop: D, bind: pe, toJson: he, fromJson: ge, identity: R, isUndefined: M, isDefined: z, isString: F, isFunction: G, isObject: L, isNumber: q, isElement: te, isArray: U, version: Ue, isDate: V, callbacks: { $$counter: 0 }, getTestability: Te, reloadWithDebugInfo: Oe, UNSAFE_restoreLegacyJqLiteXHTMLReplacement: Re, $$minErr: i, $$csp: le, $$encodeUriSegment: Ae, $$encodeUriQuery: Ee, $$lowercase: d, $$stringify: Be, $$uppercase: p }), (l = function (e) { var t = i("$injector"), n = i("ng"); function r(e, t, n) { return e[t] || (e[t] = n()) } var o = r(e, "angular", Object); return o.$$minErr = o.$$minErr || i, r(o, "module", (function () { var e = {}; return function (i, o, a) { var s = {}; return function (e, t) { if ("hasOwnProperty" === e) throw n("badname", "hasOwnProperty is not a valid {0} name", t) }(i, "module"), o && e.hasOwnProperty(i) && (e[i] = null), r(e, i, (function () { if (!o) throw t("nomod", "Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.", i); var e = [], r = [], l = [], c = d("$injector", "invoke", "push", r), u = { _invokeQueue: e, _configBlocks: r, _runBlocks: l, info: function (e) { if (z(e)) { if (!L(e)) throw n("aobj", "Argument '{0}' must be an object", "value"); return s = e, this } return s }, requires: o, name: i, provider: p("$provide", "provider"), factory: p("$provide", "factory"), service: p("$provide", "service"), value: d("$provide", "value"), constant: d("$provide", "constant", "unshift"), decorator: p("$provide", "decorator", r), animation: p("$animateProvider", "register"), filter: p("$filterProvider", "register"), controller: p("$controllerProvider", "register"), directive: p("$compileProvider", "directive"), component: p("$compileProvider", "component"), config: c, run: function (e) { return l.push(e), this } }; return a && c(a), u; function d(t, n, r, i) { return i || (i = e), function () { return i[r || "push"]([t, n, arguments]), u } } function p(t, n, r) { return r || (r = e), function (e, o) { return o && G(o) && (o.$$moduleName = i), r.push([t, n, arguments]), u } } })) } })) }(e))("ng", ["ngLocale"], ["$provide", function (e) { e.provider({ $$sanitizeUri: qr }), e.provider("$compile", gn).directive({ a: Mi, input: mo, textarea: mo, form: qi, script: pa, select: ma, option: va, ngBind: xo, ngBindHtml: ko, ngBindTemplate: wo, ngClass: So, ngClassEven: Co, ngClassOdd: $o, ngCloak: _o, ngController: Oo, ngForm: Vi, ngHide: oa, ngIf: Do, ngInclude: Ro, ngInit: No, ngNonBindable: Zo, ngPluralize: ea, ngRef: na, ngRepeat: ra, ngShow: ia, ngStyle: aa, ngSwitch: sa, ngSwitchWhen: la, ngSwitchDefault: ca, ngOptions: Ko, ngTransclude: da, ngModel: Ho, ngList: Mo, ngChange: Ao, pattern: ya, ngPattern: ya, required: ba, ngRequired: ba, minlength: wa, ngMinlength: wa, maxlength: xa, ngMaxlength: xa, ngValue: yo, ngModelOptions: Yo }).directive({ ngInclude: Io, input: vo }).directive(zi).directive(To), e.provider({ $anchorScroll: Jt, $animate: on, $animateCss: ln, $$animateJs: nn, $$animateQueue: rn, $$AnimateRunner: sn, $$animateAsyncRun: an, $browser: un, $cacheFactory: dn, $controller: Sn, $document: $n, $$isDocumentHidden: Cn, $exceptionHandler: _n, $filter: fi, $$forceReflow: On, $interpolate: Wn, $interval: Xn, $$intervalFactory: Zn, $http: Vn, $httpParamSerializer: Nn, $httpParamSerializerJQLike: Mn, $httpBackend: Hn, $xhrFactory: Un, $jsonpCallbacks: Qn, $location: hr, $log: gr, $parse: Dr, $rootScope: Fr, $q: Rr, $$q: Ir, $sce: Xr, $sceDelegate: Yr, $sniffer: Zr, $$taskTrackerFactory: Qr, $templateCache: pn, $templateRequest: ei, $$testability: ti, $timeout: ri, $window: ui, $$rAF: Br, $$jqLite: Mt, $$Map: qt, $$cookieReader: pi }) }]).info({ angularVersion: "1.8.3" }) }(y), y.module("ngLocale", [], ["$provide", function (e) { var t = "one", n = "other"; e.value("$locale", { DATETIME_FORMATS: { AMPMS: ["AM", "PM"], DAY: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], ERANAMES: ["Before Christ", "Anno Domini"], ERAS: ["BC", "AD"], FIRSTDAYOFWEEK: 6, MONTH: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], SHORTDAY: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], SHORTMONTH: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], STANDALONEMONTH: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], WEEKENDRANGE: [5, 6], fullDate: "EEEE, MMMM d, y", longDate: "MMMM d, y", medium: "MMM d, y h:mm:ss a", mediumDate: "MMM d, y", mediumTime: "h:mm:ss a", short: "M/d/yy h:mm a", shortDate: "M/d/yy", shortTime: "h:mm a" }, NUMBER_FORMATS: { CURRENCY_SYM: "$", DECIMAL_SEP: ".", GROUP_SEP: ",", PATTERNS: [{ gSize: 3, lgSize: 3, maxFrac: 3, minFrac: 0, minInt: 1, negPre: "-", negSuf: "", posPre: "", posSuf: "" }, { gSize: 3, lgSize: 3, maxFrac: 2, minFrac: 2, minInt: 1, negPre: "-¤", negSuf: "", posPre: "¤", posSuf: "" }] }, id: "en-us", localeID: "en_US", pluralCat: function (e, r) { var i = 0 | e, o = function (e, t) { var n = t; void 0 === n && (n = Math.min(function (e) { var t = (e += "").indexOf("."); return -1 == t ? 0 : e.length - t - 1 }(e), 3)); var r = Math.pow(10, n); return { v: n, f: (e * r | 0) % r } }(e, r); return 1 == i && 0 == o.v ? t : n } }) }]), a((function () { Ce(e.document, _e) }))) }(window), !window.angular.$$csp().noInlineStyle && window.angular.element(document.head).prepend(window.angular.element("<style>").text('@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}'))
202
+ }, function (e, t, n) { "use strict"; n(210); const r = n(33), i = n(8); window.jQuery = r, n(217), n(218), n(219), n(225), n(227), i.module("dbt", ["ngRoute", "ui.router", "hc.marked"]).config(["markedProvider", "$locationProvider", function (e, t) { e.setOptions({ gfm: !0, sanitize: !0 }), e.setRenderer({ table: function (e, t) { return "<table class='table'><thead>" + e + "</thead><tbody>" + t + "</tbody></table>" } }), t.html5Mode({ enabled: !1 }), r(document).tooltip({ selector: '[data-toggle="tooltip"]', placement: function (e, t) { return r(t).attr("data-placement") ? r(t).attr("data-placement") : "auto" }, container: "body" }), r(document).ready((function () { r("[data-toggle=popover]").popover({ container: "body", html: !0 }) })) }]) }, function (e, t, n) { var r = n(211); "string" == typeof r && (r = [[e.i, r, ""]]); var i = { hmr: !0, transform: void 0, insertInto: void 0 }; n(40)(r, i); r.locals && (e.exports = r.locals) }, function (e, t, n) { var r = n(212); (e.exports = n(39)(!1)).push([e.i, '@media (max-width: 960px){[data-large]{display:none !important}}@media (min-width: 961px){[data-small]{display:none !important}}@media screen{[data-print]{display:none !important}}@media print{[data-screen]{display:none !important}}html.touchevents [data-click]{display:none !important}html.no-touchevents [data-touch]{display:none !important}/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.6;color:#5e666c;background-color:#f9fafb}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#0bb;text-decoration:none}a:hover,a:focus{color:#009595;text-decoration:none}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:4px}.img-thumbnail{padding:0;line-height:1.6;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:1.6rem;margin-bottom:1.6rem;border:0;border-top:1px solid rgba(0,30,60,0.075)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:normal;line-height:false;color:#313539}h1 small,h1 .small,h2 small,h2 .small,h3 small,h3 .small,h4 small,h4 .small,h5 small,h5 .small,h6 small,h6 .small,.h1 small,.h1 .small,.h2 small,.h2 .small,.h3 small,.h3 .small,.h4 small,.h4 .small,.h5 small,.h5 .small,.h6 small,.h6 .small{font-weight:normal;line-height:1;color:#8b969e}h1,.h1,h2,.h2,h3,.h3{margin-top:1.6rem;margin-bottom:.8rem}h1 small,h1 .small,.h1 small,.h1 .small,h2 small,h2 .small,.h2 small,.h2 .small,h3 small,h3 .small,.h3 small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:.8rem;margin-bottom:.8rem}h4 small,h4 .small,.h4 small,.h4 .small,h5 small,h5 .small,.h5 small,.h5 .small,h6 small,h6 .small,.h6 small,.h6 .small{font-size:75%}h1,.h1{font-size:1.7142857143rem}h2,.h2{font-size:1.7142857143rem}h3,.h3{font-size:1.2857142857rem}h4,.h4{font-size:1.1428571429rem}h5,.h5{font-size:1rem}h6,.h6{font-size:1rem}p{margin:0 0 .8rem}.lead{margin-bottom:1.6rem;font-size:1rem;font-weight:300;line-height:1.4}@media (min-width: 540px){.lead{font-size:1.5rem}}small,.small{font-size:92%}mark,.mark{background-color:#fff6ec;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase,.initialism{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#8b969e}.text-primary{color:#0bb}a.text-primary:hover,a.text-primary:focus{color:#088}.text-success{color:#48a71c}a.text-success:hover,a.text-success:focus{color:#357b15}.text-info{color:#0aa}a.text-info:hover,a.text-info:focus{color:#077}.text-warning{color:#ff6316}a.text-warning:hover,a.text-warning:focus{color:#e24b00}.text-danger{color:#ff694b}a.text-danger:hover,a.text-danger:focus{color:#ff3f18}.bg-primary{color:#fff}.bg-primary{background-color:#0bb}a.bg-primary:hover,a.bg-primary:focus{background-color:#088}.bg-success{background-color:#f3faec}a.bg-success:hover,a.bg-success:focus{background-color:#daefc4}.bg-info{background-color:#edfafa}a.bg-info:hover,a.bg-info:focus{background-color:#c5efef}.bg-warning{background-color:#fff6ec}a.bg-warning:hover,a.bg-warning:focus{background-color:#ffdeb9}.bg-danger{background-color:#fff5f4}a.bg-danger:hover,a.bg-danger:focus{background-color:#ffc7c1}.page-header{padding-bottom:-.2rem;margin:3.2rem 0 1.6rem;border-bottom:1px solid #f7f7f8}ul,ol{margin-top:0;margin-bottom:.8rem}ul ul,ul ol,ol ul,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:1.6rem}dt,dd{line-height:1.6}dt{font-weight:bold}dd{margin-left:0}.dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table}.dl-horizontal dd:after{clear:both}@media (min-width: 260px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted rgba(0,30,60,0.075)}.initialism{font-size:90%}blockquote{padding:.8rem 1.6rem;margin:0 0 1.6rem;font-size:1rem;border-left:5px solid transparent}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.6;color:#8b969e}blockquote footer:before,blockquote small:before,blockquote .small:before{content:\'\\2014 \\A0\'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid transparent;border-left:0;text-align:right}.blockquote-reverse footer:before,.blockquote-reverse small:before,.blockquote-reverse .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before,blockquote.pull-right .small:before{content:\'\'}.blockquote-reverse footer:after,.blockquote-reverse small:after,.blockquote-reverse .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after,blockquote.pull-right .small:after{content:\'\\A0 \\2014\'}address{margin-bottom:1.6rem;font-style:normal;line-height:1.6}code,kbd,pre,samp{font-family:"Monaco",monospace}code{padding:2px 4px;font-size:90%;color:#313539;background-color:transparent;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#313539;background-color:transparent;border-radius:4px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;box-shadow:none}pre{display:block;padding:.3rem;margin:0 0 .8rem;font-size:0rem;line-height:1.6;word-break:break-all;word-wrap:break-word;color:#fff;background-color:#005e7a;border:1px solid transparent;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:30px;padding-right:30px}.container:before,.container:after{content:" ";display:table}.container:after{clear:both}@media (min-width: 540px){.container{width:780px}}@media (min-width: 768px){.container{width:1000px}}@media (min-width: 960px){.container{width:1200px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:30px;padding-right:30px}.container-fluid:before,.container-fluid:after{content:" ";display:table}.container-fluid:after{clear:both}.row{margin-left:-30px;margin-right:-30px}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:30px;padding-right:30px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-1{width:8.3333333333%}.col-xs-2{width:16.6666666667%}.col-xs-3{width:25%}.col-xs-4{width:33.3333333333%}.col-xs-5{width:41.6666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.3333333333%}.col-xs-8{width:66.6666666667%}.col-xs-9{width:75%}.col-xs-10{width:83.3333333333%}.col-xs-11{width:91.6666666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.3333333333%}.col-xs-pull-2{right:16.6666666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.3333333333%}.col-xs-pull-5{right:41.6666666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.3333333333%}.col-xs-pull-8{right:66.6666666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.3333333333%}.col-xs-pull-11{right:91.6666666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.3333333333%}.col-xs-push-2{left:16.6666666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.3333333333%}.col-xs-push-5{left:41.6666666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.3333333333%}.col-xs-push-8{left:66.6666666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.3333333333%}.col-xs-push-11{left:91.6666666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0%}.col-xs-offset-1{margin-left:8.3333333333%}.col-xs-offset-2{margin-left:16.6666666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.3333333333%}.col-xs-offset-5{margin-left:41.6666666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.3333333333%}.col-xs-offset-8{margin-left:66.6666666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.3333333333%}.col-xs-offset-11{margin-left:91.6666666667%}.col-xs-offset-12{margin-left:100%}@media (min-width: 540px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-1{width:8.3333333333%}.col-sm-2{width:16.6666666667%}.col-sm-3{width:25%}.col-sm-4{width:33.3333333333%}.col-sm-5{width:41.6666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.3333333333%}.col-sm-8{width:66.6666666667%}.col-sm-9{width:75%}.col-sm-10{width:83.3333333333%}.col-sm-11{width:91.6666666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.3333333333%}.col-sm-pull-2{right:16.6666666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.3333333333%}.col-sm-pull-5{right:41.6666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.3333333333%}.col-sm-pull-8{right:66.6666666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.3333333333%}.col-sm-pull-11{right:91.6666666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.3333333333%}.col-sm-push-2{left:16.6666666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.3333333333%}.col-sm-push-5{left:41.6666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.3333333333%}.col-sm-push-8{left:66.6666666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.3333333333%}.col-sm-push-11{left:91.6666666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0%}.col-sm-offset-1{margin-left:8.3333333333%}.col-sm-offset-2{margin-left:16.6666666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.3333333333%}.col-sm-offset-5{margin-left:41.6666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.3333333333%}.col-sm-offset-8{margin-left:66.6666666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.3333333333%}.col-sm-offset-11{margin-left:91.6666666667%}.col-sm-offset-12{margin-left:100%}}@media (min-width: 768px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-1{width:8.3333333333%}.col-md-2{width:16.6666666667%}.col-md-3{width:25%}.col-md-4{width:33.3333333333%}.col-md-5{width:41.6666666667%}.col-md-6{width:50%}.col-md-7{width:58.3333333333%}.col-md-8{width:66.6666666667%}.col-md-9{width:75%}.col-md-10{width:83.3333333333%}.col-md-11{width:91.6666666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.3333333333%}.col-md-pull-2{right:16.6666666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.3333333333%}.col-md-pull-5{right:41.6666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.3333333333%}.col-md-pull-8{right:66.6666666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.3333333333%}.col-md-pull-11{right:91.6666666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.3333333333%}.col-md-push-2{left:16.6666666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.3333333333%}.col-md-push-5{left:41.6666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.3333333333%}.col-md-push-8{left:66.6666666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.3333333333%}.col-md-push-11{left:91.6666666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0%}.col-md-offset-1{margin-left:8.3333333333%}.col-md-offset-2{margin-left:16.6666666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.3333333333%}.col-md-offset-5{margin-left:41.6666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.3333333333%}.col-md-offset-8{margin-left:66.6666666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.3333333333%}.col-md-offset-11{margin-left:91.6666666667%}.col-md-offset-12{margin-left:100%}}@media (min-width: 960px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-1{width:8.3333333333%}.col-lg-2{width:16.6666666667%}.col-lg-3{width:25%}.col-lg-4{width:33.3333333333%}.col-lg-5{width:41.6666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.3333333333%}.col-lg-8{width:66.6666666667%}.col-lg-9{width:75%}.col-lg-10{width:83.3333333333%}.col-lg-11{width:91.6666666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.3333333333%}.col-lg-pull-2{right:16.6666666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.3333333333%}.col-lg-pull-5{right:41.6666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.3333333333%}.col-lg-pull-8{right:66.6666666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.3333333333%}.col-lg-pull-11{right:91.6666666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.3333333333%}.col-lg-push-2{left:16.6666666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.3333333333%}.col-lg-push-5{left:41.6666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.3333333333%}.col-lg-push-8{left:66.6666666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.3333333333%}.col-lg-push-11{left:91.6666666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0%}.col-lg-offset-1{margin-left:8.3333333333%}.col-lg-offset-2{margin-left:16.6666666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.3333333333%}.col-lg-offset-5{margin-left:41.6666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.3333333333%}.col-lg-offset-8{margin-left:66.6666666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.3333333333%}.col-lg-offset-11{margin-left:91.6666666667%}.col-lg-offset-12{margin-left:100%}}table{background-color:transparent}caption{padding-top:.6785714286rem 1.25rem;padding-bottom:.6785714286rem 1.25rem;color:#8b969e;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:1.6rem}.table>thead>tr>th,.table>thead>tr>td,.table>tbody>tr>th,.table>tbody>tr>td,.table>tfoot>tr>th,.table>tfoot>tr>td{padding:.6785714286rem 1.25rem;line-height:1.6;vertical-align:top;border-top:1px solid rgba(0,30,60,0.075)}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid rgba(0,30,60,0.075)}.table>caption+thead>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>th,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid rgba(0,30,60,0.075)}.table .table{background-color:#f9fafb}.table-condensed>thead>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>tfoot>tr>td{padding:.4464285714rem .875rem}.table-bordered{border:1px solid rgba(0,30,60,0.075)}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>tfoot>tr>td{border:1px solid rgba(0,30,60,0.075)}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9fafb}.table-hover>tbody>tr:hover{background-color:#f9fafb}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>thead>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th{background-color:#f9fafb}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#eaedf1}.table>thead>tr>td.success,.table>thead>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th{background-color:#f3faec}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#e6f5d8}.table>thead>tr>td.info,.table>thead>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th{background-color:#edfafa}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#d9f4f4}.table>thead>tr>td.warning,.table>thead>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th{background-color:#fff6ec}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#ffead3}.table>thead>tr>td.danger,.table>thead>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th{background-color:#fff5f4}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ffdedb}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width: 539px){.table-responsive{width:100%;margin-bottom:1.2rem;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid rgba(0,30,60,0.075)}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:1.6rem;font-size:1.5rem;line-height:inherit;color:#8b969e;border:0;border-bottom:1px solid rgba(0,30,60,0.075)}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \\9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:1.6785714286rem;font-size:1rem;line-height:1.6;color:#484e53}.form-control{display:block;width:100%;height:2.8571428571rem;padding:.6785714286rem 1.25rem;font-size:1rem;line-height:1.6;color:#484e53;background-color:#f0f2f4;background-image:none;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;-o-transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s;transition:border-color ease-in-out 0.15s,box-shadow ease-in-out 0.15s}.form-control:focus{border-color:transparent;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(0,0,0,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(0,0,0,0.6)}.form-control::-moz-placeholder{color:#a8b1b7;opacity:1}.form-control:-ms-input-placeholder{color:#a8b1b7}.form-control::-webkit-input-placeholder{color:#a8b1b7}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#e4e6eb;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio: 0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:2.8571428571rem}input[type="date"].input-sm,.input-group-sm>input[type="date"].form-control,.input-group-sm>input[type="date"].input-group-addon,.input-group-sm>.input-group-btn>input[type="date"].btn,.input-group-sm input[type="date"],input[type="time"].input-sm,.input-group-sm>input[type="time"].form-control,.input-group-sm>input[type="time"].input-group-addon,.input-group-sm>.input-group-btn>input[type="time"].btn,.input-group-sm input[type="time"],input[type="datetime-local"].input-sm,.input-group-sm>input[type="datetime-local"].form-control,.input-group-sm>input[type="datetime-local"].input-group-addon,.input-group-sm>.input-group-btn>input[type="datetime-local"].btn,.input-group-sm input[type="datetime-local"],input[type="month"].input-sm,.input-group-sm>input[type="month"].form-control,.input-group-sm>input[type="month"].input-group-addon,.input-group-sm>.input-group-btn>input[type="month"].btn,.input-group-sm input[type="month"]{line-height:2.2857142857rem}input[type="date"].input-lg,.input-group-lg>input[type="date"].form-control,.input-group-lg>input[type="date"].input-group-addon,.input-group-lg>.input-group-btn>input[type="date"].btn,.input-group-lg input[type="date"],input[type="time"].input-lg,.input-group-lg>input[type="time"].form-control,.input-group-lg>input[type="time"].input-group-addon,.input-group-lg>.input-group-btn>input[type="time"].btn,.input-group-lg input[type="time"],input[type="datetime-local"].input-lg,.input-group-lg>input[type="datetime-local"].form-control,.input-group-lg>input[type="datetime-local"].input-group-addon,.input-group-lg>.input-group-btn>input[type="datetime-local"].btn,.input-group-lg input[type="datetime-local"],input[type="month"].input-lg,.input-group-lg>input[type="month"].form-control,.input-group-lg>input[type="month"].input-group-addon,.input-group-lg>.input-group-btn>input[type="month"].btn,.input-group-lg input[type="month"]{line-height:4.2857142857rem}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:1.6rem;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \\9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="radio"].disabled,fieldset[disabled] input[type="radio"],input[type="checkbox"][disabled],input[type="checkbox"].disabled,fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,fieldset[disabled] .radio-inline,.checkbox-inline.disabled,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,fieldset[disabled] .radio label,.checkbox.disabled label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static,.form-grid .form-row .form-label label{padding-top:1.6785714286rem;padding-bottom:1.6785714286rem;margin-bottom:0;min-height:2.6rem}.form-control-static.input-lg,.input-group-lg>.form-control-static.form-control,.form-grid .form-row .form-label .input-group-lg>label.form-control,.input-group-lg>.form-control-static.input-group-addon,.form-grid .form-row .form-label .input-group-lg>label.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.form-grid .form-row .form-label .input-group-lg>.input-group-btn>label.btn,.form-grid .form-row .form-label label.input-lg,.form-control-static.input-sm,.input-group-sm>.form-control-static.form-control,.form-grid .form-row .form-label .input-group-sm>label.form-control,.input-group-sm>.form-control-static.input-group-addon,.form-grid .form-row .form-label .input-group-sm>label.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn,.form-grid .form-row .form-label .input-group-sm>.input-group-btn>label.btn,.form-grid .form-row .form-label label.input-sm{padding-left:0;padding-right:0}.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:2.2857142857rem;padding:.4464285714rem .875rem;font-size:.9285714286rem;line-height:1.6;border-radius:4px}select.input-sm,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,.input-group-sm>.input-group-btn>select.btn{height:2.2857142857rem;line-height:2.2857142857rem}textarea.input-sm,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,.input-group-sm>.input-group-btn>textarea.btn,select[multiple].input-sm,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>.input-group-btn>select[multiple].btn{height:auto}.form-group-sm .form-control{height:2.2857142857rem;padding:.4464285714rem .875rem;font-size:.9285714286rem;line-height:1.6;border-radius:4px}.form-group-sm select.form-control{height:2.2857142857rem;line-height:2.2857142857rem}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static,.form-group-sm .form-grid .form-row .form-label label,.form-grid .form-row .form-label .form-group-sm label{height:2.2857142857rem;min-height:2.5285714286rem;padding:1.4464285714rem .875rem;font-size:.9285714286rem;line-height:1.6}.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:4.2857142857rem;padding:1.2857142857rem 1.875rem;font-size:1.1428571429rem;line-height:1.6;border-radius:4px}select.input-lg,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,.input-group-lg>.input-group-btn>select.btn{height:4.2857142857rem;line-height:4.2857142857rem}textarea.input-lg,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,.input-group-lg>.input-group-btn>textarea.btn,select[multiple].input-lg,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>.input-group-btn>select[multiple].btn{height:auto}.form-group-lg .form-control{height:4.2857142857rem;padding:1.2857142857rem 1.875rem;font-size:1.1428571429rem;line-height:1.6;border-radius:4px}.form-group-lg select.form-control{height:4.2857142857rem;line-height:4.2857142857rem}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static,.form-group-lg .form-grid .form-row .form-label label,.form-grid .form-row .form-label .form-group-lg label{height:4.2857142857rem;min-height:2.7428571429rem;padding:2.2857142857rem 1.875rem;font-size:1.1428571429rem;line-height:1.6}.has-feedback{position:relative}.has-feedback .form-control{padding-right:3.5714285714rem}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:2.8571428571rem;height:2.8571428571rem;line-height:2.8571428571rem;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:4.2857142857rem;height:4.2857142857rem;line-height:4.2857142857rem}.input-sm+.form-control-feedback,.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:2.2857142857rem;height:2.2857142857rem;line-height:2.2857142857rem}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#48a71c}.has-success .form-control{border-color:#48a71c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#357b15;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #79e049;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #79e049}.has-success .input-group-addon{color:#48a71c;border-color:#48a71c;background-color:#f3faec}.has-success .form-control-feedback{color:#48a71c}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#ff6316}.has-warning .form-control{border-color:#ff6316;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#e24b00;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ffa77c;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ffa77c}.has-warning .input-group-addon{color:#ff6316;border-color:#ff6316;background-color:#fff6ec}.has-warning .form-control-feedback{color:#ff6316}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#ff694b}.has-error .form-control{border-color:#ff694b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#ff3f18;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ffbeb1;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ffbeb1}.has-error .input-group-addon{color:#ff694b;border-color:#ff694b;background-color:#fff5f4}.has-error .form-control-feedback{color:#ff694b}.has-feedback label ~ .form-control-feedback{top:6.6rem}.has-feedback label.sr-only ~ .form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#9ea6ab}@media (min-width: 540px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static,.form-inline .form-grid .form-row .form-label label,.form-grid .form-row .form-label .form-inline label{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:1.6785714286rem}.form-horizontal .radio,.form-horizontal .checkbox{min-height:3.2785714286rem}.form-horizontal .form-group{margin-left:-30px;margin-right:-30px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table}.form-horizontal .form-group:after{clear:both}@media (min-width: 540px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:1.6785714286rem}}.form-horizontal .has-feedback .form-control-feedback{right:30px}@media (min-width: 540px){.form-horizontal .form-group-lg .control-label{padding-top:2.2857142857rem;font-size:1.1428571429rem}}@media (min-width: 540px){.form-horizontal .form-group-sm .control-label{padding-top:1.4464285714rem;font-size:.9285714286rem}}.btn{display:inline-block;margin-bottom:0;font-weight:bold;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:.6785714286rem 1.25rem;font-size:1rem;line-height:1.6;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn.focus,.btn:active:focus,.btn:active.focus,.btn.active:focus,.btn.active.focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#484e53;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#484e53;background-color:#f0f2f4;border-color:transparent}.btn-default:focus,.btn-default.focus{color:#484e53;background-color:#e9ebef}.btn-default:hover{color:#484e53;background-color:#e9ebef}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{color:#484e53;background-color:#e9ebef}.btn-default:active:hover,.btn-default:active:focus,.btn-default:active.focus,.btn-default.active:hover,.btn-default.active:focus,.btn-default.active.focus,.open>.btn-default.dropdown-toggle:hover,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle.focus{color:#484e53;background-color:#e9ebef}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{background-image:none}.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled.focus,.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default:hover,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default.focus{background-color:#f0f2f4;border-color:transparent}.btn-default .badge{color:#f0f2f4;background-color:#484e53}.btn-primary{color:#fff;background-color:#0bb;border-color:transparent}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#009595}.btn-primary:hover{color:#fff;background-color:#009595}.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#009595}.btn-primary:active:hover,.btn-primary:active:focus,.btn-primary:active.focus,.btn-primary.active:hover,.btn-primary.active:focus,.btn-primary.active.focus,.open>.btn-primary.dropdown-toggle:hover,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle.focus{color:#fff;background-color:#009595}.btn-primary:active,.btn-primary.active,.open>.btn-primary.dropdown-toggle{background-image:none}.btn-primary.disabled:hover,.btn-primary.disabled:focus,.btn-primary.disabled.focus,.btn-primary[disabled]:hover,.btn-primary[disabled]:focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary:hover,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary.focus{background-color:#0bb;border-color:transparent}.btn-primary .badge{color:#0bb;background-color:#fff}.btn-success{color:#fff;background-color:#7ec631;border-color:transparent}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#48a71c}.btn-success:hover{color:#fff;background-color:#48a71c}.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#48a71c}.btn-success:active:hover,.btn-success:active:focus,.btn-success:active.focus,.btn-success.active:hover,.btn-success.active:focus,.btn-success.active.focus,.open>.btn-success.dropdown-toggle:hover,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle.focus{color:#fff;background-color:#48a71c}.btn-success:active,.btn-success.active,.open>.btn-success.dropdown-toggle{background-image:none}.btn-success.disabled:hover,.btn-success.disabled:focus,.btn-success.disabled.focus,.btn-success[disabled]:hover,.btn-success[disabled]:focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success:hover,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success.focus{background-color:#7ec631;border-color:transparent}.btn-success .badge{color:#7ec631;background-color:#fff}.btn-info{color:#fff;background-color:#0bb;border-color:transparent}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#009595}.btn-info:hover{color:#fff;background-color:#009595}.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#009595}.btn-info:active:hover,.btn-info:active:focus,.btn-info:active.focus,.btn-info.active:hover,.btn-info.active:focus,.btn-info.active.focus,.open>.btn-info.dropdown-toggle:hover,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle.focus{color:#fff;background-color:#009595}.btn-info:active,.btn-info.active,.open>.btn-info.dropdown-toggle{background-image:none}.btn-info.disabled:hover,.btn-info.disabled:focus,.btn-info.disabled.focus,.btn-info[disabled]:hover,.btn-info[disabled]:focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info:hover,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info.focus{background-color:#0bb;border-color:transparent}.btn-info .badge{color:#0bb;background-color:#fff}.btn-warning{color:#fff;background-color:#ff9b26;border-color:transparent}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#ff6316}.btn-warning:hover{color:#fff;background-color:#ff6316}.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ff6316}.btn-warning:active:hover,.btn-warning:active:focus,.btn-warning:active.focus,.btn-warning.active:hover,.btn-warning.active:focus,.btn-warning.active.focus,.open>.btn-warning.dropdown-toggle:hover,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle.focus{color:#fff;background-color:#ff6316}.btn-warning:active,.btn-warning.active,.open>.btn-warning.dropdown-toggle{background-image:none}.btn-warning.disabled:hover,.btn-warning.disabled:focus,.btn-warning.disabled.focus,.btn-warning[disabled]:hover,.btn-warning[disabled]:focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning:hover,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning.focus{background-color:#ff9b26;border-color:transparent}.btn-warning .badge{color:#ff9b26;background-color:#fff}.btn-danger{color:#fff;background-color:#ff694b;border-color:transparent}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#ff3c2b}.btn-danger:hover{color:#fff;background-color:#ff3c2b}.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#ff3c2b}.btn-danger:active:hover,.btn-danger:active:focus,.btn-danger:active.focus,.btn-danger.active:hover,.btn-danger.active:focus,.btn-danger.active.focus,.open>.btn-danger.dropdown-toggle:hover,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle.focus{color:#fff;background-color:#ff3c2b}.btn-danger:active,.btn-danger.active,.open>.btn-danger.dropdown-toggle{background-image:none}.btn-danger.disabled:hover,.btn-danger.disabled:focus,.btn-danger.disabled.focus,.btn-danger[disabled]:hover,.btn-danger[disabled]:focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger:hover,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger.focus{background-color:#ff694b;border-color:transparent}.btn-danger .badge{color:#ff694b;background-color:#fff}.btn-link{color:#0bb;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#009595;text-decoration:none;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:hover,fieldset[disabled] .btn-link:focus{color:#8b969e;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:1.2857142857rem 1.875rem;font-size:1.1428571429rem;line-height:1.6;border-radius:4px}.btn-sm,.btn-group-sm>.btn{padding:.4464285714rem .875rem;font-size:.9285714286rem;line-height:1.6;border-radius:4px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:.9285714286rem;line-height:1.6;border-radius:4px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \\9 ;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:1rem;text-align:left;background-color:#fff;border:1px solid transparent;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:-.2rem 0;overflow:hidden;background-color:rgba(0,30,60,0.075)}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.6;color:#5e666c;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#313539;background-color:#f9fafb}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#0bb}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#8b969e}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:.9285714286rem;line-height:1.6;color:#8b969e;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \\9 ;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width: 960px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar:before,.btn-toolbar:after{content:" ";display:table}.btn-toolbar:after{clear:both}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle,.btn-group-lg.btn-group>.btn+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret,.btn-group-lg>.btn .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret,.dropup .btn-group-lg>.btn .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{content:" ";display:table}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.6785714286rem 1.25rem;font-size:1rem;font-weight:normal;line-height:1;color:#484e53;text-align:center;background-color:#f0f2f4;border:1px solid transparent;border-radius:4px}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:.4464285714rem .875rem;font-size:.9285714286rem;border-radius:4px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:1.2857142857rem 1.875rem;font-size:1.1428571429rem;border-radius:4px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:before,.nav:after{content:" ";display:table}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:.6785714286rem .875rem}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#f9fafb}.nav>li.disabled>a{color:#8b969e}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#8b969e;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#f9fafb;border-color:#0bb}.nav .nav-divider{height:1px;margin:-.2rem 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid rgba(0,30,60,0.075)}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.6;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#ff694b #ff694b rgba(0,30,60,0.075)}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:inherit;background-color:transparent;border:1px solid #ff694b;border-bottom-color:transparent;cursor:default}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:1000px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#0bb}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li,.nav-tabs.nav-justified>li{float:none}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width: 540px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width: 540px){.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs.nav-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#f9fafb}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.breadcrumb{padding:1.2857142857rem 1.875rem;margin-bottom:1.6rem;list-style:none;background-color:#f9fafb;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\\A0";padding:0 5px;color:#8b969e}.breadcrumb>.active{color:#313539}.pagination{display:inline-block;padding-left:0;margin:1.6rem 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:.6785714286rem 1.25rem;line-height:1.6;text-decoration:none;color:#0bb;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>a:focus,.pagination>li>span:hover,.pagination>li>span:focus{z-index:2;color:#009595;background-color:#f7f7f8;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:hover,.pagination>.active>a:focus,.pagination>.active>span,.pagination>.active>span:hover,.pagination>.active>span:focus{z-index:3;color:#fff;background-color:#0bb;border-color:#0bb;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#bec5c9;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:1.2857142857rem 1.875rem;font-size:1.1428571429rem;line-height:1.6}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination-sm>li>a,.pagination-sm>li>span{padding:.4464285714rem .875rem;font-size:.9285714286rem;line-height:1.6}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pager{padding-left:0;margin:1.6rem 0;list-style:none;text-align:center}.pager:before,.pager:after{content:" ";display:table}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f7f7f8}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#bec5c9;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#8b969e;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label:empty{display:none}.btn .label{position:relative;top:-1px}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:transparent}.label-default[href]:hover,.label-default[href]:focus{background-color:transparent}.label-primary{background-color:transparent}.label-primary[href]:hover,.label-primary[href]:focus{background-color:transparent}.label-success{background-color:transparent}.label-success[href]:hover,.label-success[href]:focus{background-color:transparent}.label-info{background-color:transparent}.label-info[href]:hover,.label-info[href]:focus{background-color:transparent}.label-warning{background-color:transparent}.label-warning[href]:hover,.label-warning[href]:focus{background-color:transparent}.label-danger{background-color:transparent}.label-danger[href]:hover,.label-danger[href]:focus{background-color:transparent}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:.9285714286rem;font-weight:bold;color:#8b969e;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#f0f2f4;border-radius:100px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#0bb;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.thumbnail{display:block;padding:0;margin-bottom:1.6rem;line-height:1.6;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-transition:border 0.2s ease-in-out;-o-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:20px 30px;color:#8b969e}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#0bb}.alert{padding:1.2857142857rem 1.875rem;margin-bottom:1.6rem;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:inherit}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:1.2857142857rem 1.875rem20}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#f3faec;border-color:transparent;color:#48a71c}.alert-success hr{border-top-color:transparent}.alert-success .alert-link{color:#357b15}.alert-info{background-color:#edfafa;border-color:transparent;color:#0aa}.alert-info hr{border-top-color:transparent}.alert-info .alert-link{color:#077}.alert-warning{background-color:#fff6ec;border-color:transparent;color:#ff6316}.alert-warning hr{border-top-color:transparent}.alert-warning .alert-link{color:#e24b00}.alert-danger{background-color:#fff5f4;border-color:transparent;color:#ff694b}.alert-danger hr{border-top-color:transparent}.alert-danger .alert-link{color:#ff3f18}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:1.6rem;margin-bottom:1.6rem;background-color:#f0f2f4;border-radius:100px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:.9285714286rem;line-height:1.6rem;color:#8b969e;text-align:center;background-color:#0bb;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#7ec631}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#0bb}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#ff9b26}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#ff694b}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,30,60,0.075)}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#5e666c}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#313539}a.list-group-item:hover,a.list-group-item:focus,button.list-group-item:hover,button.list-group-item:focus{text-decoration:none;color:#313539;background-color:#f9fafb}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#f9fafb;color:#8b969e;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#8b969e}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#0bb;border-color:rgba(0,30,60,0.03)}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#fff}.list-group-item-success{color:#48a71c;background-color:#f3faec}a.list-group-item-success,button.list-group-item-success{color:#48a71c}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:hover,button.list-group-item-success:focus{color:#48a71c;background-color:#e6f5d8}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active,button.list-group-item-success.active:hover,button.list-group-item-success.active:focus{color:#fff;background-color:#48a71c;border-color:#48a71c}.list-group-item-info{color:#0aa;background-color:#edfafa}a.list-group-item-info,button.list-group-item-info{color:#0aa}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:hover,button.list-group-item-info:focus{color:#0aa;background-color:#d9f4f4}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active,button.list-group-item-info.active:hover,button.list-group-item-info.active:focus{color:#fff;background-color:#0aa;border-color:#0aa}.list-group-item-warning{color:#ff6316;background-color:#fff6ec}a.list-group-item-warning,button.list-group-item-warning{color:#ff6316}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:hover,button.list-group-item-warning:focus{color:#ff6316;background-color:#ffead3}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active,button.list-group-item-warning.active:hover,button.list-group-item-warning.active:focus{color:#fff;background-color:#ff6316;border-color:#ff6316}.list-group-item-danger{color:#ff694b;background-color:#fff5f4}a.list-group-item-danger,button.list-group-item-danger{color:#ff694b}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:hover,button.list-group-item-danger:focus{color:#ff694b;background-color:#ffdedb}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active,button.list-group-item-danger.active:hover,button.list-group-item-danger.active:focus{color:#fff;background-color:#ff694b;border-color:#ff694b}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:1.6rem;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{content:" ";display:table}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:2rem;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:transparent;border-top:1px solid transparent;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid rgba(0,30,60,0.075)}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:1.6rem}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid transparent}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid transparent}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#5e666c;background-color:transparent;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:transparent;background-color:#5e666c}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#0bb}.panel-primary>.panel-heading{color:#fff;background-color:#0bb;border-color:#0bb}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#0bb}.panel-primary>.panel-heading .badge{color:#0bb;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#0bb}.panel-success{border-color:transparent}.panel-success>.panel-heading{color:#48a71c;background-color:#f3faec;border-color:transparent}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-success>.panel-heading .badge{color:#f3faec;background-color:#48a71c}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-info{border-color:transparent}.panel-info>.panel-heading{color:#0aa;background-color:#edfafa;border-color:transparent}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-info>.panel-heading .badge{color:#edfafa;background-color:#0aa}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-warning{border-color:transparent}.panel-warning>.panel-heading{color:#ff6316;background-color:#fff6ec;border-color:transparent}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-warning>.panel-heading .badge{color:#fff6ec;background-color:#ff6316}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.panel-danger{border-color:transparent}.panel-danger>.panel-heading{color:#ff694b;background-color:#fff5f4;border-color:transparent}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:transparent}.panel-danger>.panel-heading .badge{color:#fff5f4;background-color:#ff694b}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:transparent}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f0f2f4;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:4px}.well-sm{padding:9px;border-radius:4px}.close{float:right;font-size:1.5rem;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:transparent;border:1px solid transparent;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#f0f2f4}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.75;filter:alpha(opacity=75)}.modal-header{padding:0;border-bottom:1px solid transparent}.modal-header:before,.modal-header:after{content:" ";display:table}.modal-header:after{clear:both}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.6}.modal-body{position:relative;padding:0}.modal-footer{padding:0;text-align:right;border-top:1px solid transparent}.modal-footer:before,.modal-footer:after{content:" ";display:table}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 540px){.modal-dialog{width:768px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:400px}}@media (min-width: 768px){.modal-lg{width:960px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.6;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:.9285714286rem;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:1;filter:alpha(opacity=100)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:300px;padding:3px 8px;color:#fff;text-align:center;background-color:#007699;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#007699}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#007699}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#007699}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#007699}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#007699}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#007699}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#007699}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#007699}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:400px;padding:1px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.6;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:1rem;background-color:#ff694b;background-clip:padding-box;border:1px solid transparent;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:1rem;background-color:transparent;border-bottom:1px solid transparent;border-radius:3px 3px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:0}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:0;border-bottom-width:0;border-top-color:transparent;border-top-color:transparent;bottom:0}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ff694b}.popover.right>.arrow{top:50%;left:0;margin-top:0;border-left-width:0;border-right-color:transparent;border-right-color:transparent}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ff694b}.popover.bottom>.arrow{left:50%;margin-left:0;border-top-width:0;border-bottom-color:transparent;border-bottom-color:transparent;top:0}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ff694b}.popover.left>.arrow{top:50%;right:0;margin-top:0;border-right-width:0;border-left-color:transparent;border-left-color:transparent}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ff694b;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:0.6s ease-in-out left;-o-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto;line-height:1}@media all and (transform-3d), (-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform 0.6s ease-in-out;-moz-transition:-moz-transform 0.6s ease-in-out;-o-transition:-o-transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:120px;opacity:1;filter:alpha(opacity=100);font-size:20px;color:#fff;text-align:center;text-shadow:none;background-color:transparent}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\'#80000000\', endColorstr=\'#00000000\', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0%, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\'#00000000\', endColorstr=\'#80000000\', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:\'\\2039\'}.carousel-control .icon-next:before{content:\'\\203A\'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid transparent;border-radius:10px;cursor:pointer;background-color:#000 \\9;background-color:transparent}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:none}.carousel-caption .btn{text-shadow:none}@media screen and (min-width: 540px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@font-face{font-family:"arrows";font-weight:normal;font-style:normal;src:url(' + r(n(213)) + ') format("woff")}[class*="arrow-"]:not(.arrow-before):after,[class*="arrow-"].arrow-before:before{font-family:"arrows";text-transform:none;font-style:normal;font-weight:normal;line-height:.5}.arrow-large:not(.arrow-before):after,.arrow-large.arrow-before:before{text-transform:uppercase}.arrow-up:not(.arrow-before):after,.arrow-up.arrow-before:before{content:" a "}.arrow-right:not(.arrow-before):after,.arrow-right.arrow-before:before{content:" b "}.arrow-down:not(.arrow-before):after,.arrow-down.arrow-before:before{content:" c "}.arrow-left:not(.arrow-before):after,.arrow-left.arrow-before:before{content:" d "}.arrow-close:not(.arrow-before):after,.arrow-close.arrow-before:before{content:" e "}.arrow-check:not(.arrow-before):after,.arrow-check.arrow-before:before{content:" f "}@font-face{font-family:"entypo";font-weight:normal;font-style:normal;src:url(' + r(n(214)) + ') format("woff")}[data-icon]{width:24px;height:10px;display:inline-block;vertical-align:middle}[data-icon]:before{display:block;position:relative;margin-top:-1px;top:-5px;speak:none;font-family:"entypo";font-style:normal;font-weight:normal;font-variant:normal;font-size:18px;line-height:1;text-align:center;text-transform:none;text-decoration:inherit}[data-icon].md:before{font-size:20px}[data-icon].lg{width:32px}[data-icon].lg:before{font-size:32px;top:-11px}[data-icon="note"]:before{content:"\\E800"}[data-icon="logo-db"]:before{content:"\\E8DE"}[data-icon="music"]:before{content:"\\E802"}[data-icon="search"]:before{content:"\\E803"}[data-icon="flashlight"]:before{content:"\\E804"}[data-icon="mail"]:before{content:"\\E805"}[data-icon="heart"]:before{content:"\\E80D"}[data-icon="heart-empty"]:before{content:"\\E80F"}[data-icon="star"]:before{content:"\\E810"}[data-icon="star-empty"]:before{content:"\\E813"}[data-icon="user"]:before{content:"\\E814"}[data-icon="users"]:before{content:"\\E817"}[data-icon="user-add"]:before{content:"\\E819"}[data-icon="video"]:before{content:"\\E81A"}[data-icon="picture"]:before{content:"\\E81D"}[data-icon="camera"]:before{content:"\\1F4F7"}[data-icon="layout"]:before{content:"\\E821"}[data-icon="menu"]:before{content:"\\E823"}[data-icon="check"]:before{content:"\\E824"}[data-icon="close"]:before{content:"\\E826"}[data-icon="cancel"]:before{content:"\\E826"}[data-icon="cancel-circled"]:before{content:"\\E806"}[data-icon="cancel-squared"]:before{content:"\\E808"}[data-icon="plus"]:before{content:"+"}[data-icon="plus-circled"]:before{content:"\\E809"}[data-icon="plus-squared"]:before{content:"\\E80A"}[data-icon="minus"]:before{content:"\\2212"}[data-icon="minus-circled"]:before{content:"\\E80E"}[data-icon="minus-squared"]:before{content:"\\E80C"}[data-icon="help"]:before{content:"\\E811"}[data-icon="help-circled"]:before{content:"\\E812"}[data-icon="info"]:before{content:"\\E815"}[data-icon="info-circled"]:before{content:"\\E816"}[data-icon="back"]:before{content:"\\E818"}[data-icon="home"]:before{content:"\\E81B"}[data-icon="link"]:before{content:"\\E81C"}[data-icon="attach"]:before{content:"\\E81F"}[data-icon="lock"]:before{content:"\\1F512"}[data-icon="lock-open"]:before{content:"\\E822"}[data-icon="eye"]:before{content:"\\E825"}[data-icon="tag"]:before{content:"\\E827"}[data-icon="bookmark"]:before{content:"\\1F516"}[data-icon="bookmarks"]:before{content:"\\E837"}[data-icon="flag"]:before{content:"\\E838"}[data-icon="thumbs-up"]:before{content:"\\E840"}[data-icon="thumbs-down"]:before{content:"\\E849"}[data-icon="download"]:before{content:"\\E85D"}[data-icon="upload"]:before{content:"\\E851"}[data-icon="upload-cloud"]:before{content:"\\E86B"}[data-icon="reply"]:before{content:"\\E86C"}[data-icon="reply-all"]:before{content:"\\E87B"}[data-icon="forward"]:before{content:"\\E87C"}[data-icon="quote"]:before{content:"\\E889"}[data-icon="code"]:before{content:"\\E88A"}[data-icon="export"]:before{content:"\\E899"}[data-icon="pencil"]:before{content:"\\270F"}[data-icon="feather"]:before{content:"\\E8A5"}[data-icon="print"]:before{content:"\\E8A8"}[data-icon="retweet"]:before{content:"\\E8A9"}[data-icon="keyboard"]:before{content:"\\2328"}[data-icon="comment"]:before{content:"\\E8AB"}[data-icon="chat"]:before{content:"\\E829"}[data-icon="bell"]:before{content:"\\1F514"}[data-icon="attention"]:before{content:"\\E839"}[data-icon="alert"]:before{content:"\\E841"}[data-icon="vcard"]:before{content:"\\E853"}[data-icon="address"]:before{content:"\\E85C"}[data-icon="location"]:before{content:"\\E852"}[data-icon="map"]:before{content:"\\E84A"}[data-icon="direction"]:before{content:"\\E86D"}[data-icon="compass"]:before{content:"\\E87A"}[data-icon="cup"]:before{content:"\\E850"}[data-icon="trash"]:before{content:"\\E888"}[data-icon="doc"]:before{content:"\\E88B"}[data-icon="docs"]:before{content:"\\E898"}[data-icon="doc-landscape"]:before{content:"\\E89B"}[data-icon="doc-text"]:before{content:"\\E8A6"}[data-icon="doc-text-inv"]:before{content:"\\E8A7"}[data-icon="newspaper"]:before{content:"\\1F4F0"}[data-icon="book-open"]:before{content:"\\E8AD"}[data-icon="book"]:before{content:"\\E8AC"}[data-icon="folder"]:before{content:"\\E82A"}[data-icon="archive"]:before{content:"\\E835"}[data-icon="box"]:before{content:"\\E83A"}[data-icon="rss"]:before{content:"\\E842"}[data-icon="phone"]:before{content:"\\E854"}[data-icon="cog"]:before{content:"\\E85E"}[data-icon="tools"]:before{content:"\\E860"}[data-icon="share"]:before{content:"\\E84B"}[data-icon="shareable"]:before{content:"\\E86E"}[data-icon="basket"]:before{content:"\\E879"}[data-icon="bag"]:before{content:"\\E87E"}[data-icon="calendar"]:before{content:"\\1F4C5"}[data-icon="login"]:before{content:"\\E88C"}[data-icon="logout"]:before{content:"\\E897"}[data-icon="mic"]:before{content:"\\E84D"}[data-icon="mute"]:before{content:"\\E84E"}[data-icon="sound"]:before{content:"\\E8AE"}[data-icon="volume"]:before{content:"\\E8B4"}[data-icon="clock"]:before{content:"\\E8AF"}[data-icon="hourglass"]:before{content:"\\231B"}[data-icon="lamp"]:before{content:"\\E82B"}[data-icon="light-down"]:before{content:"\\E834"}[data-icon="light-up"]:before{content:"\\E83B"}[data-icon="adjust"]:before{content:"\\E843"}[data-icon="block"]:before{content:"\\2588"}[data-icon="resize-full"]:before{content:"\\E85F"}[data-icon="resize-small"]:before{content:"\\E861"}[data-icon="popup"]:before{content:"\\E86A"}[data-icon="publish"]:before{content:"\\E86F"}[data-icon="window"]:before{content:"\\E878"}[data-icon="arrow-combo"]:before{content:"\\E87D"}[data-icon="down-circled"]:before{content:"\\E887"}[data-icon="left-circled"]:before{content:"\\E88D"}[data-icon="right-circled"]:before{content:"\\E896"}[data-icon="up-circled"]:before{content:"\\E89C"}[data-icon="down-open"]:before{content:"\\E84C"}[data-icon="left-open"]:before{content:"\\E8B2"}[data-icon="right-open"]:before{content:"\\E8B3"}[data-icon="up-open"]:before{content:"\\E8B5"}[data-icon="down-open-mini"]:before{content:"\\E8B6"}[data-icon="left-open-mini"]:before{content:"\\E833"}[data-icon="right-open-mini"]:before{content:"\\E832"}[data-icon="up-open-mini"]:before{content:"\\E83C"}[data-icon="down-open-big"]:before{content:"\\E844"}[data-icon="left-open-big"]:before{content:"\\E855"}[data-icon="right-open-big"]:before{content:"\\E85B"}[data-icon="up-open-big"]:before{content:"\\E862"}[data-icon="down"]:before{content:"\\E869"}[data-icon="left"]:before{content:"\\E870"}[data-icon="right"]:before{content:"\\E877"}[data-icon="up"]:before{content:"\\E87F"}[data-icon="down-dir"]:before{content:"\\E886"}[data-icon="left-dir"]:before{content:"\\E88E"}[data-icon="right-dir"]:before{content:"\\E895"}[data-icon="up-dir"]:before{content:"\\E89D"}[data-icon="down-bold"]:before{content:"\\E8A4"}[data-icon="left-bold"]:before{content:"\\E8BA"}[data-icon="right-bold"]:before{content:"\\E8B9"}[data-icon="up-bold"]:before{content:"\\E8B8"}[data-icon="down-thin"]:before{content:"\\E8B7"}[data-icon="left-thin"]:before{content:"\\E82C"}[data-icon="note-beamed"]:before{content:"\\E801"}[data-icon="up-thin"]:before{content:"\\E83D"}[data-icon="cw"]:before{content:"\\E856"}[data-icon="arrows-ccw"]:before{content:"\\E85A"}[data-icon="level-down"]:before{content:"\\E863"}[data-icon="level-up"]:before{content:"\\E868"}[data-icon="shuffle"]:before{content:"\\E871"}[data-icon="loop"]:before{content:"\\E876"}[data-icon="switch"]:before{content:"\\E880"}[data-icon="play"]:before{content:"\\E885"}[data-icon="stop"]:before{content:"\\E88F"}[data-icon="pause"]:before{content:"\\E894"}[data-icon="record"]:before{content:"\\E89E"}[data-icon="to-end"]:before{content:"\\E8A3"}[data-icon="to-start"]:before{content:"\\E8BB"}[data-icon="fast-forward"]:before{content:"\\E8BC"}[data-icon="fast-backward"]:before{content:"\\E8BD"}[data-icon="progress-0"]:before{content:"\\E8BE"}[data-icon="progress-1"]:before{content:"\\E82D"}[data-icon="progress-2"]:before{content:"\\E830"}[data-icon="progress-3"]:before{content:"\\E83E"}[data-icon="target"]:before{content:"\\E857"}[data-icon="palette"]:before{content:"\\E847"}[data-icon="list"]:before{content:"\\E859"}[data-icon="list-add"]:before{content:"\\E864"}[data-icon="signal"]:before{content:"\\E867"}[data-icon="trophy"]:before{content:"\\1F3C6"}[data-icon="battery"]:before{content:"\\1F50B"}[data-icon="back-in-time"]:before{content:"\\E881"}[data-icon="monitor"]:before{content:"\\E884"}[data-icon="mobile"]:before{content:"\\E890"}[data-icon="network"]:before{content:"\\E893"}[data-icon="cd"]:before{content:"\\E89F"}[data-icon="inbox"]:before{content:"\\E8A2"}[data-icon="install"]:before{content:"\\E8C2"}[data-icon="globe"]:before{content:"\\E8C1"}[data-icon="cloud"]:before{content:"\\2601"}[data-icon="cloud-thunder"]:before{content:"\\E8BF"}[data-icon="flash"]:before{content:"\\E82E"}[data-icon="moon"]:before{content:"\\E82F"}[data-icon="flight"]:before{content:"\\E83F"}[data-icon="paper-plane"]:before{content:"\\E845"}[data-icon="leaf"]:before{content:"\\E846"}[data-icon="lifebuoy"]:before{content:"\\E858"}[data-icon="mouse"]:before{content:"\\1F401"}[data-icon="briefcase"]:before{content:"\\1F4BC"}[data-icon="suitcase"]:before{content:"\\E873"}[data-icon="dot"]:before{content:"\\E874"}[data-icon="dot-2"]:before{content:"\\E882"}[data-icon="dot-3"]:before{content:"\\E883"}[data-icon="brush"]:before{content:"\\E891"}[data-icon="magnet"]:before{content:"\\E892"}[data-icon="infinity"]:before{content:"\\221E"}[data-icon="erase"]:before{content:"\\E8A1"}[data-icon="chart-pie"]:before{content:"\\E8C3"}[data-icon="chart-line"]:before{content:"\\E8C4"}[data-icon="chart-bar"]:before{content:"\\E8C5"}[data-icon="chart-area"]:before{content:"\\E8C6"}[data-icon="tape"]:before{content:"\\E8C7"}[data-icon="graduation-cap"]:before{content:"\\E8D2"}[data-icon="language"]:before{content:"\\E8D4"}[data-icon="ticket"]:before{content:"\\1F3AB"}[data-icon="water"]:before{content:"\\E8DA"}[data-icon="droplet"]:before{content:"\\1F4A7"}[data-icon="air"]:before{content:"\\E8E3"}[data-icon="credit-card"]:before{content:"\\E8EA"}[data-icon="floppy"]:before{content:"\\E8EB"}[data-icon="clipboard"]:before{content:"\\1F4CB"}[data-icon="megaphone"]:before{content:"\\E8F3"}[data-icon="database"]:before{content:"\\E8FA"}[data-icon="drive"]:before{content:"\\E8FC"}[data-icon="bucket"]:before{content:"\\E902"}[data-icon="thermometer"]:before{content:"\\E903"}[data-icon="key"]:before{content:"\\1F511"}[data-icon="flow-cascade"]:before{content:"\\E90B"}[data-icon="flow-branch"]:before{content:"\\E912"}[data-icon="flow-tree"]:before{content:"\\E913"}[data-icon="flow-line"]:before{content:"\\E91A"}[data-icon="flow-parallel"]:before{content:"\\E8C8"}[data-icon="rocket"]:before{content:"\\1F680"}[data-icon="gauge"]:before{content:"\\E8D3"}[data-icon="traffic-cone"]:before{content:"\\E8D8"}[data-icon="cc"]:before{content:"\\E8DB"}[data-icon="cc-by"]:before{content:"\\E8E1"}[data-icon="cc-nc"]:before{content:"\\E8E4"}[data-icon="cc-nc-eu"]:before{content:"\\E8E9"}[data-icon="cc-nc-jp"]:before{content:"\\E8EC"}[data-icon="cc-sa"]:before{content:"\\E8F1"}[data-icon="cc-nd"]:before{content:"\\E8F4"}[data-icon="cc-pd"]:before{content:"\\E8F9"}[data-icon="cc-zero"]:before{content:"\\E8FB"}[data-icon="cc-share"]:before{content:"\\E901"}[data-icon="cc-remix"]:before{content:"\\E904"}[data-icon="github"]:before{content:"\\E909"}[data-icon="github-circled"]:before{content:"\\E90C"}[data-icon="flickr"]:before{content:"\\E911"}[data-icon="flickr-circled"]:before{content:"\\E914"}[data-icon="vimeo"]:before{content:"\\E919"}[data-icon="vimeo-circled"]:before{content:"\\E8C9"}[data-icon="twitter"]:before{content:"\\E8D0"}[data-icon="twitter-circled"]:before{content:"\\E8D6"}[data-icon="facebook"]:before{content:"\\E8D7"}[data-icon="facebook-circled"]:before{content:"\\E8DC"}[data-icon="facebook-squared"]:before{content:"\\E8E0"}[data-icon="gplus"]:before{content:"\\E8E5"}[data-icon="gplus-circled"]:before{content:"\\E8E8"}[data-icon="pinterest"]:before{content:"\\E8ED"}[data-icon="pinterest-circled"]:before{content:"\\E8F0"}[data-icon="tumblr"]:before{content:"\\E8F5"}[data-icon="tumblr-circled"]:before{content:"\\E8F8"}[data-icon="linkedin"]:before{content:"\\E8FD"}[data-icon="linkedin-circled"]:before{content:"\\E900"}[data-icon="dribbble"]:before{content:"\\E905"}[data-icon="dribbble-circled"]:before{content:"\\E908"}[data-icon="stumbleupon"]:before{content:"\\E90D"}[data-icon="stumbleupon-circled"]:before{content:"\\E910"}[data-icon="lastfm"]:before{content:"\\E915"}[data-icon="lastfm-circled"]:before{content:"\\E918"}[data-icon="rdio"]:before{content:"\\E8CA"}[data-icon="rdio-circled"]:before{content:"\\E8D5"}[data-icon="spotify"]:before{content:"\\E8CF"}[data-icon="spotify-circled"]:before{content:"\\E8CE"}[data-icon="qq"]:before{content:"\\E8DD"}[data-icon="instagram"]:before{content:"\\E8DF"}[data-icon="dropbox"]:before{content:"\\E8E6"}[data-icon="evernote"]:before{content:"\\E8E7"}[data-icon="flattr"]:before{content:"\\E8EE"}[data-icon="skype"]:before{content:"\\E8EF"}[data-icon="skype-circled"]:before{content:"\\E8F6"}[data-icon="renren"]:before{content:"\\E8F7"}[data-icon="sina-weibo"]:before{content:"\\E8FE"}[data-icon="paypal"]:before{content:"\\E8FF"}[data-icon="picasa"]:before{content:"\\E906"}[data-icon="soundcloud"]:before{content:"\\E907"}[data-icon="mixi"]:before{content:"\\E90E"}[data-icon="behance"]:before{content:"\\E90F"}[data-icon="google-circles"]:before{content:"\\E916"}[data-icon="vkontakte"]:before{content:"\\E917"}[data-icon="smashing"]:before{content:"\\E8CB"}[data-icon="sweden"]:before{content:"\\E8CC"}[data-icon="db-shape"]:before{content:"\\E8CD"}[data-icon="bitbucket"]:before{content:"\\20AC"}*,*:before,*:after{position:relative;outline:none !important;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smoothing:grayscale}html{-webkit-text-size-adjust:100%;font-size:14px}body{min-width:960px}.block{display:block !important}.inline{display:inline !important}.inline-block{display:inline-block !important}.invisible{visibility:hidden}.hidden{display:none}.blocklink{display:block;color:inherit;text-decoration:none !important}.blocklink:hover,.blocklink:focus{color:inherit}.fill{display:block;position:absolute;width:100%;height:100%;top:0;left:0}.full{display:block;position:absolute;width:100%;height:100%;top:0;left:0;position:fixed}.cover{display:block;position:absolute;left:0;top:0;bottom:0;right:0}.clear:after{display:table;content:\'\';clear:both}.clean{margin:0;padding:0;border:0;list-style-type:none}.clean li{margin:0;padding:0;list-style-type:none}.trim>*:first-child{margin-top:0}.trim>*:last-child{margin-bottom:0}.snug>*{margin-top:.5rem;margin-bottom:.5rem}.snug>*:first-child{margin-top:0}.snug>*:last-child{margin-bottom:0}.compact *{margin-top:0;margin-bottom:0}.component{display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px}.transitions{-webkit-transition:all .5s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .5s cubic-bezier(0.25, 0, 0, 1);transition:all .5s cubic-bezier(0.25, 0, 0, 1)}.margin,.margin-top{margin-top:2em}.margin,.margin-bottom{margin-bottom:2em}.margin-small,.margin-small-top{margin-top:1em}.margin-small,.margin-small-bottom{margin-bottom:1em}.padding,.padding-top{padding-top:2em}.padding,.padding-bottom{margin-bottom:2em}.flush,.flush-top{margin-top:0 !important}.flush,.flush-bottom{margin-bottom:0 !important}@media print{html{font-size:9pt}html body{-webkit-print-color-adjust:exact}html a{white-space:nowrap}html,body{background:white !important}font-size:9pt;body{-webkit-print-color-adjust:exact}a{white-space:nowrap}@page{margin:0.75in 1in}}@media screen{html.print{font-size:9pt;font-size:9pt;background:#f9fafb}html.print body{-webkit-print-color-adjust:exact}html.print a{white-space:nowrap}html.print body{-webkit-print-color-adjust:exact}html.print a{white-space:nowrap}html.print body{padding:0.75in 1in;margin:.5in auto;max-width:8.5in;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);height:auto}}.text-red{color:#ff694b !important}.text-red-dark{color:#ff4f39 !important}.text-red-darker{color:#ff3c2b !important}.text-red-darkest{color:#ff2d21 !important}.text-red-light{color:#ff845e !important}.text-red-lighter{color:#ffa376 !important}.text-red-lightest{color:#ffba94 !important}.text-red-highlight{color:#fff5f4 !important}.bg-red{background-color:#ff694b !important}.bg-red-dark{background-color:#ff4f39 !important}.bg-red-darker{background-color:#ff3c2b !important}.bg-red-darkest{background-color:#ff2d21 !important}.bg-red-light{background-color:#ff845e !important}.bg-red-lighter{background-color:#ffa376 !important}.bg-red-lightest{background-color:#ffba94 !important}.bg-red-highlight{background-color:#fff5f4 !important}.text-orange{color:#ff694b !important}.text-orange-dark{color:#ff4f39 !important}.text-orange-darker{color:#ff3c2b !important}.text-orange-darkest{color:#ff2d21 !important}.text-orange-light{color:#ff845e !important}.text-orange-lighter{color:#ffa376 !important}.text-orange-lightest{color:#ffba94 !important}.text-orange-highlight{color:#fff5f4 !important}.bg-orange{background-color:#ff694b !important}.bg-orange-dark{background-color:#ff4f39 !important}.bg-orange-darker{background-color:#ff3c2b !important}.bg-orange-darkest{background-color:#ff2d21 !important}.bg-orange-light{background-color:#ff845e !important}.bg-orange-lighter{background-color:#ffa376 !important}.bg-orange-lightest{background-color:#ffba94 !important}.bg-orange-highlight{background-color:#fff5f4 !important}.text-yellow{color:#fc0 !important}.text-yellow-dark{color:#ffc000 !important}.text-yellow-darker{color:#ffb100 !important}.text-yellow-darkest{color:#ff9e00 !important}.text-yellow-light{color:#ffd900 !important}.text-yellow-lighter{color:#ffe300 !important}.text-yellow-lightest{color:#ffea00 !important}.text-yellow-highlight{color:#fff8db !important}.bg-yellow{background-color:#fc0 !important}.bg-yellow-dark{background-color:#ffc000 !important}.bg-yellow-darker{background-color:#ffb100 !important}.bg-yellow-darkest{background-color:#ff9e00 !important}.bg-yellow-light{background-color:#ffd900 !important}.bg-yellow-lighter{background-color:#ffe300 !important}.bg-yellow-lightest{background-color:#ffea00 !important}.bg-yellow-highlight{background-color:#fff8db !important}.text-green{color:#7ec631 !important}.text-green-dark{color:#5fb825 !important}.text-green-darker{color:#48a71c !important}.text-green-darkest{color:#369115 !important}.text-green-light{color:#9ed53e !important}.text-green-lighter{color:#b7e04e !important}.text-green-lightest{color:#c9e862 !important}.text-green-highlight{color:#f3faec !important}.bg-green{background-color:#7ec631 !important}.bg-green-dark{background-color:#5fb825 !important}.bg-green-darker{background-color:#48a71c !important}.bg-green-darkest{background-color:#369115 !important}.bg-green-light{background-color:#9ed53e !important}.bg-green-lighter{background-color:#b7e04e !important}.bg-green-lightest{background-color:#c9e862 !important}.bg-green-highlight{background-color:#f3faec !important}.text-blue{color:#0bb !important}.text-blue-dark{color:#0aa !important}.text-blue-darker{color:#009595 !important}.text-blue-darkest{color:#007b7b !important}.text-blue-light{color:#0cc !important}.text-blue-lighter{color:#00d9d9 !important}.text-blue-lightest{color:#00e3e3 !important}.text-blue-highlight{color:#edfafa !important}.bg-blue{background-color:#0bb !important}.bg-blue-dark{background-color:#0aa !important}.bg-blue-darker{background-color:#009595 !important}.bg-blue-darkest{background-color:#007b7b !important}.bg-blue-light{background-color:#0cc !important}.bg-blue-lighter{background-color:#00d9d9 !important}.bg-blue-lightest{background-color:#00e3e3 !important}.bg-blue-highlight{background-color:#edfafa !important}.text-purple{color:#7f6cc5 !important}.text-purple-dark{color:#6051b7 !important}.text-purple-darker{color:#483da5 !important}.text-purple-darkest{color:#362e8f !important}.text-purple-light{color:#9f87d4 !important}.text-purple-lighter{color:#b7a5df !important}.text-purple-lightest{color:#c9bce7 !important}.text-purple-highlight{color:#f8f7fc !important}.bg-purple{background-color:#7f6cc5 !important}.bg-purple-dark{background-color:#6051b7 !important}.bg-purple-darker{background-color:#483da5 !important}.bg-purple-darkest{background-color:#362e8f !important}.bg-purple-light{background-color:#9f87d4 !important}.bg-purple-lighter{background-color:#b7a5df !important}.bg-purple-lightest{background-color:#c9bce7 !important}.bg-purple-highlight{background-color:#f8f7fc !important}.text-navy{color:#005e7a !important}.text-navy-dark{color:#00475c !important}.text-navy-darker{color:#003645 !important}.text-navy-darkest{color:#002934 !important}.text-navy-light{color:#007699 !important}.text-navy-lighter{color:#0094b3 !important}.text-navy-lightest{color:#00afc6 !important}.text-navy-highlight{color:#f4f8f9 !important}.bg-navy{background-color:#005e7a !important}.bg-navy-dark{background-color:#00475c !important}.bg-navy-darker{background-color:#003645 !important}.bg-navy-darkest{background-color:#002934 !important}.bg-navy-light{background-color:#007699 !important}.bg-navy-lighter{background-color:#0094b3 !important}.bg-navy-lightest{background-color:#00afc6 !important}.bg-navy-highlight{background-color:#f4f8f9 !important}.text-gray{color:#8b969e !important}.text-gray-dark{color:#6e7c86 !important}.text-gray-darker{color:#535d68 !important}.text-gray-darkest{color:#3f464e !important}.text-gray-light{color:#a8b1b7 !important}.text-gray-lighter{color:#bec5c9 !important}.text-gray-lightest{color:#cfd4d7 !important}.text-gray-highlight{color:#f7f7f8 !important}.bg-gray{background-color:#8b969e !important}.bg-gray-dark{background-color:#6e7c86 !important}.bg-gray-darker{background-color:#535d68 !important}.bg-gray-darkest{background-color:#3f464e !important}.bg-gray-light{background-color:#a8b1b7 !important}.bg-gray-lighter{background-color:#bec5c9 !important}.bg-gray-lightest{background-color:#cfd4d7 !important}.bg-gray-highlight{background-color:#f7f7f8 !important}.text-success{color:#5fb825 !important}.text-danger{color:#ff4f39 !important}.text-warning{color:#ff821d !important}.text-info{color:#0aa !important}.text-white{color:white !important}.text-light{color:#8b969e !important}.text-lighter{color:#bec5c9 !important}.text-dark{color:#313539 !important}.text-inherit{color:inherit}.text-inherit:hover,.text-inherit:focus{color:inherit}.text-silver{color:#f0f2f4 !important}.text-silver-light{color:#f9fafb !important}.text-silver-dark{color:#e9ebef !important}.text-silver-darker{color:#e4e6eb !important}.text-silver-darkest{color:#dee0e6 !important}.bg-silver{background-color:#f0f2f4}.bg-silver-light{background-color:#f9fafb !important}.bg-silver-dark{background-color:#e9ebef !important}.bg-silver-darker{background-color:#e4e6eb !important}.bg-silver-darkest{background-color:#dee0e6 !important}.bg-transparent{background-color:transparent !important}.faint{opacity:.5}.fainter{opacity:.3}.inherit{color:inherit}::selection{background:#0bb;color:#fff}::-moz-selection{background:#0bb;color:#fff}img{display:block;max-width:100%}[data-bg]{background:transparent no-repeat 50% 50%/cover}body{font-size:1rem;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;background:#f9fafb;color:#5e666c}*,dt,dd{line-height:calc(1em + .15 * (5rem - 1em));text-align:inherit}a,.a{cursor:pointer;color:#0bb;text-decoration:none}a:hover,a:focus,.a:hover,.a:focus{text-decoration:none;color:#009595}i,.i,em,.em{font-style:oblique}b,.b,strong,.strong{font-weight:bold}mark{background:#edfafa;color:#313539;padding:.1em 0;border-radius:4px}.normal{font-weight:normal !important}iframe{margin:0;display:block}label{margin:.5em 0;font-weight:normal}hr{margin:3em 0;border-top:1px solid rgba(0,30,60,0.075)}blockquote,ul,ol,p,.field,.table{margin:1.5em 0}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{margin:1.5em 0 .5em}ul,ol{padding-left:1.25em}dl dt+dd{margin-bottom:1em}blockquote{padding:0;font-size:inherit}small,.small,.text-small{font-size:.9285714286rem}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-weight:bold;letter-spacing:.01em}h5,.h5,h6,.h6,.text-base{font-size:1rem}h4,.h4,.text-large{font-size:1.1428571429rem}h3,.h3,.text-larger{font-size:1.2857142857rem}h1,.h1,h2,.h2,.text-largest{font-size:1.7142857143rem}.text-body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif}.text-mono{font-family:"Monaco",monospace;font-size:.8571428571rem !important}.text-smallcaps{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#8b969e;font-weight:bold;font-style:normal}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media (min-width: 961px){.text-center-large{text-align:center !important}.text-right-large{text-align:right !important}.text-left-large{text-align:left !important}}@media (max-width: 960px){.text-center-small{text-align:center !important}.text-right-small{text-align:right !important}.text-left-small{text-align:left !important}}@media (min-width: 401px){.nowrap{white-space:nowrap}}.condensed{white-space:nowrap;width:1px}.ellipsis{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wrap{white-space:normal}.break{word-break:break-word}.buffer,.card,.title,.tokens,.settings{margin-top:20px;margin-bottom:20px}*:first-child{margin-top:0}*:last-child{margin-bottom:0}.margin-right{margin-right:.75em !important}.margin-left{margin-left:.75em !important}.margin-right-small{margin-right:.375em !important}.margin-left-small{margin-left:.375em !important}.icn{font-size:16px;top:-1px;width:1em;height:1em;margin:auto;display:inline-block;vertical-align:middle;-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.icn use{fill:currentColor}.icn-md{width:1.5em;height:1.5em;-webkit-transform:scale(1.5);transform:scale(1.5);-webkit-transform-origin:0 0;transform-origin:0 0}.icn-lg{width:2em;height:2em;-webkit-transform:scale(2);transform:scale(2);-webkit-transform-origin:0 0;transform-origin:0 0}.glyph{top:-1px;margin:auto;font-size:24px;display:inline-block;vertical-align:middle;transform:translate(0, 0);width:1em;height:1em}.glyph use{fill:none;stroke-width:2;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;transform-origin:0 0;shape-rendering:geometricPrecision}.glyph-solid use{fill:currentColor;stroke-width:0 !important}.glyph-middle,.btn .glyph{margin-top:-10px;margin-bottom:-8px}.glyph-before{margin-right:.25em;margin-left:-.125em}.glyph-after{margin-left:.25em;margin-right:-.125em}.glyph-sm{font-size:16px}.glyph-sm use{stroke-width:3}@media (-webkit-min-device-pixel-ratio: 1.25), (min-device-pixel-ratio: 1.25){.glyph-sm use{stroke-width:2.25}}.glyph-md{font-size:36px}.glyph-md use{stroke-width:1.3333333333}@media (-webkit-min-device-pixel-ratio: 1.25), (min-device-pixel-ratio: 1.25){.glyph-md use{stroke-width:1}}.glyph-lg{font-size:48px}.glyph-lg use{stroke-width:1}@media (-webkit-min-device-pixel-ratio: 1.25), (min-device-pixel-ratio: 1.25){.glyph-lg use{stroke-width:.75}}.glyph-xl{font-size:72px}.glyph-xl use{stroke-width:.6666666667}@media (-webkit-min-device-pixel-ratio: 1.25), (min-device-pixel-ratio: 1.25){.glyph-xl use{stroke-width:.5}}.glyph-check,.glyph-radio{font-size:18px;border:2px solid currentColor;opacity:.25}.glyph-check use,.glyph-radio use{opacity:0}:hover>.glyph-check,:focus ~ .glyph-check,:hover>.glyph-radio,:focus ~ .glyph-radio{opacity:.5}:checked ~ .glyph-check,:disabled ~ .glyph-check,[type="checkbox"]:indeterminate ~ .glyph-check,:checked ~ .glyph-radio,:disabled ~ .glyph-radio,[type="checkbox"]:indeterminate ~ .glyph-radio{border-color:transparent !important}:checked ~ .glyph-check,[type="checkbox"]:indeterminate ~ .glyph-check,:checked ~ .glyph-radio,[type="checkbox"]:indeterminate ~ .glyph-radio{opacity:1;background:#0bb}:checked ~ .glyph-check use,[type="checkbox"]:indeterminate ~ .glyph-check use,:checked ~ .glyph-radio use,[type="checkbox"]:indeterminate ~ .glyph-radio use{opacity:1;color:white}:checked:hover ~ .glyph-check,:checked:focus ~ .glyph-check,[type="checkbox"]:indeterminate:hover ~ .glyph-check,[type="checkbox"]:indeterminate:focus ~ .glyph-check,:hover>:checked ~ .glyph-check,:focus>:checked ~ .glyph-check,:checked:hover ~ .glyph-radio,:checked:focus ~ .glyph-radio,[type="checkbox"]:indeterminate:hover ~ .glyph-radio,[type="checkbox"]:indeterminate:focus ~ .glyph-radio,:hover>:checked ~ .glyph-radio,:focus>:checked ~ .glyph-radio{background:#009595}[type="checkbox"]:indeterminate ~ .glyph-check use,[type="checkbox"]:indeterminate ~ .glyph-radio use{fill:currentColor;stroke:transparent}:disabled ~ .glyph-check,:checked:disabled ~ .glyph-check,[type="checkbox"]:indeterminate:disabled ~ .glyph-check,:disabled ~ .glyph-radio,:checked:disabled ~ .glyph-radio,[type="checkbox"]:indeterminate:disabled ~ .glyph-radio{opacity:.5;background:#dee0e6;color:inherit}:disabled ~ .glyph-check use,:checked:disabled ~ .glyph-check use,[type="checkbox"]:indeterminate:disabled ~ .glyph-check use,:disabled ~ .glyph-radio use,:checked:disabled ~ .glyph-radio use,[type="checkbox"]:indeterminate:disabled ~ .glyph-radio use{color:inherit}.glyph-radio{border-radius:50%}.glyph-radio use{fill:currentColor}.glyph-check{border-radius:4px}select:not([multiple]).form-control{background-size:.75em .75em;background-repeat:no-repeat;background-image:url(' + r(n(215)) + ');background-position:calc( 100% - .875em ) 50%;padding-top:0;padding-bottom:0;padding-right:2.25em}select:not([multiple]).form-control::-ms-value{background:transparent !important}.bootstrap-select button{background-repeat:no-repeat;background-size:auto 1em;background-position:calc(100% - 1.25rem + 5px) 50%;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij48cG9seWxpbmUgcG9pbnRzPSI0LjUgNiA4IDkuNSAxMS41IDYiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwOTRiMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPjxyZWN0IHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==");padding-right:2em !important;-moz-appearance:none}.bootstrap-select button.input-sm,.bootstrap-select .input-group-sm>button.form-control,.bootstrap-select .input-group-sm>button.input-group-addon,.bootstrap-select .input-group-sm>.input-group-btn>button.btn,.bootstrap-select button.sm{background-position:calc(100% - .875rem + 5px) 50%}.bootstrap-select button.input-lg,.bootstrap-select .input-group-lg>button.form-control,.bootstrap-select .input-group-lg>button.input-group-addon,.bootstrap-select .input-group-lg>.input-group-btn>button.btn,.bootstrap-select button.lg{background-position:calc(100% - 1.875rem + 5px) 50%}.bootstrap-select button::-ms-expand{display:none}.btn input,.form-control input,.option input{position:absolute;opacity:0}.option{margin:0}.option:not(.input-group-addon){padding-left:0 !important}.option-flush{padding-left:0 !important;padding-right:0 !important}.option.input-group-addon{padding-left:.875rem;padding-right:.875rem}.option .glyph{margin-right:.375em}/*! jQuery UI - v1.12.1 - 2017-01-20\n* http://jqueryui.com\n* Copyright jQuery Foundation and other contributors; Licensed MIT */.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default !important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-size:100%}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2em;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-controlgroup{vertical-align:middle;display:inline-block}.ui-controlgroup>.ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup>.ui-controlgroup-item:focus,.ui-controlgroup>.ui-controlgroup-item.ui-visual-focus{z-index:9999}.ui-controlgroup-vertical>.ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label+.ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label+.ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc( 100% - 2.4em )}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-checkboxradio-label .ui-icon-background{box-shadow:inset 1px 1px 1px #ccc;border-radius:.12em;border:none}.ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:none}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}.ui-checkboxradio-disabled{pointer-events:none}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{width:2px;right:0}.ui-dialog .ui-resizable-s{height:2px;bottom:0}.ui-dialog .ui-resizable-w{width:2px;left:0}.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw,.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw{width:7px;height:7px}.ui-dialog .ui-resizable-se{right:0;bottom:0}.ui-dialog .ui-resizable-sw{left:0;bottom:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:.222em 0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:2em}.ui-spinner-button{width:1.6em;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top-style:none;border-bottom-style:none;border-right-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-widget{font-size:1rem;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2);background:#fff;border-radius:4px;z-index:1050 !important;border-width:0}.ui-widget .ui-state-active,.ui-widget .ui-state-focus{margin:0;background:#0bb}.ui-widget .ui-state-active,.ui-widget .ui-state-active *,.ui-widget .ui-state-focus,.ui-widget .ui-state-focus *{color:#fff}.ui-widget.ui-datepicker{padding-left:10px;padding-right:10px;-webkit-transition:all 0.1875s cubic-bezier(0.25, 0, 0, 1.375);-o-transition:all 0.1875s cubic-bezier(0.25, 0, 0, 1.375);transition:all 0.1875s cubic-bezier(0.25, 0, 0, 1.375);-webkit-transform:scale(0.75);transform:scale(0.75);-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, transform}.ui-widget.ui-datepicker.ui-widget-active{-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 0;transform-origin:50% 0}.ui-widget.ui-datepicker .ui-datepicker-prev{top:2px !important;left:2px !important}.ui-widget.ui-datepicker .ui-datepicker-next{top:2px !important;right:2px !important}.ui-widget.ui-datepicker .ui-datepicker-month{font-weight:bold}.ui-widget.ui-datepicker tr>* a{text-align:center}.ui-widget.ui-datepicker td a{padding:.3em}.ui-widget.ui-autocomplete{padding:5px 0;max-height:240px;overflow:auto}.ui-widget.ui-autocomplete li{border:0;padding:0}.ui-widget.ui-autocomplete li .ui-menu-item-wrapper{padding:.4464285714rem 1.25rem}.ui-widget.ui-autocomplete li *{margin-top:0;margin-bottom:0}.ui-widget.ui-autocomplete li+li.ui-separator{margin-top:5px;padding-top:6px;border-top:1px solid rgba(0,30,60,0.075)}.ui-widget .ui-icon{overflow:visible}.ui-widget .ui-icon-circle-triangle-w:after,.ui-widget .ui-icon-circle-triangle-e:after{content:\'\';display:block;border:5px solid;border-top-color:transparent;border-bottom-color:transparent;position:absolute;width:0;height:0;top:5px;left:0}.ui-widget .ui-icon-circle-triangle-w:after{border-left-color:transparent}.ui-widget .ui-icon-circle-triangle-e:after{border-right-color:transparent;left:5px}.ui-sortable-handle,.ui-draggable-handle{cursor:move}tr.ui-sortable-helper{box-shadow:0 7px 10px rgba(0,0,0,0.2);border-radius:4px;display:table;z-index:2}tr.ui-sortable-helper>td,tr.ui-sortable-helper th{border:0 !important}tr.ui-sortable-helper>td:first-child,tr.ui-sortable-helper th:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}tr.ui-sortable-helper>td:last-child,tr.ui-sortable-helper th:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.ui-draggable-dragging,.ui-sortable-sorting{z-index:5001 !important}.ui-resizable-n,.ui-resizable-s{cursor:ns-resize}.ui-resizable-e,.ui-resizable-w{cursor:ew-resize}.caret,.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border:0 !important;margin-left:0;width:auto;height:auto;display:inline}.caret:after,.dropup .caret:after,.navbar-fixed-bottom .dropdown .caret:after{font-family:"arrows";text-transform:none;font-style:normal;font-weight:normal;line-height:.5;content:" c "}.dropdown-menu{-webkit-transform:scale(0.75);transform:scale(0.75);-webkit-transform-origin:50% 0;transform-origin:50% 0;-webkit-transition:all 0.1875s cubic-bezier(0.25, 0, 0, 1.375);-o-transition:all 0.1875s cubic-bezier(0.25, 0, 0, 1.375);transition:all 0.1875s cubic-bezier(0.25, 0, 0, 1.375);font-size:1rem;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2);border-radius:4px !important;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, transform;padding:5px 0 !important;pointer-events:none;font-style:normal;border-width:0;display:block;left:-9999px;max-height:50vh;min-width:100%;max-width:240px;overflow:auto;opacity:0;margin:0}.dropdown-menu>li>a{margin:0;display:block;padding:.25em 15px}.dropdown-menu>li>a>*{margin:0}.dropdown-menu>li>a em{font-style:oblique;color:#8b969e}.dropdown-menu>li>a [data-icon]{margin-right:.25em}.dropdown-menu .divider{margin:5px 0}.dropdown-menu .dropdown-header{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:500;padding:.5em 15px !important}.dropdown-menu-lg>li>*{padding-top:.5em;padding-bottom:.5em}.dropdown-menu-right{left:auto;right:9999px}.dropdown.open>.dropdown-menu{pointer-events:auto;-webkit-transform:scale(1);transform:scale(1);opacity:1;left:0}.dropdown.open>.dropdown-menu-right{right:0;left:auto}.dropdown{cursor:pointer}.dropdown-inline{display:inline-block}.form-group>*:not(:last-child),.form-inline>*:not(:last-child){margin-right:1em}.form-horizontal .form-group>*:not(:last-child),.form-horizontal .form-inline>*:not(:last-child){margin-right:0}.form-group>* label,.form-inline>* label{vertical-align:middle;margin:.6785714286rem 0}.help-block{display:block;color:#8b969e;font-style:oblique;font-weight:normal;font-size:.9285714286rem;margin:.25em 0}.help-block:empty{display:none}.help-block p{margin:0;display:inline}.help-block-inline{display:inline}.form-group-lg{font-size:1.1428571429rem}.form-footer{margin:2em 0}.form-footer:first-child{margin-top:0}.form-footer:last-child{margin-bottom:0}.btn{border-width:0;margin:0;cursor:pointer;overflow:hidden;text-overflow:ellipsis;font-size:1rem;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);height:2.8571428571rem;line-height:1.5 !important;font-weight:bold;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03)}.btn-red{color:#fff;background-color:#ff694b;border-color:#ff694b}.btn-red:focus,.btn-red.focus{color:#fff;background-color:#ff3c2b}.btn-red:hover{color:#fff;background-color:#ff3c2b}.btn-red:active,.btn-red.active,.open>.btn-red.dropdown-toggle{color:#fff;background-color:#ff3c2b}.btn-red:active:hover,.btn-red:active:focus,.btn-red:active.focus,.btn-red.active:hover,.btn-red.active:focus,.btn-red.active.focus,.open>.btn-red.dropdown-toggle:hover,.open>.btn-red.dropdown-toggle:focus,.open>.btn-red.dropdown-toggle.focus{color:#fff;background-color:#ff3c2b}.btn-red:active,.btn-red.active,.open>.btn-red.dropdown-toggle{background-image:none}.btn-red.disabled:hover,.btn-red.disabled:focus,.btn-red.disabled.focus,.btn-red[disabled]:hover,.btn-red[disabled]:focus,.btn-red[disabled].focus,fieldset[disabled] .btn-red:hover,fieldset[disabled] .btn-red:focus,fieldset[disabled] .btn-red.focus{background-color:#ff694b;border-color:#ff694b}.btn-red .badge{color:#ff694b;background-color:#fff}.btn-blue{color:#fff;background-color:#0bb;border-color:#0bb}.btn-blue:focus,.btn-blue.focus{color:#fff;background-color:#009595}.btn-blue:hover{color:#fff;background-color:#009595}.btn-blue:active,.btn-blue.active,.open>.btn-blue.dropdown-toggle{color:#fff;background-color:#009595}.btn-blue:active:hover,.btn-blue:active:focus,.btn-blue:active.focus,.btn-blue.active:hover,.btn-blue.active:focus,.btn-blue.active.focus,.open>.btn-blue.dropdown-toggle:hover,.open>.btn-blue.dropdown-toggle:focus,.open>.btn-blue.dropdown-toggle.focus{color:#fff;background-color:#009595}.btn-blue:active,.btn-blue.active,.open>.btn-blue.dropdown-toggle{background-image:none}.btn-blue.disabled:hover,.btn-blue.disabled:focus,.btn-blue.disabled.focus,.btn-blue[disabled]:hover,.btn-blue[disabled]:focus,.btn-blue[disabled].focus,fieldset[disabled] .btn-blue:hover,fieldset[disabled] .btn-blue:focus,fieldset[disabled] .btn-blue.focus{background-color:#0bb;border-color:#0bb}.btn-blue .badge{color:#0bb;background-color:#fff}.btn-navy{color:#fff;background-color:#005e7a;border-color:#005e7a}.btn-navy:focus,.btn-navy.focus{color:#fff;background-color:#003645}.btn-navy:hover{color:#fff;background-color:#003645}.btn-navy:active,.btn-navy.active,.open>.btn-navy.dropdown-toggle{color:#fff;background-color:#003645}.btn-navy:active:hover,.btn-navy:active:focus,.btn-navy:active.focus,.btn-navy.active:hover,.btn-navy.active:focus,.btn-navy.active.focus,.open>.btn-navy.dropdown-toggle:hover,.open>.btn-navy.dropdown-toggle:focus,.open>.btn-navy.dropdown-toggle.focus{color:#fff;background-color:#003645}.btn-navy:active,.btn-navy.active,.open>.btn-navy.dropdown-toggle{background-image:none}.btn-navy.disabled:hover,.btn-navy.disabled:focus,.btn-navy.disabled.focus,.btn-navy[disabled]:hover,.btn-navy[disabled]:focus,.btn-navy[disabled].focus,fieldset[disabled] .btn-navy:hover,fieldset[disabled] .btn-navy:focus,fieldset[disabled] .btn-navy.focus{background-color:#005e7a;border-color:#005e7a}.btn-navy .badge{color:#005e7a;background-color:#fff}.btn-green{color:#fff;background-color:#7ec631;border-color:#7ec631}.btn-green:focus,.btn-green.focus{color:#fff;background-color:#48a71c}.btn-green:hover{color:#fff;background-color:#48a71c}.btn-green:active,.btn-green.active,.open>.btn-green.dropdown-toggle{color:#fff;background-color:#48a71c}.btn-green:active:hover,.btn-green:active:focus,.btn-green:active.focus,.btn-green.active:hover,.btn-green.active:focus,.btn-green.active.focus,.open>.btn-green.dropdown-toggle:hover,.open>.btn-green.dropdown-toggle:focus,.open>.btn-green.dropdown-toggle.focus{color:#fff;background-color:#48a71c}.btn-green:active,.btn-green.active,.open>.btn-green.dropdown-toggle{background-image:none}.btn-green.disabled:hover,.btn-green.disabled:focus,.btn-green.disabled.focus,.btn-green[disabled]:hover,.btn-green[disabled]:focus,.btn-green[disabled].focus,fieldset[disabled] .btn-green:hover,fieldset[disabled] .btn-green:focus,fieldset[disabled] .btn-green.focus{background-color:#7ec631;border-color:#7ec631}.btn-green .badge{color:#7ec631;background-color:#fff}.btn-orange{color:#fff;background-color:#ff694b;border-color:#ff694b}.btn-orange:focus,.btn-orange.focus{color:#fff;background-color:#ff3c2b}.btn-orange:hover{color:#fff;background-color:#ff3c2b}.btn-orange:active,.btn-orange.active,.open>.btn-orange.dropdown-toggle{color:#fff;background-color:#ff3c2b}.btn-orange:active:hover,.btn-orange:active:focus,.btn-orange:active.focus,.btn-orange.active:hover,.btn-orange.active:focus,.btn-orange.active.focus,.open>.btn-orange.dropdown-toggle:hover,.open>.btn-orange.dropdown-toggle:focus,.open>.btn-orange.dropdown-toggle.focus{color:#fff;background-color:#ff3c2b}.btn-orange:active,.btn-orange.active,.open>.btn-orange.dropdown-toggle{background-image:none}.btn-orange.disabled:hover,.btn-orange.disabled:focus,.btn-orange.disabled.focus,.btn-orange[disabled]:hover,.btn-orange[disabled]:focus,.btn-orange[disabled].focus,fieldset[disabled] .btn-orange:hover,fieldset[disabled] .btn-orange:focus,fieldset[disabled] .btn-orange.focus{background-color:#ff694b;border-color:#ff694b}.btn-orange .badge{color:#ff694b;background-color:#fff}.btn-yellow{color:#fff;background-color:#fc0;border-color:#fc0}.btn-yellow:focus,.btn-yellow.focus{color:#fff;background-color:#ffb100}.btn-yellow:hover{color:#fff;background-color:#ffb100}.btn-yellow:active,.btn-yellow.active,.open>.btn-yellow.dropdown-toggle{color:#fff;background-color:#ffb100}.btn-yellow:active:hover,.btn-yellow:active:focus,.btn-yellow:active.focus,.btn-yellow.active:hover,.btn-yellow.active:focus,.btn-yellow.active.focus,.open>.btn-yellow.dropdown-toggle:hover,.open>.btn-yellow.dropdown-toggle:focus,.open>.btn-yellow.dropdown-toggle.focus{color:#fff;background-color:#ffb100}.btn-yellow:active,.btn-yellow.active,.open>.btn-yellow.dropdown-toggle{background-image:none}.btn-yellow.disabled:hover,.btn-yellow.disabled:focus,.btn-yellow.disabled.focus,.btn-yellow[disabled]:hover,.btn-yellow[disabled]:focus,.btn-yellow[disabled].focus,fieldset[disabled] .btn-yellow:hover,fieldset[disabled] .btn-yellow:focus,fieldset[disabled] .btn-yellow.focus{background-color:#fc0;border-color:#fc0}.btn-yellow .badge{color:#fc0;background-color:#fff}.btn-purple{color:#fff;background-color:#7f6cc5;border-color:#7f6cc5}.btn-purple:focus,.btn-purple.focus{color:#fff;background-color:#483da5}.btn-purple:hover{color:#fff;background-color:#483da5}.btn-purple:active,.btn-purple.active,.open>.btn-purple.dropdown-toggle{color:#fff;background-color:#483da5}.btn-purple:active:hover,.btn-purple:active:focus,.btn-purple:active.focus,.btn-purple.active:hover,.btn-purple.active:focus,.btn-purple.active.focus,.open>.btn-purple.dropdown-toggle:hover,.open>.btn-purple.dropdown-toggle:focus,.open>.btn-purple.dropdown-toggle.focus{color:#fff;background-color:#483da5}.btn-purple:active,.btn-purple.active,.open>.btn-purple.dropdown-toggle{background-image:none}.btn-purple.disabled:hover,.btn-purple.disabled:focus,.btn-purple.disabled.focus,.btn-purple[disabled]:hover,.btn-purple[disabled]:focus,.btn-purple[disabled].focus,fieldset[disabled] .btn-purple:hover,fieldset[disabled] .btn-purple:focus,fieldset[disabled] .btn-purple.focus{background-color:#7f6cc5;border-color:#7f6cc5}.btn-purple .badge{color:#7f6cc5;background-color:#fff}.btn-white{color:#484e53;background-color:#fff;border-color:#fff}.btn-white:focus,.btn-white.focus{color:#484e53;background-color:#f9fafb}.btn-white:hover{color:#484e53;background-color:#f9fafb}.btn-white:active,.btn-white.active,.open>.btn-white.dropdown-toggle{color:#484e53;background-color:#f9fafb}.btn-white:active:hover,.btn-white:active:focus,.btn-white:active.focus,.btn-white.active:hover,.btn-white.active:focus,.btn-white.active.focus,.open>.btn-white.dropdown-toggle:hover,.open>.btn-white.dropdown-toggle:focus,.open>.btn-white.dropdown-toggle.focus{color:#484e53;background-color:#f9fafb}.btn-white:active,.btn-white.active,.open>.btn-white.dropdown-toggle{background-image:none}.btn-white.disabled:hover,.btn-white.disabled:focus,.btn-white.disabled.focus,.btn-white[disabled]:hover,.btn-white[disabled]:focus,.btn-white[disabled].focus,fieldset[disabled] .btn-white:hover,fieldset[disabled] .btn-white:focus,fieldset[disabled] .btn-white.focus{background-color:#fff;border-color:#fff}.btn-white .badge{color:#fff;background-color:#484e53}.btn-default{color:#484e53;background-color:#f0f2f4;border-color:#f0f2f4}.btn-default:focus,.btn-default.focus{color:#484e53;background-color:#e9ebef}.btn-default:hover{color:#484e53;background-color:#e9ebef}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{color:#484e53;background-color:#e9ebef}.btn-default:active:hover,.btn-default:active:focus,.btn-default:active.focus,.btn-default.active:hover,.btn-default.active:focus,.btn-default.active.focus,.open>.btn-default.dropdown-toggle:hover,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle.focus{color:#484e53;background-color:#e9ebef}.btn-default:active,.btn-default.active,.open>.btn-default.dropdown-toggle{background-image:none}.btn-default.disabled:hover,.btn-default.disabled:focus,.btn-default.disabled.focus,.btn-default[disabled]:hover,.btn-default[disabled]:focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default:hover,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default.focus{background-color:#f0f2f4;border-color:#f0f2f4}.btn-default .badge{color:#f0f2f4;background-color:#484e53}.btn-clear,.btn-text,.btn-link{background:transparent !important}.btn-text,.btn.text-inherit{color:inherit}.btn-text:hover,.btn-text:focus,.btn.text-inherit:hover,.btn.text-inherit:focus{color:inherit}.btn[class*="btn-highlight"],.btn-default,.btn-clear,.btn-text,.btn-link{box-shadow:none}.btn-highlight-info{color:#0aa;background-color:#edfafa;border-color:transparent}.btn-highlight-info:focus,.btn-highlight-info.focus{color:#0aa;background-color:#e4f8f8}.btn-highlight-info:hover{color:#0aa;background-color:#e4f8f8}.btn-highlight-info:active,.btn-highlight-info.active,.open>.btn-highlight-info.dropdown-toggle{color:#0aa;background-color:#e4f8f8}.btn-highlight-info:active:hover,.btn-highlight-info:active:focus,.btn-highlight-info:active.focus,.btn-highlight-info.active:hover,.btn-highlight-info.active:focus,.btn-highlight-info.active.focus,.open>.btn-highlight-info.dropdown-toggle:hover,.open>.btn-highlight-info.dropdown-toggle:focus,.open>.btn-highlight-info.dropdown-toggle.focus{color:#0aa;background-color:#e4f8f8}.btn-highlight-info:active,.btn-highlight-info.active,.open>.btn-highlight-info.dropdown-toggle{background-image:none}.btn-highlight-info.disabled:hover,.btn-highlight-info.disabled:focus,.btn-highlight-info.disabled.focus,.btn-highlight-info[disabled]:hover,.btn-highlight-info[disabled]:focus,.btn-highlight-info[disabled].focus,fieldset[disabled] .btn-highlight-info:hover,fieldset[disabled] .btn-highlight-info:focus,fieldset[disabled] .btn-highlight-info.focus{background-color:#edfafa;border-color:transparent}.btn-highlight-info .badge{color:#edfafa;background-color:#0aa}.btn-highlight-success{color:#48a71c;background-color:#f3faec;border-color:transparent}.btn-highlight-success:focus,.btn-highlight-success.focus{color:#48a71c;background-color:#edf8e3}.btn-highlight-success:hover{color:#48a71c;background-color:#edf8e3}.btn-highlight-success:active,.btn-highlight-success.active,.open>.btn-highlight-success.dropdown-toggle{color:#48a71c;background-color:#edf8e3}.btn-highlight-success:active:hover,.btn-highlight-success:active:focus,.btn-highlight-success:active.focus,.btn-highlight-success.active:hover,.btn-highlight-success.active:focus,.btn-highlight-success.active.focus,.open>.btn-highlight-success.dropdown-toggle:hover,.open>.btn-highlight-success.dropdown-toggle:focus,.open>.btn-highlight-success.dropdown-toggle.focus{color:#48a71c;background-color:#edf8e3}.btn-highlight-success:active,.btn-highlight-success.active,.open>.btn-highlight-success.dropdown-toggle{background-image:none}.btn-highlight-success.disabled:hover,.btn-highlight-success.disabled:focus,.btn-highlight-success.disabled.focus,.btn-highlight-success[disabled]:hover,.btn-highlight-success[disabled]:focus,.btn-highlight-success[disabled].focus,fieldset[disabled] .btn-highlight-success:hover,fieldset[disabled] .btn-highlight-success:focus,fieldset[disabled] .btn-highlight-success.focus{background-color:#f3faec;border-color:transparent}.btn-highlight-success .badge{color:#f3faec;background-color:#48a71c}.btn-highlight-danger{color:#ff694b;background-color:#fff5f4;border-color:transparent}.btn-highlight-danger:focus,.btn-highlight-danger.focus{color:#ff694b;background-color:#fff0ef}.btn-highlight-danger:hover{color:#ff694b;background-color:#fff0ef}.btn-highlight-danger:active,.btn-highlight-danger.active,.open>.btn-highlight-danger.dropdown-toggle{color:#ff694b;background-color:#fff0ef}.btn-highlight-danger:active:hover,.btn-highlight-danger:active:focus,.btn-highlight-danger:active.focus,.btn-highlight-danger.active:hover,.btn-highlight-danger.active:focus,.btn-highlight-danger.active.focus,.open>.btn-highlight-danger.dropdown-toggle:hover,.open>.btn-highlight-danger.dropdown-toggle:focus,.open>.btn-highlight-danger.dropdown-toggle.focus{color:#ff694b;background-color:#fff0ef}.btn-highlight-danger:active,.btn-highlight-danger.active,.open>.btn-highlight-danger.dropdown-toggle{background-image:none}.btn-highlight-danger.disabled:hover,.btn-highlight-danger.disabled:focus,.btn-highlight-danger.disabled.focus,.btn-highlight-danger[disabled]:hover,.btn-highlight-danger[disabled]:focus,.btn-highlight-danger[disabled].focus,fieldset[disabled] .btn-highlight-danger:hover,fieldset[disabled] .btn-highlight-danger:focus,fieldset[disabled] .btn-highlight-danger.focus{background-color:#fff5f4;border-color:transparent}.btn-highlight-danger .badge{color:#fff5f4;background-color:#ff694b}.btn-highlight-warning{color:#ff6316;background-color:#fff6ec;border-color:transparent}.btn-highlight-warning:focus,.btn-highlight-warning.focus{color:#ff6316;background-color:#fff2e3}.btn-highlight-warning:hover{color:#ff6316;background-color:#fff2e3}.btn-highlight-warning:active,.btn-highlight-warning.active,.open>.btn-highlight-warning.dropdown-toggle{color:#ff6316;background-color:#fff2e3}.btn-highlight-warning:active:hover,.btn-highlight-warning:active:focus,.btn-highlight-warning:active.focus,.btn-highlight-warning.active:hover,.btn-highlight-warning.active:focus,.btn-highlight-warning.active.focus,.open>.btn-highlight-warning.dropdown-toggle:hover,.open>.btn-highlight-warning.dropdown-toggle:focus,.open>.btn-highlight-warning.dropdown-toggle.focus{color:#ff6316;background-color:#fff2e3}.btn-highlight-warning:active,.btn-highlight-warning.active,.open>.btn-highlight-warning.dropdown-toggle{background-image:none}.btn-highlight-warning.disabled:hover,.btn-highlight-warning.disabled:focus,.btn-highlight-warning.disabled.focus,.btn-highlight-warning[disabled]:hover,.btn-highlight-warning[disabled]:focus,.btn-highlight-warning[disabled].focus,fieldset[disabled] .btn-highlight-warning:hover,fieldset[disabled] .btn-highlight-warning:focus,fieldset[disabled] .btn-highlight-warning.focus{background-color:#fff6ec;border-color:transparent}.btn-highlight-warning .badge{color:#fff6ec;background-color:#ff6316}.btn-lg,.btn-group-lg>.btn{height:4.2857142857rem;font-size:1.1428571429rem}.btn-sm,.btn-group-sm>.btn{height:2.2857142857rem;font-size:.9285714286rem}.btn-xs,.btn-group-xs>.btn{padding:.1607142857rem .625rem;height:1.7142857143rem;font-size:.9285714286rem}.btn-md{padding:.3928571429rem 1.5rem;height:3.7142857143rem;font-size:1rem}.btn-pill{border-radius:200px }.btn-icon{padding-left:0;padding-right:0;width:2.8571428571rem;min-width:2.8571428571rem}.btn-icon.btn-xs,.btn-group-xs>.btn-icon.btn{width:1.7142857143rem;min-width:1.7142857143rem}.btn-icon.btn-sm,.btn-group-sm>.btn-icon.btn{width:2.2857142857rem;min-width:2.2857142857rem}.btn-icon.btn-md{width:3.7142857143rem;min-width:3.7142857143rem}.btn-icon.btn-lg,.btn-group-lg>.btn-icon.btn{width:4.2857142857rem;min-width:4.2857142857rem}.btn-icon .icon,.btn-icon .glyph{margin:0;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.btn-icon-slim{min-width:0}.btn-block,.btn-slim,.btn-link,.btn-text{padding-left:0;padding-right:0}.btn.active,.btn:active{-webkit-box-shadow:none;box-shadow:none}.btn.disabled,.btn[disabled]{opacity:.375}.btn-file:before{content:attr(data-placeholder)}.btn-file[data-value]:before{content:attr(data-placeholder) " "}.btn-file[data-value]:after{content:"(" attr(data-value) ")"}.btn-file input{position:absolute;opacity:0}.btn-inliner .btn{margin-bottom:.3rem}.btn-toolbar{margin-left:-2px;margin-right:-2px;font-size:0}.btn-toolbar .btn-group{margin-left:2px;margin-right:2px;float:none}.form-control,.input-group-addon,.form-control-static,.form-grid .form-row .form-label label,.option{line-height:1.5 !important;border-width:0 !important;font-size:1rem}.form-group-lg .form-control,.input-group-lg .form-control,.form-group-lg .input-group-addon,.input-group-lg .input-group-addon,.form-group-lg .form-control-static,.form-group-lg .form-grid .form-row .form-label label,.form-grid .form-row .form-label .form-group-lg label,.input-group-lg .form-control-static,.input-group-lg .form-grid .form-row .form-label label,.form-grid .form-row .form-label .input-group-lg label,.form-group-lg .option,.input-group-lg .option{font-size:1.1428571429rem}.form-group-sm .form-control,.input-group-sm .form-control,.form-group-sm .input-group-addon,.input-group-sm .input-group-addon,.form-group-sm .form-control-static,.form-group-sm .form-grid .form-row .form-label label,.form-grid .form-row .form-label .form-group-sm label,.input-group-sm .form-control-static,.input-group-sm .form-grid .form-row .form-label label,.form-grid .form-row .form-label .input-group-sm label,.form-group-sm .option,.input-group-sm .option{font-size:.9285714286rem}.form-control.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-btn>.form-control.btn,.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn,.form-control-static.input-lg,.input-group-lg>.form-control-static.form-control,.form-grid .form-row .form-label .input-group-lg>label.form-control,.input-group-lg>.form-control-static.input-group-addon,.form-grid .form-row .form-label .input-group-lg>label.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.form-grid .form-row .form-label .input-group-lg>.input-group-btn>label.btn,.form-grid .form-row .form-label label.input-lg,.option.input-lg,.input-group-lg>.option.form-control,.input-group-lg>.option.input-group-addon,.input-group-lg>.input-group-btn>.option.btn{font-size:1.1428571429rem}.form-control.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-btn>.form-control.btn,.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn,.form-control-static.input-sm,.input-group-sm>.form-control-static.form-control,.form-grid .form-row .form-label .input-group-sm>label.form-control,.input-group-sm>.form-control-static.input-group-addon,.form-grid .form-row .form-label .input-group-sm>label.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn,.form-grid .form-row .form-label .input-group-sm>.input-group-btn>label.btn,.form-grid .form-row .form-label label.input-sm,.option.input-sm,.input-group-sm>.option.form-control,.input-group-sm>.option.input-group-addon,.input-group-sm>.input-group-btn>.option.btn{font-size:.9285714286rem}.form-control::-ms-expand,.input-group-addon::-ms-expand,.form-control-static::-ms-expand,.form-grid .form-row .form-label label::-ms-expand,.option::-ms-expand{display:none}.form-control::-ms-clear,.input-group-addon::-ms-clear,.form-control-static::-ms-clear,.form-grid .form-row .form-label label::-ms-clear,.option::-ms-clear{display:none}.form-control::-ms-value,.input-group-addon::-ms-value,.form-control-static::-ms-value,.form-grid .form-row .form-label label::-ms-value,.option::-ms-value{background:transparent !important}.form-control,.form-control-static,.form-grid .form-row .form-label label,textarea.form-control,.option{height:2.8571428571rem;line-height:1.5 !important;padding:.6785714286rem 1.25rem;border:0}.form-control.input-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-btn>.form-control.btn,.form-control-static.input-sm,.input-group-sm>.form-control-static.form-control,.form-grid .form-row .form-label .input-group-sm>label.form-control,.input-group-sm>.form-control-static.input-group-addon,.form-grid .form-row .form-label .input-group-sm>label.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn,.form-grid .form-row .form-label .input-group-sm>.input-group-btn>label.btn,.form-grid .form-row .form-label label.input-sm,textarea.form-control.input-sm,.input-group-sm>textarea.form-control,.input-group-sm>.input-group-btn>textarea.form-control.btn,.option.input-sm,.input-group-sm>.option.form-control,.input-group-sm>.option.input-group-addon,.input-group-sm>.input-group-btn>.option.btn{height:2.2857142857rem;min-height:2.2857142857rem;padding:.4464285714rem .875rem}.form-control.input-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-btn>.form-control.btn,.form-control-static.input-lg,.input-group-lg>.form-control-static.form-control,.form-grid .form-row .form-label .input-group-lg>label.form-control,.input-group-lg>.form-control-static.input-group-addon,.form-grid .form-row .form-label .input-group-lg>label.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.form-grid .form-row .form-label .input-group-lg>.input-group-btn>label.btn,.form-grid .form-row .form-label label.input-lg,textarea.form-control.input-lg,.input-group-lg>textarea.form-control,.input-group-lg>.input-group-btn>textarea.form-control.btn,.option.input-lg,.input-group-lg>.option.form-control,.input-group-lg>.option.input-group-addon,.input-group-lg>.input-group-btn>.option.btn{height:4.2857142857rem;min-height:4.2857142857rem;padding:1.2857142857rem 1.875rem}.form-control.input-md,.form-control-static.input-md,.form-grid .form-row .form-label label.input-md,textarea.form-control.input-md,.option.input-md{height:2.2857142857rem;min-height:2.2857142857rem;padding:.3928571429rem .875rem}textarea.form-control:not(.form-control-height){height:6em}.form-control{-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);-webkit-transition-property:color,background-color,box-shadow;transition-property:color,background-color,box-shadow;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;text-overflow:ellipsis;box-shadow:none;color:#484e53}.form-control::-moz-placeholder{color:#a8b1b7;opacity:1}.form-control:-ms-input-placeholder{color:#a8b1b7}.form-control::-webkit-input-placeholder{color:#a8b1b7}.form-control.input-short{width:64px}.form-control.input-medium{width:240px}.form-control.input-long{width:100%}.form-control.input-pill{border-radius:200px !important}.form-control.input-dark{background-color:#00475c;color:white}.form-control.input-dark:hover,.form-control.input-dark:focus{background-color:white;color:#313539}.form-control.input-dark::-moz-placeholder{color:#00afc6;opacity:1}.form-control.input-dark:-ms-input-placeholder{color:#00afc6}.form-control.input-dark::-webkit-input-placeholder{color:#00afc6}.form-control.input-transparent{background-color:transparent}.form-control.input-white{background-color:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03)}.form-control:not(:disabled):not(.disabled):hover{background-color:#e9ebef}.form-control:not(:disabled):not(.disabled):hover::-moz-placeholder{color:#5e666c;opacity:1}.form-control:not(:disabled):not(.disabled):hover:-ms-input-placeholder{color:#5e666c}.form-control:not(:disabled):not(.disabled):hover::-webkit-input-placeholder{color:#5e666c}.form-control:not(:disabled):not(.disabled):hover.input-white{background-color:#f9fafb}.form-control:focus{color:#484e53 !important;background-color:white !important;box-shadow:0 0 0 1px #0bb,0 15px 15px -7.5px rgba(0,0,0,0.15);border-radius:4px !important;z-index:3}.form-control:focus::-moz-placeholder{color:#8b969e !important;opacity:1}.form-control:focus:-ms-input-placeholder{color:#8b969e !important}.form-control:focus::-webkit-input-placeholder{color:#8b969e !important}.form-control[type="number"]:not(.spinner){-moz-appearance:textfield}.form-control[type="number"]:not(.spinner)::-webkit-inner-spin-button,.form-control[type="number"]:not(.spinner)::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-control-static,.form-grid .form-row .form-label label{display:block;height:auto !important;padding-left:0 !important;padding-right:0 !important;color:#484e53}.has-info .input-group-addon,.has-info .form-control{border-color:transparent !important;background-color:#edfafa;box-shadow:none}.has-info .input-group-addon::-moz-placeholder,.has-info .form-control::-moz-placeholder{color:#80d5d5;opacity:1}.has-info .input-group-addon:-ms-input-placeholder,.has-info .form-control:-ms-input-placeholder{color:#80d5d5}.has-info .input-group-addon::-webkit-input-placeholder,.has-info .form-control::-webkit-input-placeholder{color:#80d5d5}.has-info .input-group-addon,.has-info .form-control{color:#0aa}.has-info .form-control:not(:disabled):not(.disabled):hover{background-color:#def7f7;color:#007b7b}.has-info .form-control:not(:disabled):not(.disabled):hover::-moz-placeholder{color:#40bfbf;opacity:1}.has-info .form-control:not(:disabled):not(.disabled):hover:-ms-input-placeholder{color:#40bfbf}.has-info .form-control:not(:disabled):not(.disabled):hover::-webkit-input-placeholder{color:#40bfbf}.has-info .form-control:not(:disabled):not(.disabled):focus{box-shadow:0 0 0 1px #0bb,0 15px 15px -7.5px rgba(0,0,0,0.15)}.has-success .input-group-addon,.has-success .form-control{border-color:transparent !important;background-color:#f3faec;box-shadow:none}.has-success .input-group-addon::-moz-placeholder,.has-success .form-control::-moz-placeholder{color:#a4d38e;opacity:1}.has-success .input-group-addon:-ms-input-placeholder,.has-success .form-control:-ms-input-placeholder{color:#a4d38e}.has-success .input-group-addon::-webkit-input-placeholder,.has-success .form-control::-webkit-input-placeholder{color:#a4d38e}.has-success .input-group-addon,.has-success .form-control{color:#48a71c}.has-success .form-control:not(:disabled):not(.disabled):hover{background-color:#e9f7dc;color:#297610}.has-success .form-control:not(:disabled):not(.disabled):hover::-moz-placeholder{color:#76bd55;opacity:1}.has-success .form-control:not(:disabled):not(.disabled):hover:-ms-input-placeholder{color:#76bd55}.has-success .form-control:not(:disabled):not(.disabled):hover::-webkit-input-placeholder{color:#76bd55}.has-success .form-control:not(:disabled):not(.disabled):focus{box-shadow:0 0 0 1px #7ec631,0 15px 15px -7.5px rgba(0,0,0,0.15)}.has-warning .input-group-addon,.has-warning .form-control{border-color:transparent !important;background-color:#fff6ec;box-shadow:none}.has-warning .input-group-addon::-moz-placeholder,.has-warning .form-control::-moz-placeholder{color:#ffb18b;opacity:1}.has-warning .input-group-addon:-ms-input-placeholder,.has-warning .form-control:-ms-input-placeholder{color:#ffb18b}.has-warning .input-group-addon::-webkit-input-placeholder,.has-warning .form-control::-webkit-input-placeholder{color:#ffb18b}.has-warning .input-group-addon,.has-warning .form-control{color:#ff6316}.has-warning .form-control:not(:disabled):not(.disabled):hover{background-color:#ffefdc;color:#ff390d}.has-warning .form-control:not(:disabled):not(.disabled):hover::-moz-placeholder{color:#ff8a50;opacity:1}.has-warning .form-control:not(:disabled):not(.disabled):hover:-ms-input-placeholder{color:#ff8a50}.has-warning .form-control:not(:disabled):not(.disabled):hover::-webkit-input-placeholder{color:#ff8a50}.has-warning .form-control:not(:disabled):not(.disabled):focus{box-shadow:0 0 0 1px #ff9b26,0 15px 15px -7.5px rgba(0,0,0,0.15)}.has-danger .input-group-addon,.has-danger .form-control,.has-error .input-group-addon,.has-error .form-control{border-color:transparent !important;background-color:#fff5f4;box-shadow:none}.has-danger .input-group-addon::-moz-placeholder,.has-danger .form-control::-moz-placeholder,.has-error .input-group-addon::-moz-placeholder,.has-error .form-control::-moz-placeholder{color:#ffb4a5;opacity:1}.has-danger .input-group-addon:-ms-input-placeholder,.has-danger .form-control:-ms-input-placeholder,.has-error .input-group-addon:-ms-input-placeholder,.has-error .form-control:-ms-input-placeholder{color:#ffb4a5}.has-danger .input-group-addon::-webkit-input-placeholder,.has-danger .form-control::-webkit-input-placeholder,.has-error .input-group-addon::-webkit-input-placeholder,.has-error .form-control::-webkit-input-placeholder{color:#ffb4a5}.has-danger .input-group-addon,.has-danger .form-control,.has-error .input-group-addon,.has-error .form-control{color:#ff694b}.has-danger .form-control:not(:disabled):not(.disabled):hover,.has-error .form-control:not(:disabled):not(.disabled):hover{background-color:#ffedeb;color:#ff3c2b}.has-danger .form-control:not(:disabled):not(.disabled):hover::-moz-placeholder,.has-error .form-control:not(:disabled):not(.disabled):hover::-moz-placeholder{color:#ff8f78;opacity:1}.has-danger .form-control:not(:disabled):not(.disabled):hover:-ms-input-placeholder,.has-error .form-control:not(:disabled):not(.disabled):hover:-ms-input-placeholder{color:#ff8f78}.has-danger .form-control:not(:disabled):not(.disabled):hover::-webkit-input-placeholder,.has-error .form-control:not(:disabled):not(.disabled):hover::-webkit-input-placeholder{color:#ff8f78}.has-danger .form-control:not(:disabled):not(.disabled):focus,.has-error .form-control:not(:disabled):not(.disabled):focus{box-shadow:0 0 0 1px #ff694b,0 15px 15px -7.5px rgba(0,0,0,0.15)}.input-group-rounded>*:first-child,.input-group-rounded>*:first-child.input-group-btn .btn{border-top-left-radius:100px;border-bottom-left-radius:100px}.input-group-rounded>*:last-child,.input-group-rounded>*:last-child.input-group-btn .btn{border-top-right-radius:100px;border-bottom-right-radius:100px}.input-group-addon{color:#8b969e}.table tr.success{box-shadow:inset rgba(0,30,60,0.03) 0 0 #7ec631}.table tr.info{box-shadow:inset rgba(0,30,60,0.03) 0 0 #0bb}.table tr.warning{box-shadow:inset rgba(0,30,60,0.03) 0 0 #fc0}.table tr.danger{box-shadow:inset rgba(0,30,60,0.03) 0 0 #ff694b}.table-flush th:first-child,.table-flush td:first-child{padding-left:0}.table-flush th:last-child,.table-flush td:last-child{padding-right:0}.table-justified th:last-child,.table-justified td:last-child{text-align:right}th.sm,td.sm{width:1px;white-space:nowrap}th.flush-left,td.flush-left{padding-left:0 !important}th.flush-right,td.flush-right{padding-right:0 !important}.table:not(.table-borderless)>thead>tr>*{border-width:1px}thead>tr>*,.table-label{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:500;color:#8b969e}.table-borderless tr *{border-width:0 !important}.table tbody+tbody{border-top-width:1px}.table-compact th *,.table-compact td *{margin-top:0;margin-bottom:0}.table-middle th,.table-middle td{vertical-align:middle !important}.table-large{font-size:1rem}.table-large tbody th,.table-large tbody td,.table-large>td,.table-large>th{padding-top:1rem !important;padding-bottom:1rem !important}.card .table th,.card .table td{padding-left:1.875rem;padding-right:1.875rem}.table-condensed{font-size:.9285714286rem}.table-responsive{border-radius:4px}@media (min-width: 961px){.table-responsive{overflow:visible}}@media (max-width: 960px){.table-responsive{overflow:auto}html.touch .table-responsive{overflow:scroll;-webkit-overflow-scrolling:touch}}@media (min-width: 961px){.table-alignment{margin-left:-1.25rem;margin-right:-1.25rem}}.table-linked{overflow:hidden}.table-linked a{z-index:3}.table-linked .table-link{width:0 !important;padding:0 !important;vertical-align:top !important}.table-linked .table-link .table-anchor{position:absolute;display:block;height:100%;width:1000vw;z-index:2}.table{display:table}.table-caption{display:table-caption}.table-colgroup{display:table-column-group}.table-thead{display:table-header-group}.table-tfoot{display:table-footer-group}.table-tbody{display:table-row-group}.table-td{display:table-cell}.table-col{display:table-column}.table-tr{display:table-row}.table-sticky{box-shadow:0 1px 0 #ecedee;z-index:2;position:sticky;top:0;background:#f9fafb}tbody .table-sticky{top:28px;background:white}.table .secondary td,.table .secondary th{background:#f9fafb;color:#8b969e}.nav-stacked .nav-stacked{font-size:.9285714286rem}.nav-stacked .nav-stacked>li{margin-left:1em}.nav-stacked .nav-stacked>li>a{color:#8b969e}.nav-tabs{border:0;box-shadow:0 1px 0 rgba(0,30,60,0.075);color:#313539;display:flex;flex-direction:row;flex-wrap:wrap}.nav-tabs:before,.nav-tabs:after{display:none}.nav-tabs>li{float:none;flex:0 0 auto;background:transparent !important;margin:0}.nav-tabs>li:not(:first-child){margin-left:.75em}.nav-tabs>li:not(:last-child){margin-right:.75em}.nav-tabs>li>a,.nav-tabs>li>span{display:block;line-height:1.5;background:transparent !important;padding:1.2857142857rem 0;margin:0 !important;border:0 !important;border-radius:0}.nav-tabs>li.active{box-shadow:0 1px 0 #0bb}.nav-tabs>li.active a{color:#313539}.nav-tabs-sm>li>a,.nav-tabs-sm>li>span{font-size:.9285714286rem;padding:.6785714286rem 0}.nav-tabs-fill>li{flex:1 0 auto;margin:0 !important}.nav-tabs-fill>li>a,.nav-tabs-fill>li>span{text-align:center;padding-left:20px;padding-right:20px}html.touch .nav-tabs{flex-wrap:nowrap;overflow:hidden;overflow-y:scroll;-webkit-overflow-scrolling:touch}.card-tabs .nav-tabs{background:#f0f2f4;border-radius:4px 4px 0 0}.card-tabs .nav-tabs>li:first-child{border-top-left-radius:4px}.card-tabs .nav-tabs>li:last-child{border-top-right-radius:4px}.card-tabs .nav-tabs>li.active{box-shadow:0 1px 0 white !important;background:white !important}.tab-content>.tab-pane{height:0;display:block;overflow:hidden}.tab-content>.tab-pane:not(.active){padding:0}.tab-content>.tab-pane.active{height:auto;overflow:visible}.nav-pills>li>a{font-size:.9285714286rem;padding:.4464285714rem 1em}.alert{border:0;margin:1.5em 0}.alert:first-child{margin-top:0}.alert:last-child{margin-bottom:0}.alert strong{color:inherit;font-style:normal}.alert-default{background:#f9fafb;color:#8b969e}.alert-flush{margin:0}.alert-trim{padding-left:0;padding-right:0}.alert-link{font-weight:bold !important}.avatar{display:inline-block;vertical-align:middle}.avatar img{display:block;border-radius:50%;height:28px;width:28px}.avatar-square img{border-radius:4px}.avatar-sm img{height:20px;width:20px}kbd,code,pre{font-size:.8571428571rem}pre{padding:0;overflow:auto;border-width:0;resize:vertical;white-space:pre;padding:1.2857142857rem 1.875rem;border-radius:4px;font-size:.8571428571rem;-moz-tab-size:2;-o-tab-size:2;tab-size:2;margin:1em 0}pre:first-child{margin-top:0}pre:last-child{margin-bottom:0}.panel-code pre{border-radius:0;padding:40px 50px}@media (max-width: 960px){.panel-code pre{padding-left:7.5vw;padding-right:7.5vw}}.panel-footer .panel-code pre,.panel-body:last-child .panel-code pre{border-bottom-right-radius:4px;border-bottom-left-radius:4px}kbd{box-shadow:none}figure.highlight{tab-size:2}.code,code{font-family:"Monaco",monospace;font-size:.8571428571rem;font-weight:normal;padding:0}.highlight pre{background:#005e7a;color:white;overflow:auto}html.touch .highlight pre{overflow:scroll;-webkit-overflow-scrolling:touch}.highlight code{white-space:pre;display:block}.highlight code *{font-style:normal}.highlight .c{color:#00afc6;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .cm{color:#999988;font-style:italic}.highlight .cp{color:#999999}.highlight .c1{color:#999988;font-style:italic}.highlight .cs{color:#999999;font-style:italic}.highlight .gd{color:#000000;background-color:#fdd}.highlight .gd .x{color:#000000;background-color:#faa}.highlight .ge{font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#000000;background-color:#dfd}.highlight .gi .x{color:#000000;background-color:#afa}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kt{color:#445588}.highlight .m{color:#b7a5df}.highlight .n{color:#00d9d9}.highlight .s{color:#9ed53e}.highlight .na{color:#00afc6}.highlight .nb{color:#00d9d9}.highlight .nl{color:#00afc6}.highlight .nc{color:#fc0}.highlight .nd{color:#fc0}.highlight .no{color:#00afc6}.highlight .ni{color:#fc0}.highlight .ne{color:#990000}.highlight .nf{color:#990000}.highlight .nn{color:#555}.highlight .nt{color:#00d9d9}.highlight .nv{color:teal}.highlight .w{color:#bbb}.highlight .mf{color:#099}.highlight .mh{color:#099}.highlight .mi{color:#099}.highlight .mo{color:#099}.highlight .sb{color:#d14}.highlight .sc{color:#d14}.highlight .sd{color:#d14}.highlight .s2{color:#ff694b}.highlight .se{color:#d14}.highlight .sh{color:#d14}.highlight .si{color:#d14}.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .ss{color:#990073}.highlight .bp{color:#999}.highlight .vc{color:teal}.highlight .vg{color:teal}.highlight .vi{color:teal}.highlight .il{color:#099}.highlight .lineno{-webkit-user-select:none;-moz-user-select:none;-o-user-select:none}.highlight .lineno::-moz-selection{background-color:transparent}.highlight .lineno::selection{background-color:transparent}.label{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:500;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);display:inline-block;text-align:inherit;padding:0;border:0}.label-default{color:#8b969e}.label-success{color:#5fb825}.label-info{color:#0aa}.label-warning{color:#ff821d}.label-danger{color:#ff4f39}.label-inherit{color:inherit}.label+.label:not(.block){margin-left:1.5em}a.label:hover.label-default,a.label:focus.label-default{color:#3f464e}a.label:hover.label-success,a.label:focus.label-success{color:#369115}a.label:hover.label-info,a.label:focus.label-info{color:#007b7b}a.label:hover.label-warning,a.label:focus.label-warning{color:#ff4b11}a.label:hover.label-danger,a.label:focus.label-danger{color:#ff2d21}.badge{border-radius:200px ;text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:500;line-height:1.8em;height:1.8em;min-width:1.8em;text-align:center;padding:0 7px;text-indent:1px;border:0}.badge-success{background:#7ec631;color:white}.badge-warning{background:#ff9b26;color:white}.badge-danger{background:#ff694b;color:white}.list-group-item .badge{float:right}.active .badge{color:#fff;background:#009797}.badge-digit{padding:0 2px}.badge-corner{position:absolute;top:0;right:0;-webkit-transform:translate(50%, -50%);transform:translate(50%, -50%)}.badges{font-size:0;display:block}.badges .badge{margin:2px 4px 2px 0}.progress{height:6px;overflow:visible;margin:1em 0}.progress:first-child{margin-top:0}.progress:last-child{margin-bottom:0}.progress,.progress .progress-bar{border-radius:100px;box-shadow:none}.tooltip{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2);padding:0 !important}.tooltip,.tooltip .tooltip-inner,.tooltip .tooltip-arrow{border-radius:4px}.tooltip .tooltip-arrow{-webkit-transform:rotate(45deg);transform:rotate(45deg);background:#007699;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2);border-width:0;height:12px;width:12px}.tooltip.top .tooltip-arrow{margin-bottom:-3px}.tooltip.bottom .tooltip-arrow{margin-top:-3px}.tooltip.left .tooltip-arrow{margin-right:-3px}.tooltip.right .tooltip-arrow{margin-left:-3px}.tooltip .tooltip-inner{font-size:.9285714286rem;padding:.6785714286rem 1.25rem;margin:0 !important;font-style:normal}.popover{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2);font-size:1rem;border-width:0 !important;color:#fff;padding:0}.popover,.popover .popover-content,.popover .arrow{border-radius:4px}.popover .popover-content{border-radius:4px;margin:0 !important}.popover .popover-title,.popover .popover-content{padding:1.2857142857rem 1.875rem;background:#ff694b}.popover .arrow{width:20px;height:20px;background:#ff694b;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2);-webkit-transform:rotate(45deg);transform:rotate(45deg)}.popover .arrow:after{display:none}.popover.top .arrow{margin:-10px;margin-bottom:-4px}.popover.bottom .arrow{margin:-10px;margin-top:-4px}.popover.left .arrow{margin:-10px;margin-right:-4px}.popover.right .arrow{margin:-10px;margin-left:-4px}.modal .modal-dialog{margin:auto;display:table;width:768px;max-width:100vw;height:100vh}.modal .modal-dialog.modal-sm{width:400px}.modal .modal-dialog.modal-lg{width:960px}.modal .modal-content{display:table-cell;vertical-align:middle;box-shadow:none}.modal.fade .modal-dialog{-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);-webkit-transform:translate(0, -20px);transform:translate(0, -20px)}.modal.fade.in .modal-dialog{-webkit-transform:translate(0, 0);transform:translate(0, 0)}.modal-backdrop{display:block;position:absolute;width:100%;height:100%;top:0;left:0;position:fixed;z-index:1040}@media (max-width: 960px){.modal-content:not(.modal-content-flush){padding:7.5vw}}.panel{border-width:0;display:flex;flex-direction:column;display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px;margin:1em 0}.panel:first-child{margin-top:0}.panel:last-child{margin-bottom:0}.panel>*{border-color:transparent !important;flex:0 0 auto}.panel>*:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.panel>*:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.panel>*,.panel>*>.panel-fill{padding:20px 30px}.panel>*.panel-flush,.panel>*>.panel-fill.panel-flush{padding:0 !important}.panel>*.panel-flush-top,.panel>*>.panel-fill.panel-flush-top{padding-top:0 !important}.panel>*.panel-flush-bottom,.panel>*>.panel-fill.panel-flush-bottom{padding-bottom:0 !important}.panel-large>*,.panel-large>*>.panel-fill{padding:40px 50px}@media (max-width: 960px){.panel-large>*,.panel-large>*>.panel-fill{padding:5vw 7.5vw}}.panel>.panel-body{flex:1 0 auto}.panel>.panel-body>*:first-child{margin-top:0}.panel>.panel-body>*:last-child{margin-bottom:0}.panel>.panel-body>.panel-fill{display:block;position:absolute;width:100%;height:100%;top:0;left:0;overflow:auto}html.touch .panel>.panel-body>.panel-fill{overflow:scroll;-webkit-overflow-scrolling:touch}h1.panel-title,.h1.panel-title{font-size:1.7142857143rem}h2.panel-title,.h2.panel-title{font-size:1.7142857143rem}h3.panel-title,.h3.panel-title{font-size:1.2857142857rem}h4.panel-title,.h4.panel-title{font-size:1.1428571429rem}h5.panel-title,.h5.panel-title{font-size:1rem}h6.panel-title,.h6.panel-title{font-size:1rem}.list-group{display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px}.list-group .list-group-item{margin:0;border-width:0 0 1px 0}.list-group .list-group-item *{margin-top:0;margin-bottom:0}.list-group .list-group-item:last-child{border-width:0}.well{padding:1.2857142857rem 1.875rem;box-shadow:none;border:0}.well>*:first-child{margin-top:0}.well>*:last-child{margin-bottom:0}.row{margin:0}.container{padding-left:0;padding-right:0}@media (min-width: 961px){.container{width:90%;max-width:1320px}}@media (max-width: 960px){.container{width:auto}}@media (min-width: 961px){.row-reverse>[class*="col-lg-"]{float:right}}@media (max-width: 960px){[class*="col-lg-"]+[class*="col-lg-"]{margin-top:30px;margin-bottom:30px}[class*="col-lg-"]+[class*="col-lg-"]:first-child{margin-top:0}[class*="col-lg-"]+[class*="col-lg-"]:last-child{margin-bottom:0}}@media (max-width: 768px){[class*="col-md-"]+[class*="col-md-"]{margin-top:30px;margin-bottom:30px}[class*="col-md-"]+[class*="col-md-"]:first-child{margin-top:0}[class*="col-md-"]+[class*="col-md-"]:last-child{margin-bottom:0}}@media (max-width: 540px){[class*="col-sm-"]+[class*="col-sm-"]{margin-top:30px;margin-bottom:30px}[class*="col-sm-"]+[class*="col-sm-"]:first-child{margin-top:0}[class*="col-sm-"]+[class*="col-sm-"]:last-child{margin-bottom:0}}.carousel .carousel-control{background:transparent}.carousel .carousel-control:after{width:1em;display:block;position:absolute;left:0;top:0;bottom:0;right:0;margin:auto;height:1.6em;font-size:2rem}.carousel .carousel-indicators{bottom:10px}.carousel .carousel-indicators li{background:#fff;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);margin:0 2px;opacity:.25;height:8px;width:8px;border:0}.carousel .carousel-indicators li.active{opacity:1}.carousel .carousel-inner .item img{width:100%}.thumbnail{display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px}.thumbnail img{width:100%}.thumbnail .caption *{margin-top:0;margin-bottom:0}.range{-webkit-appearance:none;margin:0;width:100%;outline:none !important}.range::-moz-focus-outer{border:0}.range::-webkit-slider-runnable-track{width:100%;height:6px;cursor:pointer;box-shadow:none;background:#f0f2f4;border-radius:200px;border:0 solid transparent;color:transparent;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.range::-moz-range-track{width:100%;height:6px;cursor:pointer;box-shadow:none;background:#f0f2f4;border-radius:200px;border:0 solid transparent;color:transparent;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.range::-ms-track{width:100%;height:6px;cursor:pointer;box-shadow:none;background:#f0f2f4;border-radius:200px;border:0 solid transparent;color:transparent;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);background:transparent;border-width:5px 0}.range::-ms-fill-lower{box-shadow:none;background:#f0f2f4;border-radius:200px;border:0 solid transparent;color:transparent;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.range::-ms-fill-upper{box-shadow:none;background:#f0f2f4;border-radius:200px;border:0 solid transparent;color:transparent;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.range::-webkit-slider-thumb{box-shadow:none;border:0;height:16px;width:16px;border-radius:200px;background:#0bb;cursor:pointer;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);-webkit-appearance:none;margin-top:-5px}.range::-moz-range-thumb{box-shadow:none;border:0;height:16px;width:16px;border-radius:200px;background:#0bb;cursor:pointer;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.range::-ms-thumb{box-shadow:none;border:0;height:16px;width:16px;border-radius:200px;background:#0bb;cursor:pointer;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}@supports (-ms-ime-align: auto){.range::-ms-thumb{margin-top:1px}}.range:hover::-webkit-slider-thumb{background:#0aa}.range:focus::-webkit-slider-thumb{background:#0aa}.range:hover::-moz-range-thumb{background:#0aa}.range:focus::-moz-range-thumb{background:#0aa}.range:hover::-ms-thumb{background:#0aa}.range:focus::-ms-thumb{background:#0aa}.range:hover::-webkit-slider-runnable-track{background:#e9ebef}.range:focus::-webkit-slider-runnable-track{background:#e9ebef}.range:hover::-moz-range-track{background:#e9ebef}.range:focus::-moz-range-track{background:#e9ebef}.range:hover::-ms-fill-lower{background:#e9ebef}.range:focus::-ms-fill-lower{background:#e9ebef}.range:hover::-ms-fill-upper{background:#e9ebef}.range:focus::-ms-fill-upper{background:#e9ebef}.breadcrumb-flush{padding:0}.breadcrumb>li:first-child .glyph{position:absolute;right:100%;top:50%;-webkit-transform:translate(-33%, -50%);transform:translate(-33%, -50%)}.breadcrumb>li:before{font-weight:normal;padding:0 .5em;opacity:.5}.card{display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px;display:flex;flex-direction:column}.card>.card-header,.card>.card-footer{flex:0 0 auto}.card>.card-body{flex:1 0 auto}.card.active{box-shadow:0 0 0 1px #0bb,0 15px 15px -7.5px rgba(0,0,0,0.15)}.card-footer,.card-header,.card-body,.card-padding{padding:20px 30px}.card-expand{margin:-20px -30px}.card-header h1,.card-header .h1,.card-header h2,.card-header .h2,.card-header h3,.card-header .h3,.card-header h4,.card-header .h4,.card-header h5,.card-header .h5,.card-header h6,.card-header .h6{margin:0}.card-flush-top{padding-top:0}.card-flush-bottom{padding-bottom:0}.card-flush-vertical{padding-top:0;padding-bottom:0}.card-flush{padding:0}.card-sm{padding:8px 12px}.card-control{display:block}.card-control .btn,.card-control .form-control,.card-control .input-group-addon,.card-control .form-control-static,.card-control .form-grid .form-row .form-label label,.form-grid .form-row .form-label .card-control label{display:block;margin:0 !important;height:4.2857142857rem;padding:1.3928571429rem 30px;border-radius:0;width:100%}.card-control .form-control{background:white}.card-control .form-control:not(:disabled):not(.disabled):hover{background-color:#f0f2f4}.card-control .btn,.card-control .input-group-addon{text-align:center}.card-footer .card-control:first-child .btn,.card-footer .card-control:first-child .form-control,.card-footer .card-control:first-child .input-group-addon,.card-footer .card-control:first-child .form-control-static,.card-footer .card-control:first-child .form-grid .form-row .form-label label,.form-grid .form-row .form-label .card-footer .card-control:first-child label{border-bottom-left-radius:4px}.card-footer .card-control:last-child .btn,.card-footer .card-control:last-child .form-control,.card-footer .card-control:last-child .input-group-addon,.card-footer .card-control:last-child .form-control-static,.card-footer .card-control:last-child .form-grid .form-row .form-label label,.form-grid .form-row .form-label .card-footer .card-control:last-child label{border-bottom-right-radius:4px}.card-body .card-control:first-child .btn,.card-body .card-control:first-child .form-control,.card-body .card-control:first-child .input-group-addon,.card-body .card-control:first-child .form-control-static,.card-body .card-control:first-child .form-grid .form-row .form-label label,.form-grid .form-row .form-label .card-body .card-control:first-child label{border-top-left-radius:4px}.card-body .card-control:last-child .btn,.card-body .card-control:last-child .form-control,.card-body .card-control:last-child .input-group-addon,.card-body .card-control:last-child .form-control-static,.card-body .card-control:last-child .form-grid .form-row .form-label label,.form-grid .form-row .form-label .card-body .card-control:last-child label{border-top-right-radius:4px}.card-toolbar{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.card-toolbar .card-control{display:block;flex:1 0 auto}.card-form{padding:0;display:table;width:100%}.card-form .card-formrow{display:table-row}.card-form .card-formrow .card-control{display:table-cell;vertical-align:middle}.card-form .card-formrow:not(:last-child) .card-control{border-bottom:1px solid rgba(0,30,60,0.075)}.card-list:not(:first-child){border-top:1px solid rgba(0,30,60,0.075)}.preview{margin:60px 0;background:white;border-radius:4px;display:flex;flex-direction:column;flex:1 0 auto;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.preview:first-child{margin-top:0}.preview:last-child{margin-bottom:0}.preview .preview-header{background-position:50% 50%;background-size:cover}.preview .preview-header:before{content:\'\';display:block;padding-bottom:50%}.preview .preview-body{display:flex;flex-direction:column;flex:1 0 auto}.preview .preview-body .preview-footer{flex:0 0 auto;padding:20px 30px}.preview .preview-body .preview-text{flex:1 0 auto;padding:20px 30px}.preview .preview-body .preview-text *{margin-top:0;margin-bottom:0}.preview .preview-body .preview-text h1,.preview .preview-body .preview-text .h1,.preview .preview-body .preview-text h2,.preview .preview-body .preview-text .h2,.preview .preview-body .preview-text h3,.preview .preview-body .preview-text .h3,.preview .preview-body .preview-text h4,.preview .preview-body .preview-text .h4,.preview .preview-body .preview-text h5,.preview .preview-body .preview-text .h5,.preview .preview-body .preview-text h6,.preview .preview-body .preview-text .h6{margin-bottom:20px}.preview .preview-body .preview-text ~ .preview-footer{padding-top:0}.preview.preview-link:hover,.preview.preview-link:focus{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 15px 15px -7.5px rgba(0,0,0,0.15)}.preview.preview-vertical .preview-header{flex:0 0 auto}.preview.preview-vertical .preview-body{flex:1 0 auto}.preview.preview-vertical .preview-header-grow{flex:1 0 auto}.preview.preview-vertical .preview-header-grow ~ .preview-body{flex:0 0 auto}.preview.preview-horizontal{display:flex;flex-direction:row}.preview.preview-horizontal .preview-header{flex:1 1 120px}.preview.preview-horizontal .preview-body{flex:3 1 260px}.preview:not(.preview-vertical):not(.preview-horizontal){display:flex;flex-direction:row;flex-wrap:wrap}.preview:not(.preview-vertical):not(.preview-horizontal) .preview-header{flex:1 0 120px}.preview:not(.preview-vertical):not(.preview-horizontal) .preview-body{flex:3 1 260px}.loading{text-align:center;margin:20px 0}.loading:after{margin:0 auto;content:\'\';display:block;font-size:30px;width:1em;height:1em;border-radius:50%;border:1px solid;border-top-color:rgba(0,30,60,0.03);border-right-color:rgba(0,30,60,0.03);-webkit-animation:spin .5s 0s linear infinite;-o-animation:spin .5s 0s linear infinite;animation:spin .5s 0s linear infinite}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.loading.loading-inline{height:10px;display:inline-block;margin:0 .375em 0 0;vertical-align:middle}.loading.loading-inline-after{margin:0 0 0 .375em}.loading.loading-inline:after{margin:-10px 0}.loading.loading-small.loading-inline{top:-1px}.loading.loading-small:after{font-size:12px;margin:-1px auto}.btn .loading:after{color:inherit}.loading-overlay{background:#f9fafb;border-radius:4px}.loading-overlay>*{pointer-events:none;opacity:.15}.loading-overlay .loading{display:block;position:absolute;width:100%;height:100%;top:0;left:0;margin:0;opacity:1}.loading-overlay .loading:after{display:block;position:absolute;left:0;top:0;bottom:0;right:0;margin:auto}.message{margin:20px 0}.message .message-content{display:flex;flex-direction:row}.message .message-content>*{padding:0 .5rem}.message:not(.message-secondary) .message-content .message-header{padding-left:0}.message:not(.message-secondary) .message-content .message-body{padding-right:4rem}.message:not(.message-secondary) .message-content .message-body .message-text{border-top-left-radius:4px}.message.message-secondary .message-content{-ms-flex-pack:end;justify-content:flex-end}.message.message-secondary .message-content .message-header{padding-right:0}.message.message-secondary .message-content .message-body{padding-left:4rem}.message.message-secondary .message-content .message-body .message-text{border-top-right-radius:4px}.message-header{flex:0 0 auto}.message-secondary .message-header{order:2}.message-header .message-avatar .avatar{font-size:2.5rem}.message-body{flex:0 1 auto}.message-body .message-text{background:#f0f2f4;padding:1.2857142857rem 1.875rem;border-radius:1.333em}.message-blue .message-body .message-text{background:#0bb;color:white}.message-green .message-body .message-text{background:#7ec631;color:white}.message-purple .message-body .message-text{background:#7f6cc5;color:white}.toolbar a{display:block}.toolbar .toolbar-content{display:flex;flex-direction:row;flex-wrap:wrap;-ms-flex-align:center;align-items:center}.toolbar .toolbar-content .toolbar-item{flex:0 0 auto}.toolbar .toolbar-content .toolbar-item>.btn{width:100%}.toolbar .toolbar-content .toolbar-item>.toolbar-link{padding:1rem 1.5rem}.toolbar .toolbar-content .toolbar-gap{flex:1000 1 auto}.toolbar-fill .btn{border-radius:0}.toolbar-fill .toolbar-content>.btn,.toolbar-fill .toolbar-content .toolbar-item{flex:1 0 auto}.toolbar-separate .toolbar-content{margin:-.375rem}.toolbar-separate .toolbar-content .toolbar-item{margin:.375rem}.toolbar-fixed .toolbar-content>.btn,.toolbar-fixed .toolbar-content .toolbar-item{flex:1 0 0px}.title{margin-left:-10px;margin-right:-10px;display:flex;flex-direction:row;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}.title-buffer{margin-top:60px;margin-bottom:60px}.title>*{padding:5px 0;margin:0 10px}.title-header{flex:0 1 auto}.title-body{flex:1 1 auto}.title-actions{flex:0 1 auto}.title-fix{min-height:50px}.title:first-child{margin-top:-5px}.title:last-child{margin-bottom:-5px}.list{color:#8b969e}.list-item:not(:first-child){border-top:1px solid rgba(0,30,60,0.075)}.list-item:first-child .list-row{border-top-right-radius:4px;border-top-left-radius:4px}.list-item:last-child .list-row{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-link{display:block;position:absolute;width:100%;height:100%;top:0;left:0;z-index:2}.list-link:hover+.list-row,.list-link:focus+.list-row{background:#f9fafb}.list-item.active .list-row{background:#0bb}.list-item.active .list-row h1,.list-item.active .list-row .h1,.list-item.active .list-row h2,.list-item.active .list-row .h2,.list-item.active .list-row h3,.list-item.active .list-row .h3,.list-item.active .list-row h4,.list-item.active .list-row .h4,.list-item.active .list-row h5,.list-item.active .list-row .h5,.list-item.active .list-row h6,.list-item.active .list-row .h6,.list-item.active .list-row{color:#fff}.list-row{display:flex;flex-direction:row;-ms-flex-align:center;align-items:center;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.list-row>*{flex:1 1 0px;padding:1.5rem 2rem}.list-row>* *{margin-top:0;margin-bottom:0}.list-row>* a{z-index:3}.list-row-group{padding-left:0;padding-right:1rem}.list-row-graphic,.list-row-arrow{flex:0 0 auto}.list-row-graphic>.glyph,.list-row-arrow>.glyph{opacity:.3333333333}.list-row-sm>*{padding-top:12px;padding-bottom:12px}.list-row-xs>*{padding-top:7px;padding-bottom:7px}.card-list .list .list-row>*{padding-left:30px;paddign-right:30px}.list-clean{margin:0;padding:0;border:0;list-style-type:none}.list-clean li{margin:0;padding:0;list-style-type:none}.list-columns-2{columns:2}.status{display:flex;flex-direction:row}.status-text{flex:1 1 auto;white-space:nowrap;min-width:0}.status-icon{flex:0 0 auto}.dot{display:inline-block;background:currentColor;width:8px;height:8px;border-radius:50%}.dot-default{color:#8b969e}.dot-success{color:#5fb825}.dot-info{color:#0aa}.dot-warning{color:#ff821d}.dot-danger{color:#ff4f39}.table-master-detail-toggle{-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.table-master-detail:not(.open) .table-detail{display:none}.table-master-detail.open .table-master td,.table-master-detail.open .table-master th{background:white !important}.table-master-detail.open .table-master-detail-toggle{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.form-grid{display:table;width:100%}.form-grid .form-row-group{display:table-row-group}.form-grid .form-row{display:table-row}.form-grid .form-row .form-row{display:table;width:100%}.form-grid .form-row .form-label,.form-grid .form-row .form-response{display:table-cell;padding:7px;vertical-align:top}.form-grid .form-row .form-label:first-child,.form-grid .form-row .form-response:first-child{padding-left:0}.form-grid .form-row .form-label:last-child,.form-grid .form-row .form-response:last-child{padding-right:0}.form-grid .form-row .form-label .form-row>*,.form-grid .form-row .form-response .form-row>*{padding-top:0;padding-bottom:0}.form-grid .form-row .form-label{white-space:nowrap;width:1px}.form-grid .form-row .form-response .help-block{margin:0;top:3px}.form-grid .form-row .form-response.form-response-short{width:1px;white-space:nowrap}.form-grid .form-row .form-response .form-response,.form-grid .form-row .form-response .form-label{padding-top:0;padding-bottom:0}.form-grid .form-row>.form-label:first-child{padding-right:7px}.form-grid:not(.form-grid-left) .form-label{text-align:right}.matrix{margin:0 -15px;display:flex;flex-direction:row;-ms-flex-align:stretch;align-items:stretch;flex-wrap:wrap}.matrix.matrix-nowrap{flex-wrap:nowrap}.matrix .matrix-item{padding:15px;display:flex;flex-direction:column;flex:1 1 260px}.matrix .matrix-item>*{flex:1 1 auto;margin:0}.waterfall{margin:0 -15px;-webkit-column-count:4;column-count:4;-webkit-column-gap:0;column-gap:0;-webkit-column-width:320px;column-width:320px}.waterfall .waterfall-item{-webkit-column-break-inside:avoid;page-break-inside:avoid;break-inside:avoid-column;padding:15px}.waterfall .waterfall-item>*{margin:0}.mosaic{display:flex;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}.mosaic-buffer{margin:0 -15px}.mosaic-row{display:flex;flex-direction:row;flex-wrap:wrap;flex:1 1 auto}.mosaic-column{display:flex;flex-direction:column;flex:1 1 320px}.mosaic-column-1{flex:1 1 320px}.mosaic-column-2{flex:1 1 640px}.mosaic-column-3{flex:1 1 960px}.mosaic-column-4{flex:1 1 1280px}.mosaic-column-5{flex:1 1 1600px}.mosaic-column-6{flex:1 1 1920px}.mosaic-column-7{flex:1 1 2240px}.mosaic-column-8{flex:1 1 2560px}.mosaic-column-9{flex:1 1 2880px}.mosaic-column-10{flex:1 1 3200px}.mosaic-column-11{flex:1 1 3520px}.mosaic-column-12{flex:1 1 3840px}.mosaic-item{display:flex;flex-direction:column}.mosaic-item>*{flex:1 0 auto;margin:0}.mosaic-column>.mosaic-item{flex:1 1 auto}.mosaic-row>.mosaic-item{flex:1 0 260px}.mosaic-buffer .mosaic-item{margin:15px}.flex-row{display:flex;flex-direction:row;flex-wrap:wrap}.flex-column{display:flex;flex-direction:column;flex:1 1 320px}.flex-column-1{flex:1 1 320px}.flex-column-2{flex:1 1 640px}.flex-column-3{flex:1 1 960px}.flex-column-4{flex:1 1 1280px}.flex-column-5{flex:1 1 1600px}.flex-column-6{flex:1 1 1920px}.flex-column-7{flex:1 1 2240px}.flex-column-8{flex:1 1 2560px}.flex-column-9{flex:1 1 2880px}.flex-column-10{flex:1 1 3200px}.flex-column-11{flex:1 1 3520px}.flex-column-12{flex:1 1 3840px}.flex-nowrap{flex-wrap:nowrap}.flex-buffer{margin:0 -15px}.flex-flush{margin-top:-15px;margin-bottom:-15px}.flex-column>.flex-item{flex:1 1 auto}.flex-row>.flex-item{flex:1 0 260px}.flex-buffer .flex-item{margin:15px}.flex-column>.flex-item-sm{flex:1 1 auto}.flex-row>.flex-item-sm{flex:1 0 130px}.flex-buffer .flex-item-sm{margin:7.5px}.flex-grow{flex:1 0 auto}.flex-auto{flex:0 0 auto}.flex-shrink{flex:0 1 auto}.album{margin:0 -30px;visibility:hidden}.album.album-ready{visibility:visible}.album .album-content{display:flex;flex-direction:row;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch}.album .album-content .album-image{flex:1 1 auto;margin:30px}.album .album-content .album-image img{margin:0;display:block;width:100%;height:auto;display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px}.limit-1>*:nth-child(n+2){display:none !important}.limit-2>*:nth-child(n+3){display:none !important}.limit-3>*:nth-child(n+4){display:none !important}.limit-4>*:nth-child(n+5){display:none !important}.limit-5>*:nth-child(n+6){display:none !important}.limit-6>*:nth-child(n+7){display:none !important}.limit-7>*:nth-child(n+8){display:none !important}.limit-8>*:nth-child(n+9){display:none !important}.limit-9>*:nth-child(n+10){display:none !important}.limit-10>*:nth-child(n+11){display:none !important}.limit-11>*:nth-child(n+12){display:none !important}.limit-12>*:nth-child(n+13){display:none !important}.grid{display:grid;grid-gap:2em;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr))}html.cssgridlegacy .grid{display:flex;flex-direction:row;flex-wrap:wrap;padding:1em}html.cssgridlegacy .grid>*{flex:1 0 200px;max-width:320px;padding:1em}.section-target{position:absolute;visibility:hidden;top:-4em}.section{padding:.75em 0}.section-target:target+.section-content .panel{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 30px 30px -15px rgba(0,0,0,0.3)}.framework{-ms-display:grid;display:grid;height:100%}.framework>*{padding:1em 1.5em}.framework .framework-header{background:#0bb;color:white}.framework .framework-nav{background:#f0f2f4}.framework .framework-menu{background:#f9fafb}.framework .framework-content{background:white}.framework .framework-content{padding:0;overflow:auto;display:flex;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}.framework .framework-content>*{padding:1em 1.5em}.framework .framework-content .framework-actions{position:sticky;top:0;z-index:2;background:white}@media (min-width: 961px){.framework{-ms-grid-rows:60px auto;grid-template-rows:60px auto;-ms-grid-columns:60px 240px auto;grid-template-columns:60px 240px auto}.framework .framework-header{-ms-grid-row:1;grid-row:1;-ms-grid-column:1;-ms-grid-column-span:3;grid-column:1 / 4}.framework .framework-nav{-ms-grid-row:2;grid-row:2;-ms-grid-column:1;grid-column:1}.framework .framework-menu{-ms-grid-row:2;grid-row:2;-ms-grid-column:2;grid-column:2}.framework .framework-content{-ms-grid-row:2;grid-row:2;-ms-grid-column:3;grid-column:3}}@media (max-width: 960px){.framework{-ms-grid-rows:60px auto;grid-template-rows:60px auto;-ms-grid-columns:auto;grid-template-columns:auto}.framework .framework-header{-ms-grid-row:1;grid-row:1;-ms-grid-column:1;grid-column:1}.framework .framework-nav{display:none}.framework .framework-menu{display:none}.framework .framework-content{-ms-grid-row:2;grid-row:2;-ms-grid-column:1;grid-column:1}.framework .framework-content .framework-actions{order:-1}}.app{display:block;position:absolute;width:100%;height:100%;top:0;left:0;position:fixed;min-width:960px}.app-row{display:flex;flex-direction:row;-ms-flex-align:stretch;align-items:stretch}.app-column{display:flex;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}.app-middle{-ms-flex-align:center;align-items:center}.app-header,.app-footer{flex:0 0 auto}.app-body{flex:1 0 0px}.app-navbar{height:calc( 2.8571428571rem + 40px );z-index:3;background:white}.app-menu,.app-sidebar,.app-content{-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);background:#f9fafb}.app-menu,.app-sidebar{width:20%;min-width:300px;flex:0 0 auto}.app-content{flex:1 0 0px}.app-content a,.app-content .a{color:#0bb}.app-content a:hover,.app-content a:focus,.app-content .a:hover,.app-content .a:focus{color:#0aa}.app-overlay{background:#f0f2f4;position:absolute;display:none;z-index:2;right:-100vw;left:-100vw;bottom:0;top:0;opacity:.9}.app-menu .app-overlay{left:100%;box-shadow:inset 5px 0 10px -5px rgba(0,0,0,0.2)}.app-sidebar .app-overlay{right:100%;box-shadow:inset -5px 0 10px -5px rgba(0,0,0,0.2)}.app-icn:not(:first-child){padding-left:20px}.app-icn:not(:last-child){padding-right:20px}.app-scroll{display:block;position:absolute;width:100%;height:100%;top:0;left:0;overflow:auto}html.touch .app-scroll{overflow:scroll;-webkit-overflow-scrolling:touch}.app-pad{padding:20px 30px}.app-pad,.app-pad-v{padding-top:20px;padding-bottom:20px}.app-pad,.app-pad-h{padding-left:30px;padding-right:30px}.app-sticky{top:0;z-index:2;position:sticky;background:#f9fafb}.app-frame{margin:auto}@media (min-width: 961px){.app-frame{width:90%}}.app-shadow{box-shadow:0 1px 0 rgba(0,16,32,0.05)}.app-flush,.app-flush-top{padding-top:0}.app-flush,.app-flush-bottom{padding-bottom:0}.app-flush,.app-flush-left{padding-left:0}.app-flush,.app-flush-right{padding-right:0}.app-logo{width:100px}.layout{width:100vw;height:100vh;min-width:960px;overflow:auto}html.touch .layout{overflow:scroll;-webkit-overflow-scrolling:touch}.layout-pad{padding-top:20px;padding-bottom:20px}.layout-ide{height:calc(100vh - 53px)}.layout-pad-l,.layout-pad-x{padding-left:20px}.layout-pad-r,.layout-pad-x{padding-right:20px}.layout-sticky{position:sticky;z-index:20;top:0}.layout-frame{margin:auto;width:90%;padding-left:20px;padding-right:20px}.layout-menu .layout-frame{padding-right:0}.layout-navigation{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);background:white;height:52px;position:absolute;top:0;left:0;right:0}.layout-content{position:absolute;top:53px;bottom:0;left:0;right:0;overflow:auto}html.touch .layout-content{overflow:scroll;-webkit-overflow-scrolling:touch}.layout-row{display:flex;flex-direction:row}.layout-alert{flex:0 0 100%}.layout-menu{flex:0 0 25%;max-width:300px;min-width:0}.layout-body{flex:1 1 auto;box-shadow:0 -1px 0 rgba(0,30,60,0.03)}.ide{overflow:hidden;font-size:.9285714286rem;display:block;position:absolute;width:100%;height:100%;top:0;left:0;background:white}.ide-pad{padding:14px 16px !important}.ide-pad-l,.ide-pad-x{padding-left:16px !important}.ide-pad-r,.ide-pad-x{padding-right:16px !important}.ide-panels{display:block;position:absolute;width:100%;height:100%;top:0;left:0}.ide-panels,.ide-panel-group{display:flex;flex-direction:row;background:inherit}.ide-panels.ide-vertical,.ide-panel-group.ide-vertical{display:flex;flex-direction:column}@media (max-width: 960px){.ide-panels,.ide-panel-group{display:flex;flex-direction:column}}.ide-panel,.ide-panel-group{flex:1 0 0px}.ide-panel{-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1);-webkit-transition-property:box-shadow,transform;transition-property:box-shadow,transform;box-shadow:0 0 0 2px transparent;min-height:200px;min-width:200px;background:inherit;display:flex;flex-direction:column}.ide-horizontal .ide-panel{height:auto !important}.ide-horizontal .ide-panel[style*="width"]{flex:0 0 auto}.ide-vertical .ide-panel{width:auto !important}.ide-vertical .ide-panel[style*="height"]{flex:0 0 auto}@media (max-width: 960px){.ide-panel{width:auto !important}}.ide-panel-sm{flex:0 0 280px}.ide-panel:before{content:\'\';display:block;position:absolute;left:0;top:0;bottom:0;right:0;box-shadow:0 0 0 1px currentColor;opacity:.125}.ide-panel:focus{z-index:3;box-shadow:0 0 0 2px #0bb,0 10px 20px rgba(0,30,60,0.3);-webkit-transform:translate(10px, -10px);transform:translate(10px, -10px);border-radius:4px}.ide-panel>*:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.ide-panel>*:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.ide-panel-header,.ide-panel-footer{flex:0 0 auto;background:rgba(0,30,60,0.03)}.ide-panel-header:before,.ide-panel-header:after,.ide-panel-footer:before,.ide-panel-footer:after{content:\'\';display:block;position:absolute;left:0;top:0;bottom:0;right:0;background:currentColor;opacity:.0075}.ide-panel-header:after,.ide-panel-footer:after{height:1px;opacity:.06}.ide-panel-header .btn:focus,.ide-panel-header .btn:active,.ide-panel-footer .btn:focus,.ide-panel-footer .btn:active{z-index:auto}.ide-panel-header:after{top:auto}.ide-panel-footer:before{display:none}.ide-panel-footer:after{bottom:auto}.ide-panel-body{color:#313539;background:inherit;flex:1 1 auto}.ide-panel-scroll{display:block;position:absolute;width:100%;height:100%;top:0;left:0;overflow:auto}html.touch .ide-panel-scroll{overflow:scroll;-webkit-overflow-scrolling:touch}.ide-panel-scroll::-webkit-scrollbar{background:#e9ebef;width:7px;height:7px}.ide-panel-scroll::-webkit-scrollbar-button{display:none}.ide-panel-scroll::-webkit-scrollbar-track{background:transparent}.ide-panel-scroll::-webkit-scrollbar-track-piece{background:transparent}.ide-panel-scroll::-webkit-scrollbar-thumb{background:#d7dbdf;border-radius:200px ;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.ide-panel-scroll::-webkit-scrollbar-corner{background:#e9ebef}.ide-panel-scroll::-webkit-resizer{background:transparent}.ide-panel-scroll:hover::-webkit-scrollbar-thumb{background:#c1c7cd}.ide-panel-handle{display:block;position:absolute;top:0;bottom:0;right:0;background:white;width:10px}.ide-controls{display:table;width:100%;height:44px}.ide-controls>*{display:table-cell;vertical-align:middle}.ide-control{white-space:nowrap}.ide-control-sm{width:1px}.ide-control-link,.ide-control-text{display:block;padding:.6785714286rem 0}.ide-control-link{padding-left:1.25rem;padding-right:1.25rem;text-align:center}.ide-control-inline-link{display:inline-block;padding:.6785714286rem 0;text-align:center}.ide-control.active{box-shadow:inset 0 -1px 0 #0bb}.ide-control.active .ide-control-link,.ide-control.active .ide-control-inline-link{color:inherit;font-weight:bold}.ide-list{padding:7px 0}.ide-list-item{display:block;padding:7px 16px;color:inherit;box-shadow:0 1px 0 rgba(0,30,60,0.03);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ide-list-item:hover,.ide-list-item:focus{color:inherit}.ide-list-item-footer{padding:.375em 0;display:flex;flex-direction:row;-ms-flex-pack:justify;justify-content:space-between}.ide-interactive:hover,.ide-interactive:focus{background:#f9fafb}.ide-active{background:#e4e6eb !important}.ide-code{color:inherit;resize:none;padding:0;background:transparent}.ide table{white-space:nowrap}.ide table td:first-child,.ide table th:first-child{padding-left:16px}.ide table td:last-child,.ide table th:last-child{padding-right:16px}.ide table td{max-width:300px;overflow:hidden;text-overflow:ellipsis}.ide-table-heading{color:inherit;position:sticky;top:0;z-index:3;background:white;box-shadow:0 1px 0 rgba(0,30,60,0.03)}.ide-dark{color:white}.ide-dark,.ide-dark .ide-table-heading{background:#002934}.ide-dark .ide-panel-body{color:inherit}.ide-dark .ide-panel:focus,.ide-dark .ide-panel-header,.ide-dark .ide-panel-footer,.ide-dark .table-striped>tbody>tr:nth-of-type(odd){background:#00303d}.ide-dark .ide-active{background:#005e7a !important;color:white !important}.ide-dark .ide-table-heading,.ide-dark .ide-list-item{box-shadow:0 1px 0 rgba(255,255,255,0.1)}.ide-dark .ide-panel-header .btn-default,.ide-dark .ide-panel-footer .btn-default{color:#fff;background-color:#005e7a;border-color:#005e7a}.ide-dark .ide-panel-header .btn-default:focus,.ide-dark .ide-panel-header .btn-default.focus,.ide-dark .ide-panel-footer .btn-default:focus,.ide-dark .ide-panel-footer .btn-default.focus{color:#fff;background-color:#007699}.ide-dark .ide-panel-header .btn-default:hover,.ide-dark .ide-panel-footer .btn-default:hover{color:#fff;background-color:#007699}.ide-dark .ide-panel-header .btn-default:active,.ide-dark .ide-panel-header .btn-default.active,.open>.ide-dark .ide-panel-header .btn-default.dropdown-toggle,.ide-dark .ide-panel-footer .btn-default:active,.ide-dark .ide-panel-footer .btn-default.active,.open>.ide-dark .ide-panel-footer .btn-default.dropdown-toggle{color:#fff;background-color:#007699}.ide-dark .ide-panel-header .btn-default:active:hover,.ide-dark .ide-panel-header .btn-default:active:focus,.ide-dark .ide-panel-header .btn-default:active.focus,.ide-dark .ide-panel-header .btn-default.active:hover,.ide-dark .ide-panel-header .btn-default.active:focus,.ide-dark .ide-panel-header .btn-default.active.focus,.open>.ide-dark .ide-panel-header .btn-default.dropdown-toggle:hover,.open>.ide-dark .ide-panel-header .btn-default.dropdown-toggle:focus,.open>.ide-dark .ide-panel-header .btn-default.dropdown-toggle.focus,.ide-dark .ide-panel-footer .btn-default:active:hover,.ide-dark .ide-panel-footer .btn-default:active:focus,.ide-dark .ide-panel-footer .btn-default:active.focus,.ide-dark .ide-panel-footer .btn-default.active:hover,.ide-dark .ide-panel-footer .btn-default.active:focus,.ide-dark .ide-panel-footer .btn-default.active.focus,.open>.ide-dark .ide-panel-footer .btn-default.dropdown-toggle:hover,.open>.ide-dark .ide-panel-footer .btn-default.dropdown-toggle:focus,.open>.ide-dark .ide-panel-footer .btn-default.dropdown-toggle.focus{color:#fff;background-color:#007699}.ide-dark .ide-panel-header .btn-default:active,.ide-dark .ide-panel-header .btn-default.active,.open>.ide-dark .ide-panel-header .btn-default.dropdown-toggle,.ide-dark .ide-panel-footer .btn-default:active,.ide-dark .ide-panel-footer .btn-default.active,.open>.ide-dark .ide-panel-footer .btn-default.dropdown-toggle{background-image:none}.ide-dark .ide-panel-header .btn-default.disabled:hover,.ide-dark .ide-panel-header .btn-default.disabled:focus,.ide-dark .ide-panel-header .btn-default.disabled.focus,.ide-dark .ide-panel-header .btn-default[disabled]:hover,.ide-dark .ide-panel-header .btn-default[disabled]:focus,.ide-dark .ide-panel-header .btn-default[disabled].focus,fieldset[disabled] .ide-dark .ide-panel-header .btn-default:hover,fieldset[disabled] .ide-dark .ide-panel-header .btn-default:focus,fieldset[disabled] .ide-dark .ide-panel-header .btn-default.focus,.ide-dark .ide-panel-footer .btn-default.disabled:hover,.ide-dark .ide-panel-footer .btn-default.disabled:focus,.ide-dark .ide-panel-footer .btn-default.disabled.focus,.ide-dark .ide-panel-footer .btn-default[disabled]:hover,.ide-dark .ide-panel-footer .btn-default[disabled]:focus,.ide-dark .ide-panel-footer .btn-default[disabled].focus,fieldset[disabled] .ide-dark .ide-panel-footer .btn-default:hover,fieldset[disabled] .ide-dark .ide-panel-footer .btn-default:focus,fieldset[disabled] .ide-dark .ide-panel-footer .btn-default.focus{background-color:#005e7a;border-color:#005e7a}.ide-dark .ide-panel-header .btn-default .badge,.ide-dark .ide-panel-footer .btn-default .badge{color:#005e7a;background-color:#fff}.ide-dark .ide-panel-scroll::-webkit-scrollbar{background:#00475c;width:7px;height:7px}.ide-dark .ide-panel-scroll::-webkit-scrollbar-button{display:none}.ide-dark .ide-panel-scroll::-webkit-scrollbar-track{background:transparent}.ide-dark .ide-panel-scroll::-webkit-scrollbar-track-piece{background:transparent}.ide-dark .ide-panel-scroll::-webkit-scrollbar-thumb{background:#065b74;border-radius:200px ;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.ide-dark .ide-panel-scroll::-webkit-scrollbar-corner{background:#00475c}.ide-dark .ide-panel-scroll::-webkit-resizer{background:transparent}.ide-dark .ide-panel-scroll:hover::-webkit-scrollbar-thumb{background:#087291}.ide-dark .ace_scrollbar::-webkit-scrollbar{background:#00475c;width:7px;height:7px}.ide-dark .ace_scrollbar::-webkit-scrollbar-button{display:none}.ide-dark .ace_scrollbar::-webkit-scrollbar-track{background:transparent}.ide-dark .ace_scrollbar::-webkit-scrollbar-track-piece{background:transparent}.ide-dark .ace_scrollbar::-webkit-scrollbar-thumb{background:#065b74;border-radius:200px ;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.ide-dark .ace_scrollbar::-webkit-scrollbar-corner{background:#00475c}.ide-dark .ace_scrollbar::-webkit-resizer{background:transparent}.ide-dark .ace_scrollbar:hover::-webkit-scrollbar-thumb{background:#087291}.ide-dark .ide-code::-webkit-scrollbar{background:#00475c;width:7px;height:7px}.ide-dark .ide-code::-webkit-scrollbar-button{display:none}.ide-dark .ide-code::-webkit-scrollbar-track{background:transparent}.ide-dark .ide-code::-webkit-scrollbar-track-piece{background:transparent}.ide-dark .ide-code::-webkit-scrollbar-thumb{background:#065b74;border-radius:200px ;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.ide-dark .ide-code::-webkit-scrollbar-corner{background:#00475c}.ide-dark .ide-code::-webkit-resizer{background:transparent}.ide-dark .ide-code:hover::-webkit-scrollbar-thumb{background:#087291}.menu{margin:0 -5px;font-size:.9285714286rem}.menu ul{margin:0;padding:0;border:0;list-style-type:none;display:none}.menu ul li{margin:0;padding:0;list-style-type:none}.menu ul ul{margin-left:23px}.menu a{color:#3f464e;display:block;padding:3px 5px;border-radius:4px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu a.menu-tree{color:#8b969e}.menu a.menu-main{font-size:1rem;margin-bottom:.25em;font-weight:bold;color:#313539}.menu a.active:not(.not-active){color:#313539}.menu a:hover,.menu a:focus{background:#f0f2f4;color:#313539}.menu a.menu-node.active:not(.not-active),.menu a.menu-link.active:not(.not-active){background:#e9ebef;color:#313539}.menu .icn{margin-right:8px}.menu>ul,.menu .active+ul{display:block}a:not(.active) .menu-icon-on{display:none}a.active .menu-icon-off{display:none}.results{font-size:.9285714286rem}.results .result{display:block;color:inherit;text-decoration:none !important;padding:15px 20px;margin:0 -20px;border-radius:4px}.results .result:hover,.results .result:focus{color:inherit}.results .result:hover,.results .result:focus{background:#f0f2f4}.results .result-content{display:flex;flex-direction:row}.results .result-content .result-icn{flex:0 0 auto;color:#8b969e;opacity:.5;padding:2px 20px 0 0}.results .result-content .result-body{flex:1 1 auto}.results .result-content .result-body>*{margin-top:.25em;margin-bottom:.25em}.results .result-content .result-body>*:first-child{margin-top:0}.results .result-content .result-body>*:last-child{margin-bottom:0}.filename{display:flex;flex-direction:row}.filename .filename-ellip{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filename .filename-normal{flex:0 0 auto}.launcher{z-index:30;position:fixed;bottom:30px;right:30px}.launcher:not(.on) .launcher-content{display:none}.launcher.on .launcher-btn{display:none}.launcher-btn{font-size:0}.launcher-btn .btn{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 20px 20px -10px rgba(0,0,0,0.2)}.launcher-btn .btn:not(:last-child){margin-right:10px}.launcher-btn .btn:hover,.launcher-btn .btn:focus{box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 40px 40px -20px rgba(0,0,0,0.4)}.launcher-content{position:fixed;height:100%;border:20px solid transparent;top:0;right:0}@media (min-width: 961px){.launcher[data-launcher="sidebar"] .launcher-content{width:340px;border-left:0}}@media (max-width: 960px){.launcher[data-launcher="sidebar"] .launcher-content{width:100vw}}.launcher[data-launcher="sidebar"] .launcher-content .launcher-hide-sidebar:not(.visible){display:none}.launcher[data-launcher="fullscreen"] .launcher-content{width:100vw}.launcher[data-launcher="fullscreen"] .launcher-content .launcher-hide-fullscreen:not(.visible){display:none}.launcher-window{display:flex;flex-direction:column;overflow:auto;width:100%;height:100%;color:white;background:#005e7a;border-radius:4px;box-shadow:-10px 5px 20px 5px rgba(0,0,0,0.1),0 20px 20px -10px rgba(0,0,0,0.3)}.launcher-window h1,.launcher-window .h1,.launcher-window h2,.launcher-window .h2,.launcher-window h3,.launcher-window .h3,.launcher-window h4,.launcher-window .h4,.launcher-window h5,.launcher-window .h5,.launcher-window h6,.launcher-window .h6{color:inherit}html.touch .launcher-window{overflow:scroll;-webkit-overflow-scrolling:touch}.launcher-window .launcher-header,.launcher-window .launcher-footer{flex:0 0 auto;display:flex;flex-direction:row;-ms-flex-align:center;align-items:center}.launcher-window .launcher-header .launcher-spacer,.launcher-window .launcher-footer .launcher-spacer{flex:1 0 0px}.launcher-window .launcher-header .launcher-cell,.launcher-window .launcher-footer .launcher-cell{flex:1 1 auto;min-width:0;padding:20px}.launcher-window .launcher-header .launcher-cell.launcher-flush,.launcher-window .launcher-footer .launcher-cell.launcher-flush{padding:0}.launcher-window .launcher-header .launcher-cell .field-label,.launcher-window .launcher-header .launcher-cell .field-input,.launcher-window .launcher-footer .launcher-cell .field-label,.launcher-window .launcher-footer .launcher-cell .field-input{padding-left:20px;padding-right:20px;border-radius:0 !important;box-shadow:none !important}.launcher-window .launcher-header .launcher-cell .field-input,.launcher-window .launcher-footer .launcher-cell .field-input{background-position:calc(100% - 1.25rem - 5px) 50%}.launcher-window .launcher-header .launcher-actions,.launcher-window .launcher-footer .launcher-actions{flex:0 0 auto}.launcher-window .launcher-footer{flex-wrap:wrap}.launcher-window .launcher-body{flex:1 1 0px}.launcher-window .launcher-body .launcher-scroll{display:block;position:absolute;width:100%;height:100%;top:0;left:0}.launcher-window .launcher-body .launcher-scroll .launcher[data-launcher="sidebar"]{overflow:auto}html.touch .launcher-window .launcher-body .launcher-scroll .launcher[data-launcher="sidebar"]{overflow:scroll;-webkit-overflow-scrolling:touch}.launcher-window .launcher-body .launcher-embed,.launcher-window .launcher-body .launcher-embed iframe,.launcher-window .launcher-body .launcher-embed canvas{display:block;position:absolute;width:100%;height:100%;top:0;left:0}.field{display:block;margin:0}.field .field-input{height:4.6071428571rem;border-top:1.75rem solid transparent !important}.field .field-input:hover+.field-label,.field .field-input:focus+.field-label{color:#5e666c}.field .field-label{pointer-events:none;z-index:4;font-family:"Monaco",monospace;font-size:.8571428571rem;position:absolute;top:0;left:0;margin:0;padding:.6785714286rem 1.25rem 0}.field .field-text{height:4.6071428571rem;border-top:1.75rem solid transparent !important;border-radius:0 !important;box-shadow:none !important;padding:.6785714286rem 1.25rem 0}.field .field-text-label{pointer-events:none;z-index:0;position:absolute;top:0;left:0;margin:0;padding:.6785714286rem 1.25rem 0;font-variant:small-caps}.fields{display:flex;flex-direction:row;flex-wrap:wrap}.fields .field{flex:1 0 160px}.fields:not(.fields-flush){margin:-5px}.fields:not(.fields-flush) .field{border:5px solid transparent}.switches{margin:1.5em 0;display:flex;flex-direction:row;flex-wrap:wrap;background:#edeff2;box-shadow:inset 0 0 5px rgba(0,0,0,0.05);border-radius:4px;font-size:.9285714286rem}.switches .switch{flex:1 1 auto}.switches .switch .switch-label{padding:.4464285714rem 1.25rem;color:#8b969e;display:block;text-align:center;-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.switches .switch .switch-label:hover,.switches .switch .switch-label:focus{color:#313539}.switches .switch .switch-label.active{display:block;border-width:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);border-radius:4px;font-weight:bold;color:#313539}.details .details-content{margin:-1em 0}@media (min-width: 961px){.details .details-content{display:table;width:100%}.details .details-content .detail-group{display:table-row}.details .details-content .detail-group>*{display:table-cell;vertical-align:top}.details .details-content .detail-group:not(:last-child)>*{border-bottom:1px solid rgba(0,30,60,0.075)}}.detail-group{padding-bottom:1em}.detail-group:not(:last-child){border-bottom:1px solid rgba(0,30,60,0.075)}.detail-group .detail-header{white-space:nowrap;width:1px;padding:1em;padding-left:0}@media (max-width: 960px){.detail-group .detail-header .detail-label{color:#313539}}.detail-group .detail-body{padding:.5em}@media (max-width: 960px){.detail-group .detail-body{padding:0;margin:0 -1em}}.detail-group .detail-body .detail{margin:0;display:inline-block;vertical-align:top;padding:.5em 1em}.detail-label{margin:0;text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:500;color:#8b969e}.detail-value{color:#313539}.controls{display:flex;flex-direction:row;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;margin:-7px}.controls:not(.controls-block){display:inline-flex}.controls-nowrap{flex-wrap:nowrap}.controls .control{padding:7px;flex:0 0 auto}.controls .control .btn{text-align:center}.controls .control .btn,.controls .control .form-control{width:100%}.controls .control-grow{flex:1 0 auto}.controls .control-full{flex:0 0 100%}.token{display:flex;flex-direction:row;display:inline-flex}.token-element{flex:0 0 auto}.token-element:not(:first-child) .btn,.token-element:not(:first-child) .form-control{border-top-left-radius:0;border-bottom-left-radius:0}.token-element:not(:last-child) .btn,.token-element:not(:last-child) .form-control{border-top-right-radius:0;border-bottom-right-radius:0}.tokens{margin-left:-5px;margin-right:-5px}.tokens:after{display:table;content:\'\';clear:both}.tokens-actions{float:right}.tokens .token{float:left;margin:5px}.setting{display:flex;flex-direction:row;margin:0 -30px}.setting>*{padding:15px 30px}.setting-header{flex:1 0 28.5714285714%;min-width:200px}.setting-header-text>*{margin-top:.5rem;margin-bottom:.5rem}.setting-header-text>*:first-child{margin-top:0}.setting-header-text>*:last-child{margin-bottom:0}.setting-header-text h1,.setting-header-text .h1,.setting-header-text h2,.setting-header-text .h2,.setting-header-text h3,.setting-header-text .h3,.setting-header-text h4,.setting-header-text .h4,.setting-header-text h5,.setting-header-text .h5,.setting-header-text h6,.setting-header-text .h6{display:inline}.setting-header-text h1 a,.setting-header-text .h1 a,.setting-header-text h2 a,.setting-header-text .h2 a,.setting-header-text h3 a,.setting-header-text .h3 a,.setting-header-text h4 a,.setting-header-text .h4 a,.setting-header-text h5 a,.setting-header-text .h5 a,.setting-header-text h6 a,.setting-header-text .h6 a{font-size:.9285714286rem;font-weight:bold;margin-left:.75em}.setting-body{flex:1 0 71.4285714286%;min-width:600px}.setting-row{display:flex;flex-direction:row;margin:0 -4px}.setting-row:not(:last-child){border-bottom:1px solid rgba(0,30,60,0.075)}.setting-row>*{padding:4px}.setting-row-label{flex:0 0 25%;min-width:120px;padding-top:8px}.setting-row-response{flex:1 1 auto}.setting-row-edit{flex:0 0 auto}.setting-row-actions{flex:1 1 auto}body:not(.editing) .setting-form:not(.editing) [setting-active]{display:none}.editing [setting-static]{display:none}body.editing [setting-old]{display:none}body:not(.editing) [setting-new]{display:none}.editing .setting-row:not(.setting-row-border){border-color:transparent}.logo{display:block;overflow:hidden;color:#313539}.logo,.logo svg{height:25px;width:88px}.logo svg{fill:currentColor;top:-1px}@media (max-width: 540px){.logo{width:25px}}.kpi{color:#313539;padding:20px 32px}.kpi-lg .kpi-value{font-weight:bold;font-size:1.7142857143rem}.kpi-content{display:table;width:100%}.kpi-content>*{display:table-cell;vertical-align:baseline}.kpi-graphic{white-space:nowrap;width:1px;padding-right:.5em}.kpis{display:table;width:100%;width:auto}.kpis>*{display:table-cell;vertical-align:middle}.kpis .kpi:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.kpis .kpi:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.navigation{color:#313539}.navigation-row{height:52px;margin:0 -15px;display:flex;flex-direction:row;-ms-flex-align:center;align-items:center}.navigation-item{flex:0 0 auto;padding:10px 15px}.navigation-grow{flex:1 0 auto}.navigation-link{color:#bec5c9}.navigation-link:hover,.navigation-link:focus{color:#313539}.navigation-pad{padding:0 20px}.sidenav{z-index:20}.sidenav-overlay,.sidenav-content{-webkit-transition:all .25s cubic-bezier(0.25, 0, 0, 1);-o-transition:all .25s cubic-bezier(0.25, 0, 0, 1);transition:all .25s cubic-bezier(0.25, 0, 0, 1)}.sidenav-content{overflow:auto;-webkit-transform:translateX(-120%);transform:translateX(-120%);top:0;bottom:0;left:0;background:white;box-shadow:0 0 0 1px rgba(0,30,60,0.03),0 3px 3px -1.5px rgba(0,0,0,0.03);position:fixed;width:320px}html.touch .sidenav-content{overflow:scroll;-webkit-overflow-scrolling:touch}.navigating .sidenav-content{-webkit-transform:translateX(0);transform:translateX(0)}.sidenav-overlay{display:block;position:absolute;width:100%;height:100%;top:0;left:0;position:fixed;background:#f0f2f4;pointer-events:none;opacity:0}.navigating .sidenav-overlay{pointer-events:auto;opacity:.5}.sidenav-body{padding:0 24px}.sidenav-region{padding-bottom:.25em}.sidenav-divider{display:flex;flex-direction:row;-ms-flex-align:center;align-items:center}.sidenav-divider:after{content:\'\';display:block;border-top:1px solid rgba(0,30,60,0.075);flex:1 1 auto}.sidenav-divider-heading{flex:0 0 auto;padding-right:1em}.sidenav-section{padding:24px 0}.sidenav-section+.sidenav-section{border-top:1px solid rgba(0,30,60,0.075)}.sidenav-link{color:#8b969e;display:block;padding:.25em 0;padding-left:40px}.sidenav-link .glyph{position:absolute;left:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.sidenav-link:hover,.sidenav-link:focus{color:#313539}.sidenav-link:not(.active) .glyph{opacity:.3333333333}.sidenav-link.active{color:#ff694b}.sidenav-link-main{color:inherit;padding-top:.5em;padding-bottom:.5em;font-weight:bold}body.navigating{overflow:hidden}body.navigating .navigating-hide{display:none}body:not(.navigating) .navigating-show{display:none}.navigating-overlay{display:block;position:absolute;width:100%;height:100%;top:0;left:0;background:#f0f2f4;opacity:.5;display:none;z-index:9}.navigating .navigating-overlay{display:block}.navigating .navigating-blur{pointer-events:none;-webkit-filter:blur(5px);filter:blur(5px)}a.help{line-height:inherit}\n', ""]) }, function (e, t) { e.exports = function (e) { return "string" != typeof e ? e : (/^['"].*['"]$/.test(e) && (e = e.slice(1, -1)), /["'() \t\n]/.test(e) ? '"' + e.replace(/"/g, '\\"').replace(/\n/g, "\\n") + '"' : e) } }, function (e, t) { e.exports = "data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAx8AAoAAAAADDQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAA9AAAAGAAAABgcMR/82NtYXAAAAFUAAABUgAAAVIcdx1qZ2x5ZgAAAqgAAAaMAAAGjFUyrzBoZWFkAAAJNAAAADYAAAA2FVU8pmhoZWEAAAlsAAAAJAAAACQM5gWHaG10eAAACZAAAAA4AAAAODwoBKlsb2NhAAAJyAAAAB4AAAAeDW4Ltm1heHAAAAnoAAAAIAAAACAEVARLbmFtZQAACggAAAJSAAACUpr8+SVwb3N0AAAMXAAAACAAAAAg/7gAQAAEBGMBkAAFAAgEEAPAAAAAeAQQA8AAAAIwADICHAAAAAAFAAAAAAAAAAAAAAAQAAAAAAAAAAAAAABVS1dOAEAAIABmBRT+1AAABfABkAAAAAEAAAAAA4QEsAAAACAAAAAAAAMAAAADAAAAHAABAAAAAABMAAMAAQAAABwABAAwAAAACAAIAAIAAAAgAEYAZv//AAAAIABBAGH////t/8D/pgABAAAAAAAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECAwQFBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwgJCgsMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAB9AK8AAMABgAJAAwADwAANyERIRMnIQM3EQU3FwEXBwAB9P4M+qoBVIyq/o6qqv6OqqoAArz+z//+1P/+Ai3//wIr//8AAAEAFADcBWUD1AAkAAABIgcGBwEGFRQXFhcWMzI3NjcJARYXFjMyNzY3NjU0JwEmJyYjArwQDg8M/agXFwwPDhAPDw8LAiACIAwPDhAPDw8LGBj9pwsPDw8D1AYGDP2oGCAgGQwFBgYFDAIf/eEMBQYGBQwZICAYAlgMBgYAAAAAAQFA/68EOAUAACAAAAEiBwYHBhUUFwkBBhUUFxYXFjMyNzY3ATY1NCcBJicmIwGQEA4PDBcXAiD94BcXDA8OEA8PDwsCWBgY/agLDw8PBQAGBgsZICAZ/eH94BkgIBkLBgYGBgsCWRkgIBkCWAsGBgAAAAABABQA3AVlA9QAJAAAASIHBgcJASYnJiMiBwYHBhUUFwEWFxYzMjc2NwE2NTQnJicmIwUVEA4PDP3h/d8LDw8PEA4PDBcXAlkMDw4QDw8PCwJYGBgLDw8PA9QGBgz94QIfDAYGBgYMGCAgGf2oDAUGBgUMAlgZICAYDAYGAAAAAAEBQP+vBDgFAAAgAAABIgcGBwEGFRQXARYXFjMyNzY3NjU0JwkBNjU0JyYnJiMD6BAODwz9qBcXAlgMDw4QDw8PCxgY/eECHxgYCw8PDwUABgYL/acZICAZ/agLBgYGBgsZICAZAh8CIBkgIBkLBgYAAAAAAQAU/7AFZAUAADgAAAEiBwYHCQEmJyYjIgcGBwYVFBcJAQYVFBcWFxYzMjc2NwkBFhcWMzI3Njc2NTQnCQE2NTQnJicmIwUUEA4PDP3h/eALDw8PEA4PDBcXAiD94BcXDA8OEA8PDwsCIAIfDA8OEA8PDwsYGP3hAh8YGAsPDw8FAAYGC/3gAiALBgYGBgsZICAZ/eH94RkgIBkLBgYGBgsCIP3gCwYGBgYLGSAgGQIfAh8ZICAZCwYGAAABABQAFAb0BQAAJAAAASIHBgcJASYnJiMiBwYHBhUUFwEWFxYzMjc2NwE2NTQnJicmIwakEA4PDPvt/kQLDw8PEA4PDBcXAfQMDw4QDw8PCwRMGBgLDw8PBQAGBgv77AG8CwYGBgYLGSAgGf4MCwYGBgYLBEwZICAZCwYGAAAAAAEAFQGkAwwDcAAkAAABIgcGBwEGFRQXFhcWMzI3Nj8BFxYXFjMyNzY3NjU0JwEmJyYjAZAQDg8M/tUXFwwPDhAPDw8L8/MMDw4QDw8PCxgY/tQLDw8PA3AGBgz+1RggIBkMBgYGBgzy8gwGBgYGDBkgIBgBKwwGBgAAAAABANwA3AKoA9QAIAAAASIHBgcGFRQfAQcGFRQXFhcWMzI3NjcBNjU0JwEmJyYjASwQDg8MFxf08xcXDA8OEA8PDwsBKxgY/tQLDw8PA9QGBgsZICAZ8/QYICAZCwYGBgYMASwYICAZASwLBgYAAAAAAQAVAUEDDAMLACQAAAEiBwYPAScmJyYjIgcGBwYVFBcBFhcWMzI3NjcBNjU0JyYnJiMCvBAODwzy9AsPDw8QDg8MFxcBLAwPDhAPDw8LASsYGAsPDw8DCwUGDPLyDAYFBQYMGCAgGf7VDAUGBgUMASsZICAYDAYFAAAAAAEAeQDdAkUD1AAmAAABIgcGBwEGBwYVFBcWFwEWFxYzMDEyNzY3NjU0LwE3NjU0JyYnJiMB9Q8PDwz+1AsGBgYGDAEsCw8PDxAODwwXGPP0FxcMDw8PA9QGBgv+1AsPDxAQDw8L/tULBgYGBgwYICAZ8vMZICAZCwYGAAABAEYAqgOiBAYAOAAAASIHBgcJASYnJiMiBwYHBhUUFwkBBhUUFxYXFjMyNzY3CQEWFxYzMjc2NzY1NCcJATY1NCcmJyYjA1IQDg8M/tv+2gsPDw8QDg8MFxcBJv7aFxcMDw4QDw8PCwEmASUMDw4QDw8PCxgY/tsBJRgYCw8PDwQGBgYL/toBJgsGBgYGCxkgIBn+2/7bGSAgGQsGBgYGCwEm/toLBgYGBgsZICAZASUBJRkgIBkLBgYAAAEAFADcBDgD1AAkAAABIgcGBwEnJicmIyIHBgcGFRQXARYXFjMyNzY3ATY1NCcmJyYjA+gQDg8M/eH0Cw8PDxAODwwXFwEsDA8OEA8PDwsCWBgYCw8PDwPUBgYL/eD0CwYGBgYLGSAgGf7UCwYGBgYLAlgZICAZCwYGAAABAAAAAQAAywcftV8PPPUAAwZAAAAAANfNTDoAAAAA13yohQAA/68G9AUAAAAAAwACAAAAAAAAAAEAAAXw/nAAAAcIAAAAAAb0AAEAAAAAAAAAAAAAAAAAAAAOAfQAAAV4ABQFeAFABXgAFAV4AUAFeAAUBwgAFAMgABUDIADcAyAAFQMgAHkD6ABGBEwAFAMgAAAAAAAmAGYAoADgARoBeAG4AfYCLgJsAqoDCANGA0YAAAABAAAADgA5AAUAAAAAAAIACAQQA8AAAAB4AAAAAAAAAAAADACWAAEAAAAAAAEADgAAAAEAAAAAAAIABwAOAAEAAAAAAAMAIAAVAAEAAAAAAAQADgA1AAEAAAAAAAUAPABDAAEAAAAAAAYAFQB/AAMAAQQJAAEAHACUAAMAAQQJAAIADgCwAAMAAQQJAAMAQAC+AAMAAQQJAAQAHAD+AAMAAQQJAAUAeAEaAAMAAQQJAAYAKgGSVmVsbGx1bSBBcnJvd3NSZWd1bGFyMS4wMDA7VUtXTjtWZWxsbHVtQXJyb3dzLVJlZ3VsYXJWZWxsbHVtIEFycm93c1ZlcnNpb24gMS4wMDA7UFMgMDAxLjAwMDtob3Rjb252IDEuMC43MDttYWtlb3RmLmxpYjIuNS41ODMyOVZlbGxsdW1BcnJvd3MtUmVndWxhcgBWAGUAbABsAGwAdQBtACAAQQByAHIAbwB3AHMAUgBlAGcAdQBsAGEAcgAxAC4AMAAwADAAOwBVAEsAVwBOADsAVgBlAGwAbABsAHUAbQBBAHIAcgBvAHcAcwAtAFIAZQBnAHUAbABhAHIAVgBlAGwAbABsAHUAbQAgAEEAcgByAG8AdwBzAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwADAAOwBQAFMAIAAwADAAMQAuADAAMAAwADsAaABvAHQAYwBvAG4AdgAgADEALgAwAC4ANwAwADsAbQBhAGsAZQBvAHQAZgAuAGwAaQBiADIALgA1AC4ANQA4ADMAMgA5AFYAZQBsAGwAbAB1AG0AQQByAHIAbwB3AHMALQBSAGUAZwB1AGwAYQByAAAAAwAAAAAAAP+1ADIAAAAAAAAAAAAAAAAAAAAAAAAADg==" }, function (e, t) { e.exports = "data:font/woff;charset=utf-8;base64,d09GRgABAAAAAK4wABEAAAAA/GwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABgAAAABwAAAAcfg3B8kdERUYAAAGcAAAAHgAAAB4AJwE1T1MvMgAAAbwAAABLAAAAYHN/dWZjbWFwAAACCAAAAjgAAAS+1h8aA2N2dCAAAARAAAAAFAAAABQDqgVBZnBnbQAABFQAAAGxAAACZVO0L6dnYXNwAAAGCAAAAAgAAAAIAAAAEGdseWYAAAYQAACaMQAA3UhCB8sWaGVhZAAAoEQAAAA0AAAANhEbVxxoaGVhAACgeAAAACEAAAAkDwIHkGhtdHgAAKCcAAACIwAABLqV4QERbG9jYQAAosAAAAJWAAACYL9F9WRtYXhwAAClGAAAACAAAAAgAlUBsW5hbWUAAKU4AAABMAAAAkQJm1bMcG9zdAAApmgAAAeOAAAMErscz7VwcmVwAACt+AAAAC4AAAAusPIrFHdlYmYAAK4oAAAABgAAAAb3vVi5AAAAAQAAAADUUbVqAAAAANTcZEsAAAAA1N+oPAABAAAADAAAABYAAAACAAEAAQEuAAEABAAAAAIAAAAAeNpjYGYrY5zAwMrAwmrMcpaBgWEWhGY6y5DGlAbkA6UQgAmJHeod7sfgwKD9/z/b2X9AHWyXGWOAwowgOcYvTHuAlAIDIwCMvw7BAHjazZPNS1RRGMafV0ebrxydUeeoOF5nnA+bwFqYu2hnEoh/gCCE4VoU20a0cNVeXIirkjEkFxEUiIuCaCOuxsEaxc07iyAxk0CYnnuOLQoCFy068Lu/55x77+G+55wLoAlAI7lOwoBMQuAPveao2PHGi/GA3GD/Lu7wnSCKXtgb8qa89XQ8ncr0ZArZxex5TvIxbdaw9mqf5nVYR3Vcp3VW53VJV3RNN3RLd7Ssh3pcC9W663XOWPTwl5mgQY1ypn4d1BEd0wmd0Tld0GVd1ZJu6rbuakWP9KQWqdfr5YNA9aD6svrgMz6d7v/Y/1J5WumpJPfCptt0GWOSptN0mHaTMHHTamKmxVw1URMxIRM0V0yzaTIB42r+Ny3qXxomL3o3/Uov4Hp7lMd1RYAeciBGTznQSq870Aak4w74TjmQADI9DrTTBQc6gOyiA530uQNJICcOGCAfc6ALUEqbeemmg8T/tn6aVWgv8wDd58At2r+XZx6hB8kw823a748y36PHyDgz10AnyDTzfXqGzDI/pOfIPPNjeoEsMT+hl8kK83N6lawxv6BLZIP5Fb1Jtpjf0Ntkh/kDvUvKzHt0hRwyH9BH5Bi2WD0BaiHmMzpCWLe0QE5KFkiKfm+B9EG+iQXi0c8skH76rQWSpt9ZIBn6owUyQH+1QLL0mQWSg5xGLJA83Ua4t1Kg2y2Qa3SnBVKEfH9kgfBfFe7Vr6MqDf5B++P0/X6OG/EftMTlH227zEM/AZQ63VMAAAIRAJcAmgC4AQQBeQC2AOIA3HjaXVG7TltBEN0NDwOBxNggOdoUs5mQxnuhBQnE1Y1iZDuF5QhpN3KRi3EBH0CBRA3arxmgoaRImwYhF0h8Qj4hEjNriKI0Ozuzc86ZM0vKkap36WvPU+ckkMLdBs02/U5ItbMA96Tr642MtIMHWmxm9Mp1+/4LBpvRlDtqAOU9bykPGU07gVq0p/7R/AqG+/wf8zsYtDTT9NQ6CekhBOabcUuD7xnNussP+oLV4WIwMKSYpuIuP6ZS/rc052rLsLWR0byDMxH5yTRAU2ttBJr+1CHV83EUS5DLprE2mJiy/iQTwYXJdFVTtcz42sFdsrPoYIMqzYEH2MNWeQweDg8mFNK3JMosDRH2YqvECBGTHAo55dzJ/qRA+UgSxrxJSjvjhrUGxpHXwKA2T7P/PJtNbW8dwvhZHMF3vxlLOvjIhtoYEWI7YimACURCRlX5hhrPvSwG5FL7z0CUgOXxj3+dCLTu2EQ8l7V1DjFWCHp+29zyy4q7VrnOi0J3b6pqqNIpzftezr7HA54eC8NBY8Gbz/v+SoH6PCyuNGgOBEN6N3r/orXqiKu8Fz6yJ9O/sVoAAAAAAQAB//8AD3jaxL0JeBRV1j9ct6q6ujvpdHpfknTSe6ezddJrFtIECCEEAtghEVmCAiaIQmSRAFFRkcUVFEVBxgUzGh3E6oCKCoq7KDWO44Cvvjq+OOPMuIyjjDISui/fuVUdCA7O+/2f//N8H0m6qrq6quvee875/c5yLxSiKKqP7ZcVUUbKTfF0gFeEeIPA5wQRbwrw7DFeF+TlAq8OJs2olKqs0hpCDq0hGNE6gpGwy6ENO41ah7MePX0E7YnHceIIvqieFrpxor4e7enukt6kKNmZn87cIXuPa4bvCVP11ESqjbqC4isDvB1uHuDHCHxrgE8I/IQAXy3w9fDVAuKnB/hJx/hpQrIdlSanTdLqnlMX2Surx0xg3eYaKqm2a3WDJnNJTU0NP0Y7aHX7YC+ZaNXqko1x2Kuv1up4qqayiglH3aEgazIbaDnHupwVtM9L6yPhkLmQDcbp0SgaCprkRs5ITrp9YZ2BDQXdYbedMZhCwWgk7HU5OZO4T3YVh9GMd95FHW8zs+wGvOvMum8emCtzznrJZpLb5i3h9++5ZqbRyGmylLKQFv/362/i/84tQoa33kYm/BW+2rFx3vxbNi2Yt/Gaxsrg+PHBStm0xuVjxi5rzEu/l5y2tWz8FPdB2psKyQsVnD7oKyosKc3NVehU8rS1bcWKNrksPqOubkZtumrexlvnLti0qXTeuHHzGmEcYSzpLrafCVFKSieNJfRhViCZfXbkxDFz1rP+ePz0h2ScursoioFLsxQUu5kqoLxUJXURxcsCfHaI9wh8RZAvCvAlId4q8HqQiaoAj47xNoG3aZJlqJRXC8kgjE2ZTat7Rpattzp94sgUebS6fRRSmxRwWFmlMRTS0KExEyv2ZgXtcrJyr9vlVCO9BgbGTPodkTHSamAAxqy4b+aDqHHVdWjcg89+M3b5vTMexs/39uIDD828b0XfV9cj9dxO/G3fV8xzs5B27VdfrcX/YBo+f3px9aObbtn1t0+X7rky+vDGTQ9Fr8SfIfW2Vb33o9ze+/AJ/P39pK1YYPs4gQpRq6j11K8oPhrgbxL4awPQKsRvCPDUMd4R5OcI/Cp41SQvgVa2C3xTcO/i9ksUpXy5wJcH+MUC365JNmWX8jqB12mS0+BT1UHocN4STG6EHimfAz3gq5y1YCX0AL9YO3hFz3Iip+26Z21R9uIl195E3tdpk/FJ8O403V6NsbVN7LtrbwL5rQ7XQL8ZDWaQuVi0HoWJyPq8kXAsCj+RsA/EUM7ZEHSsGX5NRoOck3NGPfm43JCL1DK5GhkNRchURJtsyOurQDD0TqNBxsnhJoao2TSaJreKRoI+r9kUYLwRXwzUwGyScw67z8snP/k0yZdePropR75gwR3lS9Dgvv/6cN9g2eyJcY7LYhcsuLNqUe+RodNH2AOjtBa1Rm7g8nUmq8rqmXFAftON66IRjG+S7W+imcJCq4Gh1WpLYaFK5XL5Zu9nPU/9+F9vjMp/Dv9whnpBO2X8NPg3/kTJnGWjx+Zwc0Y3zLklfEPbibFTp02bOvZE8eyrJo2SyZXsnIbRczZUr2lnDyxZ0hU/UKM15+oVVoVzlD9a7DdYfdMPxDfKSooXjKuvv7atjNk4dj8DX+90FNo4WYE1VBVkmLJS34z9Yw8X9PQUG7uvVFNq0JsuBSULUbmUnjJT+VQR5aJ8VCkVAAmJUXXUaGocRUVA9x0gulpQf4cT+jkSMjKZP23EYURn93++PXeuvZb7vLa9o+ZUYU2HAP+6BZZKUbARuo4IXQLajsl7J+vb2uqZPTUdHTWpzYJAdx85go8IApw7u4/CF96Sz0BzRBk/Kd/D9VMmyk75qfHUYDFFlfKcwBcEeA1IeYko5WaBN2uSbpDcbCFZCjLrNoPMyjhNoUMUxIJirW5vNlXkFHVYa9AVItbujiNdJExTRHlZc1gHSms3I68SmbQGmnXZFzx7ApWjBlT2/TPzH8BDeOvh9Wc+fHbthG+veRMZt6PcI6f/PIB0rG3gbfzYEfwP+r2H8Qcnnl0gXvbw2+hKJH+gae0zH+JN25Hp7ZUDp//8Jn6Ptb2Hf3gHP3FYtHHn/lVJxxEYv4WUFdrKM1L78gK84RjAVjIfWiU3AAqYakQLSEaRAgOEQHsk+wMq5nNyn2xnHxJQ0c2fb7CFg/h/nrvn9F2s/4GP0cP3HkPmt2/+dK1i4A93/nhXhZ39AxhZijqzh6vnWCobJIYyepSgW6CcciUyj0bmoMlsMuciL/ornaDZcaO29qRT6T1WT7ktr7N0IVPVH0pcSbfSrMN786itlvTp9N43+qvYWOnCS6o8XZRkx8/I2cPcZsoBaIl4J5gm0ho+P5h0iaYcVD4WRz5tISLqajbBQQXyVTARl9YLeu/Pv+/QFRt2yS69Q1/pZBiVP1Zc0FBZ29pZ1X/v0zsfbZk8S+GuOjSfbdGun/7BaKPKO2Hqr+9aXVU3feXl/qHDkfro9xQ6cwZ/zclAhvIoylyI4BsiWo94d/HAp5WJBy7X8zctXk8fvXLJ6kXNL65bsl52+oWrlq7q6p03qsz/4MXMNwMpbPBXvfX26Er/wx2yXd+ebjT4K98S+zAk28F1gd5VUDXiyJXDyAUCvA8kM8i7Bd6tSdpAOBVCspIIpw/A3mp3ECNq0ybz82rIkFb9TDEpLzycWRsCy1eIwCK6nMTGeX1ag5r2+voSLNW+qrcjRbWtQbeUl5e/0L4mvMDtU5XkqrKVDEMnmsLTLpvpSvStaZPt6FjZ2346euP4CaPt9Al/08bKnk01RqM7WNudnf5rpKOikFWI7biJWyT7CSTBQ00RkdMJIxXgjdAar4iWFgAFTbIImqIRkj5oSpEFFEtuMMoIBGi0vBqUzSkDKZXX8PnavYCbGlHlLIjAZgyZgKD4kAicdkDMMBUKFoLgUkBk0CL+uxufuA+tH9PSWVWP+zqvHPwe468G5iB638o/3IjxMyv/cAODMf6OX9SB+8aM6axpQjfe+9yNcHz5k/iefYi+/g+9z2J8w1GwG+iMVz6BW0xZwAaGgUMgPhLgy47xKiEZFQUvaiKygEzRGAKRYzk5UiMzouKAQGrGR0XNhYzZxPmIMCIfCrdMfMTNNM5/yYn0BWzprGs3X9tlwV85i1Wpg/RvchLzbFYuMHZCPq3RBMJbl7WrVaqq2PbaaHv2bTsntYS9zDhVsRPpLF1w4ZwypgB/6XxpfuoA+v3chNZW0NoQRGZmh0aV07FsW6QyN0s1vTa6Iwr6eQZTffJJwGl1YMnLKZ4N8DkCMQpeGJPiQNIPbUnm5QDMZueCNHm1e7M0Sq3Y5bGz8iRHIDw+5DXSoM85iACrx02EyUckjR3v4Lod4/2pb73VtZ7Ut34ur8SElqMV3rpaJ7oGLTc5DAVVWepTdY5P7WPHEgEy4m6jEW03+lFF1Jz11ttG49tvZelcASXIkChHS7n9nB9QqIiiLOissdXQFchtZ9VIScfAwCgRmJmLH/oAyZEFyT946GLYx6fw3/CpDx5CeagOv7EPBmgUj18XX/Bh5hLp5MU/uygdhc/V8fgwivH4DXw4iarx2+JzgFZyFOhl/r/j3ohnAF0S2ntXdpwOgS41X+CLuxJrVrexQkfvqvbU/F/6rnNtHkvxXIAvBEySbLhd1B1wRQwaYsYJRjlAd/LBmu/lcjUyEaLMhXCEsrKpjL78e6+hiEMb0jqMDq1L+0vdhtCD7wP8dr//S32FuffRg3je+3g++hX1v/XRyG88r5NCaAdB+W5hRM+kQwLagbsE3I22U9T599Zf8N7G8+/JUuffTchgJHdc9iClhXsgXhdIUtkE/pP6jCMAIxjVEAqZi8gru5n+nD6+efO6fc9dt3L5umdfwD8yfz24IT2b7t+A1qzr7b3yyt70+TJqBg+OjBeMj1EaL8uI8TJL42WF8TKfN14GDpQOZYFvpjES9aNqfnnYjL84XKziPwzU++Q5xfbvgOf0gB0jEmULwUPyWUHRJlPDzwkCRbqF2GQHPOdgloapqak520USzZb6COxcGOhxEZJIsgY0wHu2255Zt6z3umd731/b/9DNPfM+OnrlonVTWjvSd6bvmMn86cA60pHrDhyUOnLpu9fdvH3ewYPzpkzAP7Wln6MnTslgfrM8i0uA70ZpEaNEDHJkI9r6Cl1Olx+iLemlJ08yu/CSdDV6EnfQb6O7aT49TcJRth9w1A989WKK+CZBgaAQsXXhAF96jK8U9uoqS8F1AcJXqUkqodFOIRkhg6ODRqtkXuI2KysBgGw1vFPLF8JIyYJwijI4a8gIaR1hqdlGAwe+BQJfQ3Qm4ywgU0zsJwe4IxQHpjKOvC4vml4Tuf3GusjUQLB6bWGl0oE4B0PnGEvtcx+wdvC/wT+8dtenaIbimtmz1ihWzprFRha1zWxpbQuvdRa4r/KH3rUUOA3hoqr8eJ//2ptOX7+mY8vQly+soume/X0yieOyZwrlC7jrgOOOolqI9YA2Nwt8Q4C4rXmSTE4K8KOO8SGBD0lUAmRyMjQ7NAp4rjvPO66RALBNyzvJmOtNOhWMLhFDn5f2uuVqmSeicwRF3yoXgbPlikBjRwPykb9zPhgTR3UoaAIHqBRoGMc8AAZl7svbke2L38yimR1n8KMv3/DP3+5eNYYeq0Kz93wQ0V1WM/ZTZUGOqVSeLy8vqHBYLpridKhkrTVsvJWdUs/WttKvvIwfO3UXQy8Y/BrZt7+MLvlpC40mXJf83Y/zFOjSR3ZcMqGw2VPZptCsLNHonTKjrMgw3hny+auqY4r0dTUtU+prp8imivIxLFf6kZIll+Ujj0wPv+fL2HF0xZLlaCH+aC0Gh2Ltv4vcFgUxhYov8VaM0eJhvhqSrwcZjBEOTgf4POj76gAfOkbIWw30uCIEwpVHejlidETCHuKNip4s+QmD40lCAnI1C64s8WMJgxZ/QN7krHw97jx4Z6AyV16co8llPFbOP/uJxX+babbrlQzHqRilUpnN5WhyiuWmsvI7Xsadqo8+6t46fktfeSQ6rziHsRfWTsjdV7vyinErbbWBOu9o+/hcBWMyzCyyMznFl0WiFdduHr+V9BUWmD2cANbNRThpFpEiwuUc0B53gLccA3xKeqA9hcDg9qm1RkO+aNbyNWDkFDlqo+QpmeMoZOLkjBjz8BEOqteBlUXcuWBSpO6pghyk7usUFqNrHqnfNrvCubnj4R68EGnoRfOWPbL40tX30jtnFregWG36X/iet36d6FtHO9Dkd+jtnVfuWDhj8Y7zdKAM+r5M1AFJ+iMCia1ppHEIHiOST8YhG7T6F6VdBo8dlDMcMB0zMHt46igMip6YPRgHl9P7n0S7a+mJ0fMiHcbCwALP/D829kVaLJbyK4/Ov6hvbuvYpv8gzn2zV7+B909pqZq/7CiKNTXRtro5veMuGSvhTbOCAtmtouZRXRRPBfgxIaDTiJ8v0lJwieSaZC0odovAt2iSY2BvrJBcQJy+MmiopYav1T7H5mr1wVGd84iut+gGaTSDmLuxY2AEmydflJgujqCFgs/PICEXh/Y88RSFkyHCSYvCaRwhmeBunD2Sk1etI0LCNORyci24ScOSzcDFsjvw7TuX+3wqxmlXFhgYfXDSignPtVoKcxCbQyuMSruTUfl8y3buZrey1jxGlZ+XSI+uR++qc71/XtEeVTF5VtaqYa3V3WNvi+WalDIZrUL7Ud7ch8auW15SGZhttJjm1GsGSi5uH1u82NUcafXO0LDG8ByTxTg7UFmyfN3YpksY00qtRjve5XD11F9XE+vBwjwUM06YE7ysw9E0Hk6tVPX5ExMrEuaSQGFEH5eLfKKLE2QhSkMsCNAb+BkmJRG0h6WGBNl64jOd3sO8hjcfxwl8vC9BJ9pXHR/mNCEYxy4qCnZ6vDiOxEKMC/BV4iD67ce0vD3Ea4VkI4xdlR/Gwl3Dy7VgMniAIZneSGA5mQeDlKwZLUbGLmxFmOG+FqNhI4dKjkRWFiGszMF14S2vbA1UGOV+lUbDeAoYS7zz7plfz8lza5RyWS6jyFJmKUvKmNyqwJZDrbNYAQFPC2ExxvLRypvH37WmrDo216emHfZqMC0VnbOby1Y64mMCTZ6pWjAt5sL5efmWS6sj5X1bxhsc6F48fAepPyhK/iHwEx9VAj+DDInO+AReESQBGp0k4qUBEmClkgXg9yaL/aTRGTZYD0AUigz/SczQhkJGlzHz59GioF0esgcF8V+V4yfBUSXtM1k0lbAHg/Y+4Qgc9rkrKtx9sAMHdBc8HQIfcJt8HKcgzFZnqkNizEQccDEEAAYMfCKnHCFD+W57FN2BdqFHHLk5st3lBntKcMx0pAR6S0V6fbmbXpPeoMq2Oui+CjsTczhSh0fwWwUgxXjQauL3qwXeE+DHCYSuVEDLm0SGphV4rSY5ClS6REhOALEYpdXqnqU5a57DUyXqrEdNKIpSSyIC47R8Qw0f1u0zFpSYRxFVr9Dy1WLYymQn7rNI5IgRA5FBUbMpFgX8ZsHJ80gxVontueEz5BCukLQaceRK7gs0alnHmDFuT0lBR3TS5EURFBjomjDR4ViC37sTv7+c7rN1X7/zPtS4bNkKfHRJV1OTze/2dNddH66txQfv6bKVltQi24NfLEu0NBUUJKILW6cA/xqY39DgSDgWeW6DW6wttnXfg8Yte+jBZb2qJd0Tm2y2rrCmumrypFp86J75tnqKOYPP0AoNt4dSU4WUl6LykRaMswPpQ4wXnhT9W5BSr0Qevdbwx19dga5Gz+Ejv8ufPLSlEe2usMvetZeX24ci9opPD4LbmIWm38NWpXeh5kUPEymlxzSbMFsw9AdHVZWDeYu8pvbx6FncD5iFn8f7RNw/8z0+Lt/IfUnVUZTXJHUjiUSJYYEKOko6upCGI9A/nxeOKhA5A58kp0iIgDx27oQFt71/dID5ycBZPZX6lGL+a/23B2svZv65pGdUW74zmIqWhayW4Cx6wJnf4krPqK20+Me+nmDefTRivXPWq7tSiuWv/+PSe8gdKp0muT6V0x6r2tT/5uXMPy/P10xftDqYipQpmdwI3KHoIkNhenrsluWOsUZyhzdm3WmNPJpSXAftYYmdY4mdyxYZQIBqkNhMiFcKvD1I8lTeEG8U+DLwIypFKVUFeRkIKrxqkhaQVXeQJEf8wWRVxtUCZliPwqXIaRy5j37h/f79/Wd/aWHkEcrq73/+0Udpg3ic6ht5NMzBxHiaCywKb5PiT8BZrMfA1vJ5UvxJJ7GXojwwsMZM+KwIEakRGS0ITimKaCRzEgnbSWaPM9b4+7rn0Yk53X3+2oT/edz99u/BZ00dKY6XtKr8Dodf1VrCFPkTP6IPf/iTP/H55/jz1opMHJoSZDtYgcoBa+IHmSXang3dFSDppKIA2DwSiyax57PR2WjGoP2no3o/K/jjdWWnQ6V15/bLake+j0L++np/SX09utofj/tLRo1CPZl3JM4KPSa7XLaLsGIdZ4ZOiBEj4PV5QV6ZCqTV2NHV5U1si58WbNaqaI89veuEezV9aGkQF9SwY9m+6BI7nEhF0KgqjdjWzQpKlkXZwOesphopXiFyMUcA3C7E14jSUgSt1pAYLp8rEN6SdBVpdc8oTGa5t1Q0aQ4PEMlcqjiWCbmbSYQXXGOwvaKbRVQG/GM5ccFYDdhQ+KMNJugZL1ExUDKAQpfTXz64eDWaja5Cs1cvHiz3+0sHe1bjfnwP7l/dM1jqp2tA49egLHwSb3CvO7BRWbLaqZEbNLlKpa2TFgriYwcmTF2wYOqEgbHxgvwxY3/dPHX+/KnNvx475ndoCUL4DL4bTJFh/9q1M/OVhSzN5YWrAoGML0AdYF5jj8OzURowrcGYEol5Ux841IT6EscZ3CYj8bAd7oVuMAi57nCoxYO/QPmeFgA1/D0+4VrkcjhQHv4LumKhG/Zi+LCjqcuDGtA4T1eTHb+Nqu12dyTsxgfxIQlX8G75a9wn0P+BzIjCcAKFDSCR4so5sw6JoTs5oqCTzPKMoTfJOa8vJ8eK9lS0M8+GzPNMTk/v9uqgakytsQc/XuMdhQ/UhVMt7E5rzSXzq2osRk92zlhVIrrBgz6Z4U7f3VRPP+yuRY3RmqqZ/4O0d1bnWmrxq/iHRMSTvgy1bfJMmGAzxD0Kx4IGjyV6Hh/Sg7ZSINsAs0gCdrlD1DnkQARqz5ryvkQXCtFU+yqFKh3CfW1raIEGOtElBrO7SRwo0Ucoxpq2gyy9prcdH5GO6G4SxCbfeebMmR0KJUeJ2GGk+NwAny+IRqIokLSLCpgvWgLSZ+KXxhwgbrATQOKhnO1QLuKWxctkHTJP/KcDcU+Se8OoaPGnm3vGxJsWYd4/RsE8mJrXVRllHoyUlx8AntFS31Tjl2wBwu/IePCtjFQEPPZx1GCUsJ4a0VvRwWPUixoSFpJx0IswML19RuBRFlEtojXAgWJ1gPN52r1MFucV1UPP6cwmndEhckBfBS0GjszemM6uN6lpQHL4lbu8AdobIYpB/vRGU8wUi6iyV106bxPt/3Vn8XZ11rzd+EfM4x+euux3CoWLedDFZMl0WpfaE94bHAgNNhTkm/UMk6tm2MObt9yzme29Ff+jeyH++pb//mBl9bvHrz/6687OXx97zqFAd+Ml/lHmsoJR5mDzd6++9MNMnxf5ijh5YUFW9umjR9sZpv2opCOC/EOwixzh04RcadE3sq+HjLSAKTQZ1Lb5rP1UUPA5DWWgLKKkSAAfGUZ4uNIDl69p47pI/O/UjkSfwHUNUSSmiHYQ6aCprrY1fYn0DrorvaMLbRNxO32mlGngFlHFFKUnFLlQpmbA8TObFEh0X/S6WJQwaOlHr2kfY7E3ubyqLFmOvki9a5oiG61A3TLlwUPco7fmKJTqORej37y51uCm/2pw5mXlFGQbOava7xhvx7c/r1CgR9ALFt/UaTq0HNWWFiDUfSl68fud9piEW7dwmzmDGJ0wmSlH0B3VRTTI6zPpaIp1N7QBsbnmOdT63R146JIr59k34T/jW/C1aNqSNjx053do0rNwV25u+HF8Lb4d/3mjXcTxkf1W8B96Dv1S79H/oQ/xIqkfzxtHh1YJQyn7Dv0VW4c0tBXvo0HT8X7pcx/TCfZ1wEHob0J9ELFHSsRFIhXolqoq3FsRCYdRIz4QQWrYuTMYRnfAuTB+GPdHhu3quXuAbYsSeyrypyp0S0UkEsGHUEM4HKnAvVX0TrwsHK6IAAJcCpsIXh4m98giL7Id4HcooLdt4H0EqVrwyFqo6dQc6q2MRtYKe021UUUpMQ8AXlUCoUAXh4ifNisIXgnvFQjriQfA1UZ8p6i1rMCzEsPwA/nRJMOwVxckhTyj4VWTrCDMSEzotcPeJUJyLmEhLND3XIuVeOPVYcA9R2kVUexkuxtONE6aLPp8jnxQ/bbp8Bm6Ct4uchUTug+uYUUNX6obLHT7yfVxL3xKOV6MVRpCQRhlJ6czFCIx9+eV603EGQdk53QaAkYawCGaxDVMYmBDRxAULqEzW4ozkQvlJPNDbgAKMXzTru54ov5FZ6jOalTYWmoUhik2F1M6yTXxy1du2XTwwG0bW/pmXLyqd2YHG2wIDv+iVcqKVlvLspZC5GiqtyptrpabFlweT9TQQoI4Y+j5ukoPbYR7tdSmcuDGrkmljGsiPQ1/99JBpDuE5/J9fTMuWYPvS9TXJ+LsZnGD061BhW3SsqbUfZNcTbXik6CLyQ2rCJflzuyQfwmCaaHcVAVYXCfFW0kki/haZaK9JZYWOtgKXWfQkq4D1DTpwaaGHEA3AAUCCNxsYgE8DjHB7XKokTHmGN4lRRAO+JNDHzqcaoVaPbZRlXuVbI8tLt+pto6rPzUt4ac5pJPdHTZl6U+7CoICkyK7qecLgl2304bNbHVJesd85qcxtgl4JV4c7ZLVFDM7mhsb4v39CQ8rb+wurqVpWbVfkLapNUJ/v1CQH8jEFbDAdgGmKCkTqXjKklivOUCoOGGUoJGivhsRGWpt5giFUKjejxMJmhL89Zl9wMur8Rauyx/vJu+czoKDI/74cHxzoXwUFwONyaNIBpFkOmiB5BGTNAIuzYg5AxRiiJiJFTliTAK6EGgayA8D6CTGIFYLzz+6JtBWM8Zd5IyObynpuO3WN7X2wvvwv14eXTa1rbjUXjt1QXzt87LSoXr6/Y1+Dad05uUVuPLo3MIdO1C+tUBVH1a7LPEZFWFvFQisf6OIE/B8h7kIpRItHmXmRGsHVgbollimog1pzeYKr9zl9xtTPbmBityq48ePVxU1T7BzYzyeIY8goMuJdcvgDshOCGRHKWZ6wLadNZvDdtRBEjTykNt6aoLV3dVRK5tQ23FqO1i8blY4aXW7rUNdo9raRrH1uFssSskiYwWcRwDfygIMuQp8xglUGzWfupq6lvqKGpxAbM8YYW/+hDEK0ViUBMAUEduzXHS/VgdJLrpSIDH9i4S9losmKUj1GeKvEy0QOGHggfnAugQFPqghos03B0lQoRVeNckYkiq3NMmlsLdSSF4PY+eTgUXRaEmOgw9qk0UG2MZ1eyv94Vpih2LjwCgFSiI1JJxQrk22X00MkhsMEj+zhi8haQO+Vpe0XwaX0dqkrwy2Sl0yGINtRJv0lsO2Ujeo1V1OvkCt5TU1GY8wQhwtsFAi9gKzD4DTzJjE1IJXhFxKowPWr9MQTqMPR+3ETtm9lA0RCwW+otfJnN3jjGLeBW5ENLYC+LReLBiAPRrAe8T3dXV31fu7/fVfKmyaWtsUQ/3EFluraHZsCjBQUcNElLUN0SiI2Pvvxyn8W4zRCTTtxAnMn0DNIwxakF7I6g2qWtFONRnK3XY6Pr6ppdZYXVlhlU083jUfvmi+vz5j3+g3Wm2qWpvCWDtxok156q9WMJ221mCWPZo7kbkUuGp62zbEoDBitm3D85/8/vsnn/jHP9KPkEcVn5ejyE4X8eOG7J4yg6bWgcDmjjfoWQ07OQLfXGNEBSWFionpR8QvJDqbh15mfsf8i8oFb6CQpK1NcZrgLspjimMFAI2z80Y5FXm4B1B2Ce2qdSgtBICNrDdSgDaEw3hNRvfxcTCm+zMYTygDMLSFaDKm2PeHNATvRVj9N85h/19Yx//CPP43/nGOg5zJUhi5zSRepw3FHEwIOWJxOhIl3mAA/AiX3uFz6YUv0FIwce/Q2imRBZON0Yp8/eSJ6d/iqIDx5i+EfrT0SEpgQjKmqMHvL7Do1UoFE0oJAu7P+CtcF3cNWIMQ+PFiXhF0DrRSqUkaQJ8KpHSiQQkKI+Ny1IS0k3AlyGQo6POCG0O8UlKRiAwqeCtPKpjyhWNxBrYZqs4ZG+t7xlmNi7pstvIxE69FO5ABPXyodmDloY0rmIQ34GeLvIaGPUu6O2+fe93D17c2+o2LF9K39XTZ9KZHV6T3jLp+GvoN+mtX9URNrortjbYtmdc7yjz56IYJo+e2Xl5/rjZuPPc4NRWsz8VUK7RmRoCXHeOnC/y0ID9dk0xAgzqCYC1I6WdyOtiI51Rqjd40rmUyMQQJ7V7z6LF5ok3QPZfvcIcisdq41GIdV4RMpPoSmUj9EVBqoonwnqjaZAvOlLgP2/DojMISqJXLOHGfXAvnOKPZBH2CMrZbo/Hzfj+fr7Q7PgpWaXu0pWVDS5q67E3WTsPCMr58LKtgG4IPBzX+pNudLNFGv4pUGddonWX4y/I51m7rRGun9fJgf1lcxTaGHqJPCYLAeibYH3DNc+00lhTKrLKLqjAftNs2185/yC8r21fmtM40llQNRGaqKlRN9p2OLscD9jrWwk4pR7ODDtvugoJyvpwp6y9zGKYYSyIDkVmq8tSJo0fRBNqY/lrCkNc4g+xDSg5S4yD5WSaQzLGGRCKpCPB6gTdIiTUngdOkwhAMZqx4jlhXzKs1pICAzxMyRW+aDDtjgix4fSGxBjFiZymdNhTOQlQZct360m23vXTrEyj8x5tPPIGP42X/jVTor+jS331/9WE4fBIv/gBlHdq48dBGtPjmP+LfPv4xug0VPfH9e3gXzsc/fIC2og5UdPjqC+IVielMoy6lFlOrqc+owUaCV3HAq8b4WbyKinh1tYhXK4fxqjnATwG8mtKcwas1F8SrqIRPdSQTMj7ENwh8S5Cg1RJ4f7mQ7PsFtKrTJSuBACfLoyClJYH4uObWxGLRZRZh6uJhmIoCTHWeB1N88GcgNe//FqRCWuf/Lwh1kk/++P8dOv3mu5TwbXrX/x02IeoTufOcLyc6ckriE0aY0nAA/sLhQJpLZ0eCYbY89WlFBeMiflzaR38UDFYM59Teli+QvQOMVIq0ycwoCiaHQ3JSnhclLjzckJIjQyxajqxo/Rdsl0zNsVzqs3K6xlrFcnffwSnsNu0po47u8jgQjfczdXblAzOZmEyulnGpByNYyDEWaOleer7Fmi9n03coUruL8x1fDEALVGeOyXdwMpKHiHES4WU9UfhWHQm1eNwyVh91x8hvCEgwPIlBoS8uL1XO34BOIutlT9REP787RxnDj6UXgt9+VWADWvrQOlQ7wRPoWYkfffYVPBDReq252XrhgQOvN6Kce+9A+lalKhZo+/hbrH3wp1gFeAT+8pdX3YBvJP2RdeY1+SmuhSoChJIy4b6zlc52gbdrSOibxF1JpbOdZBKLZGKtjx5EnEz3IOnaCpoEWs0Zx5GScSyNwtGgSUx/G7K630HRF75C66aOV4asVgtttKx/rXpspcpww21Ylk4+jD88wAxccsPMmfGxl9Abt+L0yz13dExqm+gurq8c49k60cgGqjtTs9G03eUY78XPjLn44ptmzRweTwdgbBdVDL4awdj6ERFjMtMiIkXGyooAY0cFKuskxNGSCQAms0GuJs4qKJX4G2djJHYIJtGZRSPwfAxyktUXQ/wkqOesu3xx/VLmosqo2xYARL3qisZm1XSjy5nrlzXir/Glh0r7FrbIAlfOL7BMnV87YVx9T6OFXmQLuixyQNaV46/YdEeLafLRm5vLq5R1uVab2iOLV9EH6tcm8Cn8GH6auXxJd3pFT1dBzH7LXPTd2snj/CJHOnMX2FSVyI7c0NIyijIaTISbSVFi8akJSSPKgAhf8gD6yeBP2jbZ0YvoJacbvYBeNObqch0O7IC/sbjJ6Ya9jWgG/N6MZq9DM2zg6ZD5NgYDeVWpDH52dwlwFYMBf4nM8HrUUHL6PVZ19PQPP3uRciniWJSQiipVgOQimSBJXvgFPi9IIpZ2MUPLu47xnJjxUQfJICVtLpArvYX4CVoV7HJ6MKp+7V6ZwUwmxvB2XdLirRFnxIjZMgNnNAwHJOQoCm0/VyICZ4zEg9u3truDNrD71t6wd+8NS1rSf2VZ2jplETlau49NfzN56VpmMt43Br+Sa9DfsHcfokFQGgxxA2oYu+/GG5L71qoNufiVetIutJTtZ9tJHh8sBjKRjEc4Y3sc6DPPTA/6zOFobcM9uKetlflrlwNHPR70DsB/aytei25sbc1wKEFWBNhYDqg4jpotet6AaBqxj3QhUgEdJPO4kpYSQPWaAD8auqtRFGifwPs0yQIQaKOQHA9dRvLbDUp5jlbHVERrakXwqg5C3xX4pHAOJdM6nIArQKUBTVwOrZsCKZEyZ2rGWcFkjlBmskxEzPJnqrOMyINYfNLvp4/7/fgkYpHHH/d7pl3z1O+fumaax1/vR7ObGx8faGxOb6e7mxsHHm9spvvfwMct+IS/zw+/SG1BRW+gPLj8L7Er5jaXlDTPvSImHddFQ6FoHRq3BQ1KuyLvaZbruDWUGlhPWJTvs9llEGkdbSal+l4wMiZzjJTdID1L6oppn1yq5ic5nrFeh48ba7e3NJ162fFfbg/tDzfJGLnhslnXLnoO/6l5/J3voSbUjqquabxye/eYWQpljr6qct8liZJRBXBdid8+Zsypl/OYKfi/bqP9k3aWVqgMRbapXevbGsZ/fvqFa3bddc0kNP6lrkv2hQImBcfNHENlcgTrZWs5A2UExmMR6ztdYv2TVqxlJ3RFShOYJYMppgpI6R+YdxNQfOABZhOYGmAFPsU9TONkpLzlVpTdMpa5h+ucfxgfeQcnO9p+Na4F5SATUrWMGzcR/4D/hv85UaY+3ZAfCLZOqarMYw9VzvS3JUbXdQedvtpanzPoKa6tLZaeb6HCwkXAfrhI9hu8i0y+wudxIYczFzlIZAq5ZBySXDVDrXxSObexfJK8RuVx4/2H0Ry8VaFJpLcnstR4K5r9Nj5wMUqj6Wg9mpb+GjDwDX806kd1nlmGT/GPmuPHNSj70yD9x/Q/6Rz0z0z9AkucQR08RQVFJkmSKivbiKpSkgdWCclCEG4LqSrN1SiGq0pJwoIMfFRHJqHY1UhH0EUMQi5sGbU7UJy79u5/bPoG/+2bTd8++LdHH12xnKXW4qfvXIFPjI5qd79Jl7x9x983wQdSf3vwoeUrHiUPcmaHgsrUC0vzlyKk5tUe4A0hPgyPFg3wFcf4EmFvsKQCOKhXIMGQpJdUgpWBroXtYknY2eqSc+UDorMaOfuDHIS7kYobaSaZWB/h7EtwYhbq1I62NcSF7aYpTJ39O0JTivKqRE3t8/tj1btzRpQqnw6xwunQR8/37e/bnzq+RZPT6HVNS8w7fnxeos1+ScVw3G0BtxPaFiAco4gxeaIKFNOBfxQQQ1tiIaoaFTLgWSFKTI6SYzlN2zyhwHxU/BrqR1Obe+aXBpkqp9VjdY6pvFgto7OyCi1W7Uy8D/MzG1zh0OLOWATdbyirCpXPX9oC7v2vX0Ml88uDtDufRrGaxROsHrfFY7VqMpfkmU2VkyrGOTPPOIb5iptzgbg846oAIpd20Z/CpiL1aRW9M/UR7IXpk/QQbMJwNNzO9fL1oHeOzNzLLDFHXjTsHGW8IdNZbyhpUpOZWnJzYRFBlTwtb4GRzMpMIdFqn0GUwmLNGy6KB221i3WIblqjc4eCQBkcSuQiZX92llt/HEWeQJ7Ptjx09An82RNPIPvA9X95opvFH6HVaPUQu/Ez4MB78LvHmVXgQr39P+v37ex7AjlBZ5xPzN11/Do8Ez32OKr4+Iabj0v6MZs7ztWDPPqpBCVVIvOuICnCzgvxORIngzZpyIRSXqMhyUfeFgSfSWJmGjKTVJXDagulCn8vHCOFkrK4zzXH7o6C2yE+vR4kM6pzx4AfmCizw+gAyqt1ab1u+vZvwEZ2oaavb7/9a/wC3oFf+KYA3YGXawZR3uObMVpoxb3oFiu+H29+HP9lkLlB/MjtIy9Lv7LlMWRN6vEydKcN35feksb32cg99ElkBaU7V39JWGeQqgMfcZfYZvDqKkS64BLDmBHJSowfMe+OQKBD4B2apBcRT5KPa5JjpRrlJgKLZoBAayHQB4c2mWcj01R0e0srQ6QygI9rk6NGw1tjdcmGRkI2KghgllaKZCNZFoCtS7fXWtggFjjXapPVJHca0SVDMYKpF6j9NIdjZk5jlnvdGioUBNSi7LQvBgTBzAEvCUXhjF1OJg3ETEYAqV8uBF3b+X5Nzfuz0BLEHTiIOKCDm9RPr702de3aXe/gNU+/9Pu9a3vwVz00rq09OpOZ858KQ3/3zNpV+KdVawfVaCWS4aEXXsQn8ZbOo/H40XYlp4Krj9bUpOk1iF2z9ulXX39FLPs/W3Oioqzgm4SoBqqV1PEw4ixmUKwqELoAHwuRYYgHieFuDBH/fVIQ8VPI+CRz8oJkzntSD95acupwbQo4qVHJSf3lA2pkmQr9iwf1Ge+RVK9Ie6R2Zfg9mqr302IdS1qsYbngvljekohL1S2Jeqm4BY5TRxJikQuanRCrXmArHks+Bn1mPbcN7IwO8L2bIgEYvTj7PvfsXDUppkfmRVileRFKkt9giRQ2ZMnkjDpXb8i3iVbHquMLQPT0AHFJViYGD55h5Fy+ZJNygcDZxKQSrTPLZVq5Vx9nYj5gCsgMzCEPgXh59DETo2Y4tveaZ+jot08z9OxtL3Ur8Wfv9DKlwNTe6r0OTu1Lv8t+Rc7de4Dpxa/jt/p4B93x9xcRuvaTB7o0v3O9s/r07qPF76wm049QTR9vTz/57Yv4DDkr1jM2MN9wncQ+m8lUyeHsKyBZOFLBOIPB1B9J9pX+1E98bMYXDDM+kntNc+fVauRTpeJszLIArwSkD5Kp7+WZwFQRoURkXQQSychwUzIhIhchvSMYI+WEkTBBT5fhZH5enh0t9Hf64RffX56Tl3+SeTFBLyrKl1WeMBhOeIqdzBdl2QNGJicFBJQjvLVPwRgH0L3Yr7IOZJuM2QOGHOr/jA8paUKI/l/SIdpAGzGP+36RDr2BVegHWpX+YcScoEqqlloieks1YiWnC2SqLsAHjpEUcpUU4TILpKAzWRUg8x+9PrI4AB/V7s1xuLPIrlm3V5Mrig+VrAH3aS9D6/TkRFi7lzJay8ku2LWC/JJSqT7KZI4WMnJ4tZujMcKp4RUIitdHyg3h1e7j5CY1TV6NBs/ZPIrLNebaWeNy1XVLO9GlnStj/iWbNpfm9ffnlW7etMR/0ey5eNfcS9oMFV13tzg8A2j0xyj68cf4nY/RSwvGaQwNl/aOtZUNDFTkP9y71jNtRtc993fNmOZZ2/tQGdzDWj51x8Iq3ZjuK7f29+/89NOdD3z8cUaOHuM6ZD+BhYKxMzp8iPyYkVnrMNMbh1C1gI8KzF0CKhXSq4dmwvYIPjyEPhRQNaY3ktJZiqWUZyoUbm4mNUqMRa4gmQ0SVY6RJSyChJkRF0KsdgUyFJcBU/O6vC5ORibCEmbkJHyJRSRKHUM+JjOxlMTfPeaYWBQL14lFH6R+U6om88pZUirFyZU0x202uZgsncLF2sIdbfUK206Dhms2GbKt9aMXzmnKQ4qmr67C311ZpGZVSnm8Iye7kNMrclhkCQQ63SXop50dzDRH+bxid2p/bt5WDfrstoGZy49dPs7JAmMqK86xTWmKe2mmYKJRmW/Gpyw5DG2vYHXKbG6nK59RauRFpnE2Bz1qvEKzRaWhL7NFg2WVxeGSwiyWZlX7pxSpVcGqmpxsI6uWZ3On/6fY2+ksQd/xqC5V68rrcJYx7xk0a622hx6aaYnsW/d+kdzEjq7Jr3SaymuMQdNmo9qRvXxZcPxFyyoyui8Pge6LY1YlDRaShk4cqEc+YsL0zKOoTsAfHRFQw0d0p0D3Cch3BL9xlOSgqE/k+exrZJWBTA4qFj2Xg6J/pIcqwmB/jlaEU0fRxbWOLAv9adpVURGMMIVADz+X6j66ZD+INalSPkksM9E6VrUzdegbbEib8XG6q201PoJeQ6/hI3TfiPoXqe5yNGgmwb9ASCq+TJYFQ2RBj2SsPhiUyjD5WkC/BtFRGBUkClsdJLMp/o+qMtGFV4bx0wBsdaXp7QTtyH5tWXo7wbtz77OqOJp2BM2pr8ePHsF8/D/UbuL6btwPJ2Z3d6HZ8ThJT5H2ntkh/xDMtUL0yjzUpaL/A6BuEqvcMhEcaT0UwLnCY2QCHEE3ZyHwaEZryleJRsfkJrUQlhpxGrZan2UlFkelSyrJNGEtGCFwLDNTfCiHHcUoO2OOOuzmGBzBXigILv3ZchKXczO6HP2E/oUu34znnV508+YTaAqa+s1m/DGejWdmb+kdeLx3y76h08GVT16zsiPBztyMFuL7N6PH0rHNJ05sRoH03nt6e+/Zl/7myWuueXKNKAvHOYHdL8qCNA9DmoKxgzWgojVtp3cws/H+57GBjrevOiL6FX+SNcteEHOXStElpvvpfrwy/S79bepHJps+kg5n8v3inFOFVC0leoJkpoTsAi5hX4JkIQW0Y02CCZN5qKkjHSuPMGHw7Y7Q3QKZBsKEOnpXtqUOkwwiNXKNBsewDLvA/dBeYCkGEvf6ZDsCbViAFn6E1v98TQaNNbMow3r0IQZc/LfFGch3GeQh2XqQBGkuGold6MGlItyGJCuppJbOLAukRdpgIWsmmVIfPIKW/mLb5x899sCNdSrrsms+XYpf3kufSE9HL2n8TT07FtYu/ezPe2ddhW4ZjtfO5v7MNQEnIJV5Mn2M0pPYsVRwJHqmrF6JmKyejejPtyncMpdFqdA7qgrK6mr9mJPTS2AQPlqeOnmCuQHZdROV48YWFegdOXKDvdD4TzyJrj/95+FaDNG/NwD/CFO3ilU8INmBAJnXyEl+RUT0KxiQcSlWLCEuYXGF4sz9JEPi3WQWDV+mHWS9Yg1VFaCt1c0REXdoB7MUYmKpUDeYU6ASK68CRBmM8FE+pH2G1RcUOsksa54DdciRJoUGY2TJHlLjS6KIDjsld5EgHOzoQxFxQqjLKYXhkMFkj2q8dg41X5Vfhmrf/elB1yKX3f4vnMT/xBclTqAd7u/RRUiLnmw7gff3WMrxm+98O+AJBZ1uVPgKUr9yCH93iBb63kgP2O1w6bf41TNpexguqkfUyb5X8ZkBj8eBntv4yqtIc/CgGGuWeBtoKvRckIoSb1ROIrfJkhDYvfxA0hMOkcWuEB8L8OZjYBEHreas0r0NVk4J/FdDIjgkAObSJIthD7qbDSaroTeLXVLsJBMzkSZEGUcqiilTXOZyRs/u6cWPKUnhzJo2Mg+cW4S70b3D+f8DFXZH+RT7Q9KmHYXA+w5jDV7Evi+0rzrMDKamHO7tYIW21WsSc+PlJfYp5eJr6nYSuURfo21r10q65pd9KFs6oraU4ej30wFaSM9Gt9C1aP1wjc9C6J8I9E4AEOIicVaW6I/y1SQJCQ6sEyADBE3Da8kb2QJBCBEVkg4iTpWRGjJbuEEJnD/HUxIVk+B8QJdUl4qTlUJ2sWo9RmbHGpXIKE7wzJCLUlLebJbmyMW8DhcyOULSZ3wGOWfkjiLV4cuu6JmRGP+7rha0Bydann6obu6YjmCNMXtGovFo19GjL20r0smC2pDia/yno8wP/0I26YPP/0ar0i0f7Fi1Zdn8qWsEtBRdfXKmc3xsfsOk/FzyFt33kKdANtpYn/VpyvHtSfjAUmEfMuay1gyWSHJDap/yKDeZB5pZkcAzotaRrEhQJBDXPZnPAlPNyjZYRQjREL9dLZbTVYmF3S6xnFvrioADbQRjTVCC1KNFpekWa9q6uhJ96DV2zfE38R/ePI5mL1+yYjH6RqwL6WpfxVF9iSGBo452dh7dGAxuHKJACLra1kh2FX2DXmP2wLNaqWF8y5Jm+8uEs8t+mUSIdnI3v7D+5gPr6PfmbNgwZ/a6dRK3AFsZImu8aEeaeqnQhQyIVHwu205CfGBuQ6ez0R4iu5iSis7XtNGJjl58HCfQnuOkr4+vah+uVz0nhxJpoQUmK3UyHUKDuFfEoT4pJzQcv8yjCsWc0DSKTIOzCLwvOGgpIApp8YNC6gNJZwkorAoaWQ4+KwkhDWpyyXlNPpzXSBGyc7k+v0AKT6l/j2yaz+qklyAadfYwJurmuZqcjE5WaLlFQwlp/2n2/S6CeqCIa/oS9bYyv31KxektzJ5Ugu2JkyNNX5+kXxJ3tFJOsD/14pwcT4iomD8oxfhEXzJv5KyQYtGlFOfnPMPQar1BlcnyhfRGKf/hcHrJ3CmS4wiLhY2ZoghONrxz+FO/rM5/+sZYhaOSXeIZAi/zFT8KrXlyZe9AH0tJW9mOFLXT799pdeWgRmUZXcX7/adeA9R+EholbYgusPgH+X7uMdAEJ2DP6Mws+0KBLPaQK9qDc1FvohFZArEP0hodrlKxcI5KWgrFo5p6qWjfpKNYwA2KhJ4ot5xjKdrs1ZUhNg/RYB7cXpqEpkgWOSbmjWkwFwhcGw9NVvPxKuhHUDbqeesdtAjR22j2EXwSb33rHXwvTm07yryLLkOPoYXHuCP4wd8/hP/4++tRVd8tqPnhWy25yr5b8UvTp91qYXVoTPnlyNKyyBev66BfeQtvw6n7afZhuPGSd95CVyBmG00/BDe+640/oIUfcO/gX+EZ+P4PGHqlgArxJ1bzhodR27K2sNG8Yfo0/NQyy2x0qM53ZQv++6LyS8T5nQbgO+tBuk3iKjpmUVzVwnBdKiL6wBD2wQD7oDPkA09Bg1/QX6za3b9hwwSFYu6kKfjF34oMJA/djW5EuvRiwkbM9Ut3r+3uRr6tD7whkpFznEcLRCvOuEPk9k6x77gJu577EcmfpY+ni/6O51y74GmL1nDdU1ePNuOx9G56K+49smUFfmrG6OF6WnH+O030UqukHQh9iD5MJZg92I9eSOvpv9N++isJPzjw+78Dv5/kHIrJ2pGc6EgUBcTZq/5AsoQghaVIqxsscEjLSJC5BnqiijG9WJ7mIiEKAARzzGGWhXShoD5EwMFllyOaedVSy/Kjc99W1vr3u6em/FPcy7u1xQ8fZz77/PQdB1q33996UN1S9tRSfJA9lZMbOc3V18sCE8Ke2xyOGVM1vjl///vzJGO55rXlmT4awYUzdXy30BF0a3o2zadDxDZleB1lhbG7RfL5JJYd0Uu2EHg2laKOsGJpXopiy4Fso0LhdPN+NAHNPjLMC6VYvhN6ZboYY8sVCO+wib3CO4d5WpYUYysh7MwJfALV8FnaZ2idwebyiHqTS9Yt05Fa9+copLVYnW6f5HsAk4/q3HZWZzSoaUBMuUmcNEEC4i4nC4MuQzHAHRK9x5/KnkSFaBqyDywY+Ovad5/c8jdk+w2KfrZu3Wf4nd88jn/72SaWHkKhLnxyM0jgTPTYY8jyyBP4j0+u/fKJBX07960/DjfrQLHjN9/wMf794xEsdIGaPJJpK/qG3SzijxZaSxBIJRY/aYJk1RkST+SAo2oIEpHKC/1wHZeU43ayGZu1rnMOIBPdsm7/xnUHmNID60R8OrBu4/51Ga6CvpHPznxPPjA5UkumMgAWKISkxhqEbysYUVUlfRufq0nqpJiT7WdAaM98r+zn0ChseHbDOniQm1+4ed0IpNy/EZ7ks2HYHLEuAcm2GSleKWa/1eKiRYR1S19mlolTzEDawwHkkaZXnvWiVrahVyduR6idpdrgIdFLbSvPloGiovYt2pm2uFWvz7FOmand0s6K9Z+nd7HLT98h6fsslpKNI34gYJuYxCc1g01VzFU2W+qeqqZX6v122mGuNtMOu78+wxVCzB62izw9SBDRa7aLlHxKWFUkn831iesZOalmajCPVLfJxBI9krFxiWMpzcgma/uAJ+Umy8doM7maAilXY8jL5Gps9gvmanQaUWw1NLypFz1A7bYUmoOuR3NS27al8KP4JvxoKvYWakN3ora33sK78Qq8+1r0IHrwL3gLc7t4etvIS9KFaAtqe/11/BS+Gv/mzTdpGkjKevQYnpmpUxjiDNwA2CgvFaFiFF8oZqNY0VJVBUkmSiNmSElKlEqyZBaJxV1Tkywhi83pVSFp9RvwaeziIpykopYE+qVq1fMS4Zw9H0XrUJCsxunyueRffE2v+PqLdTe81uFddODSQMfrN6zr6mEmTEWa2+9AhtZGpudfqcfKPjJUvO/JU1T2VO5eO7COHVqdmD49sdrQNLnFOz8Sme9tmdyEd6Zs+YHQtIuCgXzmT5tpDaIdjqza9TUbN2bslZ/zAM+yUFXECgOLt5IFBEjz1NBOUR+doCHBQDIksaFgzK2P6mjiaxNVNBciNeuSXfDdseORr39qcfMbd/XxfN8cpwYVRi6au3o0M/uXzvg1E9El/WgSYh99Bu+b6Jo1b8GM8cWbL/hu5vlngL2dDrJXROytSVxZJ7P4kpziSCmWUqwZNJmViN5c0lTmwAr0k8MRr6enKGzl9Vb6tvQ11vpym8KKUpgFP2fQpxuV7zWj99C7Zm9xXn396d/VlRVyZnoK3WLmCsvqzDiCq85bg1APlmVQA1KPQOaTRrGjqi4Y/Ti3gqDAUucWChzqku0Y6jovZlhI7lkg3vPsHMsMq/75VH2yNAXgjIvZQch1qotmV13EbM/M7lx5mNme6j5MUyeBBtxxMiUMf+vKDnwEhYe6hJE6rAGPrpiaQA3aMjpsCoimyT9Ch/MkHSbYkyfqcI6adUqoY7KJK/cqXcXnq3AknMm3ikt+BkUtdjmBrXkkiNyWRrMzWpnG/aCp/enYyjeR5t63JE1+8x78jzdXonFoA3oEz2U24xvwrvS9RJdffgWuuuee0+nj9yHtGyuGdRku1t6D532Bln6V4TgnmRDbL9ovIE+A2NgPkJA5J83bVxF7SBam0obFbt3JbL//fujBid9u2sS8uq6uWbQJx9l+br845gXgcwyaST/pxfhgvljJQfx+iiy+++/Dzw4XA/YlmCxxeE62relnZqdfa191UaK+JkGGhouLArFG1jy0/0d4syMu5mrwSfkR7gn4XhfJRMXc0swyaYol4sSZ3iR8pCBJWQW8r1A+hTx7mo0d7S9NbbFYrlLRqlx741qvRjs4eRVqRa7n8tzYnf7v/tajEYv3N5NeakvoGyc8tadPRf/FlG1fO8GWc8vklegm1It8eU78Bh7/iNj+M6O5zYBdVniOUsSK6GWSfJGzCKoC+dCKvggfzXvh0MRTP1LG0iw10BY+/1CSRad456EXRj83/LZbw+ccSvrh7dxDe9X+XH3pC4daT/0WTmbDJXvzmHx9KTjNe12sE06NfnHIK57ya/aWkA/D9XtL3Tn60kH4gP1W+60uTq3V1QzCdWQDp0a8CVfAhiyZ2ZDDsDnq3Lx8p8vtLymtGPkP/aeTfEMeSqpkJLplGl7tTe9hImRsbYiR6aPDwk7ng6LGPMGoj0GGkMwU03tYB61xgA0jG/bm4/iwVBNR4yixoHttDpkd/XcN2lGtdKS/Yeo8dtxfjmZbegcGei3irt3zCHIfve76P+BPUt/j3UY7a/dY0TTMx+3KWjRdnCutOKvL2YDHPipEjaOmUp3UFdQiigxTEEZrkThaZEXfICFYc2CkZgjJK0GhOQqgi84iMTx+jrZBzyrUljxfobO4IhiOVscbm6bNJnGaGbqGLHvtqOaWKYnKuZeJqh8sgyuL8yol0NOcS6YBb4+K4ZrMMWMy6zxuD1kfk0Znz7mcDKkIYmXRGE2KTch1Yj0eGHIfqzeRu8CRBrDTaEBRPRF8A1yxsfhav6ZzStf+tkW+QF7RVTcpc9Y9s7X8jue+QTcBA/iostaquQO19i4PhhORZ+770w8Pbi9QIAVqMRdOf6naFI+sYXtWfpK0sd4CfN9BYf5NwXUbFVj47D106Y9zr1rqmgyQgE9+/N03kfHWyOU3voEm373CoOjpcmbbPJ0tFw89s30iuurV8OECFn/H/r4+YYtMzlubDtRXWN17gyVmZPgvrb/zdMjScef26mCu6Sm24gQ+qlym8k6tRo8gs6XDWDF05mlUZlNcmm8P2ruk9X3YetkOka8WiCswnoscEd6fM8yFI2ReqZaUUyGDHXbsxv3PP7+fFucibty4kd2ybt3pq6Xtz2xgRIlIeP0kIXLU+RzODjLTfM7+GyUOVzzC/lsl+0/mL1qHOZzDLQqB0ZbhcKIXckEOR+r8TOB8SAAQkxDtQkTumjeRDpUh7evEqL+9DX/75p/QLrQe9+HOC5K5adKHV7yB/3HfW/ipt6558+9fAPnb9dXIXJxZwtXs83G16uzSSEbi3IXOLpgpPR2Y61D7qsOpw0zsMBhtoW0NzQLW3ouvTHURky0Ish0ES4nhTnVJOEsxYLMPK4q4o+DF5wEvFuu7PGR1Opm0gI2HAfst48welINiHjASMmRAzcYEurpK4bAzDY5aOQrlTk5zG+W1jlTn1OcZF/KlPkUvR9BdU4076Xn4hGzp6cAk4/yDhTXy44rCInb5RKOAfigqVAxZO4+e3vPRp+8vsjbRYwZS2sy608CVvqEMVAnhegVn65CNx0i0S1wvyl4AWpyjKqypGVnTJyfdAvAi9klcNhwhUCMxVVHv5yh/XBgSUJZx/Lr0YFkt7aibv6xn+0AvPZCe8TD+qmPydY48F00bSB4O3TSwnNluTcyrLUvT8zctqi/OwVtpI03hQ7MmjH5++rgnfbrhda7geXdceC1TiU6dVz0oMhuWEpeMpYiv/Z/k2jBSrjUCif+NlOvhOjKHV/JNiFxTCvA6fBeuIwvrxP8iAo5J/SrwGkLJQijDa2anR/AaQmlErgJy/Q/8B5Dra9C4v6Cr/4LnDRObe9OoE92A5pwmxOZPb4OPcu6zRC1247lgPG79mV/mQGKkJUS8ssw6ruJ8feKXDcpIu0mLNYEkyhYbqhVl/+dNWfoyykJelPXy0qUv45P4Y3zyZeYy/An+16vLlr2KlMiNFIeWLj0kytNw31oysT2zQJJl5FusI/rVKPUr0MakkSx1SPpV7FW9may/C9bign2KSMWFhrN7L2Ac0Bf7EM3vPUPtvaAp+PMNe3mM9+3L1CWDHDmgHzQkO6lHI+VIjrgRixLX0M+PnsZ8IDKz8mmj0xNqmfsQh4e2IqBY9+Ah8QUP0fenH6mRJC2a3lWLzyAacWQ9S3ornMb3k0uI/CJEK2zsTnE1KJ2YedOKqyqR8LJYCX224kb0DIfjWZ6YwzxcfaM5V3JjTOSMOVlef/qzePmPDVkXIfQ+u/x9vDU3K5HekchS0zvx68XRaDEaFW/Xxb8rLz/RoL5I8+WXWkHQirrUBxzXBZzASObyq0ntlvh/tKjIKIn/O0tSrybLINCS03ouLoDOokxtGf2XgoJ0Xlkts2P7jvsfQFlRtw19YAqa0Ac2dyw1t7eXeaG3NxMv4wzn5Y6ZLCYL96bwyNwxWSf+oOyP3HFqvDg3vkn8P2MU0optCnZ4brye1tPiQvX6TM6HlLnDDhPjxCoT2ImS8l2yTo+cc8E2GhNt09ma+Hnzf9upZNx+1ZbK61e5QzdXz1vc7A831264/97YqZ5ah/X9rtvbSnP0OdM6r3JPaRzXudXqVGYXB+Z9U5qfx2Rl52q1FeWzmKX4GfwaPiNUqy3F6F15ljJH03eFM+6PFcpYb9OaKbXzqwwqry46pb2+uWtyeVipr6n+1Ulm9Jg3Zpb+9uLGXS/f0r1LoWxqOijN+R3hP0q112e9yLORoKpfKKsmsxRI8erPPMrUcTqefpX8seTl5w7mF8/QS/alX9xPDeeqzvt+quoC60UP/523+H0RMzsFfktqgJkxYrH7Sc88w7j27cM9+/cP5wjlH3L/D2VvAthUlbaP33Nzs7Vpm5u1W9rsadq0afambdJ9X6AtLVCgQMGCZV+kQNGyiIgsRXFh6QhqdXCG0ZsWER2cKSouo1HRD9BRZgaXGfUDPsUd2uv/nHPTUlDm7w/a5N6bm7Y55z3vedfn8cCfjvIySbja3RBmUpwofpLoRHmYSIoFl0HydLzxoEVyAUYh0FuMGSgRadDzBQYBkOvk1dbXWgXK1jet5eXWn6Kt1a1iryCspw3ULPan9Lbh71qz2J9mUTSo7eXN6AWf2CagavL6THBLZv0EG0jM9NOGWQilbpYh6uoQXMvzub2G4/HAnAzQAEAjgTAfAXrE9Qbwzzq1upn3AHtl5L0wux/cAgSk4xS4FcwNr23iPTzyABoXMgFaBedHLqDeaxLuTaN6WACHH+oALk8GaN114ExgL9gH9o2CcpPEKBgTiUvdR/vIL8O5GoR7mIzDkIhHPDoYix4On1yhVhHqay1QCKEKN25xAwqXMWqVlHh1vARldIoq2mQafiG+taaIlxc/U+s0DXekb9q4IlnD33D17VSLjJXGikSSTGpeehx4z2G1KtlyScLV96ozNVRPRhz4UC11N2dhXBlhxK7qwtk3PWGGlkUW4US7tRpRWcBfz7Wv0KN9QkiCAQ34HhMNv+ERnQk8fNrk4Rfz7AqBCDquAqDg2Ysybc7hy8NfO22Z/WTvyAUU2EDf5PnxZ+fLEthjFPwHKuPL+akFap2SPQnylDp1wdVYqpu9cnUz+LF/Wz9IhQ9X36O6geDq5vrRC2gNRv0cI5wl+BNcey6iiKgnZiCMHTiUQRLpFQHSKgRWK7E8BEcI1NfabFDmhVBF8B5xHzqKyzhxAR1U5HIBPkFtgQCeKhQg+9Sct4Z2TIhL0Wo9Kp1IFKOWz2YLPvqoOb8uu7JOB04pJ0wZWbjkYKIyTjlh8s9LFh1IUIKTKmO8Ji9piVJlbPEuBvZCs1V3sqiounpI932M3ysxnTTFKxSN8AlknGJPKaJ0tZXZYplcbkpIN/vya20fgROzZzbnr5+wY+gt8rE4ZeLBJQuHp0yEvyPhwKIlxM+TJ4DaRoXEc9LUqHBOO8n+K71AN1RdXVR0MpF9yjZZugT+cKNKuUT5Cz/B/Ct+guWX9lTadfaU4Xo/QW+6mT3F+QnInkKdByaclPjvbgK2/F9hD79K7gczOtjwr8d8//0gvnfMnnoFND/J9ncAN/gGr9Vu8l9wn5RHetzQkuJ6MnAhig68rXNko3a2O8G6ujqdy5NIsi6SbdOxGp2ueirYCe5trdbpSDZ11AbrJs/BnwcNcF+kYQ43n2D8pmpduw68pdOxzkSvS1ddDW5nN1X36XTgE10betBVt7JL2OVTI1hRLuo8qgX0cXkBrEGg/SKRyBQ2QaBkdqP/pwfM36vEUbNKSbYs0zQ8Rxn5G0AV1U9ZOf2j5homkV+NkVgFuromcC+4t6kOt0O2owfwhRN+RLCB7YEf0QkV1hvwNY+O+1lP8i7xfviV3mNwnzsL3It6VTDslNPDm8V2ZWWBrW67243gpZxO+y8wMTyRujLU73OE3RNmFRyUGXGjDTGac+ORYOvw9+Nzbui+l/hn+Wd/rVaglu3Cdkf3jfddX9sy/D38yQKutuWarYRwgfS4CkyIcYE4LxxnYUNCEhVqyDkv6ZoXDiVmdF727d27D8zVkF9Yc3OtI2rNZc44YnUqNZupMXp5W70mDZupHv2ddwmj+PG47yCSlfGMml/jToqs5MfQAkuxFvG2FtjIK/BYYCs4n2NIAcNSTZIKDKcYc4ZN488N/l/8fHr838kff6IhWWtRkXWE1PAeTSY/xscpyWRYI2WpFEMO78McYwpLqROvP1eNfoZrGCa/jl5yA2LJr+CTcD9nlJMpD2oYwORjPiaMQ8q4UDEREUaJChcGJs2ASkYYDgVQMJqjagpluKBbITWYcbOLkGZi/jt7k8mNYPm9qCHNIFSpXRE2NESXVkAiw/wm9E48MkFV/rxRL5XMk+WLgprKv+mNUopaUCwRB36N+mlGvFFb+7pREZVovUSmxlsTTLf8LU0hVYoU9BeJQiqOs8ki3FtyYjLRQdyF6ocEduYWKH9bsPzVhJkaaWgh1+lzN/zQNQh6XOFnFtLPxgm86vopc+aP9nYjXgyX00hAJYoItygC7mlQe3BFVPgJipZXpXZicAVUpI1wNVVCDufYEvn2RbBgskhkVuBuBGhdCHRwt/dRBC0VmjF8IjTUsgDeNb0WuN1ZxlNycUxer7L3sz/2vd4Ibvk02pYu1iRSCmGcSCLmC10dZUr54lSxsbHenhEb55v2oFDI4ylSHpTS9XVGs5hSWIN+sTKapPTRmnh626yptuPe19krt4MFAj3xMyhgau1OJS85x9hTLqVorVEu5Nnt1iJjIvnGQfZ/EJcYEMK/ZBdYBER9feyP7O5bzoJkjSIpUZwg48XyJSJJrCja2ZEbEIkoiSjOEh/MC8z3TnlbWFORlvmHJHJKW6bV68kLFpXGy8RK6JuS4OrRpKhEntag5SmnbeP/T6t7MlvNfsN+/nnx1HWP2VvLeJt0RW63VSHkZTmpBEniaH7/beFE/tvQXkonFhBcLnEUrRtFy0/Iv23gwuKElAFDoSTyJyZ96PkCz3ffcpcNUkY/FBLxfmLEQ8SzBNxDk/SG9LHI9S+uoHD1Dc4mSkLKdVDzylHbuEBthpuPU4WwY+BCNVuk5fxyG3/AVs4vUzrYIUfHKRNQjXw78iOQWU/fksUezzzGd2fwLRlufjxVYbtaml5GgafYLTi2s6Z1AdwN4f9G8BR4tG2EnHYks7g48yFbQYHteg6YBNQjDD8/wTGuSTHLQBJnz6pkUHCDlMdNGi20QmAw6WgBRWq+BivOrjr/lwOLgy+zT74bSB/uIy+/yD53imw/zf7+peDSg3/5521nwW1fJw0ftOWdJi8r32afhTZL9M/TRbmCcgKhhjsRuqsqFfgsZgEP4Qvh3RBtYwJuH0NI2Ny+jyFG0EU7NDCMum0LXtfnKIU5yV41GQbf1jlJylOvrVGwTlZkNmbEjpAq8uhisjopxZRAUuXFCXUa1j/yiSi+mnwmxy7S9TtEScMnDFZoV7NDzhryszpnQox2ZC4oiI+OSr1amwz+oWGDygTwdmGJhkpg2wF0FaWRWjCMJyCCVkQi6v7ApX96VBd448G+PNv5RhIq1lzbx40ktJFz4XmYJNID81gCGvT5HVf3CsLwCfvePz8l/FAgRNoaQb5h0io76i/AIEJCAGIShEd1rNWU9m+bnn1BkqXYk57GWj0aqDJtw1ey007b3Gy8gk9vSc8aGRjFHP0e7gH9XH6IWIZnWBcO0aiTX4MBsNUIABInjMB4cGmuDCwOHpnCjEmKPBtkPI4WtDFQlStoRuYPmeLgGY1aFRkJtCQ1Oi7jGKcYJT1Dco7SwIRBT0B9pvPiQ2hSjiJxaLkj/foP7qAaN3xwO3vx5RPsl43ssUb20kvr/17f91Ff3+JFv6Ma0cFHvAk/E3/v6fn7+peAjL3w0pZNXbtfBvLb2ScW9+3/+4EDf98PHyO9gz8v46di2Ub46rlEKfQn9nE5XKbEhQp3rE5UFluBGlkZFxyECVinxznRp091ogFANrMBQxlFYVRw1PdkcTJlYYSIWcaRVFQ5GRvK0CPa0FAC3PSeJXkiSQwtEyLcuaIyeMGabne5c/xZ2NjWJ9OyQgn0deJUJovN4Q3W4qHycPUrFporYoFDRQvUYw3lZmlklMCv3MYVKKPbeGOj2vtW7/33w4fduzsbVza3+HMb4VPzSrJr9IX771/Q6M9tbs71NzasxE8d83bunHeggieo2Devt3fe/vLhK+UP5zc2oUwoFV7V1LSq8epfrr9nX8XwlYoPVjfCl/hTAuiOxkjt2ShnZSlc42jPLOQ6ZnUINAL3xFp0CFJDiorTCwW07CgRnWrwBUpvSk9pwgXIHAkEhj+B2iDIg/tjLE8o4MJNFjMu1b8ZayUYtjrucZYaEuMkVFZyxhQF0OemCbKrF+XekRTXvn5TbmadVykLFon51tRoieimbJbJDl9HdOykwJJyydBhc0WaKNHaXKmLjX9y2ksH7rCoZU5r2jvvx0lEMUKxCNu5Twl7+BegDKLskQXH9yN+mBjzZtE4bzkuOW/B27bRhJgOhbHIY/V5jWoakXsJbn8PGOFnM753hyj+mZa8UvYSu4fWVdQOb9m+sLAIOPbULXyEPfcubxl7nD17Zv36s8DyiMMvCvxuHk/yj9jYkaNbl65caTIP3719uwe8qrzjTGQfJIX7BPuhPvMiTyIFFACzRY4R3zAAEPK6ffxYwFfxKTXiYjRBRxrNAF+l5nHY/wIJyKfb/f3bt+3x+P6x0GffGKdkw++yP0gkW9hNOQU8lwTkAEFXbXZmHlDnFtHsSXg7e/GVx7p0xueWFGX2UP1XTvuDEqu9FEw3ZdUpHd1/XF0LeH0f726VdKx7YFHL/rn/eaOhXDI/h5/hD0iKzM3sMY02l+LJrRG8f1z/zCeioW+VwFUPYPgQVFrLAV16uCabRlKB7dsLjTwXb58tF+UnAtbhjvA8koDqGWrlPBvYGwb7rIFrnEgoX5WMarMjOXYNV5stDUdKDGhFigDad0ESEZ+RyMKLJUnaVrzgrr98dN9LIPZMT1NKStP6M+zXL73IfnN2fXMq+cZ9H72weUFRBp0yqecM1PN3gdiz6yelpk5Cd+GYZGQdKaH0uIlCaH+7CES1UjGG5FFlD1UjD6iiBIpSkRh3OxWKCYFEm27PySe55SSVBxHhjXd0NUHb02iGMmakcPTEbETJI69v7JQ746MTI18gV+mcPigDlxs+uDjy73cqX/kU2WwPvPY3aEFe2Q8WxpuNj4AwOP9EtdVVu5OdxM7ZZlTH2YCInHI+YDQVvTxy/tMsRZyFtIMehybJxz7KRhkl/wBg3apl7LdhMszex/6nYYlL0fx0993gj9++Du1CAbZS799bWS70x85tR2Aik1qiHJLhppgJFdv0ZUXWVYGy6K9Ko9d9mZjjSD6zOnrklR7d52JeBL8xwpOlICyEB6MiuwmkfqrGsYkh9jAiVAX1c6hEhNHIC6MIfrTO5sgNVl8bOGCkVOpIyQyuyDRFRi4FxJJ46AQyFPYeGzuB+bqxgysIKqZzrd8DKRB/NeHo271fswPPPscOfL0DlIq0mgfBIXBsb6JManAnbWJXsZvXNwQS4gr/l7S/HjQZc4+w9JkssTIRsKDdoUvIZl9mMxMF4S8mbV30zXNw6J76mWhdosx/essGcNc/nwX1X/fugD//aV2B0B09vZV2Z5kEcRMmRmcp2fPFZcqKgjvMgfy0Jf7iHyxpoq4P9DZb8okl1Mj/LU8+IxGPyvp7wun8N4hMQkOgojpTeMCUjgrzTWpxBmCy7CE7l+6mdFqTV0Z7vNCJQd8czpHaCNCj2aJUqNSocgD6MtA9AVGgEkwAvCvsirrFS3qs61ctfuLxjyVsKvui5/CcqsNbHC6P3PRyzyn2cm7P4T88Dj4HckfzSntc3d0l6q5/PZJtjgMbZ85+c7U4jdp2WiMRde2m+iMxsJegf8oSSYSDKCGyCQxO5DnDFISZgJMpkDK+MOOzY3gijw8aK24/U0AP0N6SMXZAZHKiAggz2kfV/Eg0BpmeyA+LaEEfl+woAGJ0DTH1YmAxvO84eJO6u0nTyB/kvsYlSxq32smugw7H8OHu7uHDDjBJ23N/a3XTLH2qI/7WyXUFGo2ZnzzyBnkwOUUcZeTBSbXwjSpFrCSG12dNYnVFRcC3TVTcXlx9qjXJmpYE/llYyOqSWMP9DxabbU63KjrPYYhXyj2qQ+wXpC4zZ/3uj1V0DE+n/5R5JMvK8VeY4Jish/rcSuQTRQRCSVCO4fJHh5lorrcsh8MhiyY4XAAb/axIrkw2pts56CaUH2TknHGi5KiCoQuKa8ZwcyQliAKUIAXjrBG40AkxR6OkOtqhSY8UMVvwi6zpORS1/u8g+8ncqt51Dz7JvnL1eAfPSFmLWpqbkkvBgFrGbma7sngT+ynKaxNnJMqlJPtZpuJ7nTMZvpdfkJGV/Ryo+7/tIsa0+G/s1+zTS9trgwk8j2MtNTE6ms1jiXrw1Lfs27lGa7EokfZmloCXQfA2P6cLXhKZ+GfhWGiIdmIh0QWSCWYZAngEzOpxdVKoQWxOmJkjRQp1oLZtvhMayaXhgZySRfAotIbzCF8curicc/2SpdDnCykoVCj1vOi7oUfQZYppy4pliqVMmzRUR/5EwcNQDvnT8y9OvPQtrpNKlg6KksVyaGFLB6WKOHnGoAw9ousadJ1i6qSDJXXF8IVa9DgAX75WMcVI/QPwNnQk8hOFEuiSyBTJmpyS2rq260qmno28UnddnVQKQp2MTUhC5URzaKbBHyqthjN8K2JlWAYPZuKpRrgHXrkuAuVoMfNIC0JBEBIgCfAVmPDH60vBzJGIb8YrgwZABvCYvBa32QNtAj3f4zbA5aRUKfkI10etQIF6UqnyOU1q1CHgDpI+OdSVJrmTI6mPBSImhpwL5s+TMKKGuP1tcYqTMh77B5C7+35w78aFS8J1d5WkR+Xe0SLkFVPKof6gczgUD+bTYimIEarZ15TSVppiTwhFPEDyBCQPwQIBkE5tntvdm1ZUbhaX+2eCqZRAIlhXFZei7RaJRCRoZA+LBFFX7FDVWDKk0qtHwEkyeeTTrJX3SehprQ8/4n/00O/zhbF11Baw4dCm3aeCPKWkXhQl4meellJSyT/8FJR3XmxqnFQTA2JId9gw986nChZVZcewVfESSSZ4lDJJKmsGrrOHfcQUbA/7cHdFhC4jB4shRy3t5oJJiODPjailBXyZDUXOoulQZhayllOhEjsSrSYcBg4uaCDekhkpbR5nNWdReJsnpLhFLUL1DU0gjkbNGSnXEmjnPPM1sEGDMhNauhU9R8/+vPl1djfc1smEL/qzsyZXVRfl9pb1wFkT/PF+rdq6gLrIHrveMr6LPftMT/l+9if2AfY+UHtR8llSmnb7HWaTZw/I4PNIwWJx5lR9nELWf+kG36AE9VQIEPcAQpiTjsHKGcJMmhN1aga4sUCq20BwXmeAflbAlyaa3TnFeFRkIW8uGhVn8RgF7a95D0iF6y1oM84CASi0KJKmUrvtwM0VvHE7GNeDcTP/gUzI3DF3m1VBxxrKJpu80zQP/kCSS5sm+Yv96oKMUn1g4o531+67qdvAFjXczRdLOsup+Pw5WZ4Tktgo5YRl/hhtqZmX4M5KWPDqvhkRW5Pi+GQicXbUHuZFpqye1AAd8IHpYBG725YCDOy5wW/Y18njw128rSD7HVsBKGB/OMGM9oTahUfhz1ERJsJO5OGKEI4BUx9GKUvE0J5tx9xWmPMyFKPAPaCDSrUEtQAwabJQqilCJRAJwZgtcAXjSjGPjw9SSOjZ+3iIXhJ6CyotMnQMeqFIVE+erl66rJp8p55qZHsy+exznz3I/vxgJtsDBvg9715+t4e/QnFyw8bXFG154K68BqV6wx1KsGyBFd6cCTbY5mv7utu3FSwu7O4DBtdkp3OyC5T6q6v9QNDa+s/SsrIIbqFws+B1qNc9RC2xBO77dXA1jeJrJeHuwUG+NkmUEYlQ88ODVnyKsOMRntOgF5/m4SbDCviG0nCoHrW84coLnt8f8lrhUYoeHlUg+cvxM3k0EzEbVFpM4sS3uFEzLD/SF33zS3quQOskiD1ZKqpPKdTqBVESnkCfWpTcICglu+ALL5eIa7UFoy/Ao1pxCdn1MnxHSeQdKp60Iz8wkffolhMntty2NGade82kLr9I5O9qWpe9IWrp1ZEtQ0NbVi+OXetZ3bwKvbCqebVnbexingq9o2vx2Dvu/Laq5tkb+wL9RAOxcbQv0Gxngi40WKVOtD6rXEhp1TtH+wUbx/ULon7HbExIjAg8oXdSMdZD2AQHNDcbKjJzugelAEJJFfAkWFRbz9WpZtKywqh0Q4bbk1tUXFP7W/sKfRiK0YuR0OBijhgkKH2C0tw3XBYK/l87DS/s3TChqMCywtTgL+4uN/bUDqzZS2rrazbW3WnqSpqSX9JTYeyuPtxdX///3HL4+3v2Wg0VwcaW+kPVxVse3npPTf3EkmDj1Bp0Wj/5Oh0ZB+fEhOdDh2v/uf4d1K9DhFS6G8q1CKjzuOyCliIAYpP05qEubEwnSRvo/dCgXQTuG/OudrOLkaondX3drfffb3ruOYb3ELsUXvqxrw+I4G27IumCn0Zeeqh1zpaD/gUPsX7wKpSZqp9lULf0EDT86yYRtyJ0hil2Zh5XyzzrDNOOy5eJ0LwpcNXEwD8vEaXqsf3IM8tQ0oNE/YOUDfg4ljb83yhXQaWMO1Z8Lo5nzOtTYRsbriEPh3YrQCzN6AsV2qsiuRIZqkaOAkb4o6qiGjSbSspcycWq2Md/b3X8aeQ1Vc7vwEowC5QsSUspCGxN099595dL2Xd7lSaJw1Pp60iQxi30VXocElNCmsekpSl+95z2NSK+VG/0gCRRY1lGdf1Xs5b+2cKPlnZ9yg78tXI6byG7+U9FZp1uVfGDQDEA1j8kUTawn12doLIsqQ+8sj8IFVlsvnfd+joLn3RL/N40Zb7Z6zXnK03+3Jj4pQ0xEvh7YiTzN6y/NS6KSlRLYhpW8p6pWULxpNLOykns3wflE/4K5gPZMzJqaiQXFeZfEIRxD7INxWloBICllqsRZBAcKC/0r+UWFB/nocFGgaMk4IscyX3yyNH3W7eyrSvObXrk/o6Hs4Jn2lum7d90rottdW29EgaCTR2+3NyTnS+wop55Of7clzuHKDZyjTzSW68c0ReBNdWtpoQnP7tDPLgNuKZVgdvLRwxrmnaN7ACv1vvfap/jymd14HlxdeD19jnufLJLAv5czx1H6pw4TEElYYQ+Zi5xJ+41jIvsSUxmBLMgCQq8M8Jyo5MyDg6BSnkGXZWFB2RK5JLKssQZjIxD3UsPM+lcv6AIV9KLpIg42WPHKFVmGTYfQtFK+JwE9U5mGrKiZAqlaDT6GuFCgVZRLNBibEyERqjTqnWjtUGEFGtzs9bkcUPbWAMU0Cw2H1hBvbDiALtHsut79l/f7RSxfeAvDwINkB8Afzmw4mrJyodJ6wkQO/RX9ityheN+h+N+hWbFysceW0kOOTw7v7/33u93ZvrD58+DjBUHDqxgbexXL57Ycs8Lp9GdjtG6hZ8r4ZhZ4czLMCpXyjU9EPnb4frmFjyNFzwixh1X1bRxGtl3+vSbe04yuV9+CWqnbdw47coH0zaapm0ku4Fsy8Fz7OvBXvbSyOaN0/gZrT09reNynyjrng3t1k5sq8HZcGHrNWmMkXrMdHVgZGvGw/lSESPWAY3Yo/xEncFoykZWhQeh0jMpsmcESVpzmhVvAvDPlz0THa8hTLabxn/H9xsC1/iycB/mc9LezGw78j5YBo6AZe+/z+5k69mdoGg5yF5u1LCLNcZNW7axl25usR1E7ztzhu1la9kd778PnoaC/U9wH6LEYbdv38bZWaafzwrvFABoY80mNkA7ayAWZRgK7MxUO7PUzqyFg7TRHtqE1GEBNCwYs5+ZSg/UNU1GXFdrl0KPbP7iDmzAewUqTkuiNDCFXGgBVpm4rBuzRWITgiKv3QeV39iNiKv1F3eOu5GrnsHVU8BswXdkUNHSlKaUmW0Nk97aBYhXF05LsmWp3TElIp1YU1w/p7XBc899s+9kr8yqPe7nZSptynjuHfAV79bdswB5Er4l05Zol+dLUmI02SUps6c1olci76FsqgylSqRJmaiLvPDDO//+qa6wuH5BjWPX+8vYBz9dekfnXn26QifSNOQnJPom9lqi5ckx1ii/MGVKSn3xxJxkJe331lZAhy2d1ErNieAzg1UB/z70itTv3WWJViRKTXHuqIQSn4VMmMBd5t7AS5WaEsFPU1JTRZrIC73nixprC2ZkJse4i96aYKmbGuER4WTdTTQRa7CkO8IoWA9t5Qo7MyHM1DqRrCORnzQO+DPioTRDQQ+ooUaBvkmWB8u0xYGontOxST1gyshCPncFNHWg55ZgzAwUVDWh1TCBDnmq4Ss5MqbuJoKvdvv4qSSXBrIIVS6lywMnlM8VYsm9XKG7UiE0IW5EzuKxeAxKwX/JhBzJBN/2LZ+ZXO65bf6WrY+umLuXBovms3f98wN25/ubloL2tx4D1rPrNSx9sKVbtLylpadz24pZhWUJN10qd+9ae77YY00w2t2tW7oeeki0dnr/Xz95Hywne//w0h2n2dOPL555rtzkF9F1/k0N4j17eFnumtG610phhqARV/w1EDOgnhkoiFSxifCYZ2M+jgk4dKsJMxopNDAxWZ3yDOKeI0I5BXDkAREzqRnZl+nQ2HyGjmtsapnMjTAjRyP/jFk5pXX6DHSHhsPWxd3reFWgcJWXjtRXIDYbr8uL4Dk4ix1VYeQB6C+rkSUpN8PRdzlVuEDDLEfBYBTDQAsPmpzjiclXztyzlKLEosNbLp7uqN+WP0HpP8BaeU7bfn/Z7D0zN2ooQwp1z58X1PIn72nWbXhUJHpy+65XF2gqGhTK40G1cqJfqqzfQh4CrhOoQPYEGwb5lw/rPBRVtgSkDjw/U2+oX/HO+l1pkiS7iOL7LfZjSy62BpN1HdZcHfuPsk1NvI0LOh8Qim6jEle+kUCda35omZS6m30Z1bMOATf7ZiRWngFlfwVcBcJI3TNBiwU8MfCgT2QRI6JtOxALwb1kObti5BOyGMwfed5IdpILLsVFycXsMfa4mJbEfU12gkVkEds3cpSsBjtGnucLWAasAaXDJnYLyAALh6+gfu62A3wxiGUvi/kHQD57Gt6QAtbAGyaCRaN+q0uQBv1WPtFMLIQWwoAWSYMT+yPpcOIXYWQ7fRjRqYT0WdAIltGG8kiVDYKr8wEEzU25uOAS6uHGBD5qWRzApLqoDtSiRxOmRpkNhE7CyyI98AvhzJtwOgthYqei/d0MzFB/OnHENwJUzcsCwOIXsQe7g2awaqEjnk/JFAZVfrozWjA3rYBSTmDKo0WJMXSWVlTmaKvgxbmbQO6iuvKgJCYJAMDjk46yINsu4mcZCo82QlfhUhclEotFNZ0tCqlErMzVJ6UYRckiqSiK+j4z5+oIM431BM1Flwxmc3xKlIgEtDAjhf1GLBK4LcmxVC+lq3F9kua5dTYwfvgdWCgSxwgstTrSrc+M1xgqpcmHSnwLdovZVRK7Z8rsoFciFislIpJPkjwqki8Z038IYbeV6CBOYR2YH0YhmZowssPg0ptoZ1rwPCA1OC+iBgfUBDLF1DpoikGNCB1oRL9UhGw46AhOkoZc0RnMtDAzjSNusziZW8LMDOeA7xb0Np9dnBGaD2eyogg6gtH8pMSMTEeyp6YVqcfQpHqoRBtaoIKcRoek6SjQU1MKZ9ynnnsLXskJ0LiIJjzT2ud0oMU+kQ45XPDuFtkzOvv0tlmoF5Ix00zmzcJCbp3L7EPAZtB28iF3SYGaPnDNWQQUXQBtPJSB5dwXFOlEjDd5qJKYgy1HnhZUykqD0uC5aehIBJKodLGkMqO+y5eRcKlRKaWqyqyeBd0lzVKrxXPrraCzoryZ4jcU0bWT/eZmhc1CG6bQlNUIlva19/W139xIWT7kdWidy6d0R4nFajGc0rSumWVJ8Up7e+v2gE4k7qj2BAWCao+vVDgJ/L5bsji4gpK0sxfRT+3ru8ajxc2/n2iB/hyae++oRV5nZxrDKHWAZn3yuM0vgnA9Bc5ecWTzc3GJA2Rdh9LRTNTRhTHRhNpgzEhwOItLJ7Rg2i1ZKHei/7/sdwalSwF9PPikwmsUt6CaLbpf2fVcHp2F08Gcp//fNj1S0Ua1dsZX3AOEO5aZZk3fWqtVIVjHBew9/0JbX89ScMvbeOtLGPlcyn65QqKs2TB7kmNB7+f3ZsTefPPbvnbF8jhFXHLXuqnHA8esjab6cy/+C29+T76MN7+OeZeWO0zKVutxx+/duPZMfF0/HepJshAZhIMIwF3wV7vrcOeHC8ka3NyRrMFnNfzOA5GjsVfQ1RtKO3/ah9D81wYD3QH471h3d3cg2B3oRufB5wKBMCr8pAhU9zlMoLpP3t5580byA8FAIBgMHAtw3+hrHL5kDNelMva3AtyjgoCJEYOo2QR9kO5GKtzcxf7j6tamtWAfzxW0juyzBkjizTc58oBpoGB1M4tZBhA2KNhLXOd3ZBElRAX8j6QxYyxGXDlOAn2cBFZBCfRBCTwKJTDNXlrBRZYykFNBJPhLy2/qVERkTQ2HDdlVOs+vCJjHINfxLDydGnig2rmZcJnAt0v+Hc+ylwEJfAvY+84ieepaADrPYnnSsV19V9grh9r62CtLwD8lH9xcmHoWn3vIWbXn3Llt246+h4Soe/AtLEQrVoTKwBvsJiuY9PrIhaqEds43FLFhQbngArSd9hFMsR0H5uwIiAyF3lDKKrj38lNcysotZbKHQvl81PJPDabmow7+wNOXvkaZqUEtOh3UoUd446DTnS3PGICP4/r14Yso9aT1E89mO935qVqdfizjdBRduXYB55tS7dDQCmIyPbgLB0muTAcVsyB3BIGBZYEIuDEmVUW4IAIhiZ+DpI/LVaiCfAtpwiUKIip38yw6TiiNVhjFyTNmAPuxIx8qlVM73T2dEyUCHpAIVVFJlEFM5U+al57jitVLdeUaqUgQ1byq2kLleaMCLdP/uG11g1cYY2Z/ZodHnjhVOpeyvfrEOlW632hT6fLsQ30HDkokf386xP5lntMq86XJ7Wn5xsqUiZJFzRllqSqr77HHK1tWsj88NGn/vA2Fr349RFrNfKNYaJt252PPvzYfpO3dU/JK4TORuhpurSgxauUoLgMIM4DjDEjgSuoAgUulmWQ6FJfhx2jsMoxICWh3kKd2qpwuGgfgdVpartMmAIDYcix6s95AY7KhZcm+hvmFcpU+ThwnlpA9w6tGXj3E20z62V3XXomN45WDpeCp6asLNNAMYa8oJGT3yIPDFLmYNxH6uI2RF4BAKYnEIKfDdagnVhJ34aqXpRipNC+MGgMT4Uq8DfcHFsHNXhoJsVNSlLwpkoY6MScQwp1YBT9fEfp8pJ/ppI/GJKaYxc6laBdQotwyEVoqhi9G+xk7jeoI82SDcoO5E71eTg8SlHIOznIheHqcq4fbMmb48sHxwOgy3khlBio/iCW5fI4qkrXHcAV2ZPUZcHkYtA2DIPJ6xKEyR6iFFFgkR/9zNecGtPFXK3u/BnXHHCvW3L79q+0exY6v2CPHWspu39d5YlsjeKImJy3dEAvc6gU1i3aYzDkZVG4O7565U0pyg4FPH5jXOdft1ifXeW36mLT8J+d5/Aq5w5cxybdzQm2pQRfMXbv2kRc3TF9G9T64bubUF9hDP9wnLdr1w71r1sye+wKYDM8aJ/WeHH7RWZVssIMZOseM8rwksyIKxMUl2Q0Tahfd2tQwWWNMdzhKLN66+JjANqvJoVMkJculMdHpidnZwfK2xTObcx1lnj9cH1cuIvKgPBaP6w9ScSWeJXC+pIgnoMjPqOhCMYaEcuYWFKJ5EKMgGvEr0WYUYqCQFwQHlBQip8hnDpIotYuozIIAoaPE8vC0CM03CUSDP1Jvbv8DoBTSqicWWmZ7OoUiXaokSWissdbpFQlinaV0sV1mty1fuqDeLOYpFEC+52YRa3bBPa/JlAfu7T63MZpXwP5vTe/K1St8aXOa02lrg33SlHxR7KJHGLvNEOtvXlWg1Gv1LsN1dpCeKCA2j0a8PBg8NQ3bw5G4V+G4uJcTjlwBRto2OxFWL2qC8IcZ/1gcDOEoOuPhmBr8jIMe0CUaUTQgQ/YsX5CklZo8+XjDSrOjwtBodbwmhTAYHU5/wW8KhsnVPgOHeYkl1sCVq3BVtsLfGhSrOfFydfwrC1YFizreknwX//WT7+/Zzl769x+/1Pzm6Bh5ZmiI6d+7f2oLcyS8Z8/5CyDttWegzMX+HBQSgnsIH1GNqr0x/WREtafwgjwcuOKqN71YhlCMikdyzcMYNBIKFxfkx30guNVPRilTHi8Rl6V5/TG5+ZLUFJvWpy+iDUkxqao0cZqPzs19GKgrnpjeLpOtvqP/0JzW2JgDdeyDV61UMl/nL3jY4/XzeXRsftFBj9dLqpZl18yO58fniMQJd9ybqJcBSh6XIpSYzIaYeOWUuzIKRNKAb31a2g/fg0SgHXw2zfS7nW/N/fc8OfnshDhf4MLtd7A/VJdEibO9H93eA+QEcUP8FHViVoxKU0SCMsZJUEROEOtcSjxnxxiMljQsFkk4OEpAx9T62+QhQvH0W6f+P+RrIzn4+zfHQRsO7T4UiUunUt2CbgIKLN4hEDZVKsZBTQgzCifG8wjFcgoeIZ/SnJqFAkpHlK+Hy3CjuQ4nK+9aOPf2L070bp+YZ1NJwfNsOfu9xDn777w1IwvvLCxdlabtBJY2q9qV9iT4BFjAh+sXn6gibojf9RCv4pGGnos1zOTameWYZ7wtjADjsKrDm9d6PPxwzaoxvvYcFLt2MpVhZnWYqZSGlsDzwjBTKA3p8dww0VKENme2hzbASZrjgB/J5WdW0yF+ot8fWlKJnNdkaUZmbmnKxLZblyNlWUgPCqwN2OHRyxgjnMrcTPi2DD+znEZR4Bq02vVGh8tTSDS1zFmHbmyjUZFDyuh29ytl0FzBgsuZAn1VYWQTg984YWGWK8aq1TBSD97z8M1c2fTYVY7AWYGuIr4T9MMiEzK6I960ivrVw91NpUbn1s+3SLR/7JoQiC+/6993i60XddaujvrGWpWp3r0r12cpdaW7FbSEVscnpUmizek2Z1FzYWGZNt1Wl5sdl2w01RRaDIlxMXHRMjoxOUl5U+lb1c1kUvdc2u7Jza/pZkwieFhiqGaP25w5eRpLhqN4vt2oj1XT5oQMVSJcPTFWTZJBbk6NksYntOYFM9LVyTHRPGjw6UwuSZwsJk0fTSuVo7EmC7RxuiJYlMhCG489eQ1xMsRHFkyUn5HRIYnUj9hNEGoVrhD1EnJaQJC4QsLII+VSgi+j4XRZzl8FTuof7N4wuPD2N9+9y+5sbv4aeABxLszu/Qd5mv0T+103GAFOssUMN6ylV/+1YsX/gna2j/co+wbLWwc3ydZPQC8QmYkb6ma80C9CEp4VxiCkUISdGPbccAZ180M9gnDNow2oeEibwTUdWLMwyjmKRUcTGf6b+d58DwZ04MIZikipvZKTDChh9E3jG32ZjgyTbNPHH8fwEtL05VXtXZllviRjyk1n1bkl1mKcOPXyQ5cnJiqlSsdDHqkqSVudC2pvXM81xNbReLweRQCR0VIVHg3G197AwoUziKNh+box7i0Eb55JhxJr4HMAxZkEUr05y5FTWFGFxycdOjYhcxai4aJxjD45wZIZKECeI1MlG/BU1Pj/W7wC2o8pPK4eAYeBLeAXfiTgDFOf2aD9byGK/BjvtO4tVQ/1RCX1xuRVzl7C593yK+GJ4e68W4M2aczBO55hL9/53yIT20ry5/1hxURjCy09HOPp72J7bgxNgB3zdJKY/iWnRtdEJX8frp1OI3IQkgyFs7MJWNIy7YwHjrrfjgo9iFBCHM7vo6ohCR0t43jUoX/IeOjBVKM5ZTS3ihofgyAA3ByfpFmgpBW42yGAmrzQpSyArl3D5tRCm/wkmPDnHUB8YqWmhN3I6tmNJRL6RVAN7gKVQ2JpMdvDprA9QXGM8L2zZPnZ9947PXL09HsfzH1+RdmS+2rC2bYF27YtkPNlIHXaQy0tD027aDS2dXW1xURFxYA4Dpxz05IJEydOWHJDDFSP2d8qiQ2jOza0/IrCEQrwyO5dNW73NnKEAi5pqAAe2cKMbWxHr4YS6ELcCzq4TTAF0J4W8C1p9mxpTiUaLJsspE1CUU1P0ZjtZzBm2IjcwG/a62UKVINFurNIfSyQS3ExJc+slquUUhS0d8N1+1vNgKOZMw6eOdiWmdkGn2YcY6RKS9IHovbLEkYioiVU+W+3A1/99tWHp0x5+LXLr6En9gUwV2R0siumvAoenTKJPUiSFKXHvvEbwib+G4Qc2g5c76V2DI/n13ovFeRPjGF872UyBjAc33sJHR/D9b2X46/8au8lhzr0y6ZLqiqda7qMd6Omy+Hjv9JqWWmroMAfRlstF00h2ba2EbL5+XEtlng9lQpdglYiiogljAg7Ph590lGEf5OdiT7DEE5GArccJ+YgkEQj0D8e5hkNaVENaGxcjD4iD6j7C5fByHW0FYGK6Gg3in4mAB0tJaFuMVhWHl3NXzp9xkoJuIddRS4QgR0xeTteB1u/OwU3HJGCv6dl2fKmKQsX/TSZ+jr82nA/+UFl4m720kgpeRE6UdBwG+2hmC78URAgNISV8BDlxFToEaFZysS93tV2Zgr881vtTN0ZpikcmobUQSaFcp42zDLCiP1MtexodILeGSibOCrNnCJAVojPC82MOKDHNFWxQEjIzF4boFKAQAKM8tFoO7RSCAFX48NdgLrDggqEOC5epCtQq80lsOGDY2DShR2XMyWuGXf07NYliD3Vafc9/foM9vTZ+B24+0DDxO9gv2ePsZ9MpPvbO7rk8sfaO1byNgBNYv1yWlqu0YoSDq9KzKCt2hNAZdWk2B5nP32iCuzoY6/uWvTHM/PfqJWYNu4qo5L7q9NA2dYZ7Jts0fsnN2vrn8CPQNw4VUE/2AQfFbt5szNMQnp5fYmY8mi6mASh4mNtOnvhJY3VqqGeAAmPRWRjuuAzOMYJhB/6B6eJAT/KdWnCcBmgjJfEjloNA1y/USVUQqO+ehbHiFAVCfBlfBUeWykJQyGh4Ccmb+j5wOOX3kSXGY+UcQ+FtMKfGN0QI5QOioR58ozBXPQ4AI/HlZfn+onCKEIoStDq3J7cvPEYnL96GUf5sqQR9lmjH0NEhQJlUGat0iyumMMnwKSKPjniDtFyeVYMFy/k4VfGvWCHAi0ldND85CFaESBHIMzIxkV1NiKR2XhOW0zVU8W6IvDA388frF7VuYf1tCiNIqvxg6b4KmGJLgD2fXD+MTqT9bG3BVqUVcJS7TaQWqRsKdtw+8shv85yQuf1aUGB1tnfD6LOLsxMkDb89IrO0wIKtc7HHgOS/0wXTVzJfsc+18gOab28D0FSY2Prxl0O4gafLhVqLT9xG94htOFQptfpZHR2xuhClZO4x2ggUYoSXIlW1DWTO0pdr3aiYlPURwqttywphmWF+0QeXPdeLS17li9NTEnm0OGZLDoksCIloNOiYiXCbHHcdFfAgS/MTAO9LLlL7cIhAdqAkDDgVooObl7XHLQtWNApennFYQkV3HLrutfm1MeLXr+pwgdKa+6c9hE72TOygexpmXffZnYLuGVbfbSZ7QUDPTfupYjfrpKovcH7rfql91sd8X7RHik12AMFZRVjDvCz0GrNCQTLyn+bC4wArMZB/mYADHsBPR45rVMa4HCgjMpv3Rnv1ClP6+JJRbxeH39aqxz5VKNcAJ465+gET/12l7kzXn9aqdUqSfh4Ol4vTEwYuYXsOBhnZpewX5MLRh7A+gBAnbsA6oN0Ihva+HqCiUZ064j12YCr41EpPBEqgBtEyJqJWRiQZjT6OC8Pdf4KKIt6PKU3onJCiW41pTb75FmYfQNTe6NwEbJRLWap6PM37gTy2cqWvPzGhtwudvD3Il7VRGDu+x1In1jFOx736cfsHvZ3H38aF61nQwfE4eKV9wBDfQvIhqPnbK6vb2b/9vDv2Lea68kldx5XiNbfpk/LbW5e3dB3SBIwevOnT8/3Gqkjy2+ZO/eW5QuYOy5tmMK2xS8iB5Jt9vJyuy05yZZVAZ9H/Zww1SgIQ9kxwlFAta+GMb4ezs7XcpFKtFdqUd6RT42Rq3g4gwhKhYVLninpWKB2exGlMHZyteYp94f/Fb5/yr7NASvb37h5X7h3SbhzU5j9OPz9Ungdvrx0L/FzDW+HNThveEXNz3tXPKclvx6J0h5ZsfOttyK95dfZirlEENrJDTdIeMkvJbx0VMKjkYRbXb68QEHRmIxDv4NIy3Ln5Afxxf9/MeepfWq+2kTbgcfEp9VCvocPHTeLkudTC9Uen/K3Cngpy8KfJwHRypdHHme/py6SHvAin7+4b/dBHfPbRXzn4k7RaWoFUIkaL19ZwX5JzTnNHKMYigKGokDx+cPVh6/DQ0aYVVYik/ARhcREopVYgefai9mydThwg6qdp42LUFdy8z4djmIl3HMKpSg2rdSlpWeiUStqmIyHkvaioRQBZWp6prOycWqEE01eU4uCrrmyZ8SEsaCo/FeBrngerUml1o9CqQrNcq8MxyopHnSFHT6ZySeTCwxaudelVQsFfBJBIBYAFY3q6dC2psaFdmqST/4KOFY0OAG60tXSmFUfV+Wv1UjiwrT1i0OCjN/NYHd3iCiK/wJ4jlrjOrif/WrS9FnAeoF/J/vJttce3trspY/EVrLD70XxBbGTaphVrgpxHvuJ69fRNpNXVBeJLFvLc++1yhL+DT48BiyNguBnT7QPX4S/BEx7gGJfZD8qFjgSXqcGFgGS3VTYWVyg/JD9hB+dlqSKEej/FkvFRksF7KN/BqqILcjNmZCIIZSYVyJjrKfQYGeSMe+RhiOS0CRjCJxI92AUl7YBhEVAyGVqWigAKrg5ET6dHKDcFUCAEKQlgZfBnkm8xF4qX3jh1BLw9rqnD38B7lx5tbKDPPj8G/tJBsz1fDBEhtvmkf8GopRuNjiyj/3uMfKz43NGPg8oEwAI8ytHHiX9jVeT7n/sS/DwRm6dgigRQfVinE0dlDU/UUM8RTD59sHYBBPcTF2oRKWYCyNAMYvGUA9CDPUQgzJYTiR5MsxsjqgydE5UlqyBj1zLQybGTkQwEqjaJS3MWKSoORbZxx4n48YuYS4OJOJQRAyCKRdI/P6QGvXb0Cp4pE+iOerl4nxo9fPEpbhOkB7M8PlTI+yU0M71+HBLSSpQwEOeW6+Uq1HRKzw03HisGj0WyhUuPsddiQGWoBWgEUejPShazMQ7k5Odzyg0yQkJyZpjtE6rVGp1xyU8o4GmTUlRJzTkuc6+vs4cO81+PzirNgEM94rFvbvF4t3naPocmCSVsofP0coPwKsKBev/QAmP3oBHntMJCadJiUYzYtBQe97Zozh8MVmsiOCgj9OZWYQb2wVNxDRi/aje9OHcYrqdyXIhJzqiRqf/Uo3OGFWjcUiNZtgdHn+gqGzipCl4/ef5oPWpTjHhwGs6De2mSVNaI8525UTcIP9svMbuKiipaLypmiWkQaBNAdJYoDXzFGqu89ciMPicHIa6yzmKpY6qTuSqVACNLwye7kYExdzlm4ZQf+z5CIj+sWHDP9gfP3K0SywZfY0izQsfSZ56fkLp04vmbWssl5R/VjU7a3vRsgeCfbwoCUUZvfWdLZWTA5K79B2BrJsr5R8BdW7jxnPsMHwEM3q7VA73bYmU39/ouGdy88ifWnTLn2skdfdM9rS0saeilIkCIUVJNyya8dYjq9oOKbl6zKeE0/kXCDvRSEwnbkHRtyjo5YWZFjsz04UqueY6mSDiXgFMB54crvNnEoatZ6ZIQ23wqD3MtEsR0AeTGA7NgxM2ZRKUb38uZqtsowclMXkIy5lplw0UFRuxqzutBS6KcsR7H6RDiQR8NsuOJhvTsry41w/rkQjko0utchYAhALCfaE8MFS/SGkjcTdaUJupQO7GaLSoABD5GV6c2I3lQWcii+eN0AUZRomLDHqDfn5D3caWrrnV1rXW6gKN84lA+R53TslDdFycx5P7v2taDve3sRf+6o6Lo/ewnY5iuSE90RdfK51RJ/L37dufszi386m3e0W9b/3pVv9ndUvr671+Mli3tK4OPvc9tHbVnrwcX6ycxP+08cm3VdZ/u/vzx6P27b0rRrS4MT5+SLmpb1/UE2zG3hkZsXwBD/CAAIgkMQme9vtvubctR6XKabv3wb7Ozvq6hQvgU98Cbr6i+KmCXtwTEoR++jvYagyGGRFmhM8d7forx0xvBhw/hY5INqqpAai4Gc4gFzXlcUl7k5NRcklNqNHSpKh/gilBFOlQ86E9OMSLpDGU9IA9240m1Clj0v2h/DRsxEhlCUlavdhXgJejKMiFCOX0oC8nD2U64R7MxPpD8eXwBY2fMdBHVAWFJQj5hSmWMSn+UDZydwjSnOYenXYamnUuHW4JQvOr03to1XXnAcDh4ajHAHCICGAOGXnendmybTKYGHwM4dY8FmSZg6XTrztFoDgdLRgKZzLP3YzQcrgv/r6+8uHqknVzA3sQbs5BsEPLHXxRsR/B4eQ3Na5qarrSsaqxcVUjLxU/XecDIVyCWmIy8TTWdNk4ktgcZqqdqJBiggvlmfKcaB9F+m7KOEPXiXsSmVLO9IFLsE4aaoRHCNFgzHWcipLLajyWoUpUHMl363Cyvo4eNASCUq7gblDgMeWhkslMhIFggRNT3gyXm8/pR4kqqCQz1YEIJXuCzpRxU8XIdyNudtRWFKGKQJWx0GvXQaMo0uyI+vD0HKqmG/mk8MTkdo0CGd0cnadeJBAka3S3+RyN09J6pyULBKJ6tucI29PzOFj8uCdzYux27fbYiZmerqJic44JVBSjYEqy+abK8JHlk0W1FdVUlM8kkbRJqitqRZOXQ1+VXDd16rpyj0kkMkE12GbOyTG3ec0Wf06kZgfhSZwlUqAGdOLeJJ0LIWPBbV7M4XSPds2KE5G882NiVZoUU2aWPTJo0K6FTifmH1H7EMIhwjak0TB4aB3gXtZFzoUWEAvWgtiilsCuU+ve+/G9dUWNxexBqpO7zPYXtxSd2gV2vMB+A2JeIDehqOLa8vK1695ds+bddSO3I0hIEMd+zb2OjmxBeEVeXIw/i/rnKFGeoA9aPxUYSZeCbjH0C2WWLNKGsBmiAKBdSi4zgRxIlAhEoQKLe6wwBp9mkbi0En2OzCQQB578sR3kX/zPqRR6yxn2MvvXJ95h936zBnxwpHVLXbGfbtuVtyI1y3BMJI1RxKc3ZmYeS6Cllvi0tBS1UkGeeJsdeOGc6Y2TJLiy9bvnbs9SJg2yLPsMG+TJAvUac1KbJj6jpmTkDTCsNCqlKp4k01jDasBwWq5ELFFGpST7JKyGs++ITBGfvwyz/5jhGptIzCB6CCbLzuSEGQIZZYow02xnNC64jnDPQCImWjGgl+IwnZ0FrqL8MJPPdd7PcCLjLehEjQUhQSJOXIfyEYFY3cQGpOncdKi0Ge1WzQpUeqx0ufMDDWjhlNKhOAMGINUhayEA4JjhnQl6oYDW4RSrYfRAYAAKXKIEtyePAdEkWqA06DgWIVS3gbwPJcrky3HFEhcBVZLHly8snMBzL65y+qac7B9ZBAxgqckU3AN9saXKpAxPLvjQnpH17s7FviWzA+f4/EUt3oL5ZC/FN5rSXt96R9idkUuSH5CSkW89MTFdDa4GeZyKJMslReYnljbmLpogirlz1qHnrr4IZlH8mbWHyUxgofiVuVNL2F3uByonzKFIe+PmiSZTEbV2XjDvUOPU5fOq8v9kU2vJtoMjS515s9I16jJ5VMz1OTwHUUQ8NKr7CjDomiw8oJeh8Jg+XpwBtR8uRRrTe4mY7JpJ4XScE5HHMk4uamZ0MrlwUxtL8aFypUSk/bKhakuB88TX2fGOhNDpGK9sQKAvRI1WgVx4TwGCX8vGsbRkV84vdVwENAF4XEoORRYvYqHFg0xrvGJNHrUPvRYALqzYbgafAN4+4vFuO76ls9zjv/v4NjJQ3pnjY7YM3X1z7ISHt2/3eEDljLu3tAWNxqDHwx5r23L3jO06Hby+fXsbpojDPI0uoYvqgL5YXISnMcrFCMNMrBOxSSA3hsteizlumlFaCY6zm5JyzxdA9cX/ZQd45oug+sKX8GANe/jyZTDp4sXI82hvDoehlw09pxKinriXGMhBEWoe7orKx/CB1jHkPBuugcrFNVBoroLYnbJgdyphbCurxvCCGC3P60DRPpJnNFnTs+wYLy8B+kiDMbFaHTqpRtuZSi1LwpZERQ5Wt4QiwWJzGYuuh80btQS50gcOGY9bRvD/LzD10NTRY6aCaQw/D8Hm7RI5Pa4JMxcurXo4Hu3zu8SuzMmrpaLXG6/h6TWvxHB6uf4mnnsURQ/D5/UHa2enpui0ertzwdeccfG7wln5XpuJzwsGwKM3QOtBW4Ev4HDz8rjT0dxLlHAztOkqsQ3eQSwFZsyTqTS5XExDODRtidPJxGC9VgRNOSczy874oYJbhuehGtoWHKABFAsh15LByUQePJI7mRlhpgk+SpFwIJCkRIR/iKAfp8Dz2U7kbXmdyOFCTu78MDOf45/nOmwXcdzGy1HPRjVX1ymkB2pqsXqsxwmAPG4SC1EYK0TPQORcfoyw9Uxzy7SZs+ZynFUhVQ5cmAaU4NKkZKPQdkg3H/5AE3LbQp1L4DsWoXZJIhTTAGc+hk/Q8vhEQ1p6RU0zLhAtokPSJHjXLNmAN2+uP0LTjcUBV3oio5+Gsx5BTFThnt2xc7jcSegKeMYJB+rnjSXhPaox4EXj2BFvvGkZkRdkBgqEzcHwjODu3rd27q6Y+mbf7p1QSjKb72l+8yA+3B+evK0lcxSGkeweB8cI5YcMQ/lpacn1I7l4uOLLxCRjRTzbVvEwdw4ejT/45ejJl8gGXQBSyvuQqPWVsx8vCMxdV/JlxdlVjU35fmR3oieBKdCILdJbVjcgU/Q6XZxCWIgWrIvNOJKRiM0bKce9M+ZoJ49xbxs5NYtYeJJRBSPfz2hxB69Rxgjg1CSa/yvuSoRjjxtGNGI3TUJQ3f3d3f3gga5DXV0tjTe16f5+qLv7UPfaP6yFX6OY7r3QXosiSoAURxC1LiYqzOQ4kTK0ulD4PMs5iiwTE2ZiuD5lCw7WIC2V4USFDTYniq1jhKdPoPLD2bREnGDOE/3E+Iee/9p54jh32YnTaSYxSkcPGk0GOdyipIMup1ue8fxL8RemYJynPOlgbp5fnjEAH8dV0MPbx53B98An4lk46SaX+1piDfziCk60OWLQ/iYsQPuZF9kk2qwc7DlHcQ2NjJR+lhDpLRk2hzeyuUG3yTkKhoHMvBRBKkjhubS01GSJdIuSqG9DwceA21oeNvViyeZ7hxa+v6l8W/fmPw9tv7c4ShorjhMq+NX62bvf2Qr+w4b3bDn0ZNyXSezmv34MZAcPfMeenFPtXP/yvsWvPTiVPH7HezvrF4RXvPPI869OiYnX0BZ5TuyljvsXe0EliK7S6W/p6YUi1n/4qwqTaXE3yLh4YKCh5aF/RXBbuVijGseHXXDnqSKGiAEH2neoMOO2IwMgCeG3cD1Jg1ppQAQNAyjC1ZwIO5Gm0mNlZR6zJFCrSFkYgbZG2pZqoEijsp8BrcGKtJMZlawkoZpLJkU2oFDa0EUffYSyO9yoq4kpkw0IpQE84G4HJqAS2nxl2KGlB5TRxdjMsCJtloB5qkJGlA6PT/FfS337vMYxJEG0N5EcfzLUP2REz+jlbp+KUONeUmjzZQEeKiFKIaHdLMzi/R6kPvlXUFR2HPgHb3uF/d+9vexPJ3skAx/eMbm1u5vRFLeXl7dnhm3AdWbZN4cvgyf6L1J7P9JqgeG5W4e2N33xDNnefx7s+D378ZP/HIh5G9T89SEge/W2ziMjO8rZl3gHnlrXzaxl2VmlZfbssuHOb5afYd+0vfk1Wc2/0K/9ECw4cqlx24nO4+x50+3n+9uvz4nGERqoWxzQz0WFlhZcNYNQG5zw5AwCdELlQ3BeOPMO70wo2qDEVLYhJSrAUsejwbVAM45J9DNpNL7AOGSMcjxEwygdDq3DRc9KrJ4tkeLGDGi84fJnePS3nRS7829/23mV3Pk3shsc7dy+7eWnH2cWzK31WCq7yqckWss7PI294XAvdQXft4P36pq5j9qptFc2Pn7EVVlgoA8pDL5c6w31d9XEUaxBK6Eb7kR5HqhyAkjNQCFkAlJksCZi3SPDQJPX7NpC+ME56zV7rFDIw6kgKJC1CCmnEDnwiWW4OiibPiqQaVIs/nIufPmM1mS0unwRFAU9HKqSSjhU5VAZ0wMef5mfK26TRKuJFA3UAtmuXBQICCU64V15NzF2+XgzQ0BuTo/bDjilIIw0wCKdoLcD7JPgggsflsybW739y29bZrI69/U0Ntx96oSkizetsbiu7/srRaakYGHV7OkldbmmoiXLfndTM/jdTYdmrO7aU+xRSg1rDu+RlAV8cVLzXf2nuiaVzJndMD93nmf/KCbGPmGrQMAhoSBkYLkM9xdA74tMBD6EShdLCoMghRQISdzKYQe4GQTxtFLCausyX9K6Hp3RnTZthW/a62ef2ZZg7y/o79/dSTunFdtiFclPNymltDU2Q0wnaBzJs3Jnsh9VUuXzNDXpZnYG21xU7k6z8Y3BwW+BEHjvA/yZJkHB4j/OTaHjc2rnONnDKtVSf795zt7nGrMd0bIPm0br65aBCxiXGvmsLcRAUsSi1o5xtoyhUGvGUKh1ERRqjr/lBpRpIqRNQowuCFPa+N/RpK+3fK9Hib5m1d4MCnqcvRr5LAJop24jdIQJ6mqChiITaUVQc4BhUKK4zcdnwfQmJrFA91BBWktXQp8uzaqjOjSa/Xb35DXxDyVPT766TwdkvFJSOnyC3Q0WkX3w8S9puj7N2sk56X06dHerZn98V4vL3pecfHWvrpxXOPJ/wydIKXs/uZ/rH6fw/uGC+wfquColahC3Yg4Xra61M+IzjIpLxqjEUPWbcwojKKBSLrSsAVxZtJbDAfC4I04FVjoolQ41j1onU2eRJnekL1yJMJr1ZosZeOW6WPLw1NtXMd0PPr/lLrB60+bn7yu4bcWq26cetqWw/XPZFezyuezBFNtuwJO0r9o1C6wypZ34aijNZEob+upEmomXNEcCyOhZu/hr2BPPzuyoWbW1fYtsdlFVjs+XU1U0W7aldPGc2pqOmc+CAk3aCy+kzWOfO9W0869/TNZb/H6LPjmJex555z1QtvqvOzm99SJ1RPAloYD6mUgCAlItTyFRDAiYjUKeWSggzHCRIDwlzcurb7V+oGE+v3PoOT/7vZ899fhr5kAOKDE7l3eYnX6/oJ3d1MRevmf44sL7LIYykN/PExzos4GtxabE4aPLO83e5QsVNKcrqW6oK9XQc6zBVWNZcPwd4yxMG87lDsrENrh3x4VRqDMUH2mDs9FwO4C6TCYbkBtwwiCOZqgIiwaiIsD5fTOJMNUEJPxSw7kQFHAVtnGARErL3AdEe1f8z74ZW2+9dTDJzEsavPXWrf2mKLkqVhuXGd0YFSuNEfKULasc5cC+l72yb9re95b3geCdm8HB8zR9np21+U72xcPz5qdkZSVmqwqkq2Ji6Ohy9rWhbeWj63i+iBB4iHgo+5lEIoFqsREuWgQgNxQHTQFGhrSuzuNS6nhIgFB0B0oQ6jHX6YVJAPFbIyJPpcHD86ESxFTAe+IY71GF+GX22DRtgtXD5vpNGrtfzh57WaxTHhMQhyViyXDvsVP+pDyQk5fkB2+Hw2TLuT/lOJPjvdMXas6NlLCHDx/uO/bmm7x9SzyeJRFuuQjfahKuXKKJgXjMbDdGf+gYXy2j1Hl08Nsw2nrsog0At/PyMY15K/vcyFPssbamtWH+3qupvb28fb29mO0z3NIVhv9WN191IUJbfhSYzvaD6aN1Hfx9gjD83QkEMZ6Pm6fjwV9kUut8BotO2JxLdee2TPZ3D3d3+1sA2Uqen/lxFXusuj+/qSlfoPS3IPiKFn8v+kUEETXGx3CNt4/rpbZD23GMwc9tRxvtf2Hww/9dHgOCCwfw2Be5JofXuDZmjg8uTIWHCfTZUNPym28iYA7gQscdYB+Lv+GfdSPRX7hjXgf8AvtG9s6Dz+HhcMeortonQiYvYobOJvKIB3E8xxweMPNQcMzsF2egPiE73hxkYY5vJ5or+M/HqwkDomB6Bi6Hgzx2R3g0AiPiqHisGuSCK3AN/KDWZE7lIv2h2DhkXiHmBsaLIp1EyJ4B7Y9kvUGD7nDRIYfXf73pBT3kMXJMeIxAsa5lSmVcdMmgHxfvH2WF/d4fH1QERyrhQ7z/e0Ssd/cFEH/h7rsvsJ9fKBsExGBoYw/PUK1JS9Ok2HB/OG9fS1fgBb//hcD/t4rQv7fgijs6GH/8Z9gM1LJFwU1TVk5bC3rXBeTOQDnw2m07hg3soPoUlCshdxUJQ1ad2Vzb4AxZa+ZsAwwVER5Qk1OTF3QDgYCBkZm9K6znxAy6uILJHNJ1smbUYwZ6mg90bro4K+jSHTtGYNnPCDrmW5WdD7yzGXQ4LmilIziQ2HRjGzenszCEFYVYKHZE9/VHdShahBSF/WFouNrmxVjAqK7CqK8nwCzILSMj4ccopy4uYPrvqiEXl4CEkmzMv9esPo66fnqurnp+eg5Mp2M2zC13FdS1Nv51cO9fY2tdwewNt2Q1ufnai1XYhbgZefkt/r2QkZKR6CmXFhFl5uJzYOQpjiwp3VBYCBkzZPx3iy2S7TiwBjBhYJAHn+9vZi5sLgxaVAtqKKmwgzdnMrKBTzuRY4TufgWWV0ygFpOAIquG5GxXqav9nxo72/e4ykjs+Pelr+RIq42QtNHfDxrMTdxqdmfWqNjyiEgY8EhL8LPwinJ2WrIrnpBVYJflMmcMkWTsFZGQOMuoMn/a03RpkbxZJ7L6Mv68MmFlVjKLVq+7ES0sIizIz8nMyc+WoiMGnYfJAJYXpsC8ocygwwDKACLg9eEbxK9tkDm7QQaS1gXOggqwjcoyoLgUtoSsAZMH3yprz4hY/KcAOk0CVMpAL4ZPqg4qZwoqCqpODtTaefFfwaWzGnZMDPl78k2TVFUVFVVVk5jldfz7H3/58rjfV696R2ZFReYOSLnP9V+frZUtCdjesQXNqgiBryDkAzYzxVlUzVRAi5SBnWh20Fnw4JudGIVAG96BCHRfIXg/I4uaujko4IFNI3YWLg5DA2kHGTEx94mZjCKMPrMZBTeGionHxCXKGfuHuIcGpucBE4FOBhubaVhGv6QhsK90vJ2ReaNDmJi1y7+bywv//d7rYVt8tLxelkXK5N8dFsmbH5fmlxjGx/tYcEmXW67bstHeNVjAzzF3zqSEEAMlHkZmDU0VG0t916m/re08/I55GVmw8Ek4+0VcsdXSZubZmu6luSGIhZ8vH3oWLdNDYNnKCSyxORmhK+oYCxkLrHT+Xg86y1j4rx96fw0wjf2PZPvL1ggsdW0ZGITZxOwZgd4VM1cFj8mCdgADvQ1iC4F2Y8Nuq1YHb0RjB9eIDLBmqbqkhI3VTUauIFFzB0Y79QpWDiEeVlZOJkYvv7Nx6bkinPKz/i1rz/9owK/GNinLQIVPg1VaUldSjsUjsiUqyslBj/Gyo5Vk0L+PD63tJbqF/MUUjJSC3T0FOK1sbjd0MyYt1BAvTgn66CBsxs4jxSXNImweY+XN+LclLq4lTo+BAQBViFnvAAAAeNpjYGRgYADiovRLZvH8Nl8Z5DkYQODKnRRvMH1/hc3/j//WcFizvQFyORiYQKIAX2sNeXjaY2BkYGC7/G8JAwMH2/+P/7dzWDMARZABox4ApBAGpAAAAHjaTVQxaBVBEJ29v7d7nmIhgiGFCCFVyiOIxW8NFiI2qU7R5oOtZbCT1L9KkdoiYPGRIBJS/jpY2BzaSEoJKUIKBUk2M2/mbu/DMLszO2/evtn7Femv+EzkPxFN3hGFH9kXT4ncV7Y1NfrF/hX7t+olVy7TP6mtOOx31McFr0nXYcrrAz53llK5z/sXnH9MLjbpOhzxfsbWe7FT27OPtfKKLXlZx13mttA9sE+sX8fWkJP6itJ1/JguPOekH2ybnJybLJWbrKsCfJzUItekqzDPeMVDNamPPyn4GXpQPFSPmm+02t8TfOTMJvv7tj9n/NfgfYcxa+Wn5+ReJePHe+zfp8S8kx/hTI70vtCB7wvt5lRw3Gm/lKDTNmpuCafwh1bLy3wH0afcUjzEGsXr+ZZdXrul5vsY7rpQnWUtuoffFAQPMebm5+Cms6dhNrh/WLEe+4bVisZ87sRmesj8rd5PNSdraFuIHtanVVzgSC+fUrwiJzjSp9zTd4V8l/Ub+m5RLXXFMZtoumFv/Vg5A6NTE0y8szrrIu8FM+XaKtBtzLhTfpif5HXG2q+xWJ210fdmcfs24herYY0Rf0PPyu/2/k/t7JTW4Td0Hx5ljOG9SfwJU5uZfpZnjLvotWOxUQ7aLPAdKt+/mO2Qj89Z35ejunakRZvvjdh/ejDkGsvtjvKjvqKjO8ta+Q+j/4xGefVv1f47nMXqQnXB3IluAP7dou4AeNpjYIACEzzwGSMTYwVTA9Mr5gjmBOZZzKdYeFhsWBawsrFmsR5h42CzY5vFdoLtFbsYexb7EfYHHDEcHziVONs473H5cQtxG3Hv4uHgseC5xivH28b7hE+Pr4ZvCb8Gfwr/Lv4vAiYCuwTOCfwSdBDMEpwnuEnwiuA3oTfCccKThB+JcImYiOaIThBdIvpATEisQlxHvEdil8QdSRnJFMkjUmZSXVLfpKWkV8iwyYTJzJB5IOsnu0D2kJyG3Dz5DPlvCgUKExTuKSooblG8ptSntE7pgtIr5STla8rvVJhUjFQyVOaoXFDNUX2h+ketQ+2e2j91HXUH9TUafBqrNB5psmnKaJZodmiu0JLTCtKapXVL64s2k3ae9gMdB506nRU6T3RDdJN0K3S36P7QO6W/Sv+a/hODEIM+g2uGeoYBhgcMzxn+Mwoy6jO6YsxjrGA8z/ieCZ9Jiskkky2mDKYJpj/MMswmmG0xu2T2w1zKXM/cyTzMPMt8ifkVCzYLLYsVljOsJKyCrDZZ3bPmsG6zcbE5ZStjW2e7xvaFXYu9kn2VA4tDl+MZpyCnR85szmUuUi5PXE1c37kFub1xV3Pf5THHM8pLyivJW8ZHxuear5Fvku8vvxP+agECAQsCvQKPBVkE1QTPCH4XkhKqFDovLCzsVLha+I2IDZEukQ+ikqK2RAfF6MR0xPrFKcX9ij+WsCiRI7EiyS3pU7JG8pNUntSqtKR0q/R1GWUZlzItMpuyuLJcsrZl82T7ZVdl38ipy+XJTcvdlKeRZ5e3BAQBAjvJsQAAAAEAAAEvAIcADgAAAAAAAgABAAIAFgAAAQABJgAAAAB42n2Qy04CQRBFTztoojEsXRAWE/ZOUFRAXQobEY2orEXlEQcGcTQx8QtcuTB+k48v8G+807ZkZGE6PTlVdevWVAPLvOJhMotAQfeHjfIFx3NkCRx7rLPrOEOekeN5nnlyvEDe5By/sWK2HL9TNA3HH2TNo+NPlozr/fLImRcuiBjzwIQBPfrE+AzFtzoDzexxpW8sxVjKY0U97gg5V8ea/rVozw6n7NOmKUrrV2c60jV/pnamaGKnRlL5f9yPaCmTcDrblzK2G4y4n3YElG11KNdreSaarrKhnDt604BNeyuUFFXVt0dN02s0ONSkA1GTk3/3aCvqyDWymt/JdfuKvhwSja9TsrUK26pW9d0Q+5qa7FHmUi5daRPXWF4Tt3t96tviRtWBKsnbhd+FY1J3eNptVgWY5LYV3l9jGM/M3l4uzIxtk7u9XKCcpr2UmVmWNbZubMsnyzs7V2amlJkZUmZmZmbmNmVu2iePvUm/r/PtWrIe6MH/3vMKW2l/V1y2Ml35Pz+c4x4rbGUbGAbw4CNAiCEijDDGBKvYhrWVy1cuxXYchB04GIfgUByGw3EEjsRROBrH4Fgch+NxAk7ESTgZp+BUnIbTcQbOxFm4Gq6Oa+BsnIOd2IV17Ma52IPzcD4uwIW4Jq6Fa+M6uC6uh+vjItwAF+OGuBH24hLcGDfBTXEz3By3wC1xK9wat8FtcTvcHnfAHXEn3Bl3wV1xN9wd98A9cS/cGxwxBBJITJEig8I+zJCjQAmNCvthUMOiwQbm2MQCB3Af3Bf3w/3xADwQD8KD8RA8FA/Dw/EIPBKPwqPxGDwWj8Pj8QQ8EU/CpXgynoKn4ml4Op6BZ+JZeDaeg+fieXg+XoAX4kV4MV6Cl+JleDlegVfiVXg1XoPX4nW4DK/HG/BGvAlvxlvwVrwNb8c78E68C+/Ge/BevA/vxwfwQXwIH8ZH8FF8DB/HJ/BJfAqfxmfwWXwOn8cX8EV8CV/GV/BVfA1fxzfwTXwL38Z38F18D9/HD/BD/Ag/xk/wU/wMP8cv8Ev8Cr/Gb/BbXI7f4ff4A/6IP+HP+Av+ir/h7/gH/ol/4d+4Av9hKwyMsQHzmM8CFrIhi9iIjdmErbJtbI1tZwexHexgdgg7lB3GDmdHsCPZUexodgw7lh3HjmcnsBPZSexkdgo7lZ3GTmdnsDPZWWFTqvWdO3d2665uXe/W3d16brfu6dbzuvX8br2gWy/s1ouW6/re5bpnrycbo6NMNybNeV0PZ3IRa24SP861mLVce/Ze7ItcN0lQyVKo3Cu1lSP3iCUvZOIXTa1EUEtuRDaakposV2lmvYKrfFXwUshcKCNymXRv9f6GG5mMq7ypO0q7784nhSq3XvyM9NrlUcc7ao9kUdmFV1tuvEzm1dg9OobInS7pTS2Np8qpHrtHR/fdae3F3HlIW54k/oZKpPYyXUgvV+UsrJSwjZEBt5aLLMj5Qjd26IKiKQxeIcvGF5kUs4FcyGDp18Dy1BMZt8FU5wldnPOiGuZyam2myqgyOjWyrnf5bZC8QusrD9cj44LmGFfbnbuGvFYTJ9+/RG1kEz0vQxdttSGjWOtZwc2s9khrGpG9srRKl4NYb4Yte1ONmqrXEDTV/xizO5i2TEObNUVcN5XPc2nswNR1wJN9TW3H7jonHqt0VPFKmirnJYVJ8mlYETfdOFpKO85BwSu/zigBw15wUCjhFY2VA9FUZECueeJCyZ2d/oZweKsyXcpx7ytdxcQ8oDSmkqKupjJu9IIyU9uIG6PntRDzyVaciD2kJDp/2kvdBQOh0xGdqANy2uS5b7XO6/HyoC54nkfLoJBslMsNmbdRdTeQpqBWacnzsCU0ledoPrE31XhpflsQvpFVvogSZaRwrkSt2zzOZVg1ManKPOdQWGfNdJrLYd0oK3gtB4m2Xq515bceBHNV0gVBzOuZtKHQReVKsVVOdoZTbeYUolHrOFFjPYh5yiiU9ZwUZiMHZEVJJ+yS5nX32B0WulRWG4+StQid/WRmm8q+CKwhEPr7GypkT+jEWSX8XKeqbNPQsYVuT6JUaboKCh2rXPqxaeosKHhakr30P9dm5lecamnYekT8y+R0SgJSS+VDhok6kJuVpoqmPcEoqQUhilKxVZoVCQcUUG0SJhKfqrOWvioJzZRCWSZtgmOqr3Aquc2kIeeElZt21K2q3PArQ/EIDVkmlxGlerWeK5Whe7i8+7VuysR1NjEb9riLtiAVbOi8KWSwBMmkh7IrodYCV0REdIYshdyu1dPaZrXrQXY85bXt8jdxe5cq97JVfzsnLZSofkrqGH6a61iGqiTpPB9SLzG2UjJqN9SX5PIo5mZ55ODmWYrgZJrrecUNScl8skFQ6JudZxKlh4T4mixOCTIykWWYxITVSm6rK23VdNEnu3sNLQHLSrOaUm9s2jKlNPkpb1I5pKylDU/l2CnuBLd1At3rcMqFdIEeE8imUyUEFbc/58TBhFjrqR0327+/BUgSR63jdGmxxdONAU+IeDHghEMhSuGnblyEidGUgM0hFalx82iSXmWiBI5RNiNB0q7sTEKdTlfVoiXsq6KKICIpBdStc+qaxq9ni0pu3zru4ydEzaNCprxtUe7+JLDU7XIzaSX6+4ws6W91SbpSuCLEcsupuGlMiAPSaD8x1LiHbsyQadQ1VMnnUsU6qPiCGupaT+mzQha4xhLEjaAGMXagL2hQkZlEokGnNoekMo6p8QQ0t3jNRy24W2St9aTezlQR2OKxAwyxCp7I1eVRP4rr1gVJyKc5pzZVGMvMzbcdVyH0ymh4iJkZOWWxIaZs6LbWSLm6JG11AFcIxWqqddqbUkcbM11aPrNydUnum0CL31aTw3xglfM7sJTubOEXmvpMm3saPVFslJy6pjoUNIrKxFVGrqr2IyYq5bxuJxYN6II6SRi78WgWA/rM8Vzhe7GkMutHaGC0u2hIYpfkiyqb9Juz6Qvsv6ZkCG0AALgB/4WwAY0AS7AIUFixAQGOWbFGBitYIbAQWUuwFFJYIbCAWR2wBitcWFmwFCsAAAABWLn3vAAA" }, function (e, t) { e.exports = "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' width='10' height='10'%3E%3Cpolyline points='1.5 3.5 5 7 8.5 3.5' stroke='currentColor' stroke-width='2' fill='transparent' stroke-linecap='round' stroke-linejoin='round' opacity='.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E" }, function (e, t) { e.exports = function (e) { var t = "undefined" != typeof window && window.location; if (!t) throw new Error("fixUrls requires window.location"); if (!e || "string" != typeof e) return e; var n = t.protocol + "//" + t.host, r = n + t.pathname.replace(/\/[^\/]*$/, "/"); return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi, (function (e, t) { var i, o = t.trim().replace(/^"(.*)"$/, (function (e, t) { return t })).replace(/^'(.*)'$/, (function (e, t) { return t })); return /^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(o) ? e : (i = 0 === o.indexOf("//") ? o : 0 === o.indexOf("/") ? n + o : r + o.replace(/^\.\//, ""), "url(" + JSON.stringify(i) + ")") })) } }, function (e, t) { !function (e) { "use strict"; var t = ["sanitize", "whiteList", "sanitizeFn"], n = ["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"], r = { "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i], a: ["target", "href", "title", "rel"], area: [], b: [], br: [], col: [], code: [], div: [], em: [], hr: [], h1: [], h2: [], h3: [], h4: [], h5: [], h6: [], i: [], img: ["src", "alt", "title", "width", "height"], li: [], ol: [], p: [], pre: [], s: [], small: [], span: [], sub: [], sup: [], strong: [], u: [], ul: [] }, i = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi, o = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i; function a(t, r) { var a = t.nodeName.toLowerCase(); if (-1 !== e.inArray(a, r)) return -1 === e.inArray(a, n) || Boolean(t.nodeValue.match(i) || t.nodeValue.match(o)); for (var s = e(r).filter((function (e, t) { return t instanceof RegExp })), l = 0, c = s.length; l < c; l++)if (a.match(s[l])) return !0; return !1 } function s(t, n, r) { if (0 === t.length) return t; if (r && "function" == typeof r) return r(t); if (!document.implementation || !document.implementation.createHTMLDocument) return t; var i = document.implementation.createHTMLDocument("sanitization"); i.body.innerHTML = t; for (var o = e.map(n, (function (e, t) { return t })), s = e(i.body).find("*"), l = 0, c = s.length; l < c; l++) { var u = s[l], d = u.nodeName.toLowerCase(); if (-1 !== e.inArray(d, o)) for (var p = e.map(u.attributes, (function (e) { return e })), f = [].concat(n["*"] || [], n[d] || []), h = 0, g = p.length; h < g; h++)a(p[h], f) || u.removeAttribute(p[h].nodeName); else u.parentNode.removeChild(u) } return i.body.innerHTML } var l = function (e, t) { this.type = null, this.options = null, this.enabled = null, this.timeout = null, this.hoverState = null, this.$element = null, this.inState = null, this.init("tooltip", e, t) }; l.VERSION = "3.4.1", l.TRANSITION_DURATION = 150, l.DEFAULTS = { animation: !0, placement: "top", selector: !1, template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>', trigger: "hover focus", title: "", delay: 0, html: !1, container: !1, viewport: { selector: "body", padding: 0 }, sanitize: !0, sanitizeFn: null, whiteList: r }, l.prototype.init = function (t, n, r) { if (this.enabled = !0, this.type = t, this.$element = e(n), this.options = this.getOptions(r), this.$viewport = this.options.viewport && e(document).find(e.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : this.options.viewport.selector || this.options.viewport), this.inState = { click: !1, hover: !1, focus: !1 }, this.$element[0] instanceof document.constructor && !this.options.selector) throw new Error("`selector` option must be specified when initializing " + this.type + " on the window.document object!"); for (var i = this.options.trigger.split(" "), o = i.length; o--;) { var a = i[o]; if ("click" == a) this.$element.on("click." + this.type, this.options.selector, e.proxy(this.toggle, this)); else if ("manual" != a) { var s = "hover" == a ? "mouseenter" : "focusin", l = "hover" == a ? "mouseleave" : "focusout"; this.$element.on(s + "." + this.type, this.options.selector, e.proxy(this.enter, this)), this.$element.on(l + "." + this.type, this.options.selector, e.proxy(this.leave, this)) } } this.options.selector ? this._options = e.extend({}, this.options, { trigger: "manual", selector: "" }) : this.fixTitle() }, l.prototype.getDefaults = function () { return l.DEFAULTS }, l.prototype.getOptions = function (n) { var r = this.$element.data(); for (var i in r) r.hasOwnProperty(i) && -1 !== e.inArray(i, t) && delete r[i]; return (n = e.extend({}, this.getDefaults(), r, n)).delay && "number" == typeof n.delay && (n.delay = { show: n.delay, hide: n.delay }), n.sanitize && (n.template = s(n.template, n.whiteList, n.sanitizeFn)), n }, l.prototype.getDelegateOptions = function () { var t = {}, n = this.getDefaults(); return this._options && e.each(this._options, (function (e, r) { n[e] != r && (t[e] = r) })), t }, l.prototype.enter = function (t) { var n = t instanceof this.constructor ? t : e(t.currentTarget).data("bs." + this.type); if (n || (n = new this.constructor(t.currentTarget, this.getDelegateOptions()), e(t.currentTarget).data("bs." + this.type, n)), t instanceof e.Event && (n.inState["focusin" == t.type ? "focus" : "hover"] = !0), n.tip().hasClass("in") || "in" == n.hoverState) n.hoverState = "in"; else { if (clearTimeout(n.timeout), n.hoverState = "in", !n.options.delay || !n.options.delay.show) return n.show(); n.timeout = setTimeout((function () { "in" == n.hoverState && n.show() }), n.options.delay.show) } }, l.prototype.isInStateTrue = function () { for (var e in this.inState) if (this.inState[e]) return !0; return !1 }, l.prototype.leave = function (t) { var n = t instanceof this.constructor ? t : e(t.currentTarget).data("bs." + this.type); if (n || (n = new this.constructor(t.currentTarget, this.getDelegateOptions()), e(t.currentTarget).data("bs." + this.type, n)), t instanceof e.Event && (n.inState["focusout" == t.type ? "focus" : "hover"] = !1), !n.isInStateTrue()) { if (clearTimeout(n.timeout), n.hoverState = "out", !n.options.delay || !n.options.delay.hide) return n.hide(); n.timeout = setTimeout((function () { "out" == n.hoverState && n.hide() }), n.options.delay.hide) } }, l.prototype.show = function () { var t = e.Event("show.bs." + this.type); if (this.hasContent() && this.enabled) { this.$element.trigger(t); var n = e.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]); if (t.isDefaultPrevented() || !n) return; var r = this, i = this.tip(), o = this.getUID(this.type); this.setContent(), i.attr("id", o), this.$element.attr("aria-describedby", o), this.options.animation && i.addClass("fade"); var a = "function" == typeof this.options.placement ? this.options.placement.call(this, i[0], this.$element[0]) : this.options.placement, s = /\s?auto?\s?/i, c = s.test(a); c && (a = a.replace(s, "") || "top"), i.detach().css({ top: 0, left: 0, display: "block" }).addClass(a).data("bs." + this.type, this), this.options.container ? i.appendTo(e(document).find(this.options.container)) : i.insertAfter(this.$element), this.$element.trigger("inserted.bs." + this.type); var u = this.getPosition(), d = i[0].offsetWidth, p = i[0].offsetHeight; if (c) { var f = a, h = this.getPosition(this.$viewport); a = "bottom" == a && u.bottom + p > h.bottom ? "top" : "top" == a && u.top - p < h.top ? "bottom" : "right" == a && u.right + d > h.width ? "left" : "left" == a && u.left - d < h.left ? "right" : a, i.removeClass(f).addClass(a) } var g = this.getCalculatedOffset(a, u, d, p); this.applyPlacement(g, a); var m = function () { var e = r.hoverState; r.$element.trigger("shown.bs." + r.type), r.hoverState = null, "out" == e && r.leave(r) }; e.support.transition && this.$tip.hasClass("fade") ? i.one("bsTransitionEnd", m).emulateTransitionEnd(l.TRANSITION_DURATION) : m() } }, l.prototype.applyPlacement = function (t, n) { var r = this.tip(), i = r[0].offsetWidth, o = r[0].offsetHeight, a = parseInt(r.css("margin-top"), 10), s = parseInt(r.css("margin-left"), 10); isNaN(a) && (a = 0), isNaN(s) && (s = 0), t.top += a, t.left += s, e.offset.setOffset(r[0], e.extend({ using: function (e) { r.css({ top: Math.round(e.top), left: Math.round(e.left) }) } }, t), 0), r.addClass("in"); var l = r[0].offsetWidth, c = r[0].offsetHeight; "top" == n && c != o && (t.top = t.top + o - c); var u = this.getViewportAdjustedDelta(n, t, l, c); u.left ? t.left += u.left : t.top += u.top; var d = /top|bottom/.test(n), p = d ? 2 * u.left - i + l : 2 * u.top - o + c, f = d ? "offsetWidth" : "offsetHeight"; r.offset(t), this.replaceArrow(p, r[0][f], d) }, l.prototype.replaceArrow = function (e, t, n) { this.arrow().css(n ? "left" : "top", 50 * (1 - e / t) + "%").css(n ? "top" : "left", "") }, l.prototype.setContent = function () { var e = this.tip(), t = this.getTitle(); this.options.html ? (this.options.sanitize && (t = s(t, this.options.whiteList, this.options.sanitizeFn)), e.find(".tooltip-inner").html(t)) : e.find(".tooltip-inner").text(t), e.removeClass("fade in top bottom left right") }, l.prototype.hide = function (t) { var n = this, r = e(this.$tip), i = e.Event("hide.bs." + this.type); function o() { "in" != n.hoverState && r.detach(), n.$element && n.$element.removeAttr("aria-describedby").trigger("hidden.bs." + n.type), t && t() } if (this.$element.trigger(i), !i.isDefaultPrevented()) return r.removeClass("in"), e.support.transition && r.hasClass("fade") ? r.one("bsTransitionEnd", o).emulateTransitionEnd(l.TRANSITION_DURATION) : o(), this.hoverState = null, this }, l.prototype.fixTitle = function () { var e = this.$element; (e.attr("title") || "string" != typeof e.attr("data-original-title")) && e.attr("data-original-title", e.attr("title") || "").attr("title", "") }, l.prototype.hasContent = function () { return this.getTitle() }, l.prototype.getPosition = function (t) { var n = (t = t || this.$element)[0], r = "BODY" == n.tagName, i = n.getBoundingClientRect(); null == i.width && (i = e.extend({}, i, { width: i.right - i.left, height: i.bottom - i.top })); var o = window.SVGElement && n instanceof window.SVGElement, a = r ? { top: 0, left: 0 } : o ? null : t.offset(), s = { scroll: r ? document.documentElement.scrollTop || document.body.scrollTop : t.scrollTop() }, l = r ? { width: e(window).width(), height: e(window).height() } : null; return e.extend({}, i, s, l, a) }, l.prototype.getCalculatedOffset = function (e, t, n, r) { return "bottom" == e ? { top: t.top + t.height, left: t.left + t.width / 2 - n / 2 } : "top" == e ? { top: t.top - r, left: t.left + t.width / 2 - n / 2 } : "left" == e ? { top: t.top + t.height / 2 - r / 2, left: t.left - n } : { top: t.top + t.height / 2 - r / 2, left: t.left + t.width } }, l.prototype.getViewportAdjustedDelta = function (e, t, n, r) { var i = { top: 0, left: 0 }; if (!this.$viewport) return i; var o = this.options.viewport && this.options.viewport.padding || 0, a = this.getPosition(this.$viewport); if (/right|left/.test(e)) { var s = t.top - o - a.scroll, l = t.top + o - a.scroll + r; s < a.top ? i.top = a.top - s : l > a.top + a.height && (i.top = a.top + a.height - l) } else { var c = t.left - o, u = t.left + o + n; c < a.left ? i.left = a.left - c : u > a.right && (i.left = a.left + a.width - u) } return i }, l.prototype.getTitle = function () { var e = this.$element, t = this.options; return e.attr("data-original-title") || ("function" == typeof t.title ? t.title.call(e[0]) : t.title) }, l.prototype.getUID = function (e) { do { e += ~~(1e6 * Math.random()) } while (document.getElementById(e)); return e }, l.prototype.tip = function () { if (!this.$tip && (this.$tip = e(this.options.template), 1 != this.$tip.length)) throw new Error(this.type + " `template` option must consist of exactly 1 top-level element!"); return this.$tip }, l.prototype.arrow = function () { return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow") }, l.prototype.enable = function () { this.enabled = !0 }, l.prototype.disable = function () { this.enabled = !1 }, l.prototype.toggleEnabled = function () { this.enabled = !this.enabled }, l.prototype.toggle = function (t) { var n = this; t && ((n = e(t.currentTarget).data("bs." + this.type)) || (n = new this.constructor(t.currentTarget, this.getDelegateOptions()), e(t.currentTarget).data("bs." + this.type, n))), t ? (n.inState.click = !n.inState.click, n.isInStateTrue() ? n.enter(n) : n.leave(n)) : n.tip().hasClass("in") ? n.leave(n) : n.enter(n) }, l.prototype.destroy = function () { var e = this; clearTimeout(this.timeout), this.hide((function () { e.$element.off("." + e.type).removeData("bs." + e.type), e.$tip && e.$tip.detach(), e.$tip = null, e.$arrow = null, e.$viewport = null, e.$element = null })) }, l.prototype.sanitizeHtml = function (e) { return s(e, this.options.whiteList, this.options.sanitizeFn) }; var c = e.fn.tooltip; e.fn.tooltip = function (t) { return this.each((function () { var n = e(this), r = n.data("bs.tooltip"), i = "object" == typeof t && t; !r && /destroy|hide/.test(t) || (r || n.data("bs.tooltip", r = new l(this, i)), "string" == typeof t && r[t]()) })) }, e.fn.tooltip.Constructor = l, e.fn.tooltip.noConflict = function () { return e.fn.tooltip = c, this } }(jQuery) }, function (e, t) { !function (e) { "use strict"; var t = function (e, t) { this.init("popover", e, t) }; if (!e.fn.tooltip) throw new Error("Popover requires tooltip.js"); t.VERSION = "3.4.1", t.DEFAULTS = e.extend({}, e.fn.tooltip.Constructor.DEFAULTS, { placement: "right", trigger: "click", content: "", template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>' }), (t.prototype = e.extend({}, e.fn.tooltip.Constructor.prototype)).constructor = t, t.prototype.getDefaults = function () { return t.DEFAULTS }, t.prototype.setContent = function () { var e = this.tip(), t = this.getTitle(), n = this.getContent(); if (this.options.html) { var r = typeof n; this.options.sanitize && (t = this.sanitizeHtml(t), "string" === r && (n = this.sanitizeHtml(n))), e.find(".popover-title").html(t), e.find(".popover-content").children().detach().end()["string" === r ? "html" : "append"](n) } else e.find(".popover-title").text(t), e.find(".popover-content").children().detach().end().text(n); e.removeClass("fade top bottom left right in"), e.find(".popover-title").html() || e.find(".popover-title").hide() }, t.prototype.hasContent = function () { return this.getTitle() || this.getContent() }, t.prototype.getContent = function () { var e = this.$element, t = this.options; return e.attr("data-content") || ("function" == typeof t.content ? t.content.call(e[0]) : t.content) }, t.prototype.arrow = function () { return this.$arrow = this.$arrow || this.tip().find(".arrow") }; var n = e.fn.popover; e.fn.popover = function (n) { return this.each((function () { var r = e(this), i = r.data("bs.popover"), o = "object" == typeof n && n; !i && /destroy|hide/.test(n) || (i || r.data("bs.popover", i = new t(this, o)), "string" == typeof n && i[n]()) })) }, e.fn.popover.Constructor = t, e.fn.popover.noConflict = function () { return e.fn.popover = n, this } }(jQuery) }, function (e, t, n) { "use strict"; n.r(t); var r = n(133); for (var i in r) ["default", "core"].indexOf(i) < 0 && function (e) { n.d(t, e, (function () { return r[e] })) }(i); var o = n(114); n.d(t, "watchDigests", (function () { return o.b })), n.d(t, "getLocals", (function () { return o.a })); var a = n(55); n.d(t, "getNg1ViewConfigFactory", (function () { return a.b })), n.d(t, "ng1ViewsBuilder", (function () { return a.c })), n.d(t, "Ng1ViewConfig", (function () { return a.a })); var s = n(112); n.d(t, "StateProvider", (function () { return s.a })); var l = n(113); n.d(t, "UrlRouterProvider", (function () { return l.a })); n(220), n(221), n(222), n(223), n(224); var c = n(2); for (var i in n.d(t, "core", (function () { return c })), c) ["default", "core", "watchDigests", "getLocals", "getNg1ViewConfigFactory", "ng1ViewsBuilder", "Ng1ViewConfig", "StateProvider", "UrlRouterProvider"].indexOf(i) < 0 && function (e) { n.d(t, e, (function () { return c[e] })) }(i); t.default = "ui.router" }, function (e, t) { }, function (e, t, n) { "use strict"; var r, i, o, a = n(12), s = n(2); function l(e) { var t = e.match(/^\s*({[^}]*})\s*$/); t && (e = "(" + t[1] + ")"); var n = e.replace(/\n/g, " ").match(/^\s*([^(]*?)\s*(\((.*)\))?\s*$/); if (!n || 4 !== n.length) throw new Error("Invalid state ref '" + e + "'"); return { state: n[1] || null, paramExpr: n[3] || null } } function c(e) { var t = e.parent().inheritedData("$uiView"), n = Object(s.parse)("$cfg.path")(t); return n ? Object(s.tail)(n).state.name : void 0 } function u(e, t, n) { var r = n.uiState || e.current.name, i = Object(s.extend)(function (e, t) { return { relative: c(e) || t.$current, inherit: !0, source: "sref" } }(t, e), n.uiStateOpts || {}), o = e.href(r, n.uiStateParams, i); return { uiState: r, uiStateParams: n.uiStateParams, uiStateOpts: i, href: o } } function d(e) { var t = "[object SVGAnimatedString]" === Object.prototype.toString.call(e.prop("href")), n = "FORM" === e[0].nodeName; return { attr: n ? "action" : t ? "xlink:href" : "href", isAnchor: "A" === e.prop("tagName").toUpperCase(), clickable: !n } } function p(e, t, n, r, i) { return function (o) { var a = o.which || o.button, s = i(); if (!(a > 1 || o.ctrlKey || o.metaKey || o.shiftKey || o.altKey || e.attr("target"))) { var l = n((function () { e.attr("disabled") || t.go(s.uiState, s.uiStateParams, s.uiStateOpts) })); o.preventDefault(); var c = r.isAnchor && !s.href ? 1 : 0; o.preventDefault = function () { c-- <= 0 && n.cancel(l) } } } } function f(e, t, n, r) { var i; r && (i = r.events), Object(s.isArray)(i) || (i = ["click"]); for (var o = e.on ? "on" : "bind", a = 0, l = i; a < l.length; a++) { var c = l[a]; e[o](c, n) } t.$on("$destroy", (function () { for (var t = e.off ? "off" : "unbind", r = 0, o = i; r < o.length; r++) { var a = o[r]; e[t](a, n) } })) } r = ["$uiRouter", "$timeout", function (e, t) { var n = e.stateService; return { restrict: "A", require: ["?^uiSrefActive", "?^uiSrefActiveEq"], link: function (r, i, o, a) { var c = d(i), h = a[1] || a[0], g = null, m = {}, v = function () { return u(n, i, m) }, b = l(o.uiSref); function y() { var e = v(); g && g(), h && (g = h.$$addStateInfo(e.uiState, e.uiStateParams)), null != e.href && o.$set(c.attr, e.href) } if (m.uiState = b.state, m.uiStateOpts = o.uiSrefOpts ? r.$eval(o.uiSrefOpts) : {}, b.paramExpr && (r.$watch(b.paramExpr, (function (e) { m.uiStateParams = Object(s.extend)({}, e), y() }), !0), m.uiStateParams = Object(s.extend)({}, r.$eval(b.paramExpr))), y(), r.$on("$destroy", e.stateRegistry.onStatesChanged(y)), r.$on("$destroy", e.transitionService.onSuccess({}, y)), c.clickable) { var x = p(i, n, t, c, v); f(i, r, x, m.uiStateOpts) } } } }], i = ["$uiRouter", "$timeout", function (e, t) { var n = e.stateService; return { restrict: "A", require: ["?^uiSrefActive", "?^uiSrefActiveEq"], link: function (r, i, o, a) { var l, c = d(i), h = a[1] || a[0], g = null, m = {}, v = function () { return u(n, i, m) }, b = ["uiState", "uiStateParams", "uiStateOpts"], y = b.reduce((function (e, t) { return e[t] = s.noop, e }), {}); function x() { var e = v(); g && g(), h && (g = h.$$addStateInfo(e.uiState, e.uiStateParams)), null != e.href && o.$set(c.attr, e.href) } b.forEach((function (e) { m[e] = o[e] ? r.$eval(o[e]) : null, o.$observe(e, (function (t) { y[e](), y[e] = r.$watch(t, (function (t) { m[e] = t, x() }), !0) })) })), x(), r.$on("$destroy", e.stateRegistry.onStatesChanged(x)), r.$on("$destroy", e.transitionService.onSuccess({}, x)), c.clickable && (l = p(i, n, t, c, v), f(i, r, l, m.uiStateOpts)) } } }], o = ["$state", "$stateParams", "$interpolate", "$uiRouter", function (e, t, n, r) { return { restrict: "A", controller: ["$scope", "$element", "$attrs", function (t, i, o) { var a, u, d, p, f, h = []; a = n(o.uiSrefActiveEq || "", !1)(t); try { u = t.$eval(o.uiSrefActive) } catch (e) { } function g(e) { e.promise.then(y, s.noop) } function m() { v(u) } function v(e) { Object(s.isObject)(e) && (h = [], Object(s.forEach)(e, (function (e, n) { var r = function (e, n) { var r = l(e); b(r.state, t.$eval(r.paramExpr), n) }; Object(s.isString)(e) ? r(e, n) : Object(s.isArray)(e) && Object(s.forEach)(e, (function (e) { r(e, n) })) }))) } function b(t, n, r) { var o = { state: e.get(t, c(i)) || { name: t }, params: n, activeClass: r }; return h.push(o), function () { Object(s.removeFrom)(h)(o) } } function y() { var n = function (e) { return e.split(/\s/).filter(s.identity) }, r = function (e) { return e.map((function (e) { return e.activeClass })).map(n).reduce(s.unnestR, []) }, o = r(h).concat(n(a)).reduce(s.uniqR, []), l = r(h.filter((function (t) { return e.includes(t.state.name, t.params) }))), c = !!h.filter((function (t) { return e.is(t.state.name, t.params) })).length ? n(a) : [], u = l.concat(c).reduce(s.uniqR, []), d = o.filter((function (e) { return !Object(s.inArray)(u, e) })); t.$evalAsync((function () { u.forEach((function (e) { return i.addClass(e) })), d.forEach((function (e) { return i.removeClass(e) })) })) } v(u = u || n(o.uiSrefActive || "", !1)(t)), this.$$addStateInfo = function (e, t) { if (!(Object(s.isObject)(u) && h.length > 0)) { var n = b(e, t, u); return y(), n } }, t.$on("$destroy", (d = r.stateRegistry.onStatesChanged(m), p = r.transitionService.onStart({}, g), f = t.$on("$stateChangeSuccess", y), function () { d(), p(), f() })), r.globals.transition && g(r.globals.transition), y() }] } }], a.a.module("ui.router.state").directive("uiSref", r).directive("uiSrefActive", o).directive("uiSrefActiveEq", o).directive("uiState", i) }, function (e, t, n) { "use strict"; var r = n(12); function i(e) { var t = function (t, n, r) { return e.is(t, n, r) }; return t.$stateful = !0, t } function o(e) { var t = function (t, n, r) { return e.includes(t, n, r) }; return t.$stateful = !0, t } i.$inject = ["$state"], o.$inject = ["$state"], r.a.module("ui.router.state").filter("isState", i).filter("includedByState", o) }, function (e, t, n) { "use strict"; var r, i = n(2), o = n(12), a = n(114), s = n(55); function l(e, t, n, r, s) { var l = Object(i.parse)("viewDecl.controllerAs"), c = Object(i.parse)("viewDecl.resolveAs"); return { restrict: "ECA", priority: -400, compile: function (r) { var u = r.html(); return r.empty(), function (r, p) { var f = p.data("$uiView"); if (!f) return p.html(u), void e(p.contents())(r); var h = f.$cfg || { viewDecl: {}, getTemplate: i.noop }, g = h.path && new i.ResolveContext(h.path); p.html(h.getTemplate(p, g) || u), i.trace.traceUIViewFill(f.$uiView, p.html()); var m = e(p.contents()), v = h.controller, b = l(h), y = c(h), x = g && Object(a.a)(g); if (r[y] = x, v) { var w = t(v, Object(i.extend)({}, x, { $scope: r, $element: p })); b && (r[b] = w, r[b][y] = x), p.data("$ngControllerController", w), p.children().data("$ngControllerController", w), d(s, n, w, r, h) } if (Object(i.isString)(h.component)) var k = Object(i.kebobString)(h.component), A = new RegExp("^(x-|data-)?" + k + "$", "i"), E = r.$watch((function () { var e = [].slice.call(p[0].children).filter((function (e) { return e && e.tagName && A.exec(e.tagName) })); return e && o.a.element(e).data("$" + h.component + "Controller") }), (function (e) { e && (d(s, n, e, r, h), E()) })); m(r) } } } } r = ["$view", "$animate", "$uiViewScroll", "$interpolate", "$q", function (e, t, n, r, a) { var l = { $cfg: { viewDecl: { $context: e._pluginapi._rootViewContext() } }, $uiView: {} }, c = { count: 0, restrict: "ECA", terminal: !0, priority: 400, transclude: "element", compile: function (u, d, p) { return function (u, d, f) { var h, g, m, v, b = f.onload || "", y = f.autoscroll, x = { enter: function (e, n, r) { o.a.version.minor > 2 ? t.enter(e, null, n).then(r) : t.enter(e, null, n, r) }, leave: function (e, n) { o.a.version.minor > 2 ? t.leave(e).then(n) : t.leave(e, n) } }, w = d.inheritedData("$uiView") || l, k = r(f.uiView || f.name || "")(u) || "$default", A = { $type: "ng1", id: c.count++, name: k, fqn: w.$uiView.fqn ? w.$uiView.fqn + "." + k : k, config: null, configUpdated: function (e) { if (e && !(e instanceof s.a)) return; if (t = v, n = e, t === n) return; var t, n; i.trace.traceUIViewConfigUpdated(A, e && e.viewDecl && e.viewDecl.$context), v = e, S(e) }, get creationContext() { var e = Object(i.parse)("$cfg.viewDecl.$context")(w), t = Object(i.parse)("$uiView.creationContext")(w); return e || t } }; i.trace.traceUIViewEvent("Linking", A), d.data("$uiView", { $uiView: A }), S(); var E = e.registerUIView(A); function S(e) { var t = u.$new(), r = a.defer(), o = a.defer(), s = { $cfg: e, $uiView: A }, l = { $animEnter: r.promise, $animLeave: o.promise, $$animLeave: o }; t.$emit("$viewContentLoading", k); var c = p(t, (function (e) { e.data("$uiViewAnim", l), e.data("$uiView", s), x.enter(e, d, (function () { r.resolve(), m && m.$emit("$viewContentAnimationEnded"), (Object(i.isDefined)(y) && !y || u.$eval(y)) && n(e) })), function () { if (h && (i.trace.traceUIViewEvent("Removing (previous) el", h.data("$uiView")), h.remove(), h = null), m && (i.trace.traceUIViewEvent("Destroying scope", A), m.$destroy(), m = null), g) { var e = g.data("$uiViewAnim"); i.trace.traceUIViewEvent("Animate out", e), x.leave(g, (function () { e.$$animLeave.resolve(), h = null })), h = g, g = null } }() })); g = c, (m = t).$emit("$viewContentLoaded", e || v), m.$eval(b) } u.$on("$destroy", (function () { i.trace.traceUIViewEvent("Destroying/Unregistering", A), E() })) } } }; return c }], l.$inject = ["$compile", "$controller", "$transitions", "$view", "$q"]; var c = "function" == typeof o.a.module("ui.router").component, u = 0; function d(e, t, n, r, o) { !Object(i.isFunction)(n.$onInit) || (o.viewDecl.component || o.viewDecl.componentProvider) && c || n.$onInit(); var a = Object(i.tail)(o.path).state.self, s = { bind: n }; if (Object(i.isFunction)(n.uiOnParamsChanged)) { var l = new i.ResolveContext(o.path).getResolvable("$transition$").data; r.$on("$destroy", t.onSuccess({}, (function (e) { if (e !== l && -1 === e.exiting().indexOf(a)) { var t = e.params("to"), r = e.params("from"), o = function (e) { return e.paramSchema }, s = e.treeChanges("to").map(o).reduce(i.unnestR, []), c = e.treeChanges("from").map(o).reduce(i.unnestR, []), u = s.filter((function (e) { var n = c.indexOf(e); return -1 === n || !c[n].type.equals(t[e.id], r[e.id]) })); if (u.length) { var d = u.map((function (e) { return e.id })), p = Object(i.filter)(t, (function (e, t) { return -1 !== d.indexOf(t) })); n.uiOnParamsChanged(p, e) } } }), s)) } if (Object(i.isFunction)(n.uiCanExit)) { var d = u++, p = function (e) { return !!e && (e._uiCanExitIds && !0 === e._uiCanExitIds[d] || p(e.redirectedFrom())) }, f = { exiting: a.name }; r.$on("$destroy", t.onBefore(f, (function (t) { var r, i = t._uiCanExitIds = t._uiCanExitIds || {}; return p(t) || (r = e.when(n.uiCanExit(t))).then((function (e) { return i[d] = !1 !== e })), r }), s)) } } o.a.module("ui.router.state").directive("uiView", r), o.a.module("ui.router.state").directive("uiView", l) }, function (e, t, n) { "use strict"; n(12).a.module("ui.router.state").provider("$uiViewScroll", (function () { var e = !1; this.useAnchorScroll = function () { e = !0 }, this.$get = ["$anchorScroll", "$timeout", function (t, n) { return e ? t : function (e) { return n((function () { e[0].scrollIntoView() }), 0, !1) } }] })) }, function (e, t, n) { n(226), e.exports = "ngRoute" }, function (e, t) {
203
+ /**
204
+ * @license AngularJS v1.8.2
205
+ * (c) 2010-2020 Google LLC. http://angularjs.org
206
+ * License: MIT
207
+ */
208
+ !function (e, t) { "use strict"; function n(e, t) { var n = [], r = e.replace(/([().])/g, "\\$1").replace(/(\/)?:(\w+)(\*\?|[?*])?/g, (function (e, t, r, i) { var o = "?" === i || "*?" === i, a = "*" === i || "*?" === i; return n.push({ name: r, optional: o }), t = t || "", (o ? "(?:" + t : t + "(?:") + (a ? "(.+?)" : "([^/]+)") + (o ? "?)?" : ")") })).replace(/([/$*])/g, "\\$1"); return t.ignoreTrailingSlashes && (r = r.replace(/\/+$/, "") + "/*"), { keys: n, regexp: new RegExp("^" + r + "(?:[?#]|$)", t.caseInsensitiveMatch ? "i" : "") } } var r, i, o, a, s, l = t.module("ngRoute", []).info({ angularVersion: "1.8.2" }).provider("$route", (function () { function e(e, n) { return t.extend(Object.create(e), n) } r = t.isArray, i = t.isObject, o = t.isDefined, a = t.noop; var l = {}; this.when = function (e, o) { var a = function (e, t) { if (r(e)) { t = t || []; for (var n = 0, o = e.length; n < o; n++)t[n] = e[n] } else if (i(e)) for (var a in t = t || {}, e) "$" === a.charAt(0) && "$" === a.charAt(1) || (t[a] = e[a]); return t || e }(o); if (t.isUndefined(a.reloadOnUrl) && (a.reloadOnUrl = !0), t.isUndefined(a.reloadOnSearch) && (a.reloadOnSearch = !0), t.isUndefined(a.caseInsensitiveMatch) && (a.caseInsensitiveMatch = this.caseInsensitiveMatch), l[e] = t.extend(a, { originalPath: e }, e && n(e, a)), e) { var s = "/" === e[e.length - 1] ? e.substr(0, e.length - 1) : e + "/"; l[s] = t.extend({ originalPath: e, redirectTo: e }, n(s, a)) } return this }, this.caseInsensitiveMatch = !1, this.otherwise = function (e) { return "string" == typeof e && (e = { redirectTo: e }), this.when(null, e), this }, s = !0, this.eagerInstantiationEnabled = function (e) { return o(e) ? (s = e, this) : s }, this.$get = ["$rootScope", "$location", "$routeParams", "$q", "$injector", "$templateRequest", "$sce", "$browser", function (n, r, i, o, s, u, d, p) { var f, h, g = !1, m = { routes: l, reload: function () { g = !0; var e = { defaultPrevented: !1, preventDefault: function () { this.defaultPrevented = !0, g = !1 } }; n.$evalAsync((function () { v(e), e.defaultPrevented || b() })) }, updateParams: function (e) { if (!this.current || !this.current.$$route) throw c("norout", "Tried updating route with no current route"); e = t.extend({}, this.current.params, e), r.path(k(this.current.$$route.originalPath, e)), r.search(e) } }; return n.$on("$locationChangeStart", v), n.$on("$locationChangeSuccess", b), m; function v(i) { var o, a, s, c, u = m.current; t.forEach(l, (function (n, i) { !a && (o = function (e, t) { var n = t.keys, r = {}; if (!t.regexp) return null; var i = t.regexp.exec(e); if (!i) return null; for (var o = 1, a = i.length; o < a; ++o) { var s = n[o - 1], l = i[o]; s && l && (r[s.name] = l) } return r }(r.path(), n)) && ((a = e(n, { params: t.extend({}, r.search(), o), pathParams: o })).$$route = n) })), f = a || l.null && e(l.null, { params: {}, pathParams: {} }), s = f, c = u, (h = !g && s && c && s.$$route === c.$$route && (!s.reloadOnUrl || !s.reloadOnSearch && t.equals(s.pathParams, c.pathParams))) || !u && !f || n.$broadcast("$routeChangeStart", f, u).defaultPrevented && i && i.preventDefault() } function b() { var e = m.current, r = f; if (h) e.params = r.params, t.copy(e.params, i), n.$broadcast("$routeUpdate", e); else if (r || e) { g = !1, m.current = r; var s = o.resolve(r); p.$$incOutstandingRequestCount("$route"), s.then(y).then(x).then((function (o) { return o && s.then(w).then((function (o) { r === m.current && (r && (r.locals = o, t.copy(r.params, i)), n.$broadcast("$routeChangeSuccess", r, e)) })) })).catch((function (t) { r === m.current && n.$broadcast("$routeChangeError", r, e, t) })).finally((function () { p.$$completeOutstandingRequest(a, "$route") })) } } function y(e) { var n = { route: e, hasRedirection: !1 }; if (e) if (e.redirectTo) if (t.isString(e.redirectTo)) n.path = k(e.redirectTo, e.params), n.search = e.params, n.hasRedirection = !0; else { var i = r.path(), a = r.search(), l = e.redirectTo(e.pathParams, i, a); t.isDefined(l) && (n.url = l, n.hasRedirection = !0) } else if (e.resolveRedirectTo) return o.resolve(s.invoke(e.resolveRedirectTo)).then((function (e) { return t.isDefined(e) && (n.url = e, n.hasRedirection = !0), n })); return n } function x(e) { var t = !0; if (e.route !== m.current) t = !1; else if (e.hasRedirection) { var n = r.url(), i = e.url; i ? r.url(i).replace() : i = r.path(e.path).search(e.search).replace().url(), i !== n && (t = !1) } return t } function w(e) { if (e) { var n = t.extend({}, e.resolve); t.forEach(n, (function (e, r) { n[r] = t.isString(e) ? s.get(e) : s.invoke(e, null, null, r) })); var r = function (e) { var n, r; t.isDefined(n = e.template) ? t.isFunction(n) && (n = n(e.params)) : t.isDefined(r = e.templateUrl) && (t.isFunction(r) && (r = r(e.params)), t.isDefined(r) && (e.loadedTemplateUrl = d.valueOf(r), n = u(r))); return n }(e); return t.isDefined(r) && (n.$template = r), o.all(n) } } function k(e, n) { var r = []; return t.forEach((e || "").split(":"), (function (e, t) { if (0 === t) r.push(e); else { var i = e.match(/(\w+)(?:[?*])?(.*)/), o = i[1]; r.push(n[o]), r.push(i[2] || ""), delete n[o] } })), r.join("") } }] })).run(u), c = t.$$minErr("ngRoute"); function u(e) { s && e.get("$route") } function d(e, n, r) { return { restrict: "ECA", terminal: !0, priority: 400, transclude: "element", link: function (i, o, a, s, l) { var c, u, d, p = a.autoscroll, f = a.onload || ""; function h() { d && (r.cancel(d), d = null), c && (c.$destroy(), c = null), u && ((d = r.leave(u)).done((function (e) { !1 !== e && (d = null) })), u = null) } function g() { var a = e.current && e.current.locals, s = a && a.$template; if (t.isDefined(s)) { var d = i.$new(), g = e.current, m = l(d, (function (e) { r.enter(e, null, u || o).done((function (e) { !1 === e || !t.isDefined(p) || p && !i.$eval(p) || n() })), h() })); u = m, (c = g.scope = d).$emit("$viewContentLoaded"), c.$eval(f) } else h() } i.$on("$routeChangeSuccess", g), g() } } } function p(e, t, n) { return { restrict: "ECA", priority: -400, link: function (r, i) { var o = n.current, a = o.locals; i.html(a.$template); var s = e(i.contents()); if (o.controller) { a.$scope = r; var l = t(o.controller, a); o.controllerAs && (r[o.controllerAs] = l), i.data("$ngControllerController", l), i.children().data("$ngControllerController", l) } r[o.resolveAs || "$resolve"] = a, s(r) } } } u.$inject = ["$injector"], l.provider("$routeParams", (function () { this.$get = function () { return {} } })), l.directive("ngView", d), l.directive("ngView", p), d.$inject = ["$route", "$anchorScroll", "$animate"], p.$inject = ["$compile", "$controller", "$route"] }(window, window.angular)
209
+ }, function (e, t, n) { "use strict"; var r = n(228); function i(e, t, n) { return { restrict: "AE", replace: !0, scope: { opts: "=", marked: "=", compile: "@", src: "=" }, link: function (i, o, a) { function s(t) { t = r(String(t || "")), o.html(e(t, i.opts || null)), i.$eval(a.compile) && n(o.contents())(i.$parent) } a.marked ? (s(i.marked), i.$watch("marked", s)) : a.src ? i.$watch("src", (function (e) { t(e, !0).then((function (e) { s(e) }), (function () { s(""), i.$emit("$markedIncludeError", a.src) })) })) : s(o.text()) } } } i.$inject = ["marked", "$templateRequest", "$compile"], e.exports = angular.module("hc.marked", []).directive("marked", i).provider("marked", (function () { var e = this; e.setRenderer = function (e) { this.renderer = e }, e.setOptions = function (e) { this.defaults = e }, e.$get = ["$log", "$window", function (t, r) { var i; try { i = n(229) } catch (e) { i = r.marked || marked } if (!angular.isUndefined(i)) { var o = new i.Renderer; if (e.renderer) for (var a = Object.keys(e.renderer), s = a.length; s--;)o[a[s]] = e.renderer[a[s]]; var l = o.code.bind(o); o.code = function (e, t, n) { return u(l(e, t, n)) }; var c = o.codespan.bind(o); return o.codespan = function (e) { return u(c(e)) }, e.defaults = e.defaults || {}, e.defaults.renderer = o, i.setOptions(e.defaults), i } function u(e) { return "<span ng-non-bindable>" + e + "</span>" } t.error("angular-marked Error: marked not loaded. See installation instructions.") }] })).name }, function (e, t) { e.exports = function (e) { if (!e) return e; var t, n = e.replace(/\t/g, " ").split(/\r?\n/), r = null, i = n.length; for (t = 0; t < i; t++) { var o = n[t], a = o.match(/^(\s*)/)[0].length; a !== o.length && (r = a < r || null === r ? a : r) } if (null !== r && r > 0) for (t = 0; t < i; t++)n[t] = n[t].substr(r); return n.join("\n") } }, function (e, t, n) { (function (t) { !function (t) { "use strict"; var n = { newline: /^\n+/, code: /^( {4}[^\n]+\n*)+/, fences: g, hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/, heading: /^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/, nptable: g, blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/, list: /^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/, html: /^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/, def: /^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/, table: g, lheading: /^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/, paragraph: /^([^\n]+(?:\n?(?!hr|heading|lheading| {0,3}>|tag)[^\n]+)+)/, text: /^[^\n]+/ }; function r(e) { this.tokens = [], this.tokens.links = {}, this.options = e || v.defaults, this.rules = n.normal, this.options.gfm && (this.options.tables ? this.rules = n.tables : this.rules = n.gfm) } n._label = /(?:\\[\[\]]|[^\[\]])+/, n._title = /(?:"(?:\\"|[^"]|"[^"\n]*")*"|'\n?(?:[^'\n]+\n?)*'|\([^()]*\))/, n.def = d(n.def).replace("label", n._label).replace("title", n._title).getRegex(), n.bullet = /(?:[*+-]|\d+\.)/, n.item = /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/, n.item = d(n.item, "gm").replace(/bull/g, n.bullet).getRegex(), n.list = d(n.list).replace(/bull/g, n.bullet).replace("hr", "\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def", "\\n+(?=" + n.def.source + ")").getRegex(), n._tag = "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b", n.html = d(n.html).replace("comment", /<!--[\s\S]*?-->/).replace("closed", /<(tag)[\s\S]+?<\/\1>/).replace("closing", /<tag(?:"[^"]*"|'[^']*'|\s[^'"\/>\s]*)*?\/?>/).replace(/tag/g, n._tag).getRegex(), n.paragraph = d(n.paragraph).replace("hr", n.hr).replace("heading", n.heading).replace("lheading", n.lheading).replace("tag", "<" + n._tag).getRegex(), n.blockquote = d(n.blockquote).replace("paragraph", n.paragraph).getRegex(), n.normal = m({}, n), n.gfm = m({}, n.normal, { fences: /^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\n? *\1 *(?:\n+|$)/, paragraph: /^/, heading: /^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/ }), n.gfm.paragraph = d(n.paragraph).replace("(?!", "(?!" + n.gfm.fences.source.replace("\\1", "\\2") + "|" + n.list.source.replace("\\1", "\\3") + "|").getRegex(), n.tables = m({}, n.gfm, { nptable: /^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/, table: /^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/ }), r.rules = n, r.lex = function (e, t) { return new r(t).lex(e) }, r.prototype.lex = function (e) { return e = e.replace(/\r\n|\r/g, "\n").replace(/\t/g, " ").replace(/\u00a0/g, " ").replace(/\u2424/g, "\n"), this.token(e, !0) }, r.prototype.token = function (e, t) { var r, i, o, a, s, l, c, u, d, p, f; for (e = e.replace(/^ +$/gm, ""); e;)if ((o = this.rules.newline.exec(e)) && (e = e.substring(o[0].length), o[0].length > 1 && this.tokens.push({ type: "space" })), o = this.rules.code.exec(e)) e = e.substring(o[0].length), o = o[0].replace(/^ {4}/gm, ""), this.tokens.push({ type: "code", text: this.options.pedantic ? o : o.replace(/\n+$/, "") }); else if (o = this.rules.fences.exec(e)) e = e.substring(o[0].length), this.tokens.push({ type: "code", lang: o[2], text: o[3] || "" }); else if (o = this.rules.heading.exec(e)) e = e.substring(o[0].length), this.tokens.push({ type: "heading", depth: o[1].length, text: o[2] }); else if (t && (o = this.rules.nptable.exec(e))) { for (e = e.substring(o[0].length), l = { type: "table", header: o[1].replace(/^ *| *\| *$/g, "").split(/ *\| */), align: o[2].replace(/^ *|\| *$/g, "").split(/ *\| */), cells: o[3].replace(/\n$/, "").split("\n") }, u = 0; u < l.align.length; u++)/^ *-+: *$/.test(l.align[u]) ? l.align[u] = "right" : /^ *:-+: *$/.test(l.align[u]) ? l.align[u] = "center" : /^ *:-+ *$/.test(l.align[u]) ? l.align[u] = "left" : l.align[u] = null; for (u = 0; u < l.cells.length; u++)l.cells[u] = l.cells[u].split(/ *\| */); this.tokens.push(l) } else if (o = this.rules.hr.exec(e)) e = e.substring(o[0].length), this.tokens.push({ type: "hr" }); else if (o = this.rules.blockquote.exec(e)) e = e.substring(o[0].length), this.tokens.push({ type: "blockquote_start" }), o = o[0].replace(/^ *> ?/gm, ""), this.token(o, t), this.tokens.push({ type: "blockquote_end" }); else if (o = this.rules.list.exec(e)) { for (e = e.substring(o[0].length), f = (a = o[2]).length > 1, this.tokens.push({ type: "list_start", ordered: f, start: f ? +a : "" }), r = !1, p = (o = o[0].match(this.rules.item)).length, u = 0; u < p; u++)c = (l = o[u]).length, ~(l = l.replace(/^ *([*+-]|\d+\.) +/, "")).indexOf("\n ") && (c -= l.length, l = this.options.pedantic ? l.replace(/^ {1,4}/gm, "") : l.replace(new RegExp("^ {1," + c + "}", "gm"), "")), this.options.smartLists && u !== p - 1 && (a === (s = n.bullet.exec(o[u + 1])[0]) || a.length > 1 && s.length > 1 || (e = o.slice(u + 1).join("\n") + e, u = p - 1)), i = r || /\n\n(?!\s*$)/.test(l), u !== p - 1 && (r = "\n" === l.charAt(l.length - 1), i || (i = r)), this.tokens.push({ type: i ? "loose_item_start" : "list_item_start" }), this.token(l, !1), this.tokens.push({ type: "list_item_end" }); this.tokens.push({ type: "list_end" }) } else if (o = this.rules.html.exec(e)) e = e.substring(o[0].length), this.tokens.push({ type: this.options.sanitize ? "paragraph" : "html", pre: !this.options.sanitizer && ("pre" === o[1] || "script" === o[1] || "style" === o[1]), text: o[0] }); else if (t && (o = this.rules.def.exec(e))) e = e.substring(o[0].length), o[3] && (o[3] = o[3].substring(1, o[3].length - 1)), d = o[1].toLowerCase(), this.tokens.links[d] || (this.tokens.links[d] = { href: o[2], title: o[3] }); else if (t && (o = this.rules.table.exec(e))) { for (e = e.substring(o[0].length), l = { type: "table", header: o[1].replace(/^ *| *\| *$/g, "").split(/ *\| */), align: o[2].replace(/^ *|\| *$/g, "").split(/ *\| */), cells: o[3].replace(/(?: *\| *)?\n$/, "").split("\n") }, u = 0; u < l.align.length; u++)/^ *-+: *$/.test(l.align[u]) ? l.align[u] = "right" : /^ *:-+: *$/.test(l.align[u]) ? l.align[u] = "center" : /^ *:-+ *$/.test(l.align[u]) ? l.align[u] = "left" : l.align[u] = null; for (u = 0; u < l.cells.length; u++)l.cells[u] = l.cells[u].replace(/^ *\| *| *\| *$/g, "").split(/ *\| */); this.tokens.push(l) } else if (o = this.rules.lheading.exec(e)) e = e.substring(o[0].length), this.tokens.push({ type: "heading", depth: "=" === o[2] ? 1 : 2, text: o[1] }); else if (t && (o = this.rules.paragraph.exec(e))) e = e.substring(o[0].length), this.tokens.push({ type: "paragraph", text: "\n" === o[1].charAt(o[1].length - 1) ? o[1].slice(0, -1) : o[1] }); else if (o = this.rules.text.exec(e)) e = e.substring(o[0].length), this.tokens.push({ type: "text", text: o[0] }); else if (e) throw new Error("Infinite loop on byte: " + e.charCodeAt(0)); return this.tokens }; var i = { escape: /^\\([\\`*{}\[\]()#+\-.!_>])/, autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/, url: g, tag: /^<!--[\s\S]*?-->|^<\/?[a-zA-Z0-9\-]+(?:"[^"]*"|'[^']*'|\s[^<'">\/\s]*)*?\/?>/, link: /^!?\[(inside)\]\(href\)/, reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/, nolink: /^!?\[((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\]/, strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/, em: /^_([^\s_](?:[^_]|__)+?[^\s_])_\b|^\*((?:\*\*|[^*])+?)\*(?!\*)/, code: /^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/, br: /^ {2,}\n(?!\s*$)/, del: g, text: /^[\s\S]+?(?=[\\<!\[`*]|\b_| {2,}\n|$)/ }; function o(e, t) { if (this.options = t || v.defaults, this.links = e, this.rules = i.normal, this.renderer = this.options.renderer || new a, this.renderer.options = this.options, !this.links) throw new Error("Tokens array requires a `links` property."); this.options.gfm ? this.options.breaks ? this.rules = i.breaks : this.rules = i.gfm : this.options.pedantic && (this.rules = i.pedantic) } function a(e) { this.options = e || {} } function s() { } function l(e) { this.tokens = [], this.token = null, this.options = e || v.defaults, this.options.renderer = this.options.renderer || new a, this.renderer = this.options.renderer, this.renderer.options = this.options } function c(e, t) { return e.replace(t ? /&/g : /&(?!#?\w+;)/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;") } function u(e) { return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi, (function (e, t) { return "colon" === (t = t.toLowerCase()) ? ":" : "#" === t.charAt(0) ? "x" === t.charAt(1) ? String.fromCharCode(parseInt(t.substring(2), 16)) : String.fromCharCode(+t.substring(1)) : "" })) } function d(e, t) { return e = e.source, t = t || "", { replace: function (t, n) { return n = (n = n.source || n).replace(/(^|[^\[])\^/g, "$1"), e = e.replace(t, n), this }, getRegex: function () { return new RegExp(e, t) } } } function p(e, t) { return f[" " + e] || (/^[^:]+:\/*[^/]*$/.test(e) ? f[" " + e] = e + "/" : f[" " + e] = e.replace(/[^/]*$/, "")), e = f[" " + e], "//" === t.slice(0, 2) ? e.replace(/:[\s\S]*/, ":") + t : "/" === t.charAt(0) ? e.replace(/(:\/*[^/]*)[\s\S]*/, "$1") + t : e + t } i._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/, i._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/, i.autolink = d(i.autolink).replace("scheme", i._scheme).replace("email", i._email).getRegex(), i._inside = /(?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]]|\](?=[^\[]*\]))*/, i._href = /\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/, i.link = d(i.link).replace("inside", i._inside).replace("href", i._href).getRegex(), i.reflink = d(i.reflink).replace("inside", i._inside).getRegex(), i.normal = m({}, i), i.pedantic = m({}, i.normal, { strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/ }), i.gfm = m({}, i.normal, { escape: d(i.escape).replace("])", "~|])").getRegex(), url: d(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("email", i._email).getRegex(), _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/, del: /^~~(?=\S)([\s\S]*?\S)~~/, text: d(i.text).replace("]|", "~]|").replace("|", "|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&'*+/=?^_`{\\|}~-]+@|").getRegex() }), i.breaks = m({}, i.gfm, { br: d(i.br).replace("{2,}", "*").getRegex(), text: d(i.gfm.text).replace("{2,}", "*").getRegex() }), o.rules = i, o.output = function (e, t, n) { return new o(t, n).output(e) }, o.prototype.output = function (e) { for (var t, n, r, i, o = ""; e;)if (i = this.rules.escape.exec(e)) e = e.substring(i[0].length), o += i[1]; else if (i = this.rules.autolink.exec(e)) e = e.substring(i[0].length), r = "@" === i[2] ? "mailto:" + (n = c(this.mangle(i[1]))) : n = c(i[1]), o += this.renderer.link(r, null, n); else if (this.inLink || !(i = this.rules.url.exec(e))) { if (i = this.rules.tag.exec(e)) !this.inLink && /^<a /i.test(i[0]) ? this.inLink = !0 : this.inLink && /^<\/a>/i.test(i[0]) && (this.inLink = !1), e = e.substring(i[0].length), o += this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(i[0]) : c(i[0]) : i[0]; else if (i = this.rules.link.exec(e)) e = e.substring(i[0].length), this.inLink = !0, o += this.outputLink(i, { href: i[2], title: i[3] }), this.inLink = !1; else if ((i = this.rules.reflink.exec(e)) || (i = this.rules.nolink.exec(e))) { if (e = e.substring(i[0].length), t = (i[2] || i[1]).replace(/\s+/g, " "), !(t = this.links[t.toLowerCase()]) || !t.href) { o += i[0].charAt(0), e = i[0].substring(1) + e; continue } this.inLink = !0, o += this.outputLink(i, t), this.inLink = !1 } else if (i = this.rules.strong.exec(e)) e = e.substring(i[0].length), o += this.renderer.strong(this.output(i[2] || i[1])); else if (i = this.rules.em.exec(e)) e = e.substring(i[0].length), o += this.renderer.em(this.output(i[2] || i[1])); else if (i = this.rules.code.exec(e)) e = e.substring(i[0].length), o += this.renderer.codespan(c(i[2].trim(), !0)); else if (i = this.rules.br.exec(e)) e = e.substring(i[0].length), o += this.renderer.br(); else if (i = this.rules.del.exec(e)) e = e.substring(i[0].length), o += this.renderer.del(this.output(i[1])); else if (i = this.rules.text.exec(e)) e = e.substring(i[0].length), o += this.renderer.text(c(this.smartypants(i[0]))); else if (e) throw new Error("Infinite loop on byte: " + e.charCodeAt(0)) } else i[0] = this.rules._backpedal.exec(i[0])[0], e = e.substring(i[0].length), "@" === i[2] ? r = "mailto:" + (n = c(i[0])) : (n = c(i[0]), r = "www." === i[1] ? "http://" + n : n), o += this.renderer.link(r, null, n); return o }, o.prototype.outputLink = function (e, t) { var n = c(t.href), r = t.title ? c(t.title) : null; return "!" !== e[0].charAt(0) ? this.renderer.link(n, r, this.output(e[1])) : this.renderer.image(n, r, c(e[1])) }, o.prototype.smartypants = function (e) { return this.options.smartypants ? e.replace(/---/g, "—").replace(/--/g, "–").replace(/(^|[-\u2014/(\[{"\s])'/g, "$1‘").replace(/'/g, "’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g, "$1“").replace(/"/g, "”").replace(/\.{3}/g, "…") : e }, o.prototype.mangle = function (e) { if (!this.options.mangle) return e; for (var t, n = "", r = e.length, i = 0; i < r; i++)t = e.charCodeAt(i), Math.random() > .5 && (t = "x" + t.toString(16)), n += "&#" + t + ";"; return n }, a.prototype.code = function (e, t, n) { if (this.options.highlight) { var r = this.options.highlight(e, t); null != r && r !== e && (n = !0, e = r) } return t ? '<pre><code class="' + this.options.langPrefix + c(t, !0) + '">' + (n ? e : c(e, !0)) + "\n</code></pre>\n" : "<pre><code>" + (n ? e : c(e, !0)) + "\n</code></pre>" }, a.prototype.blockquote = function (e) { return "<blockquote>\n" + e + "</blockquote>\n" }, a.prototype.html = function (e) { return e }, a.prototype.heading = function (e, t, n) { return "<h" + t + ' id="' + this.options.headerPrefix + n.toLowerCase().replace(/[^\w]+/g, "-") + '">' + e + "</h" + t + ">\n" }, a.prototype.hr = function () { return this.options.xhtml ? "<hr/>\n" : "<hr>\n" }, a.prototype.list = function (e, t, n) { var r = t ? "ol" : "ul"; return "<" + r + (t && 1 !== n ? ' start="' + n + '"' : "") + ">\n" + e + "</" + r + ">\n" }, a.prototype.listitem = function (e) { return "<li>" + e + "</li>\n" }, a.prototype.paragraph = function (e) { return "<p>" + e + "</p>\n" }, a.prototype.table = function (e, t) { return "<table>\n<thead>\n" + e + "</thead>\n<tbody>\n" + t + "</tbody>\n</table>\n" }, a.prototype.tablerow = function (e) { return "<tr>\n" + e + "</tr>\n" }, a.prototype.tablecell = function (e, t) { var n = t.header ? "th" : "td"; return (t.align ? "<" + n + ' style="text-align:' + t.align + '">' : "<" + n + ">") + e + "</" + n + ">\n" }, a.prototype.strong = function (e) { return "<strong>" + e + "</strong>" }, a.prototype.em = function (e) { return "<em>" + e + "</em>" }, a.prototype.codespan = function (e) { return "<code>" + e + "</code>" }, a.prototype.br = function () { return this.options.xhtml ? "<br/>" : "<br>" }, a.prototype.del = function (e) { return "<del>" + e + "</del>" }, a.prototype.link = function (e, t, n) { if (this.options.sanitize) { try { var r = decodeURIComponent(u(e)).replace(/[^\w:]/g, "").toLowerCase() } catch (e) { return n } if (0 === r.indexOf("javascript:") || 0 === r.indexOf("vbscript:") || 0 === r.indexOf("data:")) return n } this.options.baseUrl && !h.test(e) && (e = p(this.options.baseUrl, e)); var i = '<a href="' + e + '"'; return t && (i += ' title="' + t + '"'), i += ">" + n + "</a>" }, a.prototype.image = function (e, t, n) { this.options.baseUrl && !h.test(e) && (e = p(this.options.baseUrl, e)); var r = '<img src="' + e + '" alt="' + n + '"'; return t && (r += ' title="' + t + '"'), r += this.options.xhtml ? "/>" : ">" }, a.prototype.text = function (e) { return e }, s.prototype.strong = s.prototype.em = s.prototype.codespan = s.prototype.del = s.prototype.text = function (e) { return e }, s.prototype.link = s.prototype.image = function (e, t, n) { return "" + n }, s.prototype.br = function () { return "" }, l.parse = function (e, t) { return new l(t).parse(e) }, l.prototype.parse = function (e) { this.inline = new o(e.links, this.options), this.inlineText = new o(e.links, m({}, this.options, { renderer: new s })), this.tokens = e.reverse(); for (var t = ""; this.next();)t += this.tok(); return t }, l.prototype.next = function () { return this.token = this.tokens.pop() }, l.prototype.peek = function () { return this.tokens[this.tokens.length - 1] || 0 }, l.prototype.parseText = function () { for (var e = this.token.text; "text" === this.peek().type;)e += "\n" + this.next().text; return this.inline.output(e) }, l.prototype.tok = function () { switch (this.token.type) { case "space": return ""; case "hr": return this.renderer.hr(); case "heading": return this.renderer.heading(this.inline.output(this.token.text), this.token.depth, u(this.inlineText.output(this.token.text))); case "code": return this.renderer.code(this.token.text, this.token.lang, this.token.escaped); case "table": var e, t, n, r, i = "", o = ""; for (n = "", e = 0; e < this.token.header.length; e++)n += this.renderer.tablecell(this.inline.output(this.token.header[e]), { header: !0, align: this.token.align[e] }); for (i += this.renderer.tablerow(n), e = 0; e < this.token.cells.length; e++) { for (t = this.token.cells[e], n = "", r = 0; r < t.length; r++)n += this.renderer.tablecell(this.inline.output(t[r]), { header: !1, align: this.token.align[r] }); o += this.renderer.tablerow(n) } return this.renderer.table(i, o); case "blockquote_start": for (o = ""; "blockquote_end" !== this.next().type;)o += this.tok(); return this.renderer.blockquote(o); case "list_start": o = ""; for (var a = this.token.ordered, s = this.token.start; "list_end" !== this.next().type;)o += this.tok(); return this.renderer.list(o, a, s); case "list_item_start": for (o = ""; "list_item_end" !== this.next().type;)o += "text" === this.token.type ? this.parseText() : this.tok(); return this.renderer.listitem(o); case "loose_item_start": for (o = ""; "list_item_end" !== this.next().type;)o += this.tok(); return this.renderer.listitem(o); case "html": var l = this.token.pre || this.options.pedantic ? this.token.text : this.inline.output(this.token.text); return this.renderer.html(l); case "paragraph": return this.renderer.paragraph(this.inline.output(this.token.text)); case "text": return this.renderer.paragraph(this.parseText()) } }; var f = {}, h = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; function g() { } function m(e) { for (var t, n, r = 1; r < arguments.length; r++)for (n in t = arguments[r]) Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]); return e } function v(e, t, n) { if (null == e) throw new Error("marked(): input parameter is undefined or null"); if ("string" != typeof e) throw new Error("marked(): input parameter is of type " + Object.prototype.toString.call(e) + ", string expected"); if (n || "function" == typeof t) { n || (n = t, t = null); var i, o, a = (t = m({}, v.defaults, t || {})).highlight, s = 0; try { i = r.lex(e, t) } catch (e) { return n(e) } o = i.length; var u = function (e) { if (e) return t.highlight = a, n(e); var r; try { r = l.parse(i, t) } catch (t) { e = t } return t.highlight = a, e ? n(e) : n(null, r) }; if (!a || a.length < 3) return u(); if (delete t.highlight, !o) return u(); for (; s < i.length; s++)!function (e) { "code" !== e.type ? --o || u() : a(e.text, e.lang, (function (t, n) { return t ? u(t) : null == n || n === e.text ? --o || u() : (e.text = n, e.escaped = !0, void (--o || u())) })) }(i[s]) } else try { return t && (t = m({}, v.defaults, t)), l.parse(r.lex(e, t), t) } catch (e) { if (e.message += "\nPlease report this to https://github.com/markedjs/marked.", (t || v.defaults).silent) return "<p>An error occurred:</p><pre>" + c(e.message + "", !0) + "</pre>"; throw e } } g.exec = g, v.options = v.setOptions = function (e) { return m(v.defaults, e), v }, v.defaults = { gfm: !0, tables: !0, breaks: !1, pedantic: !1, sanitize: !1, sanitizer: null, mangle: !0, smartLists: !1, silent: !1, highlight: null, langPrefix: "lang-", smartypants: !1, headerPrefix: "", renderer: new a, xhtml: !1, baseUrl: null }, v.Parser = l, v.parser = l.parse, v.Renderer = a, v.TextRenderer = s, v.Lexer = r, v.lexer = r.lex, v.InlineLexer = o, v.inlineLexer = o.output, v.parse = v, e.exports = v }(this || "undefined" != typeof window && window) }).call(this, n(35)) }, function (e, t, n) { n(231), n(233), n(422), n(424), n(428), n(431), n(435), n(437), n(441), n(443) }, function (e, t, n) { "use strict"; const r = n(232), i = n(21), o = n(33); angular.module("dbt").directive("graphLauncher", ["$state", "$q", "graph", "selectorService", "project", "trackingService", "locationService", function (e, t, n, a, s, l, c) { return { restrict: "EA", replace: !0, scope: {}, templateUrl: r, link: function (t, r) { t.filters_visible = !1, t.graphService = n, t.selectorService = a, t.allSelected = !0; var s = { tags: { visible: !1 }, packages: { visible: !1 }, resource_types: { visible: !1 } }; t.onWindowClick = function (e) { o(e.target); var t = o(e.target).closest(".dropup"); t.length || (s.tags.visible = !1, s.packages.visible = !1); var n = t.data("form-type"); i.each(s, (function (e, t) { t != n && (e.visible = !1) })), o(e.target).closest("#graph-viz-wrapper").length && setTimeout((function () { o(":focus").blur() })) }, t.onSelectClick = function (e) { i.each(s, (function (t, n) { n == e && (t.visible = !t.visible, t.visible || o(":focus").blur()) })) }, t.isVisible = function (e) { return s[e].visible }, t.isSelected = function (e, t) { return -1 != a.selection.dirty[e].indexOf(t) }, t.onSelectAll = function (e, n, r) { var i = a.selection.dirty; i[e] = n ? [...a.options[e]] : [], t.allSelected = !t.allSelected, r.preventDefault() }, t.onItemSelect = function (e, n, r) { var o = a.selection.dirty; t.isSelected(e, n) ? o[e] = i.without(o[e], n) : o[e] = i.union(o[e], [n]), r.preventDefault() }, t.onSelectBlur = function (e, n) { n && (n.relatedTarget && "SELECT" != n.relatedTarget.tagName || t.isVisible(e) && o(n.target).focus()) }, t.resourceTypeTitle = function (e) { return "analysis" == e ? "Analyses" : e[0].toUpperCase() + e.slice(1) + "s" }, t.selectionLabel = function (e, t) { var n = a.selection.dirty[e], r = a.options[e]; return 0 == n.length ? "None selected" : 1 == n.length ? n[0] || t : n.length == r.length ? "All selected" : n.length + " selected" }, t.onUpdateSelector = function () { var e = a.updateSelection(), t = n.updateGraph(e); l.track_graph_interaction("update-graph", t.length) }, t.showExpanded = function () { var e = a.getViewNode(), t = e ? e.name : null; if (e && "source" == e.resource_type) var r = n.showFullGraph("source:" + e.source_name + "." + e.name); else if (e && "exposure" == e.resource_type) r = n.showFullGraph("exposure:" + e.name); else if (e && "metric" == e.resource_type) r = n.showFullGraph("metric:" + e.name); else if (e && "semantic_model" == e.resource_type) r = n.showFullGraph("semantic_model:" + e.name); else if (e && "saved_query" == e.resource_type) r = n.showFullGraph("saved_query:" + e.name); else r = n.showFullGraph(t); l.track_graph_interaction("show-expanded", r.length) }, t.showContracted = function () { var e = a.getViewNode(); if (e && "source" == e.resource_type) var t = n.showVerticalGraph("source:" + e.source_name + "." + e.name, !0); else if (e && "exposure" == e.resource_type) t = n.showVerticalGraph("exposure:" + e.name, !0); else if (e && "metric" == e.resource_type) t = n.showVerticalGraph("metric:" + e.name, !0); else if (e && "semantic_model" == e.resource_type) t = n.showVerticalGraph("semantic_model:" + e.name, !0); else if (e && "saved_query" == e.resource_type) t = n.showVerticalGraph("saved_query:" + e.name, !0); else t = n.showVerticalGraph(e.name, !0); c.clearState(), l.track_graph_interaction("show-contracted", t.length) }, t.closeGraph = function () { n.hideGraph(), c.clearState() }, t.onLauncherClick = function () { var r = a.getViewNode(); if (r) a.resetSelection(r), t.showContracted(); else if (e.params.source) { a.resetSelection(), t.showExpanded(); var i = a.selectSource(e.params.source, { children: !0 }); setTimeout((function () { n.updateGraph(i) })) } else a.resetSelection(), t.showExpanded() }, t.$watch((function () { return a.selection.dirty }), (function (e, t) { if (a.isDirty()) { var r = n.graph.pristine.dag, o = n.graph.pristine.nodes, s = a.selection.clean, l = a.selection.dirty, c = a.selectNodes(r, o, s), u = a.selectNodes(r, o, l), d = i.difference(c.selected, u.selected); n.markDirty(d) } else n.markAllClean() }), !0) } } }]) }, function (e, t) { var n = "/components/graph/graph-launcher.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '\n<div class="launcher" data-launcher="{{ graphService.orientation }}" ng-class="{on: graphService.expanded}">\n <style>\n .dirty-submit {\n background-color: #0094b3 !important;\n color: white !important;\n transition: .5s linear;\n }\n\n #submit-graph-selection:hover {\n background-color: #0094b3 !important;\n color: white !important;\n }\n\n .dropup select:hover~.field-label,\n .dropup select:focus~.field-label {\n color: #919599;\n }\n\n .dropup ul:hover~.field-label,\n .dropup ul:focus~.field-label {\n color: #919599;\n }\n\n .dropdown-menu {\n width: 100%;\n }\n\n .dropdown-menu li {\n padding: 2px 10px;\n }\n\n .dropdown-menu li:hover {\n background-color: #ededee !important;\n }\n\n li .checked {\n width: 10px;\n float: right;\n }\n\n </style>\n\n <div class="launcher-section">\n <div class="launcher-btn">\n <a\n class="btn btn-info btn-pill btn-lg btn-icon btn-shadow"\n data-toggle="tooltip"\n title="View Lineage Graph"\n ng-click="onLauncherClick()">\n <svg class="icn icn-md"><use xlink:href="#icn-flow"></use></svg>\n </a>\n </div>\n <div class="launcher-content" ng-click="onWindowClick($event)">\n <div class="launcher-window">\n <div class="launcher-header">\n <div class="launcher-cell">\n <h6>\n Lineage Graph\n </h6>\n </div>\n <div class="launcher-actions">\n <a\n ng-click="showExpanded()"\n ng-show="graphService.orientation == \'sidebar\'"\n data-large\n class="btn btn-text btn-lg btn-icon btn-shadow"\n data-toggle="tooltip"\n title="View Fullscreen">\n <svg class="icn icn-md"><use xlink:href="#icn-expand"></use></svg>\n </a>\n <a\n ng-click="showContracted()"\n ng-show="graphService.orientation == \'fullscreen\' && selectorService.getViewNode()"\n class="btn btn-text btn-lg btn-icon btn-shadow"\n data-toggle="tooltip"\n title="View Fullscreen">\n <svg class="icn icn-md"><use xlink:href="#icn-contract"></use></svg>\n </a>\n </div>\n </div>\n <div class="launcher-body">\n <div class="launcher-embed">\n <div ng-controller="GraphCtrl" style="height: 100%" id="graph-viz-wrapper">\n <div graph-viz\n viz-options="graph.options"\n viz-elements="graph.elements"\n viz-style="graph.style"\n viz-layout="graph.layout"\n viz-ready="graph.ready"\n viz-rendered="graphRendered"\n viz-size="{size: graphService.orientation, expanded: graphService.expanded}"></div>\n </div>\n </div>\n </div>\n <div class="launcher-footer">\n <div class="launcher-cell launcher-flush">\n <div class="component bg-navy text-navy-lightest margin">\n <form class="fields fields-flush launcher-hide-sidebar"\n ng-class="{visible: filters_visible}"\n ng-submit="onUpdateSelector()">\n <label class="field">\n <div class="dropdown dropup"\n ng-class="{\'open\': isVisible(\'resource_types\')}"\n data-form-type="resource_types">\n <select\n data-toggle="dropdown"\n class=\'field-input form-control input-dark\'\n ng-click="onSelectClick(\'resource_types\')"\n ng-blur="onSelectBlur(\'resource_types\')">\n <option selected disabled hidden>\n <span>{{ selectionLabel(\'resource_types\') }}</span>\n </option>\n </select>\n <ul\n class="dropdown-menu"\n ng-show="isVisible(\'resource_types\')">\n <li ng-click="onSelectAll(\'resource_types\', !allSelected, $event)">\n <strong class="text-dark">Select All</strong>\n <span ng-show="allSelected">\n <svg class="checked" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z"/></svg>\n </span>\n </li>\n <li\n class=\'text-dark\'\n ng-repeat="item in selectorService.options.resource_types"\n ng-click="onItemSelect(\'resource_types\', item, $event)">\n {{ resourceTypeTitle(item) }}\n <span ng-show="isSelected(\'resource_types\', item)">\n <svg class="checked" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z"/></svg>\n </span>\n </li>\n </ul>\n <div class="field-label">resources</div>\n </div>\n </label>\n <label class="field">\n <div class="dropdown dropup"\n ng-class="{\'open\': isVisible(\'packages\')}"\n data-form-type="packages">\n <select\n data-toggle="dropdown"\n class=\'field-input form-control input-dark\'\n ng-click="onSelectClick(\'packages\')"\n ng-blur="onSelectBlur(\'packages\')">\n <option selected disabled hidden>\n <span>{{ selectionLabel(\'packages\') }}</span>\n </option>\n </select>\n <ul\n class="dropdown-menu"\n ng-show="isVisible(\'packages\')">\n <li ng-click="onSelectAll(\'packages\', !allSelected, $event)">\n <strong class="text-dark">Select All</strong>\n <span ng-show="allSelected">\n <svg class="checked" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z"/></svg>\n </span>\n </li>\n <li\n class=\'text-dark\'\n ng-repeat="item in selectorService.options.packages"\n ng-click="onItemSelect(\'packages\', item, $event)">\n {{ item }}\n <span ng-show="isSelected(\'packages\', item)">\n <svg class="checked" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z"/></svg>\n </span>\n </li>\n </ul>\n <div class="field-label">packages</div>\n </div>\n </label>\n <label class="field">\n <div class="dropdown dropup"\n ng-class="{\'open\': isVisible(\'tags\')}"\n data-form-type="tags">\n <select\n data-toggle="dropdown"\n class=\'field-input form-control input-dark\'\n ng-click="onSelectClick(\'tags\')"\n ng-blur="onSelectBlur(\'tags\', $event)">\n <option selected disabled hidden>\n <span>{{ selectionLabel(\'tags\', \'untagged\') }}</span>\n </option>\n </select>\n <ul\n class="dropdown-menu"\n ng-show="isVisible(\'tags\')">\n <li ng-click="onSelectAll(\'tags\', !allSelected, $event)">\n <strong class="text-dark">Select All</strong>\n <span ng-show="allSelected">\n <svg class="checked" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z"/></svg>\n </span>\n </li>\n <li\n class=\'text-dark\'\n ng-repeat="item in selectorService.options.tags"\n ng-click="onItemSelect(\'tags\', item, $event)">\n <span ng-if=\'item == null\'>untagged</span>\n <span ng-if=\'item != null\'>{{ item }}</span>\n <span ng-show="isSelected(\'tags\', item)">\n <svg class="checked" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z"/></svg>\n </span>\n </li>\n </ul>\n <div class="field-label">tags</div>\n </div>\n </label>\n <label class="field" style="flex: 4 0 160px">\n <input type="text"\n class="field-input form-control input-dark"\n ng-model="selectorService.selection.dirty.include"\n placeholder="..." />\n <div class="field-label">--select</div>\n </label>\n <label class="field" style="flex: 4 0 160px">\n <input type="text"\n class="field-input form-control input-dark"\n ng-model="selectorService.selection.dirty.exclude"\n placeholder="..." />\n <div class="field-label">--exclude</div>\n </label>\n <label class="field" style="flex: 0 0 80px">\n <input type="submit"\n id="submit-graph-selection"\n class="field-input form-control input-dark"\n ng-class="{\'dirty-submit\': selectorService.isDirty()}"\n value="Update Graph" />\n <div class="field-label text-center" style="width: 100%"></div>\n </label>\n <label class="field" style="flex: 0 0 80px">\n <button type="button"\n ng-click="closeGraph()"\n class="field-input form-control input-dark text-center"\n ><svg class="icn icn-md"><use xlink:href="#icn-close"></use></svg>\n </button>\n </label>\n </form>\n </div>\n </div>\n \x3c!--<div class="launcher-spacer"></div>--\x3e\n <div class="launcher-actions" ng-show="graphService.orientation == \'sidebar\'">\n <button type="button"\n ng-click="closeGraph()"\n class="btn btn-text btn-lg btn-icon btn-shadow"\n data-toggle="tooltip"\n title="Close Graph"><svg class="icn icn-md"><use xlink:href="#icn-close"></use></svg>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t, n) { "use strict"; n(234); const r = n(236), i = n(21), o = n(33), a = n(237); n(244)(a, o); const s = n(245); a.use(s), angular.module("dbt").directive("graphViz", ["$q", "$state", "graph", "selectorService", "project", "$timeout", function (e, t, n, s, l, c) { return { restrict: "EA", replace: !0, scope: { vizElements: "=", vizLayout: "=", vizOptions: "=", vizStyle: "=", vizReady: "=", vizExtensions: "=", vizHideOptions: "=", vizSize: "=", vizRendered: "=" }, link: function (e, r, d, p) { var f = u; e.$watch("vizSize", (function (e, t) { c((function () { h.resize(), "fullscreen" == e ? h.fit(100) : h.fit(25) })) })), o(".viz-option").on("changed.bs.select", (function (e) { o(e.target).data("option"), o(e.target).val() })); var h = a(i.assign({}, e.vizOptions, { container: document.getElementById("cy"), style: e.vizStyle || [], elements: e.vizElements || [], layout: e.vizLayout || { name: "circle" } })); window.graph || (window.graph = h); e.graphReady && o(window).on("load", (function () { h.ready(e.graphReady) })); h.on("select", (function (t) { var r = t.target; e.$apply((function () { n.selectNode(r.id()), h.forceRender() })) })), h.on("unselect", (function (t) { t.target; e.$apply((function () { n.deselectNodes(), h.forceRender() })) })), e.$watch("vizElements", (function (t, n) { h.remove(h.elements()), h.add(t), f(e, h) })), e.$watch("vizLayout", (function (t, n) { t !== n && f(e, h) }), !0), e.$watch("vizOptions", (function (e, t) { e !== t && i.each(e, (function (e, t) { h[t], h[t](e) })) }), !0), e.$watch("vizStyle", (function (e, t) { e !== t && h.setStyle(e) }), !0), e.$on("$destroy", (function () { h.destroy() })); h.contextMenus({ menuItems: [{ id: "jump", content: "Refocus on Node", selector: "node", tooltipText: "Focus on the lineage for this node", onClickFunction: function (e) { var n = e.target || e.cyTarget, r = n.id(); t.go("dbt." + n.data("resource_type"), { unique_id: r }) }, show: !0 }, { id: "docs", content: "View documentation", selector: "node", tooltipText: "Jump to the documentation for this node", onClickFunction: function (e) { var r = e.target || e.cyTarget, i = r.id(); t.go("dbt." + r.data("resource_type"), { unique_id: i }), n.hideGraph() }, show: !0 }, { id: "hide-before-here", content: "Hide this and parents", selector: "node", onClickFunction: function (e) { var t = (e.target || e.cyTarget).id(), r = l.node(t); if (r) { var i = s.excludeNode(r, { parents: !0 }); n.updateGraph(i) } }, show: !0 }, { id: "hide-after-here", content: "Hide this and children", selector: "node", onClickFunction: function (e) { var t = (e.target || e.cyTarget).id(), r = l.node(t); if (r) { var i = s.excludeNode(r, { children: !0 }); n.updateGraph(i) } }, show: !0 }, { id: "export-png", content: "Export PNG", selector: "node", coreAsWell: !0, onClickFunction: function (e) { var t = h.png({ bg: "#005e7a" }), n = document.createElement("a"); n.download = "dbt-dag.png", n.href = t, n.click() }, show: !0 }], menuItemClasses: ["graph-node-context-menu-item"], contextMenuClasses: ["graph-node-context-menu"] }) }, templateUrl: r }; function u(e, t) { if (e.vizLayout && e.vizLayout.name) { t.layout(e.vizLayout).run(); e.vizRendered(t) } } }]) }, function (e, t, n) { var r = n(235); "string" == typeof r && (r = [[e.i, r, ""]]); var i = { hmr: !0, transform: void 0, insertInto: void 0 }; n(40)(r, i); r.locals && (e.exports = r.locals) }, function (e, t, n) { (e.exports = n(39)(!1)).push([e.i, '\n.cy-context-menus-cxt-menu {\n display:none;\n z-index:1000;\n position:absolute;\n border:1px solid #A0A0A0;\n padding: 0;\n margin: 0;\n width:auto;\n}\n\n.cy-context-menus-cxt-menuitem {\n display:block;\n z-index:1000;\n width: 100%;\n padding: 3px 20px;\n position:relative;\n margin:0;\n background-color:#f8f8f8;\n font-weight:normal;\n font-size: 12px;\n white-space:nowrap;\n border: 0;\n text-align: left;\n}\n\n.cy-context-menus-cxt-menuitem:enabled {\n color: #000000;\n}\n\n.cy-context-menus-ctx-operation:focus {\n outline: none;\n}\n\n.cy-context-menus-cxt-menuitem:hover {\n color: #ffffff;\n text-decoration: none;\n background-color: #0B9BCD;\n background-image: none;\n cursor: pointer;\n}\n\n.cy-context-menus-cxt-menuitem[content]:before {\n content:attr(content);\n}\n\n.cy-context-menus-divider {\n border-bottom:1px solid #A0A0A0;\n}\n\n\nselect:not([multiple]).form-control {\n background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij48cG9seWxpbmUgcG9pbnRzPSI0LjUgNiA4IDkuNSAxMS41IDYiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwOTRiMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiAvPjxyZWN0IHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==");\n background-size: 1.25em 1.25em;\n}\n', ""]) }, function (e, t) { var n = "/components/graph/graph-viz.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, "<div id='cy' style=\"width: 100%; height: 100%; \"></div>\n") }]), e.exports = n }, function (e, t, n) {
210
+ (function (t) {
211
+ var r; "undefined" != typeof self && self, r = function (e, n) {
212
+ return function (e) { var t = {}; function n(r) { if (t[r]) return t[r].exports; var i = t[r] = { i: r, l: !1, exports: {} }; return e[r].call(i.exports, i, i.exports, n), i.l = !0, i.exports } return n.m = e, n.c = t, n.d = function (e, t, r) { n.o(e, t) || Object.defineProperty(e, t, { configurable: !1, enumerable: !0, get: r }) }, n.n = function (e) { var t = e && e.__esModule ? function () { return e.default } : function () { return e }; return n.d(t, "a", t), t }, n.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, n.p = "", n(n.s = 20) }([function (e, t, n) { "use strict"; var r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e }, i = n(3), o = i ? i.navigator : null, a = i ? i.document : null, s = r(""), l = r({}), c = r((function () { })), u = "undefined" == typeof HTMLElement ? "undefined" : r(HTMLElement), d = function (e) { return e && e.instanceString && p.fn(e.instanceString) ? e.instanceString() : null }, p = { defined: function (e) { return null != e }, string: function (e) { return null != e && (void 0 === e ? "undefined" : r(e)) == s }, fn: function (e) { return null != e && (void 0 === e ? "undefined" : r(e)) === c }, array: function (e) { return Array.isArray ? Array.isArray(e) : null != e && e instanceof Array }, plainObject: function (e) { return null != e && (void 0 === e ? "undefined" : r(e)) === l && !p.array(e) && e.constructor === Object }, object: function (e) { return null != e && (void 0 === e ? "undefined" : r(e)) === l }, number: function (e) { return null != e && (void 0 === e ? "undefined" : r(e)) === r(1) && !isNaN(e) }, integer: function (e) { return p.number(e) && Math.floor(e) === e }, bool: function (e) { return null != e && (void 0 === e ? "undefined" : r(e)) === r(!0) }, htmlElement: function (e) { return "undefined" === u ? void 0 : null != e && e instanceof HTMLElement }, elementOrCollection: function (e) { return p.element(e) || p.collection(e) }, element: function (e) { return "collection" === d(e) && e._private.single }, collection: function (e) { return "collection" === d(e) && !e._private.single }, core: function (e) { return "core" === d(e) }, style: function (e) { return "style" === d(e) }, stylesheet: function (e) { return "stylesheet" === d(e) }, event: function (e) { return "event" === d(e) }, thread: function (e) { return "thread" === d(e) }, fabric: function (e) { return "fabric" === d(e) }, emptyString: function (e) { return null == e || !("" !== e && !e.match(/^\s+$/)) }, nonemptyString: function (e) { return !(!e || !p.string(e) || "" === e || e.match(/^\s+$/)) }, domElement: function (e) { return "undefined" != typeof HTMLElement && e instanceof HTMLElement }, boundingBox: function (e) { return p.plainObject(e) && p.number(e.x1) && p.number(e.x2) && p.number(e.y1) && p.number(e.y2) }, promise: function (e) { return p.object(e) && p.fn(e.then) }, touch: function () { return i && ("ontouchstart" in i || i.DocumentTouch && a instanceof DocumentTouch) }, gecko: function () { return i && ("undefined" != typeof InstallTrigger || "MozAppearance" in a.documentElement.style) }, webkit: function () { return i && ("undefined" != typeof webkitURL || "WebkitAppearance" in a.documentElement.style) }, chromium: function () { return i && "undefined" != typeof chrome }, khtml: function () { return o && o.vendor.match(/kde/i) }, khtmlEtc: function () { return p.khtml() || p.webkit() || p.chromium() }, ms: function () { return o && o.userAgent.match(/msie|trident|edge/i) }, windows: function () { return o && o.appVersion.match(/Win/i) }, mac: function () { return o && o.appVersion.match(/Mac/i) }, linux: function () { return o && o.appVersion.match(/Linux/i) }, unix: function () { return o && o.appVersion.match(/X11/i) } }; e.exports = p }, function (e, t, n) { "use strict"; var r = n(0), i = n(2), o = { MAX_INT: Number.MAX_SAFE_INTEGER || 9007199254740991, trueify: function () { return !0 }, falsify: function () { return !1 }, zeroify: function () { return 0 }, noop: function () { }, error: function (e) { console.error ? (console.error.apply(console, arguments), console.trace && console.trace()) : (console.log.apply(console, arguments), console.trace && console.trace()) }, clone: function (e) { return this.extend({}, e) }, copy: function (e) { return null == e ? e : r.array(e) ? e.slice() : r.plainObject(e) ? this.clone(e) : e }, copyArray: function (e) { return e.slice() }, clonePosition: function (e) { return { x: e.x, y: e.y } }, uuid: function (e, t) { for (t = e = ""; e++ < 36; t += 51 * e & 52 ? (15 ^ e ? 8 ^ Math.random() * (20 ^ e ? 16 : 4) : 4).toString(16) : "-"); return t } }; o.makeBoundingBox = i.makeBoundingBox.bind(i), o._staticEmptyObject = {}, o.staticEmptyObject = function () { return o._staticEmptyObject }, o.extend = null != Object.assign ? Object.assign.bind(Object) : function (e) { for (var t = arguments, n = 1; n < t.length; n++) { var r = t[n]; if (null != r) for (var i = Object.keys(r), o = 0; o < i.length; o++) { var a = i[o]; e[a] = r[a] } } return e }, o.assign = o.extend, o.default = function (e, t) { return void 0 === e ? t : e }, o.removeFromArray = function (e, t, n) { for (var r = e.length; r >= 0 && (e[r] !== t || (e.splice(r, 1), n)); r--); }, o.clearArray = function (e) { e.splice(0, e.length) }, o.push = function (e, t) { for (var n = 0; n < t.length; n++) { var r = t[n]; e.push(r) } }, o.getPrefixedProperty = function (e, t, n) { return n && (t = this.prependCamel(n, t)), e[t] }, o.setPrefixedProperty = function (e, t, n, r) { n && (t = this.prependCamel(n, t)), e[t] = r }, [n(21), n(22), { memoize: n(13) }, n(23), n(24), n(25), n(27)].forEach((function (e) { o.extend(o, e) })), e.exports = o }, function (e, t, n) { "use strict"; var r = { arePositionsSame: function (e, t) { return e.x === t.x && e.y === t.y }, copyPosition: function (e) { return { x: e.x, y: e.y } }, modelToRenderedPosition: function (e, t, n) { return { x: e.x * t + n.x, y: e.y * t + n.y } }, renderedToModelPosition: function (e, t, n) { return { x: (e.x - n.x) / t, y: (e.y - n.y) / t } }, array2point: function (e) { return { x: e[0], y: e[1] } }, deg2rad: function (e) { return Math.PI * e / 180 }, getAngleFromDisp: function (e, t) { return Math.atan2(t, e) - Math.PI / 2 } }; r.log2 = Math.log2 || function (e) { return Math.log(e) / Math.log(2) }, r.signum = function (e) { return e > 0 ? 1 : e < 0 ? -1 : 0 }, r.dist = function (e, t) { return Math.sqrt(r.sqdist(e, t)) }, r.sqdist = function (e, t) { var n = t.x - e.x, r = t.y - e.y; return n * n + r * r }, r.qbezierAt = function (e, t, n, r) { return (1 - r) * (1 - r) * e + 2 * (1 - r) * r * t + r * r * n }, r.qbezierPtAt = function (e, t, n, i) { return { x: r.qbezierAt(e.x, t.x, n.x, i), y: r.qbezierAt(e.y, t.y, n.y, i) } }, r.lineAt = function (e, t, n, i) { var o = t.x - e.x, a = t.y - e.y, s = r.dist(e, t), l = o / s, c = a / s; return n = null == n ? 0 : n, i = null != i ? i : n * s, { x: e.x + l * i, y: e.y + c * i } }, r.lineAtDist = function (e, t, n) { return r.lineAt(e, t, void 0, n) }, r.triangleAngle = function (e, t, n) { var i = r.dist(t, n), o = r.dist(e, n), a = r.dist(e, t); return Math.acos((i * i + o * o - a * a) / (2 * i * o)) }, r.bound = function (e, t, n) { return Math.max(e, Math.min(n, t)) }, r.makeBoundingBox = function (e) { if (null == e) return { x1: 1 / 0, y1: 1 / 0, x2: -1 / 0, y2: -1 / 0, w: 0, h: 0 }; if (null != e.x1 && null != e.y1) { if (null != e.x2 && null != e.y2 && e.x2 >= e.x1 && e.y2 >= e.y1) return { x1: e.x1, y1: e.y1, x2: e.x2, y2: e.y2, w: e.x2 - e.x1, h: e.y2 - e.y1 }; if (null != e.w && null != e.h && e.w >= 0 && e.h >= 0) return { x1: e.x1, y1: e.y1, x2: e.x1 + e.w, y2: e.y1 + e.h, w: e.w, h: e.h } } }, r.updateBoundingBox = function (e, t) { e.x1 = Math.min(e.x1, t.x1), e.x2 = Math.max(e.x2, t.x2), e.w = e.x2 - e.x1, e.y1 = Math.min(e.y1, t.y1), e.y2 = Math.max(e.y2, t.y2), e.h = e.y2 - e.y1 }, r.expandBoundingBoxByPoint = function (e, t, n) { e.x1 = Math.min(e.x1, t), e.x2 = Math.max(e.x2, t), e.w = e.x2 - e.x1, e.y1 = Math.min(e.y1, n), e.y2 = Math.max(e.y2, n), e.h = e.y2 - e.y1 }, r.expandBoundingBox = function (e, t) { return e.x1 -= t, e.x2 += t, e.y1 -= t, e.y2 += t, e.w = e.x2 - e.x1, e.h = e.y2 - e.y1, e }, r.boundingBoxesIntersect = function (e, t) { return !(e.x1 > t.x2 || t.x1 > e.x2 || e.x2 < t.x1 || t.x2 < e.x1 || e.y2 < t.y1 || t.y2 < e.y1 || e.y1 > t.y2 || t.y1 > e.y2) }, r.inBoundingBox = function (e, t, n) { return e.x1 <= t && t <= e.x2 && e.y1 <= n && n <= e.y2 }, r.pointInBoundingBox = function (e, t) { return this.inBoundingBox(e, t.x, t.y) }, r.boundingBoxInBoundingBox = function (e, t) { return r.inBoundingBox(e, t.x1, t.y1) && r.inBoundingBox(e, t.x2, t.y2) }, r.roundRectangleIntersectLine = function (e, t, n, r, i, o, a) { var s = this.getRoundRectangleRadius(i, o), l = i / 2, c = o / 2, u = void 0, d = n - l + s - a, p = r - c - a, f = n + l - s + a, h = p; if ((u = this.finiteLinesIntersect(e, t, n, r, d, p, f, h, !1)).length > 0) return u; var g = n + l + a, m = r - c + s - a, v = g, b = r + c - s + a; if ((u = this.finiteLinesIntersect(e, t, n, r, g, m, v, b, !1)).length > 0) return u; var y = n - l + s - a, x = r + c + a, w = n + l - s + a, k = x; if ((u = this.finiteLinesIntersect(e, t, n, r, y, x, w, k, !1)).length > 0) return u; var A = n - l - a, E = r - c + s - a, S = A, $ = r + c - s + a; if ((u = this.finiteLinesIntersect(e, t, n, r, A, E, S, $, !1)).length > 0) return u; var C = void 0, _ = n - l + s, O = r - c + s; if ((C = this.intersectLineCircle(e, t, n, r, _, O, s + a)).length > 0 && C[0] <= _ && C[1] <= O) return [C[0], C[1]]; var T = n + l - s, j = r - c + s; if ((C = this.intersectLineCircle(e, t, n, r, T, j, s + a)).length > 0 && C[0] >= T && C[1] <= j) return [C[0], C[1]]; var P = n + l - s, D = r + c - s; if ((C = this.intersectLineCircle(e, t, n, r, P, D, s + a)).length > 0 && C[0] >= P && C[1] >= D) return [C[0], C[1]]; var R = n - l + s, I = r + c - s; return (C = this.intersectLineCircle(e, t, n, r, R, I, s + a)).length > 0 && C[0] <= R && C[1] >= I ? [C[0], C[1]] : [] }, r.inLineVicinity = function (e, t, n, r, i, o, a) { var s = a, l = Math.min(n, i), c = Math.max(n, i), u = Math.min(r, o), d = Math.max(r, o); return l - s <= e && e <= c + s && u - s <= t && t <= d + s }, r.inBezierVicinity = function (e, t, n, r, i, o, a, s, l) { var c = Math.min(n, a, i) - l, u = Math.max(n, a, i) + l, d = Math.min(r, s, o) - l, p = Math.max(r, s, o) + l; return !(e < c || e > u || t < d || t > p) }, r.solveQuadratic = function (e, t, n, r) { var i = t * t - 4 * e * (n -= r); if (i < 0) return []; var o = Math.sqrt(i), a = 2 * e; return [(-t + o) / a, (-t - o) / a] }, r.solveCubic = function (e, t, n, r, i) { var o, a = void 0, s = void 0, l = void 0, c = void 0, u = void 0, d = void 0, p = void 0; return s = -27 * (r /= e) + (t /= e) * (9 * (n /= e) - t * t * 2), o = (a = (3 * n - t * t) / 9) * a * a + (s /= 54) * s, i[1] = 0, d = t / 3, o > 0 ? (c = (c = s + Math.sqrt(o)) < 0 ? -Math.pow(-c, 1 / 3) : Math.pow(c, 1 / 3), u = (u = s - Math.sqrt(o)) < 0 ? -Math.pow(-u, 1 / 3) : Math.pow(u, 1 / 3), i[0] = -d + c + u, d += (c + u) / 2, i[4] = i[2] = -d, d = Math.sqrt(3) * (-u + c) / 2, i[3] = d, void (i[5] = -d)) : (i[5] = i[3] = 0, 0 === o ? (p = s < 0 ? -Math.pow(-s, 1 / 3) : Math.pow(s, 1 / 3), i[0] = 2 * p - d, void (i[4] = i[2] = -(p + d))) : (l = (a = -a) * a * a, l = Math.acos(s / Math.sqrt(l)), p = 2 * Math.sqrt(a), i[0] = -d + p * Math.cos(l / 3), i[2] = -d + p * Math.cos((l + 2 * Math.PI) / 3), void (i[4] = -d + p * Math.cos((l + 4 * Math.PI) / 3)))) }, r.sqdistToQuadraticBezier = function (e, t, n, r, i, o, a, s) { var l = 1 * n * n - 4 * n * i + 2 * n * a + 4 * i * i - 4 * i * a + a * a + r * r - 4 * r * o + 2 * r * s + 4 * o * o - 4 * o * s + s * s, c = 9 * n * i - 3 * n * n - 3 * n * a - 6 * i * i + 3 * i * a + 9 * r * o - 3 * r * r - 3 * r * s - 6 * o * o + 3 * o * s, u = 3 * n * n - 6 * n * i + n * a - n * e + 2 * i * i + 2 * i * e - a * e + 3 * r * r - 6 * r * o + r * s - r * t + 2 * o * o + 2 * o * t - s * t, d = 1 * n * i - n * n + n * e - i * e + r * o - r * r + r * t - o * t, p = []; this.solveCubic(l, c, u, d, p); for (var f = [], h = 0; h < 6; h += 2)Math.abs(p[h + 1]) < 1e-7 && p[h] >= 0 && p[h] <= 1 && f.push(p[h]); f.push(1), f.push(0); for (var g = -1, m = void 0, v = void 0, b = void 0, y = 0; y < f.length; y++)m = Math.pow(1 - f[y], 2) * n + 2 * (1 - f[y]) * f[y] * i + f[y] * f[y] * a, v = Math.pow(1 - f[y], 2) * r + 2 * (1 - f[y]) * f[y] * o + f[y] * f[y] * s, b = Math.pow(m - e, 2) + Math.pow(v - t, 2), g >= 0 ? b < g && (g = b) : g = b; return g }, r.sqdistToFiniteLine = function (e, t, n, r, i, o) { var a = [e - n, t - r], s = [i - n, o - r], l = s[0] * s[0] + s[1] * s[1], c = a[0] * a[0] + a[1] * a[1], u = a[0] * s[0] + a[1] * s[1], d = u * u / l; return u < 0 ? c : d > l ? (e - i) * (e - i) + (t - o) * (t - o) : c - d }, r.pointInsidePolygonPoints = function (e, t, n) { for (var r = void 0, i = void 0, o = void 0, a = void 0, s = 0, l = 0; l < n.length / 2; l++)if (r = n[2 * l], i = n[2 * l + 1], l + 1 < n.length / 2 ? (o = n[2 * (l + 1)], a = n[2 * (l + 1) + 1]) : (o = n[2 * (l + 1 - n.length / 2)], a = n[2 * (l + 1 - n.length / 2) + 1]), r == e && o == e); else { if (!(r >= e && e >= o || r <= e && e <= o)) continue; (e - r) / (o - r) * (a - i) + i > t && s++ } return s % 2 != 0 }, r.pointInsidePolygon = function (e, t, n, i, o, a, s, l, c) { var u = new Array(n.length), d = void 0; null != l[0] ? (d = Math.atan(l[1] / l[0]), l[0] < 0 ? d += Math.PI / 2 : d = -d - Math.PI / 2) : d = l; for (var p = Math.cos(-d), f = Math.sin(-d), h = 0; h < u.length / 2; h++)u[2 * h] = a / 2 * (n[2 * h] * p - n[2 * h + 1] * f), u[2 * h + 1] = s / 2 * (n[2 * h + 1] * p + n[2 * h] * f), u[2 * h] += i, u[2 * h + 1] += o; var g = void 0; if (c > 0) { var m = this.expandPolygon(u, -c); g = this.joinLines(m) } else g = u; return r.pointInsidePolygonPoints(e, t, g) }, r.joinLines = function (e) { for (var t = new Array(e.length / 2), n = void 0, r = void 0, i = void 0, o = void 0, a = void 0, s = void 0, l = void 0, c = void 0, u = 0; u < e.length / 4; u++) { n = e[4 * u], r = e[4 * u + 1], i = e[4 * u + 2], o = e[4 * u + 3], u < e.length / 4 - 1 ? (a = e[4 * (u + 1)], s = e[4 * (u + 1) + 1], l = e[4 * (u + 1) + 2], c = e[4 * (u + 1) + 3]) : (a = e[0], s = e[1], l = e[2], c = e[3]); var d = this.finiteLinesIntersect(n, r, i, o, a, s, l, c, !0); t[2 * u] = d[0], t[2 * u + 1] = d[1] } return t }, r.expandPolygon = function (e, t) { for (var n = new Array(2 * e.length), r = void 0, i = void 0, o = void 0, a = void 0, s = 0; s < e.length / 2; s++) { r = e[2 * s], i = e[2 * s + 1], s < e.length / 2 - 1 ? (o = e[2 * (s + 1)], a = e[2 * (s + 1) + 1]) : (o = e[0], a = e[1]); var l = a - i, c = -(o - r), u = Math.sqrt(l * l + c * c), d = l / u, p = c / u; n[4 * s] = r + d * t, n[4 * s + 1] = i + p * t, n[4 * s + 2] = o + d * t, n[4 * s + 3] = a + p * t } return n }, r.intersectLineEllipse = function (e, t, n, r, i, o) { var a = n - e, s = r - t; a /= i, s /= o; var l = Math.sqrt(a * a + s * s), c = l - 1; if (c < 0) return []; var u = c / l; return [(n - e) * u + e, (r - t) * u + t] }, r.checkInEllipse = function (e, t, n, r, i, o, a) { return e -= i, t -= o, (e /= n / 2 + a) * e + (t /= r / 2 + a) * t <= 1 }, r.intersectLineCircle = function (e, t, n, r, i, o, a) { var s = [n - e, r - t], l = [e - i, t - o], c = s[0] * s[0] + s[1] * s[1], u = 2 * (l[0] * s[0] + l[1] * s[1]), d = u * u - 4 * c * (l[0] * l[0] + l[1] * l[1] - a * a); if (d < 0) return []; var p = (-u + Math.sqrt(d)) / (2 * c), f = (-u - Math.sqrt(d)) / (2 * c), h = Math.min(p, f), g = Math.max(p, f), m = []; if (h >= 0 && h <= 1 && m.push(h), g >= 0 && g <= 1 && m.push(g), 0 === m.length) return []; var v = m[0] * s[0] + e, b = m[0] * s[1] + t; return m.length > 1 ? m[0] == m[1] ? [v, b] : [v, b, m[1] * s[0] + e, m[1] * s[1] + t] : [v, b] }, r.findCircleNearPoint = function (e, t, n, r, i) { var o = r - e, a = i - t, s = Math.sqrt(o * o + a * a); return [e + o / s * n, t + a / s * n] }, r.findMaxSqDistanceToOrigin = function (e) { for (var t = 1e-6, n = void 0, r = 0; r < e.length / 2; r++)(n = e[2 * r] * e[2 * r] + e[2 * r + 1] * e[2 * r + 1]) > t && (t = n); return t }, r.midOfThree = function (e, t, n) { return t <= e && e <= n || n <= e && e <= t ? e : e <= t && t <= n || n <= t && t <= e ? t : n }, r.finiteLinesIntersect = function (e, t, n, r, i, o, a, s, l) { var c = e - i, u = n - e, d = a - i, p = t - o, f = r - t, h = s - o, g = d * p - h * c, m = u * p - f * c, v = h * u - d * f; if (0 !== v) { var b = g / v, y = m / v; return -.001 <= b && b <= 1.001 && -.001 <= y && y <= 1.001 || l ? [e + b * u, t + b * f] : [] } return 0 === g || 0 === m ? this.midOfThree(e, n, a) === a ? [a, s] : this.midOfThree(e, n, i) === i ? [i, o] : this.midOfThree(i, a, n) === n ? [n, r] : [] : [] }, r.polygonIntersectLine = function (e, t, n, i, o, a, s, l) { var c = [], u = void 0, d = new Array(n.length), p = !0; 5 === arguments.length && (p = !1); var f = void 0; if (p) { for (var h = 0; h < d.length / 2; h++)d[2 * h] = n[2 * h] * a + i, d[2 * h + 1] = n[2 * h + 1] * s + o; if (l > 0) { var g = r.expandPolygon(d, -l); f = r.joinLines(g) } else f = d } else f = n; for (var m = void 0, v = void 0, b = void 0, y = void 0, x = 0; x < f.length / 2; x++)m = f[2 * x], v = f[2 * x + 1], x < f.length / 2 - 1 ? (b = f[2 * (x + 1)], y = f[2 * (x + 1) + 1]) : (b = f[0], y = f[1]), 0 !== (u = this.finiteLinesIntersect(e, t, i, o, m, v, b, y)).length && c.push(u[0], u[1]); return c }, r.shortenIntersection = function (e, t, n) { var r = [e[0] - t[0], e[1] - t[1]], i = Math.sqrt(r[0] * r[0] + r[1] * r[1]), o = (i - n) / i; return o < 0 && (o = 1e-5), [t[0] + o * r[0], t[1] + o * r[1]] }, r.generateUnitNgonPointsFitToSquare = function (e, t) { var n = r.generateUnitNgonPoints(e, t); return n = r.fitPolygonToSquare(n) }, r.fitPolygonToSquare = function (e) { for (var t = void 0, n = void 0, r = e.length / 2, i = 1 / 0, o = 1 / 0, a = -1 / 0, s = -1 / 0, l = 0; l < r; l++)t = e[2 * l], n = e[2 * l + 1], i = Math.min(i, t), a = Math.max(a, t), o = Math.min(o, n), s = Math.max(s, n); for (var c = 2 / (a - i), u = 2 / (s - o), d = 0; d < r; d++)t = e[2 * d] = e[2 * d] * c, n = e[2 * d + 1] = e[2 * d + 1] * u, i = Math.min(i, t), a = Math.max(a, t), o = Math.min(o, n), s = Math.max(s, n); if (o < -1) for (var p = 0; p < r; p++)n = e[2 * p + 1] = e[2 * p + 1] + (-1 - o); return e }, r.generateUnitNgonPoints = function (e, t) { var n = 1 / e * 2 * Math.PI, r = e % 2 == 0 ? Math.PI / 2 + n / 2 : Math.PI / 2; r += t; for (var i = new Array(2 * e), o = void 0, a = 0; a < e; a++)o = a * n + r, i[2 * a] = Math.cos(o), i[2 * a + 1] = Math.sin(-o); return i }, r.getRoundRectangleRadius = function (e, t) { return Math.min(e / 4, t / 4, 8) }, r.getCutRectangleCornerLength = function () { return 8 }, r.bezierPtsToQuadCoeff = function (e, t, n) { return [e - 2 * t + n, 2 * (t - e), e] }, r.getBarrelCurveConstants = function (e, t) { return { heightOffset: Math.min(15, .05 * t), widthOffset: Math.min(100, .25 * e), ctrlPtOffsetPct: .05 } }, e.exports = r }, function (e, t, n) { "use strict"; e.exports = "undefined" == typeof window ? null : window }, function (e, t, n) { "use strict"; var r = n(1), i = {};[n(43), n(45), n(46)].forEach((function (e) { r.assign(i, e) })), e.exports = i }, function (e, n, r) {
213
+ "use strict"; var i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e }, o = function e(t) { if (!(this instanceof e)) return new e(t); this.id = "Thenable/1.0.7", this.state = 0, this.fulfillValue = void 0, this.rejectReason = void 0, this.onFulfilled = [], this.onRejected = [], this.proxy = { then: this.then.bind(this) }, "function" == typeof t && t.call(this, this.fulfill.bind(this), this.reject.bind(this)) };
214
+ /*!
215
+ Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable
216
+ Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com)
217
+ Licensed under The MIT License (http://opensource.org/licenses/MIT)
218
+ */o.prototype = { fulfill: function (e) { return a(this, 1, "fulfillValue", e) }, reject: function (e) { return a(this, 2, "rejectReason", e) }, then: function (e, t) { var n = new o; return this.onFulfilled.push(c(e, n, "fulfill")), this.onRejected.push(c(t, n, "reject")), s(this), n.proxy } }; var a = function (e, t, n, r) { return 0 === e.state && (e.state = t, e[n] = r, s(e)), e }, s = function (e) { 1 === e.state ? l(e, "onFulfilled", e.fulfillValue) : 2 === e.state && l(e, "onRejected", e.rejectReason) }, l = function (e, n, r) { if (0 !== e[n].length) { var i = e[n]; e[n] = []; var o = function () { for (var e = 0; e < i.length; e++)i[e](r) }; "function" == typeof t ? t(o) : setTimeout(o, 0) } }, c = function (e, t, n) { return function (r) { if ("function" != typeof e) t[n].call(t, r); else { var i; try { i = e(r) } catch (e) { return void t.reject(e) } u(t, i) } } }, u = function e(t, n) { if (t !== n && t.proxy !== n) { var r; if ("object" === (void 0 === n ? "undefined" : i(n)) && null !== n || "function" == typeof n) try { r = n.then } catch (e) { return void t.reject(e) } if ("function" != typeof r) t.fulfill(n); else { var o = !1; try { r.call(n, (function (r) { o || (o = !0, r === n ? t.reject(new TypeError("circular thenable chain")) : e(t, r)) }), (function (e) { o || (o = !0, t.reject(e)) })) } catch (e) { o || t.reject(e) } } } else t.reject(new TypeError("cannot resolve promise with itself")) }; o.all = function (e) { return new o((function (t, n) { for (var r = new Array(e.length), i = 0, o = function (n, o) { r[n] = o, ++i === e.length && t(r) }, a = 0; a < e.length; a++)!function (t) { var r = e[t]; null != r && null != r.then ? r.then((function (e) { o(t, e) }), (function (e) { n(e) })) : o(t, r) }(a) })) }, o.resolve = function (e) { return new o((function (t, n) { t(e) })) }, o.reject = function (e) { return new o((function (t, n) { n(e) })) }, e.exports = "undefined" != typeof Promise ? Promise : o
219
+ }, function (e, t, n) { "use strict"; var r = n(0), i = n(1), o = n(10), a = function (e) { if (this._private = { selectorText: e, invalid: !0 }, null == e || r.string(e) && e.match(/^\s*$/)) this.length = 0; else if ("*" === e || "edge" === e || "node" === e) this[0] = o(), this[0].group = "*" === e ? e : e + "s", this[0].groupOnly = !0, this[0].length = 1, this._private.invalid = !1, this.length = 1; else if (r.elementOrCollection(e)) { var t = e.collection(); this[0] = o(), this[0].collection = t, this[0].length = 1, this.length = 1 } else if (r.fn(e)) this[0] = o(), this[0].filter = e, this[0].length = 1, this.length = 1; else { if (!r.string(e)) return void i.error("A selector must be created from a string; found ", e); if (!this.parse(e)) return } this._private.invalid = !1 }, s = a.prototype; s.valid = function () { return !this._private.invalid }, s.invalid = function () { return this._private.invalid }, s.text = function () { return this._private.selectorText }, s.size = function () { return this.length }, s.eq = function (e) { return this[e] }, s.sameText = function (e) { return this.text() === e.text() }, s.toString = s.selector = function () { if (null != this._private.toStringCache) return this._private.toStringCache; var e = void 0, t = "", n = function (e) { return null == e ? "" : e }, i = function (e) { return r.string(e) ? '"' + e + '"' : n(e) }, o = function (e) { return " " + e + " " }, a = function t(r) { var a = "", s = void 0; r.subject === r && (a += "$"); var l = n(r.group); for (a += l.substring(0, l.length - 1), s = 0; s < r.data.length; s++) { var c = r.data[s]; c.value ? a += "[" + c.field + o(n(c.operator)) + i(c.value) + "]" : a += "[" + n(c.operator) + c.field + "]" } for (s = 0; s < r.meta.length; s++) { var u = r.meta[s]; a += "[[" + u.field + o(n(u.operator)) + i(u.value) + "]]" } for (s = 0; s < r.colonSelectors.length; s++)a += r.colonSelectors[e]; for (s = 0; s < r.ids.length; s++)a += "#" + r.ids[e]; for (s = 0; s < r.classes.length; s++)a += "." + r.classes[s]; if (null != r.source && null != r.target && (a = t(r.source) + " -> " + t(r.target)), null != r.connectedNodes) { var d = r.connectedNodes; a = t(d[0]) + " <-> " + t(d[1]) } return null != r.parent && (a = t(r.parent) + " > " + a), null != r.ancestor && (a = t(r.ancestor) + " " + a), null != r.child && (a += " > " + t(r.child)), null != r.descendant && (a += " " + t(r.descendant)), a }; for (e = 0; e < this.length; e++)t += a(this[e]), this.length > 1 && e < this.length - 1 && (t += ", "); return this._private.toStringCache = t, t }, [n(49), n(52)].forEach((function (e) { return i.assign(s, e) })), e.exports = a }, function (e, t, n) { "use strict"; var r = n(1), i = n(0), o = n(28), a = n(8), s = n(14), l = function (e, t, n) { for (var i = null != n ? n : r.uuid(); e.hasElementWithId(i);)i = r.uuid(); return i }, c = function (e, t, n) { if (void 0 !== e && i.core(e)) { var c = new o, u = !1; if (t) { if (t.length > 0 && i.plainObject(t[0]) && !i.element(t[0])) { u = !0; for (var d = [], p = new a, f = 0, h = t.length; f < h; f++) { var g = t[f]; null == g.data && (g.data = {}); var m = g.data; if (null == m.id) m.id = l(e, g); else if (e.hasElementWithId(m.id) || p.has(m.id)) continue; var v = new s(e, g, !1); d.push(v), p.add(m.id) } t = d } } else t = []; this.length = 0; for (var b = 0, y = t.length; b < y; b++) { var x = t[b]; if (null != x) { var w = x._private.data.id; (null == n || n.unique && !c.has(w)) && (c.set(w, { index: this.length, ele: x }), this[this.length] = x, this.length++) } } this._private = { cy: e, map: c }, u && this.restore() } else r.error("A collection must have a reference to the core") }, u = s.prototype = c.prototype; u.instanceString = function () { return "collection" }, u.spawn = function (e, t, n) { return i.core(e) || (n = t, t = e, e = this.cy()), new c(e, t, n) }, u.spawnSelf = function () { return this.spawn(this) }, u.cy = function () { return this._private.cy }, u.renderer = function () { return this._private.cy.renderer() }, u.element = function () { return this[0] }, u.collection = function () { return i.collection(this) ? this : new c(this._private.cy, [this]) }, u.unique = function () { return new c(this._private.cy, this, { unique: !0 }) }, u.hasElementWithId = function (e) { return this._private.map.has(e) }, u.getElementById = function (e) { var t = this._private.cy, n = this._private.map.get(e); return n ? n.ele : new c(t) }, u.$id = u.getElementById, u.poolIndex = function () { var e = this._private.cy._private.elements, t = this._private.data.id; return e._private.map.get(t).index }, u.json = function (e) { var t = this.element(), n = this.cy(); if (null == t && e) return this; if (null != t) { var o = t._private; if (i.plainObject(e)) { n.startBatch(), e.data && t.data(e.data), e.position && t.position(e.position); var a = function (n, r, i) { var a = e[n]; null != a && a !== o[n] && (a ? t[r]() : t[i]()) }; return a("removed", "remove", "restore"), a("selected", "select", "unselect"), a("selectable", "selectify", "unselectify"), a("locked", "lock", "unlock"), a("grabbable", "grabify", "ungrabify"), null != e.classes && t.classes(e.classes), n.endBatch(), this } if (void 0 === e) { var s = { data: r.copy(o.data), position: r.copy(o.position), group: o.group, removed: o.removed, selected: o.selected, selectable: o.selectable, locked: o.locked, grabbable: o.grabbable, classes: null }; s.classes = ""; var l = 0; return o.classes.forEach((function (e) { return s.classes += 0 == l++ ? e : " " + e })), s } } }, u.jsons = function () { for (var e = [], t = 0; t < this.length; t++) { var n = this[t].json(); e.push(n) } return e }, u.clone = function () { for (var e = this.cy(), t = [], n = 0; n < this.length; n++) { var r = this[n].json(), i = new s(e, r, !1); t.push(i) } return new c(e, t) }, u.copy = u.clone, u.restore = function (e) { var t = this.cy(), n = t._private; void 0 === e && (e = !0); for (var a = [], s = [], u = void 0, d = 0, p = this.length; d < p; d++) { var f = this[d]; f.removed() && (f.isNode() ? a.push(f) : s.push(f)) } u = a.concat(s); var h = void 0, g = function () { u.splice(h, 1), h-- }; for (h = 0; h < u.length; h++) { var m = u[h], v = m._private, b = v.data; if (m.clearTraversalCache(), void 0 === b.id) b.id = l(t, m); else if (i.number(b.id)) b.id = "" + b.id; else { if (i.emptyString(b.id) || !i.string(b.id)) { r.error("Can not create element with invalid string ID `" + b.id + "`"), g(); continue } if (t.hasElementWithId(b.id)) { r.error("Can not create second element with ID `" + b.id + "`"), g(); continue } } var y = b.id; if (m.isNode()) { var x = v.position; null == x.x && (x.x = 0), null == x.y && (x.y = 0) } if (m.isEdge()) { for (var w = m, k = ["source", "target"], A = k.length, E = !1, S = 0; S < A; S++) { var $ = k[S], C = b[$]; i.number(C) && (C = b[$] = "" + b[$]), null == C || "" === C ? (r.error("Can not create edge `" + y + "` with unspecified " + $), E = !0) : t.hasElementWithId(C) || (r.error("Can not create edge `" + y + "` with nonexistant " + $ + " `" + C + "`"), E = !0) } if (E) { g(); continue } var _ = t.getElementById(b.source), O = t.getElementById(b.target); _._private.edges.push(w), O._private.edges.push(w), w._private.source = _, w._private.target = O } v.map = new o, v.map.set(y, { ele: m, index: 0 }), v.removed = !1, t.addToPool(m) } for (var T = 0; T < a.length; T++) { var j = a[T], P = j._private.data; i.number(P.parent) && (P.parent = "" + P.parent); var D = P.parent; if (null != D) { var R = t.getElementById(D); if (R.empty()) P.parent = void 0; else { for (var I = !1, N = R; !N.empty();) { if (j.same(N)) { I = !0, P.parent = void 0; break } N = N.parent() } I || (R[0]._private.children.push(j), j._private.parent = R[0], n.hasCompoundNodes = !0) } } } if (u.length > 0) { for (var M = new c(t, u), z = 0; z < M.length; z++) { var L = M[z]; L.isNode() || (L.parallelEdges().clearTraversalCache(), L.source().clearTraversalCache(), L.target().clearTraversalCache()) } (n.hasCompoundNodes ? t.collection().merge(M).merge(M.connectedNodes()).merge(M.parent()) : M).dirtyCompoundBoundsCache().updateStyle(e), e ? M.emitAndNotify("add") : M.emit("add") } return this }, u.removed = function () { var e = this[0]; return e && e._private.removed }, u.inside = function () { var e = this[0]; return e && !e._private.removed }, u.remove = function (e) { var t = [], n = [], i = {}, o = this._private.cy; function a(e) { var t = i[e.id()]; e.removed() || t || (i[e.id()] = !0, e.isNode() ? (n.push(e), function (e) { for (var t = e._private.edges, n = 0; n < t.length; n++)a(t[n]) }(e), function (e) { for (var t = e._private.children, n = 0; n < t.length; n++)a(t[n]) }(e)) : n.unshift(e)) } void 0 === e && (e = !0); for (var s = 0, l = this.length; s < l; s++)a(this[s]); function u(e, t) { var n = e._private.edges; r.removeFromArray(n, t), e.clearTraversalCache() } var d = []; function p(e, t) { t = t[0]; var n = (e = e[0])._private.children, i = e.id(); r.removeFromArray(n, t), d.ids[i] || (d.ids[i] = !0, d.push(e)) } d.ids = {}, this.dirtyCompoundBoundsCache(), o.removeFromPool(n); for (var f = 0; f < n.length; f++) { var h = n[f]; if (h._private.removed = !0, t.push(h), h.isEdge()) { var g = h.source()[0], m = h.target()[0]; u(g, h), u(m, h), h.parallelEdges().clearTraversalCache() } else { var v = h.parent(); 0 !== v.length && p(v, h) } } var b = o._private.elements; o._private.hasCompoundNodes = !1; for (var y = 0; y < b.length; y++)if (b[y].isParent()) { o._private.hasCompoundNodes = !0; break } var x = new c(this.cy(), t); x.size() > 0 && (e && this.cy().notify({ type: "remove", eles: x }), x.emit("remove")); for (var w = 0; w < d.length; w++) { var k = d[w]; k.removed() || k.updateStyle() } return new c(o, t) }, u.move = function (e) { var t = this._private.cy; if (void 0 !== e.source || void 0 !== e.target) { var n = e.source, r = e.target, i = t.hasElementWithId(n), o = t.hasElementWithId(r); if (i || o) { var a = this.jsons(); this.remove(); for (var s = 0; s < a.length; s++) { var l = a[s], c = this[s]; "edges" === l.group && (i && (l.data.source = n), o && (l.data.target = r), l.scratch = c._private.scratch) } return t.add(a) } } else if (void 0 !== e.parent) { var u = e.parent; if (null === u || t.hasElementWithId(u)) { var d = this.jsons(), p = this.descendants(), f = p.union(p.union(this).connectedEdges()).jsons(); this.remove(); for (var h = 0; h < d.length; h++) { var g = d[h], m = this[h]; "nodes" === g.group && (g.data.parent = null === u ? void 0 : u, g.scratch = m._private.scratch) } return t.add(d.concat(f)) } } return this }, [n(29), n(42), n(47), n(48), n(53), n(54), n(55), n(56), n(61), n(62), n(63), n(7), n(64), n(65), n(66), n(67), n(68)].forEach((function (e) { r.extend(u, e) })), e.exports = c }, function (e, t, n) { "use strict"; var r = function () { function e(e, t) { for (var n = 0; n < t.length; n++) { var r = t[n]; r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r) } } return function (t, n, r) { return n && e(t.prototype, n), r && e(t, r), t } }(); "function" == typeof Symbol && Symbol.iterator; var i = function () { function e(t) { if (function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this._obj = Object.create(null), null != t) { var n = void 0; n = null != t.instanceString && t.instanceString() === this.instanceString() ? t.toArray() : t; for (var r = 0; r < n.length; r++)this.add(n[r]) } } return r(e, [{ key: "instanceString", value: function () { return "set" } }, { key: "add", value: function (e) { this._obj[e] = 1 } }, { key: "delete", value: function (e) { this._obj[e] = 0 } }, { key: "clear", value: function () { this._obj = Object.create(null) } }, { key: "has", value: function (e) { return 1 === this._obj[e] } }, { key: "toArray", value: function () { var e = this; return Object.keys(this._obj).filter((function (t) { return e.has(t) })) } }, { key: "forEach", value: function (e, t) { return this.toArray().forEach(e, t) } }, { key: "size", get: function () { return this.toArray().length } }]), e }(); e.exports = i }, function (e, t, n) { "use strict"; e.exports = n(32) }, function (e, t, n) { "use strict"; e.exports = function () { return { classes: [], colonSelectors: [], data: [], group: null, ids: [], meta: [], collection: null, filter: null, parent: null, ancestor: null, subject: null, child: null, descendant: null } } }, function (e, t, n) { "use strict"; var r = n(1), i = n(0), o = n(16), a = /^([^.]+)(\.(?:[^.]+))?$/, s = { qualifierCompare: function (e, t) { return e === t }, eventMatches: function () { return !0 }, eventFields: function () { return {} }, callbackContext: function (e) { return e }, beforeEmit: function () { }, afterEmit: function () { }, bubble: function () { return !1 }, parent: function () { return null }, context: void 0 }; function l(e) { r.assign(this, s, e), this.listeners = [], this.emitting = 0 } var c = l.prototype, u = function (e, t, n, o, s, l, c) { i.fn(o) && (s = o, o = null), c && (l = null == l ? c : r.assign({}, l, c)); for (var u = n.split(/\s+/), d = 0; d < u.length; d++) { var p = u[d]; if (!i.emptyString(p)) { var f = p.match(a); if (f && !1 === t(e, p, f[1], f[2] ? f[2] : null, o, s, l)) break } } }, d = function (e, t) { return new o(t.type, r.assign(t, e.eventFields(e.context))) }; c.on = c.addListener = function (e, t, n, r, o) { return u(this, (function (e, t, n, r, o, a, s) { i.fn(a) && e.listeners.push({ event: t, callback: a, type: n, namespace: r, qualifier: o, conf: s }) }), e, t, n, r, o), this }, c.one = function (e, t, n, r) { return this.on(e, t, n, r, { one: !0 }) }, c.removeListener = c.off = function (e, t, n, i) { var o = this; 0 !== this.emitting && (this.listeners = r.copyArray(this.listeners)); for (var a = this.listeners, s = function (r) { var s = a[r]; u(o, (function (e, t, n, i, o, l) { if (s.type === n && (!i || s.namespace === i) && (!o || e.qualifierCompare(s.qualifier, o)) && (!l || s.callback === l)) return a.splice(r, 1), !1 }), e, t, n, i) }, l = a.length - 1; l >= 0; l--)s(l); return this }, c.emit = c.trigger = function (e, t, n) { var o = this.listeners, s = o.length; return this.emitting++, i.array(t) || (t = [t]), function (e, t, n) { if (i.event(n)) t(e, n); else if (i.plainObject(n)) t(e, d(e, n)); else for (var r = n.split(/\s+/), o = 0; o < r.length; o++) { var s = r[o]; if (!i.emptyString(s)) { var l = s.match(a); if (l) { var c = l[1], u = l[2] ? l[2] : null; t(e, d(e, { type: c, namespace: u, target: e.context })) } } } }(this, (function (e, i) { null != n && (o = [{ event: i.event, type: i.type, namespace: i.namespace, callback: n }], s = o.length); for (var a = function (n) { var a = o[n]; if (a.type === i.type && (!a.namespace || a.namespace === i.namespace || ".*" === a.namespace) && e.eventMatches(e.context, a, i)) { var s = [i]; null != t && r.push(s, t), e.beforeEmit(e.context, a, i), a.conf && a.conf.one && (e.listeners = e.listeners.filter((function (e) { return e !== a }))); var l = e.callbackContext(e.context, a, i), c = a.callback.apply(l, s); e.afterEmit(e.context, a, i), !1 === c && (i.stopPropagation(), i.preventDefault()) } }, l = 0; l < s; l++)a(l); e.bubble(e.context) && !i.isPropagationStopped() && e.parent(e.context).emit(i, t) }), e), this.emitting--, this }, e.exports = l }, function (e, t, n) { "use strict"; var r = n(3), i = n(1), o = n(7), a = n(0), s = n(5), l = n(4), c = function (e) { var t = this, n = (e = i.extend({}, e)).container; n && !a.htmlElement(n) && a.htmlElement(n[0]) && (n = n[0]); var l = n ? n._cyreg : null; (l = l || {}) && l.cy && (l.cy.destroy(), l = {}); var c = l.readies = l.readies || []; n && (n._cyreg = l), l.cy = t; var u = void 0 !== r && void 0 !== n && !e.headless, d = e; d.layout = i.extend({ name: u ? "grid" : "null" }, d.layout), d.renderer = i.extend({ name: u ? "canvas" : "null" }, d.renderer); var p = function (e, t, n) { return void 0 !== t ? t : void 0 !== n ? n : e }, f = this._private = { container: n, ready: !1, options: d, elements: new o(this), listeners: [], aniEles: new o(this), scratch: {}, layout: null, renderer: null, destroyed: !1, notificationsEnabled: !0, minZoom: 1e-50, maxZoom: 1e50, zoomingEnabled: p(!0, d.zoomingEnabled), userZoomingEnabled: p(!0, d.userZoomingEnabled), panningEnabled: p(!0, d.panningEnabled), userPanningEnabled: p(!0, d.userPanningEnabled), boxSelectionEnabled: p(!0, d.boxSelectionEnabled), autolock: p(!1, d.autolock, d.autolockNodes), autoungrabify: p(!1, d.autoungrabify, d.autoungrabifyNodes), autounselectify: p(!1, d.autounselectify), styleEnabled: void 0 === d.styleEnabled ? u : d.styleEnabled, zoom: a.number(d.zoom) ? d.zoom : 1, pan: { x: a.plainObject(d.pan) && a.number(d.pan.x) ? d.pan.x : 0, y: a.plainObject(d.pan) && a.number(d.pan.y) ? d.pan.y : 0 }, animation: { current: [], queue: [] }, hasCompoundNodes: !1 }; this.createEmitter(); var h = d.selectionType; f.selectionType = void 0 === h || "additive" !== h && "single" !== h ? "single" : h, a.number(d.minZoom) && a.number(d.maxZoom) && d.minZoom < d.maxZoom ? (f.minZoom = d.minZoom, f.maxZoom = d.maxZoom) : a.number(d.minZoom) && void 0 === d.maxZoom ? f.minZoom = d.minZoom : a.number(d.maxZoom) && void 0 === d.minZoom && (f.maxZoom = d.maxZoom), f.styleEnabled && t.setStyle([]), t.initRenderer(i.extend({ hideEdgesOnViewport: d.hideEdgesOnViewport, textureOnViewport: d.textureOnViewport, wheelSensitivity: a.number(d.wheelSensitivity) && d.wheelSensitivity > 0 ? d.wheelSensitivity : 1, motionBlur: void 0 !== d.motionBlur && d.motionBlur, motionBlurOpacity: void 0 === d.motionBlurOpacity ? .05 : d.motionBlurOpacity, pixelRatio: a.number(d.pixelRatio) && d.pixelRatio > 0 ? d.pixelRatio : void 0, desktopTapThreshold: void 0 === d.desktopTapThreshold ? 4 : d.desktopTapThreshold, touchTapThreshold: void 0 === d.touchTapThreshold ? 8 : d.touchTapThreshold }, d.renderer)), function (e, t) { if (e.some(a.promise)) return s.all(e).then(t); t(e) }([d.style, d.elements], (function (e) { var n = e[0], r = e[1]; f.styleEnabled && t.style().append(n), function (e, n, r) { t.notifications(!1); var o = t.mutableElements(); o.length > 0 && o.remove(), null != e && (a.plainObject(e) || a.array(e)) && t.add(e), t.one("layoutready", (function (e) { t.notifications(!0), t.emit(e), t.notify({ type: "load", eles: t.mutableElements() }), t.one("load", n), t.emit("load") })).one("layoutstop", (function () { t.one("done", r), t.emit("done") })); var s = i.extend({}, t._private.options.layout); s.eles = t.elements(), t.layout(s).run() }(r, (function () { t.startAnimationLoop(), f.ready = !0, a.fn(d.ready) && t.on("ready", d.ready); for (var e = 0; e < c.length; e++) { var n = c[e]; t.on("ready", n) } l && (l.readies = []), t.emit("ready") }), d.done) })) }, u = c.prototype; i.extend(u, { instanceString: function () { return "core" }, isReady: function () { return this._private.ready }, isDestroyed: function () { return this._private.destroyed }, ready: function (e) { return this.isReady() ? this.emitter().emit("ready", [], e) : this.on("ready", e), this }, destroy: function () { var e = this; if (!e.isDestroyed()) return e.stopAnimationLoop(), e.destroyRenderer(), this.emit("destroy"), e._private.destroyed = !0, e }, hasElementWithId: function (e) { return this._private.elements.hasElementWithId(e) }, getElementById: function (e) { return this._private.elements.getElementById(e) }, selectionType: function () { return this._private.selectionType }, hasCompoundNodes: function () { return this._private.hasCompoundNodes }, headless: function () { return "null" === this._private.options.renderer.name }, styleEnabled: function () { return this._private.styleEnabled }, addToPool: function (e) { return this._private.elements.merge(e), this }, removeFromPool: function (e) { return this._private.elements.unmerge(e), this }, container: function () { return this._private.container }, options: function () { return i.copy(this._private.options) }, json: function (e) { var t = this, n = t._private, r = t.mutableElements(); if (a.plainObject(e)) { if (t.startBatch(), e.elements) { var o = {}, s = function (e, n) { for (var r = 0; r < e.length; r++) { var a = e[r], s = a.data.id, l = t.getElementById(s); o[s] = !0, 0 !== l.length ? l.json(a) : n ? t.add(i.extend({ group: n }, a)) : t.add(a) } }; if (a.array(e.elements)) s(e.elements); else for (var l = ["nodes", "edges"], c = 0; c < l.length; c++) { var u = l[c], d = e.elements[u]; a.array(d) && s(d, u) } r.stdFilter((function (e) { return !o[e.id()] })).remove() } e.style && t.style(e.style), null != e.zoom && e.zoom !== n.zoom && t.zoom(e.zoom), e.pan && (e.pan.x === n.pan.x && e.pan.y === n.pan.y || t.pan(e.pan)); for (var p = ["minZoom", "maxZoom", "zoomingEnabled", "userZoomingEnabled", "panningEnabled", "userPanningEnabled", "boxSelectionEnabled", "autolock", "autoungrabify", "autounselectify"], f = 0; f < p.length; f++) { var h = p[f]; null != e[h] && t[h](e[h]) } return t.endBatch(), this } if (void 0 === e) { var g = { elements: {} }; return r.forEach((function (e) { var t = e.group(); g.elements[t] || (g.elements[t] = []), g.elements[t].push(e.json()) })), this._private.styleEnabled && (g.style = t.style().json()), g.zoomingEnabled = t._private.zoomingEnabled, g.userZoomingEnabled = t._private.userZoomingEnabled, g.zoom = t._private.zoom, g.minZoom = t._private.minZoom, g.maxZoom = t._private.maxZoom, g.panningEnabled = t._private.panningEnabled, g.userPanningEnabled = t._private.userPanningEnabled, g.pan = i.copy(t._private.pan), g.boxSelectionEnabled = t._private.boxSelectionEnabled, g.renderer = i.copy(t._private.options.renderer), g.hideEdgesOnViewport = t._private.options.hideEdgesOnViewport, g.textureOnViewport = t._private.options.textureOnViewport, g.wheelSensitivity = t._private.options.wheelSensitivity, g.motionBlur = t._private.options.motionBlur, g } }, scratch: l.data({ field: "scratch", bindingEvent: "scratch", allowBinding: !0, allowSetting: !0, settingEvent: "scratch", settingTriggersEvent: !0, triggerFnName: "trigger", allowGetting: !0 }), removeScratch: l.removeData({ field: "scratch", event: "scratch", triggerFnName: "trigger", triggerEvent: !0 }) }), u.$id = u.getElementById, [n(69), n(70), n(78), n(79), n(80), n(81), n(82), n(83), n(84), n(93)].forEach((function (e) { i.extend(u, e) })), e.exports = c }, function (e, t, n) { "use strict"; e.exports = function (e, t) { t || (t = function () { if (1 === arguments.length) return arguments[0]; if (0 === arguments.length) return "undefined"; for (var e = [], t = 0; t < arguments.length; t++)e.push(arguments[t]); return e.join("$") }); var n = function n() { var r = this, i = arguments, o = void 0, a = t.apply(r, i), s = n.cache; return (o = s[a]) || (o = s[a] = e.apply(r, i)), o }; return n.cache = {}, n } }, function (e, t, n) { "use strict"; var r = n(1), i = n(0), o = n(8); e.exports = function (e, t, n) { if (n = !(void 0 !== n && !n), void 0 !== e && void 0 !== t && i.core(e)) { var a = t.group; if (null == a && (a = t.data && null != t.data.source && null != t.data.target ? "edges" : "nodes"), "nodes" === a || "edges" === a) { this.length = 1, this[0] = this; var s = this._private = { cy: e, single: !0, data: t.data || {}, position: t.position || {}, autoWidth: void 0, autoHeight: void 0, autoPadding: void 0, compoundBoundsClean: !1, listeners: [], group: a, style: {}, rstyle: {}, styleCxts: [], removed: !0, selected: !!t.selected, selectable: void 0 === t.selectable || !!t.selectable, locked: !!t.locked, grabbed: !1, grabbable: void 0 === t.grabbable || !!t.grabbable, active: !1, classes: new o, animation: { current: [], queue: [] }, rscratch: {}, scratch: t.scratch || {}, edges: [], children: [], parent: null, traversalCache: {}, backgrounding: !1 }; if (t.renderedPosition) { var l = t.renderedPosition, c = e.pan(), u = e.zoom(); s.position = { x: (l.x - c.x) / u, y: (l.y - c.y) / u } } if (i.string(t.classes)) for (var d = t.classes.split(/\s+/), p = 0, f = d.length; p < f; p++) { var h = d[p]; h && "" !== h && s.classes.add(h) } (t.style || t.css) && e.style().applyBypass(this, t.style || t.css), this.createEmitter(), (void 0 === n || n) && this.restore() } else r.error("An element must be of type `nodes` or `edges`; you specified `" + a + "`") } else r.error("An element must have a core reference and parameters set") } }, function (e, t, n) { "use strict"; var r = n(1), i = [{ selector: ":selected", matches: function (e) { return e.selected() } }, { selector: ":unselected", matches: function (e) { return !e.selected() } }, { selector: ":selectable", matches: function (e) { return e.selectable() } }, { selector: ":unselectable", matches: function (e) { return !e.selectable() } }, { selector: ":locked", matches: function (e) { return e.locked() } }, { selector: ":unlocked", matches: function (e) { return !e.locked() } }, { selector: ":visible", matches: function (e) { return e.visible() } }, { selector: ":hidden", matches: function (e) { return !e.visible() } }, { selector: ":transparent", matches: function (e) { return e.transparent() } }, { selector: ":grabbed", matches: function (e) { return e.grabbed() } }, { selector: ":free", matches: function (e) { return !e.grabbed() } }, { selector: ":removed", matches: function (e) { return e.removed() } }, { selector: ":inside", matches: function (e) { return !e.removed() } }, { selector: ":grabbable", matches: function (e) { return e.grabbable() } }, { selector: ":ungrabbable", matches: function (e) { return !e.grabbable() } }, { selector: ":animated", matches: function (e) { return e.animated() } }, { selector: ":unanimated", matches: function (e) { return !e.animated() } }, { selector: ":parent", matches: function (e) { return e.isParent() } }, { selector: ":childless", matches: function (e) { return e.isChildless() } }, { selector: ":child", matches: function (e) { return e.isChild() } }, { selector: ":orphan", matches: function (e) { return e.isOrphan() } }, { selector: ":nonorphan", matches: function (e) { return e.isChild() } }, { selector: ":loop", matches: function (e) { return e.isLoop() } }, { selector: ":simple", matches: function (e) { return e.isSimple() } }, { selector: ":active", matches: function (e) { return e.active() } }, { selector: ":inactive", matches: function (e) { return !e.active() } }, { selector: ":backgrounding", matches: function (e) { return e.backgrounding() } }, { selector: ":nonbackgrounding", matches: function (e) { return !e.backgrounding() } }].sort((function (e, t) { return r.sort.descending(e.selector, t.selector) })), o = "(" + i.map((function (e) { return e.selector })).join("|") + ")"; e.exports = { stateSelectors: i, stateSelectorMatches: function e(t, n) { return (e.lookup = e.lookup || function () { for (var e = {}, t = void 0, n = 0; n < i.length; n++)e[(t = i[n]).selector] = t.matches; return e }())[t](n) }, stateSelectorRegex: o } }, function (e, t, n) {
220
+ "use strict";
221
+ /*!
222
+ Event object based on jQuery events, MIT license
223
+
224
+ https://jquery.org/license/
225
+ https://tldrlegal.com/license/mit-license
226
+ https://github.com/jquery/jquery/blob/master/src/event.js
227
+ */var r = function (e, t) { this.recycle(e, t) }; function i() { return !1 } function o() { return !0 } r.prototype = { instanceString: function () { return "event" }, recycle: function (e, t) { if (this.isImmediatePropagationStopped = this.isPropagationStopped = this.isDefaultPrevented = i, null != e && e.preventDefault ? (this.type = e.type, this.isDefaultPrevented = e.defaultPrevented ? o : i) : null != e && e.type ? t = e : this.type = e, null != t && (this.originalEvent = t.originalEvent, this.type = null != t.type ? t.type : this.type, this.cy = t.cy, this.target = t.target, this.position = t.position, this.renderedPosition = t.renderedPosition, this.namespace = t.namespace, this.layout = t.layout), null != this.cy && null != this.position && null == this.renderedPosition) { var n = this.position, r = this.cy.zoom(), a = this.cy.pan(); this.renderedPosition = { x: n.x * r + a.x, y: n.y * r + a.y } } this.timeStamp = e && e.timeStamp || Date.now() }, preventDefault: function () { this.isDefaultPrevented = o; var e = this.originalEvent; e && e.preventDefault && e.preventDefault() }, stopPropagation: function () { this.isPropagationStopped = o; var e = this.originalEvent; e && e.stopPropagation && e.stopPropagation() }, stopImmediatePropagation: function () { this.isImmediatePropagationStopped = o, this.stopPropagation() }, isDefaultPrevented: i, isPropagationStopped: i, isImmediatePropagationStopped: i }, e.exports = r
228
+ }, function (e, t, n) { "use strict"; var r = n(1); e.exports = function (e, t) { var n = e.cy().hasCompoundNodes(); function i(e) { var t = e.pstyle("z-compound-depth"); return "auto" === t.value ? n ? e.zDepth() : 0 : "bottom" === t.value ? -1 : "top" === t.value ? r.MAX_INT : 0 } var o = i(e) - i(t); if (0 !== o) return o; function a(e) { return "auto" === e.pstyle("z-index-compare").value && e.isNode() ? 1 : 0 } var s = a(e) - a(t); if (0 !== s) return s; var l = e.pstyle("z-index").value - t.pstyle("z-index").value; return 0 !== l ? l : e.poolIndex() - t.poolIndex() } }, function (e, t, n) { "use strict"; var r = n(0), i = n(1), o = n(6), a = function e(t) { if (!(this instanceof e)) return new e(t); r.core(t) ? (this._private = { cy: t, coreStyle: {} }, this.length = 0, this.resetToDefault()) : i.error("A style must have a core reference") }, s = a.prototype; s.instanceString = function () { return "style" }, s.clear = function () { for (var e = 0; e < this.length; e++)this[e] = void 0; return this.length = 0, this._private.newStyle = !0, this }, s.resetToDefault = function () { return this.clear(), this.addDefaultStylesheet(), this }, s.core = function () { return this._private.coreStyle }, s.selector = function (e) { var t = "core" === e ? null : new o(e), n = this.length++; return this[n] = { selector: t, properties: [], mappedProperties: [], index: n }, this }, s.css = function () { var e = this, t = arguments; switch (t.length) { case 1: for (var n = t[0], r = 0; r < e.properties.length; r++) { var o = e.properties[r], a = n[o.name]; void 0 === a && (a = n[i.dash2camel(o.name)]), void 0 !== a && this.cssRule(o.name, a) } break; case 2: this.cssRule(t[0], t[1]) }return this }, s.style = s.css, s.cssRule = function (e, t) { var n = this.parse(e, t); if (n) { var r = this.length - 1; this[r].properties.push(n), this[r].properties[n.name] = n, n.name.match(/pie-(\d+)-background-size/) && n.value && (this._private.hasPie = !0), n.mapped && this[r].mappedProperties.push(n), !this[r].selector && (this._private.coreStyle[n.name] = n) } return this }, s.append = function (e) { return r.stylesheet(e) ? e.appendToStyle(this) : r.array(e) ? this.appendFromJson(e) : r.string(e) && this.appendFromString(e), this }, a.fromJson = function (e, t) { var n = new a(e); return n.fromJson(t), n }, a.fromString = function (e, t) { return new a(e).fromString(t) }, [n(85), n(86), n(87), n(88), n(89), n(90), n(91), n(92)].forEach((function (e) { i.extend(s, e) })), a.types = s.types, a.properties = s.properties, e.exports = a }, function (e, t, n) { "use strict"; var r = n(1); e.exports = { setupDequeueing: function (e) { return function () { var t = this, n = this.renderer; if (!t.dequeueingSetup) { t.dequeueingSetup = !0; var i = r.debounce((function () { n.redrawHint("eles", !0), n.redrawHint("drag", !0), n.redraw() }), e.deqRedrawThreshold), o = e.priority || r.noop; n.beforeRender((function (o, a) { for (var s = r.performanceNow(), l = n.averageRedrawTime, c = n.lastRedrawTime, u = [], d = n.cy.extent(), p = n.getPixelRatio(); ;) { var f = r.performanceNow(), h = f - s, g = f - a; if (c < 1e3 / 60) { var m = 1e3 / 60 - (o ? l : 0); if (g >= e.deqFastCost * m) break } else if (o) { if (h >= e.deqCost * c || h >= e.deqAvgCost * l) break } else if (g >= e.deqNoDrawCost * (1e3 / 60)) break; var v = e.deq(t, p, d); if (!(v.length > 0)) break; for (var b = 0; b < v.length; b++)u.push(v[b]) } u.length > 0 && (e.onDeqd(t, u), !o && e.shouldRedraw(t, u, p, d) && i()) }), o(t)) } } } } }, function (e, t, n) { "use strict"; var r = n(0), i = n(12), o = n(94), a = n(136), s = function (e) { return void 0 === e && (e = {}), r.plainObject(e) ? new i(e) : r.string(e) ? o.apply(o, arguments) : void 0 }; s.use = function (e) { var t = Array.prototype.slice.call(arguments, 1); return t.unshift(s), e.apply(null, t), this }, s.version = n(137), s.stylesheet = s.Stylesheet = a, e.exports = s }, function (e, t, n) { "use strict"; var r = n(0); e.exports = { hex2tuple: function (e) { if ((4 === e.length || 7 === e.length) && "#" === e[0]) { var t = void 0, n = void 0, r = void 0; return 4 === e.length ? (t = parseInt(e[1] + e[1], 16), n = parseInt(e[2] + e[2], 16), r = parseInt(e[3] + e[3], 16)) : (t = parseInt(e[1] + e[2], 16), n = parseInt(e[3] + e[4], 16), r = parseInt(e[5] + e[6], 16)), [t, n, r] } }, hsl2tuple: function (e) { var t = void 0, n = void 0, r = void 0, i = void 0, o = void 0, a = void 0, s = void 0, l = void 0; function c(e, t, n) { return n < 0 && (n += 1), n > 1 && (n -= 1), n < 1 / 6 ? e + 6 * (t - e) * n : n < .5 ? t : n < 2 / 3 ? e + (t - e) * (2 / 3 - n) * 6 : e } var u = new RegExp("^" + this.regex.hsla + "$").exec(e); if (u) { if ((n = parseInt(u[1])) < 0 ? n = (360 - -1 * n % 360) % 360 : n > 360 && (n %= 360), n /= 360, (r = parseFloat(u[2])) < 0 || r > 100) return; if (r /= 100, (i = parseFloat(u[3])) < 0 || i > 100) return; if (i /= 100, void 0 !== (o = u[4]) && ((o = parseFloat(o)) < 0 || o > 1)) return; if (0 === r) a = s = l = Math.round(255 * i); else { var d = i < .5 ? i * (1 + r) : i + r - i * r, p = 2 * i - d; a = Math.round(255 * c(p, d, n + 1 / 3)), s = Math.round(255 * c(p, d, n)), l = Math.round(255 * c(p, d, n - 1 / 3)) } t = [a, s, l, o] } return t }, rgb2tuple: function (e) { var t = void 0, n = new RegExp("^" + this.regex.rgba + "$").exec(e); if (n) { t = []; for (var r = [], i = 1; i <= 3; i++) { var o = n[i]; if ("%" === o[o.length - 1] && (r[i] = !0), o = parseFloat(o), r[i] && (o = o / 100 * 255), o < 0 || o > 255) return; t.push(Math.floor(o)) } var a = r[1] || r[2] || r[3], s = r[1] && r[2] && r[3]; if (a && !s) return; var l = n[4]; if (void 0 !== l) { if ((l = parseFloat(l)) < 0 || l > 1) return; t.push(l) } } return t }, colorname2tuple: function (e) { return this.colors[e.toLowerCase()] }, color2tuple: function (e) { return (r.array(e) ? e : null) || this.colorname2tuple(e) || this.hex2tuple(e) || this.rgb2tuple(e) || this.hsl2tuple(e) }, colors: { transparent: [0, 0, 0, 0], aliceblue: [240, 248, 255], antiquewhite: [250, 235, 215], aqua: [0, 255, 255], aquamarine: [127, 255, 212], azure: [240, 255, 255], beige: [245, 245, 220], bisque: [255, 228, 196], black: [0, 0, 0], blanchedalmond: [255, 235, 205], blue: [0, 0, 255], blueviolet: [138, 43, 226], brown: [165, 42, 42], burlywood: [222, 184, 135], cadetblue: [95, 158, 160], chartreuse: [127, 255, 0], chocolate: [210, 105, 30], coral: [255, 127, 80], cornflowerblue: [100, 149, 237], cornsilk: [255, 248, 220], crimson: [220, 20, 60], cyan: [0, 255, 255], darkblue: [0, 0, 139], darkcyan: [0, 139, 139], darkgoldenrod: [184, 134, 11], darkgray: [169, 169, 169], darkgreen: [0, 100, 0], darkgrey: [169, 169, 169], darkkhaki: [189, 183, 107], darkmagenta: [139, 0, 139], darkolivegreen: [85, 107, 47], darkorange: [255, 140, 0], darkorchid: [153, 50, 204], darkred: [139, 0, 0], darksalmon: [233, 150, 122], darkseagreen: [143, 188, 143], darkslateblue: [72, 61, 139], darkslategray: [47, 79, 79], darkslategrey: [47, 79, 79], darkturquoise: [0, 206, 209], darkviolet: [148, 0, 211], deeppink: [255, 20, 147], deepskyblue: [0, 191, 255], dimgray: [105, 105, 105], dimgrey: [105, 105, 105], dodgerblue: [30, 144, 255], firebrick: [178, 34, 34], floralwhite: [255, 250, 240], forestgreen: [34, 139, 34], fuchsia: [255, 0, 255], gainsboro: [220, 220, 220], ghostwhite: [248, 248, 255], gold: [255, 215, 0], goldenrod: [218, 165, 32], gray: [128, 128, 128], grey: [128, 128, 128], green: [0, 128, 0], greenyellow: [173, 255, 47], honeydew: [240, 255, 240], hotpink: [255, 105, 180], indianred: [205, 92, 92], indigo: [75, 0, 130], ivory: [255, 255, 240], khaki: [240, 230, 140], lavender: [230, 230, 250], lavenderblush: [255, 240, 245], lawngreen: [124, 252, 0], lemonchiffon: [255, 250, 205], lightblue: [173, 216, 230], lightcoral: [240, 128, 128], lightcyan: [224, 255, 255], lightgoldenrodyellow: [250, 250, 210], lightgray: [211, 211, 211], lightgreen: [144, 238, 144], lightgrey: [211, 211, 211], lightpink: [255, 182, 193], lightsalmon: [255, 160, 122], lightseagreen: [32, 178, 170], lightskyblue: [135, 206, 250], lightslategray: [119, 136, 153], lightslategrey: [119, 136, 153], lightsteelblue: [176, 196, 222], lightyellow: [255, 255, 224], lime: [0, 255, 0], limegreen: [50, 205, 50], linen: [250, 240, 230], magenta: [255, 0, 255], maroon: [128, 0, 0], mediumaquamarine: [102, 205, 170], mediumblue: [0, 0, 205], mediumorchid: [186, 85, 211], mediumpurple: [147, 112, 219], mediumseagreen: [60, 179, 113], mediumslateblue: [123, 104, 238], mediumspringgreen: [0, 250, 154], mediumturquoise: [72, 209, 204], mediumvioletred: [199, 21, 133], midnightblue: [25, 25, 112], mintcream: [245, 255, 250], mistyrose: [255, 228, 225], moccasin: [255, 228, 181], navajowhite: [255, 222, 173], navy: [0, 0, 128], oldlace: [253, 245, 230], olive: [128, 128, 0], olivedrab: [107, 142, 35], orange: [255, 165, 0], orangered: [255, 69, 0], orchid: [218, 112, 214], palegoldenrod: [238, 232, 170], palegreen: [152, 251, 152], paleturquoise: [175, 238, 238], palevioletred: [219, 112, 147], papayawhip: [255, 239, 213], peachpuff: [255, 218, 185], peru: [205, 133, 63], pink: [255, 192, 203], plum: [221, 160, 221], powderblue: [176, 224, 230], purple: [128, 0, 128], red: [255, 0, 0], rosybrown: [188, 143, 143], royalblue: [65, 105, 225], saddlebrown: [139, 69, 19], salmon: [250, 128, 114], sandybrown: [244, 164, 96], seagreen: [46, 139, 87], seashell: [255, 245, 238], sienna: [160, 82, 45], silver: [192, 192, 192], skyblue: [135, 206, 235], slateblue: [106, 90, 205], slategray: [112, 128, 144], slategrey: [112, 128, 144], snow: [255, 250, 250], springgreen: [0, 255, 127], steelblue: [70, 130, 180], tan: [210, 180, 140], teal: [0, 128, 128], thistle: [216, 191, 216], tomato: [255, 99, 71], turquoise: [64, 224, 208], violet: [238, 130, 238], wheat: [245, 222, 179], white: [255, 255, 255], whitesmoke: [245, 245, 245], yellow: [255, 255, 0], yellowgreen: [154, 205, 50] } } }, function (e, t, n) { "use strict"; var r = n(0); e.exports = { mapEmpty: function (e) { return null == e || 0 === Object.keys(e).length }, pushMap: function (e) { var t = this.getMap(e); null == t ? this.setMap(this.extend({}, e, { value: [e.value] })) : t.push(e.value) }, setMap: function (e) { for (var t = e.map, n = e.keys, i = n.length, o = 0; o < i; o++) { var a = n[o]; r.plainObject(a) && this.error("Tried to set map with object key"), o < n.length - 1 ? (null == t[a] && (t[a] = {}), t = t[a]) : t[a] = e.value } }, getMap: function (e) { for (var t = e.map, n = e.keys, i = n.length, o = 0; o < i; o++) { var a = n[o]; if (r.plainObject(a) && this.error("Tried to get map with object key"), null == (t = t[a])) return t } return t }, deleteMap: function (e) { for (var t = e.map, n = e.keys, i = n.length, o = e.keepChildren, a = 0; a < i; a++) { var s = n[a]; if (r.plainObject(s) && this.error("Tried to delete map with object key"), a === e.keys.length - 1) if (o) for (var l = Object.keys(t), c = 0; c < l.length; c++) { var u = l[c]; o[u] || (t[u] = void 0) } else t[s] = void 0; else t = t[s] } } } }, function (e, t, n) { "use strict"; var r = "(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))"; e.exports = { regex: { number: r, rgba: "rgb[a]?\\(((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%]?)\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%]?)\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%]?)(?:\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))))?\\)", rgbaNoBackRefs: "rgb[a]?\\((?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%]?)\\s*,\\s*(?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%]?)\\s*,\\s*(?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%]?)(?:\\s*,\\s*(?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))))?\\)", hsla: "hsl[a]?\\(((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?)))\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%])\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%])(?:\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))))?\\)", hslaNoBackRefs: "hsl[a]?\\((?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?)))\\s*,\\s*(?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%])\\s*,\\s*(?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%])(?:\\s*,\\s*(?:(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))))?\\)", hex3: "\\#[0-9a-fA-F]{3}", hex6: "\\#[0-9a-fA-F]{6}" } } }, function (e, t, n) { "use strict"; var r = n(13), i = n(0); e.exports = { camel2dash: r((function (e) { return e.replace(/([A-Z])/g, (function (e) { return "-" + e.toLowerCase() })) })), dash2camel: r((function (e) { return e.replace(/(-\w)/g, (function (e) { return e[1].toUpperCase() })) })), prependCamel: r((function (e, t) { return e + t[0].toUpperCase() + t.substring(1) }), (function (e, t) { return e + "$" + t })), capitalize: function (e) { return i.emptyString(e) ? e : e.charAt(0).toUpperCase() + e.substring(1) } } }, function (e, t, n) { "use strict"; var r = n(3), i = r ? r.performance : null, o = {}, a = i && i.now ? function () { return i.now() } : function () { return Date.now() }, s = function () { if (r) { if (r.requestAnimationFrame) return function (e) { r.requestAnimationFrame(e) }; if (r.mozRequestAnimationFrame) return function (e) { r.mozRequestAnimationFrame(e) }; if (r.webkitRequestAnimationFrame) return function (e) { r.webkitRequestAnimationFrame(e) }; if (r.msRequestAnimationFrame) return function (e) { r.msRequestAnimationFrame(e) } } return function (e) { e && setTimeout((function () { e(a()) }), 1e3 / 60) } }(); o.requestAnimationFrame = function (e) { s(e) }, o.performanceNow = a, o.debounce = n(26), o.now = function () { return Date.now() }, e.exports = o }, function (t, n) { t.exports = e }, function (e, t, n) { "use strict"; function r(e, t) { return e < t ? -1 : e > t ? 1 : 0 } e.exports = { sort: { ascending: r, descending: function (e, t) { return -1 * r(e, t) } } } }, function (e, t, n) { "use strict"; function r() { this._obj = {} } var i = r.prototype; i.set = function (e, t) { this._obj[e] = t }, i.delete = function (e) { this._obj[e] = null }, i.has = function (e) { return null != this._obj[e] }, i.get = function (e) { return this._obj[e] }, e.exports = r }, function (e, t, n) { "use strict"; var r = n(1), i = {};[n(30), n(31), n(33), n(34), n(35), n(36), n(37), n(38), n(39), n(40), n(41)].forEach((function (e) { r.extend(i, e) })), e.exports = i }, function (e, t, n) { "use strict"; var r = n(0), i = function (e) { return e = { bfs: e.bfs || !e.dfs, dfs: e.dfs || !e.bfs }, function (t, n, i) { var o; r.plainObject(t) && !r.elementOrCollection(t) && (t = (o = t).roots || o.root, n = o.visit, i = o.directed), i = 2 !== arguments.length || r.fn(n) ? i : n, n = r.fn(n) ? n : function () { }; for (var a, s = this._private.cy, l = t = r.string(t) ? this.filter(t) : t, c = [], u = [], d = {}, p = {}, f = {}, h = 0, g = this.nodes(), m = this.edges(), v = 0; v < l.length; v++)l[v].isNode() && (c.unshift(l[v]), e.bfs && (f[l[v].id()] = !0, u.push(l[v])), p[l[v].id()] = 0); for (; 0 !== c.length;) { if (l = e.bfs ? c.shift() : c.pop(), e.dfs) { if (f[l.id()]) continue; f[l.id()] = !0, u.push(l) } var b, y = p[l.id()], x = d[l.id()], w = null == x ? void 0 : x.connectedNodes().not(l)[0]; if (!0 === (b = n(l, x, w, h++, y))) { a = l; break } if (!1 === b) break; var k = l.connectedEdges(i ? function (e) { return e.data("source") === l.id() } : void 0).intersect(m); for (v = 0; v < k.length; v++) { var A = k[v], E = A.connectedNodes((function (e) { return e.id() !== l.id() })).intersect(g); 0 === E.length || f[E.id()] || (E = E[0], c.push(E), e.bfs && (f[E.id()] = !0, u.push(E)), d[E.id()] = A, p[E.id()] = p[l.id()] + 1) } } var S = []; for (v = 0; v < u.length; v++) { var $ = u[v], C = d[$.id()]; C && S.push(C), S.push($) } return { path: s.collection(S, { unique: !0 }), found: s.collection(a) } } }, o = { breadthFirstSearch: i({ bfs: !0 }), depthFirstSearch: i({ dfs: !0 }) }; o.bfs = o.breadthFirstSearch, o.dfs = o.depthFirstSearch, e.exports = o }, function (e, t, n) { "use strict"; var r = n(0), i = n(9), o = { dijkstra: function (e, t, n) { var o; r.plainObject(e) && !r.elementOrCollection(e) && (e = (o = e).root, t = o.weight, n = o.directed); var a = this._private.cy; t = r.fn(t) ? t : function () { return 1 }; for (var s = r.string(e) ? this.filter(e)[0] : e[0], l = {}, c = {}, u = {}, d = this.edges().filter((function (e) { return !e.isLoop() })), p = this.nodes(), f = function (e) { return l[e.id()] }, h = function (e, t) { l[e.id()] = t, g.updateItem(e) }, g = new i((function (e, t) { return f(e) - f(t) })), m = 0; m < p.length; m++) { var v = p[m]; l[v.id()] = v.same(s) ? 0 : 1 / 0, g.push(v) } for (var b = function (e, r) { for (var i, o = (n ? e.edgesTo(r) : e.edgesWith(r)).intersect(d), a = 1 / 0, s = 0; s < o.length; s++) { var l = o[s], c = t(l); (c < a || !i) && (a = c, i = l) } return { edge: i, dist: a } }; g.size() > 0;) { var y = g.pop(), x = f(y), w = y.id(); if (u[w] = x, x !== 1 / 0) { var k = y.neighborhood().intersect(p); for (m = 0; m < k.length; m++) { var A = k[m], E = A.id(), S = b(y, A), $ = x + S.dist; $ < f(A) && (h(A, $), c[E] = { node: y, edge: S.edge }) } } } return { distanceTo: function (e) { var t = r.string(e) ? p.filter(e)[0] : e[0]; return u[t.id()] }, pathTo: function (e) { var t = r.string(e) ? p.filter(e)[0] : e[0], n = [], i = t; if (t.length > 0) for (n.unshift(t); c[i.id()];) { var o = c[i.id()]; n.unshift(o.edge), n.unshift(o.node), i = o.node } return a.collection(n) } } } }; e.exports = o }, function (e, t) { e.exports = n }, function (e, t, n) { "use strict"; var r = n(0), i = { kruskal: function (e) { var t = this.cy(); function n(e) { for (var t = 0; t < o.length; t++) { var n = o[t]; if (n.anySame(e)) return { eles: n, index: t } } } e = r.fn(e) ? e : function () { return 1 }; for (var i = t.collection(t, []), o = [], a = this.nodes(), s = 0; s < a.length; s++)o.push(a[s].collection()); var l = this.edges().toArray().sort((function (t, n) { return e(t) - e(n) })); for (s = 0; s < l.length; s++) { var c = l[s], u = c.source()[0], d = c.target()[0], p = n(u), f = n(d); p.index !== f.index && (i = i.add(c), o[p.index] = p.eles.add(f.eles), o.splice(f.index, 1)) } return a.add(i) } }; e.exports = i }, function (e, t, n) { "use strict"; var r = n(0), i = { aStar: function (e) { e = e || {}; var t = function e(t, n, r, o) { if (t == n) return o.unshift(i.getElementById(n)), o; if (n in r) { var a = r[n], s = g[n]; return o.unshift(i.getElementById(s)), o.unshift(i.getElementById(n)), e(t, a, r, o) } }, n = function (e, t) { if (0 !== e.length) { for (var n = 0, r = t[e[0]], i = 1; i < e.length; i++) { var o = t[e[i]]; o < r && (r = o, n = i) } return n } }, i = this._private.cy; if (null != e && null != e.root) { var o = r.string(e.root) ? this.filter(e.root)[0] : e.root[0]; if (null != e.goal) { var a = r.string(e.goal) ? this.filter(e.goal)[0] : e.goal[0]; if (null != e.heuristic && r.fn(e.heuristic)) var s = e.heuristic; else s = function () { return 0 }; if (null != e.weight && r.fn(e.weight)) var l = e.weight; else l = function (e) { return 1 }; if (null != e.directed) var c = e.directed; else c = !1; var u = o.id(), d = a.id(), p = [], f = [u], h = {}, g = {}, m = {}, v = {}; m[u] = 0, v[u] = s(o); for (var b = 0; f.length > 0;) { var y = n(f, v), x = i.getElementById(f[y]), w = x.id(); if (b++, w == d) { var k = t(u, d, h, []); return { found: !0, distance: m[w], path: this.spawn(k), steps: b } } p.push(w), f.splice(y, 1); for (var A = x._private.edges, E = 0; E < A.length; E++) { var S = A[E]; if (this.hasElementWithId(S.id()) && (!c || S.data("source") === w)) { var $ = S.source(), C = S.target(), _ = $.id() !== w ? $ : C, O = _.id(); if (this.hasElementWithId(O) && -1 == p.indexOf(O)) { var T = m[w] + l(S); -1 != f.indexOf(O) ? T < m[O] && (m[O] = T, v[O] = T + s(_), h[O] = w) : (m[O] = T, v[O] = T + s(_), f.push(O), h[O] = w, g[O] = S.id()) } } } } return { found: !1, distance: void 0, path: void 0, steps: b } } } } }; e.exports = i }, function (e, t, n) { "use strict"; var r = n(0), i = { floydWarshall: function (e) { e = e || {}; var t = this.cy(); if (null != e.weight && r.fn(e.weight)) var n = e.weight; else n = function (e) { return 1 }; if (null != e.directed) var i = e.directed; else i = !1; for (var o = this.edges().stdFilter((function (e) { return !e.isLoop() })), a = this.nodes(), s = a.length, l = {}, c = 0; c < s; c++)l[a[c].id()] = c; var u = []; for (c = 0; c < s; c++) { for (var d = new Array(s), p = 0; p < s; p++)d[p] = c == p ? 0 : 1 / 0; u.push(d) } var f = [], h = [], g = function (e) { for (var t = 0; t < s; t++) { for (var n = new Array(s), r = 0; r < s; r++)n[r] = void 0; e.push(n) } }; for (g(f), g(h), c = 0; c < o.length; c++) { var m = l[o[c].source().id()], v = l[o[c].target().id()], b = n(o[c]); u[m][v] > b && (u[m][v] = b, f[m][v] = v, h[m][v] = o[c]) } if (!i) for (c = 0; c < o.length; c++)m = l[o[c].target().id()], v = l[o[c].source().id()], b = n(o[c]), u[m][v] > b && (u[m][v] = b, f[m][v] = v, h[m][v] = o[c]); for (var y = 0; y < s; y++)for (c = 0; c < s; c++)for (p = 0; p < s; p++)u[c][y] + u[y][p] < u[c][p] && (u[c][p] = u[c][y] + u[y][p], f[c][p] = f[c][y]); var x = []; for (c = 0; c < s; c++)x.push(a[c].id()); return { distance: function (e, n) { if (r.string(e)) var i = t.filter(e)[0].id(); else i = e.id(); if (r.string(n)) var o = t.filter(n)[0].id(); else o = n.id(); return u[l[i]][l[o]] }, path: function (e, n) { if (r.string(e)) var i = t.filter(e)[0].id(); else i = e.id(); if (r.string(n)) var o = t.filter(n)[0].id(); else o = n.id(); var a = function (e, n, r, i, o) { if (e === n) return t.getElementById(i[e]); if (void 0 !== r[e][n]) { for (var a = [t.getElementById(i[e])], s = e; e !== n;) { s = e, e = r[e][n]; var l = o[s][e]; a.push(l), a.push(t.getElementById(i[e])) } return a } }(l[i], l[o], f, x, h); return t.collection(a) } } } }; e.exports = i }, function (e, t, n) { "use strict"; var r = n(0), i = n(1), o = { bellmanFord: function (e) { var t = this; if (null != (e = e || {}).weight && r.fn(e.weight)) var n = e.weight; else n = function (e) { return 1 }; if (null != e.directed) var o = e.directed; else o = !1; if (null != e.root) { if (r.string(e.root)) var a = this.filter(e.root)[0]; else a = e.root[0]; for (var s = this._private.cy, l = this.edges().stdFilter((function (e) { return !e.isLoop() })), c = this.nodes(), u = c.length, d = {}, p = 0; p < u; p++)d[c[p].id()] = p; var f = [], h = [], g = []; for (p = 0; p < u; p++)c[p].id() === a.id() ? f[p] = 0 : f[p] = 1 / 0, h[p] = void 0; var m = !1; for (p = 1; p < u; p++) { m = !1; for (var v = 0; v < l.length; v++) { var b, y = d[l[v].source().id()], x = d[l[v].target().id()], w = n(l[v]); (b = f[y] + w) < f[x] && (f[x] = b, h[x] = y, g[x] = l[v], m = !0), o || (b = f[x] + w) < f[y] && (f[y] = b, h[y] = x, g[y] = l[v], m = !0) } if (!m) break } if (m) for (v = 0; v < l.length; v++)if (y = d[l[v].source().id()], x = d[l[v].target().id()], w = n(l[v]), f[y] + w < f[x]) return i.error("Graph contains a negative weight cycle for Bellman-Ford"), { pathTo: void 0, distanceTo: void 0, hasNegativeWeightCycle: !0 }; var k = []; for (p = 0; p < u; p++)k.push(c[p].id()); return { distanceTo: function (e) { if (r.string(e)) var t = s.filter(e)[0].id(); else t = e.id(); return f[d[t]] }, pathTo: function (e) { if (r.string(e)) var n = s.filter(e)[0].id(); else n = e.id(); var i = function (e, t, n, r, i, o) { for (; ;) { if (i.push(s.getElementById(r[n])), i.push(o[n]), t === n) return i; var a = e[n]; if (void 0 === a) return; n = a } }(h, d[a.id()], d[n], k, [], g); return null != i && i.reverse(), t.spawn(i) }, hasNegativeWeightCycle: !1 } } } }; e.exports = o }, function (e, t, n) { "use strict"; var r = n(1), i = { kargerStein: function (e) { e = e || {}; var t = function e(t, n, r, i) { return r <= i ? n : e(t, function (e, t, n) { for (var r = n[e], i = r[1], o = r[2], a = t[i], s = t[o], l = n.filter((function (e) { return !(t[e[1]] === a && t[e[2]] === s || t[e[1]] === s && t[e[2]] === a) })), c = 0; c < l.length; c++) { var u = l[c]; u[1] === s ? (l[c] = u.slice(0), l[c][1] = a) : u[2] === s && (l[c] = u.slice(0), l[c][2] = a) } for (c = 0; c < t.length; c++)t[c] === s && (t[c] = a); return l }(Math.floor(Math.random() * n.length), t, n), r - 1, i) }, n = this._private.cy, i = this.edges().stdFilter((function (e) { return !e.isLoop() })), o = this.nodes(), a = o.length, s = i.length, l = Math.ceil(Math.pow(Math.log(a) / Math.LN2, 2)), c = Math.floor(a / Math.sqrt(2)); if (!(a < 2)) { for (var u = {}, d = 0; d < a; d++)u[o[d].id()] = d; var p = []; for (d = 0; d < s; d++) { var f = i[d]; p.push([d, u[f.source().id()], u[f.target().id()]]) } var h, g = 1 / 0, m = []; for (d = 0; d < a; d++)m.push(d); for (var v = 0; v <= l; v++) { var b = m.slice(0), y = t(b, p, a, c), x = b.slice(0), w = t(b, y, c, 2), k = t(x, y, c, 2); w.length <= k.length && w.length < g ? (g = w.length, h = [w, b]) : k.length <= w.length && k.length < g && (g = k.length, h = [k, x]) } var A = h[0].map((function (e) { return i[e[0]] })), E = [], S = [], $ = h[1][0]; for (d = 0; d < h[1].length; d++)h[1][d] === $ ? E.push(o[d]) : S.push(o[d]); return { cut: this.spawn(n, A), partition1: this.spawn(E), partition2: this.spawn(S) } } r.error("At least 2 nodes are required for Karger-Stein algorithm") } }; e.exports = i }, function (e, t, n) { "use strict"; var r = n(0), i = { pageRank: function (e) { var t = function (e) { for (var t = e.length, n = 0, r = 0; r < t; r++)n += e[r]; for (r = 0; r < t; r++)e[r] = e[r] / n }; if (null != (e = e || {}) && null != e.dampingFactor) var n = e.dampingFactor; else n = .8; if (null != e && null != e.precision) var i = e.precision; else i = 1e-6; if (null != e && null != e.iterations) var o = e.iterations; else o = 200; if (null != e && null != e.weight && r.fn(e.weight)) var a = e.weight; else a = function (e) { return 1 }; for (var s = this._private.cy, l = this.edges().stdFilter((function (e) { return !e.isLoop() })), c = this.nodes(), u = c.length, d = l.length, p = {}, f = 0; f < u; f++)p[c[f].id()] = f; var h = [], g = [], m = (1 - n) / u; for (f = 0; f < u; f++) { for (var v = [], b = 0; b < u; b++)v.push(0); h.push(v), g.push(0) } for (f = 0; f < d; f++) { var y = l[f], x = p[y.source().id()], w = p[y.target().id()], k = a(y); h[w][x] += k, g[x] += k } var A = 1 / u + m; for (b = 0; b < u; b++)if (0 === g[b]) for (f = 0; f < u; f++)h[f][b] = A; else for (f = 0; f < u; f++)h[f][b] = h[f][b] / g[b] + m; var E, S = [], $ = []; for (f = 0; f < u; f++)S.push(1), $.push(0); for (var C = 0; C < o; C++) { var _ = $.slice(0); for (f = 0; f < u; f++)for (b = 0; b < u; b++)_[f] += h[f][b] * S[b]; t(_), E = S, S = _; var O = 0; for (f = 0; f < u; f++)O += Math.pow(E[f] - S[f], 2); if (O < i) break } return { rank: function (e) { if (r.string(e)) var t = s.filter(e)[0].id(); else t = e.id(); return S[p[t]] } } } }; e.exports = i }, function (e, t, n) { "use strict"; var r = n(0), i = n(1), o = { degreeCentralityNormalized: function (e) { e = e || {}; var t = this.cy(); if (null != e.directed) var n = e.directed; else n = !1; var o = this.nodes(), a = o.length; if (n) { var s = {}, l = {}, c = 0, u = 0; for (f = 0; f < a; f++)h = o[f], g = this.degreeCentrality(i.extend({}, e, { root: h })), c < g.indegree && (c = g.indegree), u < g.outdegree && (u = g.outdegree), s[h.id()] = g.indegree, l[h.id()] = g.outdegree; return { indegree: function (e) { return 0 == c ? 0 : (e = r.string(e) ? t.filter(e)[0].id() : e.id(), s[e] / c) }, outdegree: function (e) { return 0 == u ? 0 : (e = r.string(e) ? t.filter(e)[0].id() : e.id(), l[e] / u) } } } for (var d = {}, p = 0, f = 0; f < a; f++) { var h = o[f], g = this.degreeCentrality(i.extend({}, e, { root: h })); p < g.degree && (p = g.degree), d[h.id()] = g.degree } return { degree: function (e) { return 0 == p ? 0 : (e = r.string(e) ? t.filter(e)[0].id() : e.id(), d[e] / p) } } }, degreeCentrality: function (e) { if (null != (e = e || {}) && null != e.root) { var t = r.string(e.root) ? this.filter(e.root)[0] : e.root[0]; if (null != e.weight && r.fn(e.weight)) var n = e.weight; else n = function (e) { return 1 }; if (null != e.directed) var i = e.directed; else i = !1; if (null != e.alpha && r.number(e.alpha)) var o = e.alpha; else o = 0; if (i) { var a = t.connectedEdges('edge[target = "' + t.id() + '"]').intersection(this), s = t.connectedEdges('edge[source = "' + t.id() + '"]').intersection(this), l = a.length, c = s.length, u = 0, d = 0; for (g = 0; g < a.length; g++)u += n(a[g]); for (g = 0; g < s.length; g++)d += n(s[g]); return { indegree: Math.pow(l, 1 - o) * Math.pow(u, o), outdegree: Math.pow(c, 1 - o) * Math.pow(d, o) } } for (var p = t.connectedEdges().intersection(this), f = p.length, h = 0, g = 0; g < p.length; g++)h += n(p[g]); return { degree: Math.pow(f, 1 - o) * Math.pow(h, o) } } } }; o.dc = o.degreeCentrality, o.dcn = o.degreeCentralityNormalised = o.degreeCentralityNormalized, e.exports = o }, function (e, t, n) { "use strict"; var r = n(0), i = { closenessCentralityNormalized: function (e) { e = e || {}; var t = this.cy(), n = e.harmonic; void 0 === n && (n = !0); for (var i = {}, o = 0, a = this.nodes(), s = this.floydWarshall({ weight: e.weight, directed: e.directed }), l = 0; l < a.length; l++) { for (var c = 0, u = 0; u < a.length; u++)if (l != u) { var d = s.distance(a[l], a[u]); c += n ? 1 / d : d } n || (c = 1 / c), o < c && (o = c), i[a[l].id()] = c } return { closeness: function (e) { return 0 == o ? 0 : (e = r.string(e) ? t.filter(e)[0].id() : e.id(), i[e] / o) } } }, closenessCentrality: function (e) { if (null != (e = e || {}).root) { if (r.string(e.root)) var t = this.filter(e.root)[0]; else t = e.root[0]; if (null != e.weight && r.fn(e.weight)) var n = e.weight; else n = function () { return 1 }; if (null != e.directed && r.bool(e.directed)) var i = e.directed; else i = !1; var o = e.harmonic; void 0 === o && (o = !0); for (var a = this.dijkstra({ root: t, weight: n, directed: i }), s = 0, l = this.nodes(), c = 0; c < l.length; c++)if (l[c].id() != t.id()) { var u = a.distanceTo(l[c]); s += o ? 1 / u : u } return o ? s : 1 / s } } }; i.cc = i.closenessCentrality, i.ccn = i.closenessCentralityNormalised = i.closenessCentralityNormalized, e.exports = i }, function (e, t, n) { "use strict"; var r = n(0), i = n(9), o = { betweennessCentrality: function (e) { var t, n; e = e || {}, r.fn(e.weight) ? (n = e.weight, t = !0) : t = !1; for (var o = null != e.directed && e.directed, a = this._private.cy, s = this.nodes(), l = {}, c = {}, u = 0, d = function (e, t) { c[e] = t, t > u && (u = t) }, p = function (e) { return c[e] }, f = 0; f < s.length; f++)l[w = (k = s[f]).id()] = o ? k.outgoers().nodes() : k.openNeighborhood().nodes(), d(w, 0); for (var h = 0; h < s.length; h++) { var g = s[h].id(), m = [], v = {}, b = {}, y = {}, x = new i((function (e, t) { return y[e] - y[t] })); for (f = 0; f < s.length; f++) { var w; v[w = s[f].id()] = [], b[w] = 0, y[w] = 1 / 0 } for (b[g] = 1, y[g] = 0, x.push(g); !x.empty();) { var k = x.pop(); if (m.push(k), t) for (var A = 0; A < l[k].length; A++) { var E = l[k][A], S = a.getElementById(k), $ = n(S.edgesTo(E).length > 0 ? S.edgesTo(E)[0] : E.edgesTo(S)[0]); E = E.id(), y[E] > y[k] + $ && (y[E] = y[k] + $, x.nodes.indexOf(E) < 0 ? x.push(E) : x.updateItem(E), b[E] = 0, v[E] = []), y[E] == y[k] + $ && (b[E] = b[E] + b[k], v[E].push(k)) } else for (A = 0; A < l[k].length; A++)E = l[k][A].id(), y[E] == 1 / 0 && (x.push(E), y[E] = y[k] + 1), y[E] == y[k] + 1 && (b[E] = b[E] + b[k], v[E].push(k)) } var C = {}; for (f = 0; f < s.length; f++)C[s[f].id()] = 0; for (; m.length > 0;)for (E = m.pop(), A = 0; A < v[E].length; A++)C[k = v[E][A]] = C[k] + b[k] / b[E] * (1 + C[E]), E != s[h].id() && d(E, p(E) + C[E]) } var _ = { betweenness: function (e) { return e = r.string(e) ? a.filter(e).id() : e.id(), p(e) }, betweennessNormalized: function (e) { return 0 == u ? 0 : (e = r.string(e) ? a.filter(e).id() : e.id(), p(e) / u) } }; return _.betweennessNormalised = _.betweennessNormalized, _ } }; o.bc = o.betweennessCentrality, e.exports = o }, function (e, t, n) { "use strict"; var r = n(4), i = { animate: r.animate(), animation: r.animation(), animated: r.animated(), clearQueue: r.clearQueue(), delay: r.delay(), delayAnimation: r.delayAnimation(), stop: r.stop() }; e.exports = i }, function (e, t, n) { "use strict"; var r = n(1), i = n(44), o = n(2), a = n(0), s = { animated: function () { return function () { var e = void 0 !== this.length ? this : [this]; if (!(this._private.cy || this).styleEnabled()) return !1; var t = e[0]; return t ? t._private.animation.current.length > 0 : void 0 } }, clearQueue: function () { return function () { var e = void 0 !== this.length ? this : [this]; if (!(this._private.cy || this).styleEnabled()) return this; for (var t = 0; t < e.length; t++)e[t]._private.animation.queue = []; return this } }, delay: function () { return function (e, t) { return (this._private.cy || this).styleEnabled() ? this.animate({ delay: e, duration: e, complete: t }) : this } }, delayAnimation: function () { return function (e, t) { return (this._private.cy || this).styleEnabled() ? this.animation({ delay: e, duration: e, complete: t }) : this } }, animation: function () { return function (e, t) { var n = void 0 !== this.length, s = n ? this : [this], l = this._private.cy || this, c = !n, u = !c; if (!l.styleEnabled()) return this; var d = l.style(); if (e = r.assign({}, e, t), 0 === Object.keys(e).length) return new i(s[0], e); switch (void 0 === e.duration && (e.duration = 400), e.duration) { case "slow": e.duration = 600; break; case "fast": e.duration = 200 }if (u && (e.style = d.getPropsList(e.style || e.css), e.css = void 0), u && null != e.renderedPosition) { var p = e.renderedPosition, f = l.pan(), h = l.zoom(); e.position = o.renderedToModelPosition(p, h, f) } if (c && null != e.panBy) { var g = e.panBy, m = l.pan(); e.pan = { x: m.x + g.x, y: m.y + g.y } } var v = e.center || e.centre; if (c && null != v) { var b = l.getCenterPan(v.eles, e.zoom); null != b && (e.pan = b) } if (c && null != e.fit) { var y = e.fit, x = l.getFitViewport(y.eles || y.boundingBox, y.padding); null != x && (e.pan = x.pan, e.zoom = x.zoom) } if (c && a.plainObject(e.zoom)) { var w = l.getZoomedViewport(e.zoom); null != w && (w.zoomed && (e.zoom = w.zoom), w.panned && (e.pan = w.pan)) } return new i(s[0], e) } }, animate: function () { return function (e, t) { var n = void 0 !== this.length ? this : [this]; if (!(this._private.cy || this).styleEnabled()) return this; t && (e = r.extend({}, e, t)); for (var i = 0; i < n.length; i++) { var o = n[i], a = o.animated() && (void 0 === e.queue || e.queue); o.animation(e, a ? { queue: !0 } : void 0).play() } return this } }, stop: function () { return function (e, t) { var n = void 0 !== this.length ? this : [this], r = this._private.cy || this; if (!r.styleEnabled()) return this; for (var i = 0; i < n.length; i++) { for (var o = n[i]._private, a = o.animation.current, s = 0; s < a.length; s++) { var l = a[s]._private; t && (l.duration = 0) } e && (o.animation.queue = []), t || (o.animation.current = []) } return r.notify({ eles: this, type: "draw" }), this } } }; e.exports = s }, function (e, t, n) { "use strict"; var r = n(1), i = n(0), o = n(5), a = function (e, t, n) { var o = this._private = r.extend({ duration: 1e3 }, t, n); o.target = e, o.style = o.style || o.css, o.started = !1, o.playing = !1, o.hooked = !1, o.applying = !1, o.progress = 0, o.completes = [], o.frames = [], o.complete && i.fn(o.complete) && o.completes.push(o.complete), this.length = 1, this[0] = this }, s = a.prototype; r.extend(s, { instanceString: function () { return "animation" }, hook: function () { var e = this._private; if (!e.hooked) { var t = e.target._private.animation; (e.queue ? t.queue : t.current).push(this), i.elementOrCollection(e.target) && e.target.cy().addToAnimationPool(e.target), e.hooked = !0 } return this }, play: function () { var e = this._private; return 1 === e.progress && (e.progress = 0), e.playing = !0, e.started = !1, e.stopped = !1, this.hook(), this }, playing: function () { return this._private.playing }, apply: function () { var e = this._private; return e.applying = !0, e.started = !1, e.stopped = !1, this.hook(), this }, applying: function () { return this._private.applying }, pause: function () { var e = this._private; return e.playing = !1, e.started = !1, this }, stop: function () { var e = this._private; return e.playing = !1, e.started = !1, e.stopped = !0, this }, rewind: function () { return this.progress(0) }, fastforward: function () { return this.progress(1) }, time: function (e) { var t = this._private; return void 0 === e ? t.progress * t.duration : this.progress(e / t.duration) }, progress: function (e) { var t = this._private, n = t.playing; return void 0 === e ? t.progress : (n && this.pause(), t.progress = e, t.started = !1, n && this.play(), this) }, completed: function () { return 1 === this._private.progress }, reverse: function () { var e = this._private, t = e.playing; t && this.pause(), e.progress = 1 - e.progress, e.started = !1; var n = function (t, n) { var r = e[t]; null != r && (e[t] = e[n], e[n] = r) }; if (n("zoom", "startZoom"), n("pan", "startPan"), n("position", "startPosition"), e.style) for (var r = 0; r < e.style.length; r++) { var i = e.style[r], o = i.name, a = e.startStyle[o]; e.startStyle[o] = i, e.style[r] = a } return t && this.play(), this }, promise: function (e) { var t = this._private, n = void 0; switch (e) { case "frame": n = t.frames; break; default: case "complete": case "completed": n = t.completes }return new o((function (e, t) { n.push((function () { e() })) })) } }), s.complete = s.completed, e.exports = a }, function (e, t, n) { "use strict"; var r = n(1), i = n(0), o = { data: function (e) { return e = r.extend({}, { field: "data", bindingEvent: "data", allowBinding: !1, allowSetting: !1, allowGetting: !1, settingEvent: "data", settingTriggersEvent: !1, triggerFnName: "trigger", immutableKeys: {}, updateStyle: !1, beforeGet: function (e) { }, beforeSet: function (e, t) { }, onSet: function (e) { }, canSet: function (e) { return !0 } }, e), function (t, n) { var r = e, o = void 0 !== this.length, a = o ? this : [this], s = o ? this[0] : this; if (i.string(t)) { if (r.allowGetting && void 0 === n) { var l = void 0; return s && (r.beforeGet(s), l = s._private[r.field][t]), l } if (r.allowSetting && void 0 !== n && !r.immutableKeys[t]) { var c = function (e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e }({}, t, n); r.beforeSet(this, c); for (var u = 0, d = a.length; u < d; u++) { var p = a[u]; r.canSet(p) && (p._private[r.field][t] = n) } r.updateStyle && this.updateStyle(), r.onSet(this), r.settingTriggersEvent && this[r.triggerFnName](r.settingEvent) } } else if (r.allowSetting && i.plainObject(t)) { var f = t, h = void 0, g = void 0, m = Object.keys(f); r.beforeSet(this, f); for (var v = 0; v < m.length; v++)if (g = f[h = m[v]], !r.immutableKeys[h]) for (var b = 0; b < a.length; b++) { var y = a[b]; r.canSet(y) && (y._private[r.field][h] = g) } r.updateStyle && this.updateStyle(), r.onSet(this), r.settingTriggersEvent && this[r.triggerFnName](r.settingEvent) } else if (r.allowBinding && i.fn(t)) { var x = t; this.on(r.bindingEvent, x) } else if (r.allowGetting && void 0 === t) { var w = void 0; return s && (r.beforeGet(s), w = s._private[r.field]), w } return this } }, removeData: function (e) { return e = r.extend({}, { field: "data", event: "data", triggerFnName: "trigger", triggerEvent: !1, immutableKeys: {} }, e), function (t) { var n = e, r = void 0 !== this.length ? this : [this]; if (i.string(t)) { for (var o = t.split(/\s+/), a = o.length, s = 0; s < a; s++) { var l = o[s]; if (!i.emptyString(l) && !n.immutableKeys[l]) for (var c = 0, u = r.length; c < u; c++)r[c]._private[n.field][l] = void 0 } n.triggerEvent && this[n.triggerFnName](n.event) } else if (void 0 === t) { for (var d = 0, p = r.length; d < p; d++)for (var f = r[d]._private[n.field], h = Object.keys(f), g = 0; g < h.length; g++) { var m = h[g]; !n.immutableKeys[m] && (f[m] = void 0) } n.triggerEvent && this[n.triggerFnName](n.event) } return this } } }; e.exports = o }, function (e, t, n) { "use strict"; var r = n(5), i = { eventAliasesOn: function (e) { var t = e; t.addListener = t.listen = t.bind = t.on, t.unlisten = t.unbind = t.off = t.removeListener, t.trigger = t.emit, t.pon = t.promiseOn = function (e, t) { var n = this, i = Array.prototype.slice.call(arguments, 0); return new r((function (e, t) { var r = i.concat([function (t) { n.off.apply(n, o), e(t) }]), o = r.concat([]); n.on.apply(n, r) })) } } }; e.exports = i }, function (e, t, n) { "use strict"; var r = n(8), i = { classes: function (e) { e = (e || "").match(/\S+/g) || []; for (var t = this, n = [], i = new r(e), o = function (e) { var o = t[e], a = o._private, s = a.classes, l = !1; i.forEach((function (e) { s.has(e) || (l = !0) })), l || s.forEach((function (e) { i.has(e) || (l = !0) })), l && (a.classes = new r(i), n.push(o)) }, a = 0; a < t.length; a++)o(a); return n.length > 0 && this.spawn(n).updateStyle().emit("class"), t }, addClass: function (e) { return this.toggleClass(e, !0) }, hasClass: function (e) { var t = this[0]; return null != t && t._private.classes.has(e) }, toggleClass: function (e, t) { for (var n = e.match(/\S+/g) || [], r = [], i = 0, o = this.length; i < o; i++)for (var a = this[i], s = !1, l = 0; l < n.length; l++) { var c = n[l], u = a._private.classes, d = u.has(c); t || void 0 === t && !d ? (u.add(c), d || s || (r.push(a), s = !0)) : (u.delete(c), d && !s && (r.push(a), s = !0)) } return r.length > 0 && this.spawn(r).updateStyle().emit("class"), this }, removeClass: function (e) { return this.toggleClass(e, !1) }, flashClass: function (e, t) { var n = this; if (null == t) t = 250; else if (0 === t) return n; return n.addClass(e), setTimeout((function () { n.removeClass(e) }), t), n } }; e.exports = i }, function (e, t, n) { "use strict"; n(0); var r = n(6), i = { allAre: function (e) { var t = new r(e); return this.every((function (e) { return t.matches(e) })) }, is: function (e) { var t = new r(e); return this.some((function (e) { return t.matches(e) })) }, some: function (e, t) { for (var n = 0; n < this.length; n++)if (t ? e.apply(t, [this[n], n, this]) : e(this[n], n, this)) return !0; return !1 }, every: function (e, t) { for (var n = 0; n < this.length; n++)if (!(t ? e.apply(t, [this[n], n, this]) : e(this[n], n, this))) return !1; return !0 }, same: function (e) { return e = this.cy().collection(e), this.length === e.length && this.every((function (t) { return e.hasElementWithId(t.id()) })) }, anySame: function (e) { return e = this.cy().collection(e), this.some((function (t) { return e.hasElementWithId(t.id()) })) }, allAreNeighbors: function (e) { e = this.cy().collection(e); var t = this.neighborhood(); return e.every((function (e) { return t.hasElementWithId(e.id()) })) }, contains: function (e) { e = this.cy().collection(e); var t = this; return e.every((function (e) { return t.hasElementWithId(e.id()) })) } }; i.allAreNeighbours = i.allAreNeighbors, i.has = i.contains, e.exports = i }, function (e, t, n) { "use strict"; var r = n(1), i = n(50), o = n(10), a = function (e) { for (var t = void 0, n = void 0, r = void 0, o = 0; o < i.length; o++) { var a = i[o], s = a.name, l = e.match(a.regexObj); if (null != l) { n = l, t = a, r = s; var c = l[0]; e = e.substring(c.length); break } } return { expr: t, match: n, name: r, remaining: e } }; e.exports = { parse: function (e) { var t = this._private.selectorText = e, n = this[0] = o(); for (this.length = 1, t = function (e) { var t = e.match(/^\s+/); if (t) { var n = t[0]; e = e.substring(n.length) } return e }(t); ;) { var i = a(t); if (null == i.expr) return r.error("The selector `" + e + "`is invalid"), !1; var s = i.match.slice(1), l = i.expr.populate(this, n, s); if (!1 === l) return !1; if (null != l && (n = l), (t = i.remaining).match(/^\s*$/)) break } for (var c = 0; c < this.length; c++) { var u = this[c]; if (null != u.subject) { for (; u.subject !== u;)if (null != u.parent) { var d = u.parent, p = u; p.parent = null, d.child = p, u = d } else { if (null == u.ancestor) return u.source || u.target || u.connectedNodes ? (r.error("The selector `" + this.text() + "` can not contain a subject selector that applies to the source or target of an edge selector"), !1) : (r.error("When adjusting references for the selector `" + this.text() + "`, neither parent nor ancestor was found"), !1); var f = u.ancestor, h = u; h.ancestor = null, f.descendant = h, u = f } this[c] = u.subject } } return !0 } } }, function (e, t, n) { "use strict"; var r = function (e, t) { if (Array.isArray(e)) return e; if (Symbol.iterator in Object(e)) return function (e, t) { var n = [], r = !0, i = !1, o = void 0; try { for (var a, s = e[Symbol.iterator](); !(r = (a = s.next()).done) && (n.push(a.value), !t || n.length !== t); r = !0); } catch (e) { i = !0, o = e } finally { try { !r && s.return && s.return() } finally { if (i) throw o } } return n }(e, t); throw new TypeError("Invalid attempt to destructure non-iterable instance") }, i = n(15).stateSelectorRegex, o = n(51), a = n(1), s = n(10), l = function (e) { return e.replace(new RegExp("\\\\(" + o.metaChar + ")", "g"), (function (e, t) { return t })) }, c = function (e, t, n) { t === e[e.length - 1] && (e[e.length - 1] = n) }, u = [{ name: "group", query: !0, regex: "(" + o.group + ")", populate: function (e, t, n) { var i = r(n, 1)[0]; t.group = "*" === i ? i : i + "s" } }, { name: "state", query: !0, regex: i, populate: function (e, t, n) { var i = r(n, 1)[0]; t.colonSelectors.push(i) } }, { name: "id", query: !0, regex: "\\#(" + o.id + ")", populate: function (e, t, n) { var i = r(n, 1)[0]; t.ids.push(l(i)) } }, { name: "className", query: !0, regex: "\\.(" + o.className + ")", populate: function (e, t, n) { var i = r(n, 1)[0]; t.classes.push(l(i)) } }, { name: "dataExists", query: !0, regex: "\\[\\s*(" + o.variable + ")\\s*\\]", populate: function (e, t, n) { var i = r(n, 1)[0]; t.data.push({ field: l(i) }) } }, { name: "dataCompare", query: !0, regex: "\\[\\s*(" + o.variable + ")\\s*(" + o.comparatorOp + ")\\s*(" + o.value + ")\\s*\\]", populate: function (e, t, n) { var i = r(n, 3), a = i[0], s = i[1], c = i[2]; c = null != new RegExp("^" + o.string + "$").exec(c) ? c.substring(1, c.length - 1) : parseFloat(c), t.data.push({ field: l(a), operator: s, value: c }) } }, { name: "dataBool", query: !0, regex: "\\[\\s*(" + o.boolOp + ")\\s*(" + o.variable + ")\\s*\\]", populate: function (e, t, n) { var i = r(n, 2), o = i[0], a = i[1]; t.data.push({ field: l(a), operator: o }) } }, { name: "metaCompare", query: !0, regex: "\\[\\[\\s*(" + o.meta + ")\\s*(" + o.comparatorOp + ")\\s*(" + o.number + ")\\s*\\]\\]", populate: function (e, t, n) { var i = r(n, 3), o = i[0], a = i[1], s = i[2]; t.meta.push({ field: l(o), operator: a, value: parseFloat(s) }) } }, { name: "nextQuery", separator: !0, regex: o.separator, populate: function (e) { var t = e[e.length++] = s(); return e.currentSubject = null, t } }, { name: "directedEdge", separator: !0, regex: o.directedEdge, populate: function (e, t) { var n = s(), r = t, i = s(); return n.group = "edges", n.target = i, n.source = r, n.subject = e.currentSubject, c(e, t, n), i } }, { name: "undirectedEdge", separator: !0, regex: o.undirectedEdge, populate: function (e, t) { var n = s(), r = t, i = s(); return n.group = "edges", n.connectedNodes = [r, i], n.subject = e.currentSubject, c(e, t, n), i } }, { name: "child", separator: !0, regex: o.child, populate: function (e, t) { var n = s(); return n.parent = t, n.subject = e.currentSubject, c(e, t, n), n } }, { name: "descendant", separator: !0, regex: o.descendant, populate: function (e, t) { var n = s(); return n.ancestor = t, n.subject = e.currentSubject, c(e, t, n), n } }, { name: "subject", modifier: !0, regex: o.subject, populate: function (e, t) { if (null != e.currentSubject && t.subject != t) return a.error("Redefinition of subject in selector `" + e.toString() + "`"), !1; e.currentSubject = t, t.subject = t, e[e.length - 1].subject = t } }]; u.forEach((function (e) { return e.regexObj = new RegExp("^" + e.regex) })), e.exports = u }, function (e, t, n) { "use strict"; var r = { metaChar: "[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]", comparatorOp: "=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=", boolOp: "\\?|\\!|\\^", string: "\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'", number: n(1).regex.number, meta: "degree|indegree|outdegree", separator: "\\s*,\\s*", descendant: "\\s+", child: "\\s+>\\s+", subject: "\\$", group: "node|edge|\\*", directedEdge: "\\s+->\\s+", undirectedEdge: "\\s+<->\\s+" }; r.variable = "(?:[\\w-]|(?:\\\\" + r.metaChar + "))+", r.value = r.string + "|" + r.number, r.className = r.variable, r.id = r.variable, function () { var e = void 0, t = void 0, n = void 0; for (e = r.comparatorOp.split("|"), n = 0; n < e.length; n++)t = e[n], r.comparatorOp += "|@" + t; for (e = r.comparatorOp.split("|"), n = 0; n < e.length; n++)(t = e[n]).indexOf("!") >= 0 || "=" !== t && (r.comparatorOp += "|\\!" + t) }(), e.exports = r }, function (e, t, n) { "use strict"; var r = n(15).stateSelectorMatches, i = n(0), o = function (e, t) { for (var n = !0, r = 0; r < e[t.name].length; r++) { var o = e[t.name][r], a = o.operator, s = o.value, l = o.field, c = void 0, u = t.fieldValue(l); if (null != a && null != s) { var d = i.string(u) || i.number(u) ? "" + u : "", p = "" + s, f = !1; a.indexOf("@") >= 0 && (d = d.toLowerCase(), p = p.toLowerCase(), a = a.replace("@", ""), f = !0); var h = !1; a.indexOf("!") >= 0 && (a = a.replace("!", ""), h = !0), f && (s = p.toLowerCase(), u = d.toLowerCase()); var g = !1; switch (a) { case "*=": c = d.indexOf(p) >= 0; break; case "$=": c = d.indexOf(p, d.length - p.length) >= 0; break; case "^=": c = 0 === d.indexOf(p); break; case "=": c = u === s; break; case ">": g = !0, c = u > s; break; case ">=": g = !0, c = u >= s; break; case "<": g = !0, c = u < s; break; case "<=": g = !0, c = u <= s; break; default: c = !1 }!h || null == u && g || (c = !c) } else if (null != a) switch (a) { case "?": c = !!u; break; case "!": c = !u; break; case "^": c = void 0 === u } else c = void 0 !== u; if (!c) { n = !1; break } } return n }, a = function (e, t, n) { if (null != e) { var r = !1; if (!t) return !1; n = n(); for (var i = 0; i < n.length; i++)if (s(e, n[i])) { r = !0; break } return r } return !0 }, s = function (e, t) { if (e.groupOnly) return "*" === e.group || e.group === t.group(); if (null != e.group && "*" != e.group && e.group != t.group()) return !1; var n = t.cy(), i = void 0, s = !0; for (i = 0; i < e.colonSelectors.length; i++) { var l = e.colonSelectors[i]; if (!(s = r(l, t))) break } if (!s) return !1; var c = !0; for (i = 0; i < e.ids.length; i++) { var u = e.ids[i], d = t.id(); if (!(c = c && u == d)) break } if (!c) return !1; var p = !0; for (i = 0; i < e.classes.length; i++) { var f = e.classes[i]; if (!(p = p && t.hasClass(f))) break } if (!p) return !1; if (!o(e, { name: "data", fieldValue: function (e) { return t.data(e) } })) return !1; if (!o(e, { name: "meta", fieldValue: function (e) { return t[e]() } })) return !1; if (null != e.collection && !e.collection.hasElementWithId(t.id())) return !1; if (null != e.filter && t.collection().some(e.filter)) return !1; var h = n.hasCompoundNodes(), g = function () { return t.source() }, m = function () { return t.target() }; if (!a(e.parent, h, (function () { return t.parent() }))) return !1; if (!a(e.ancestor, h, (function () { return t.parents() }))) return !1; if (!a(e.child, h, (function () { return t.children() }))) return !1; if (!a(e.descendant, h, (function () { return t.descendants() }))) return !1; if (!a(e.source, !0, g)) return !1; if (!a(e.target, !0, m)) return !1; if (e.connectedNodes) { var v = e.connectedNodes[0], b = e.connectedNodes[1]; if (a(v, !0, g) && a(b, !0, m)); else if (!a(v, !0, m) || !a(b, !0, g)) return !1 } return !0 }; e.exports = { matches: function (e) { if (this.invalid()) return !1; for (var t = 0; t < this.length; t++) { var n = this[t]; if (s(n, e)) return !0 } return !1 }, filter: function (e) { var t = this, n = e.cy(); if (t.invalid()) return n.collection(); if (1 === t.length && 1 === t[0].length && 1 === t[0].ids.length) return e.getElementById(t[0].ids[0]).collection(); var r = function (e) { for (var n = 0; n < t.length; n++) { var r = t[n]; if (s(r, e)) return !0 } return !1 }; return null == t.text() && (r = function () { return !0 }), e.filter(r) } } }, function (e, t, n) { "use strict"; var r = n(8), i = { parent: function (e) { var t = []; if (1 === this.length) { var n = this[0]._private.parent; if (n) return n } for (var r = 0; r < this.length; r++) { var i = this[r]._private.parent; i && t.push(i) } return this.spawn(t, { unique: !0 }).filter(e) }, parents: function (e) { for (var t = [], n = this.parent(); n.nonempty();) { for (var r = 0; r < n.length; r++) { var i = n[r]; t.push(i) } n = n.parent() } return this.spawn(t, { unique: !0 }).filter(e) }, commonAncestors: function (e) { for (var t = void 0, n = 0; n < this.length; n++) { var r = this[n].parents(); t = (t = t || r).intersect(r) } return t.filter(e) }, orphans: function (e) { return this.stdFilter((function (e) { return e.isOrphan() })).filter(e) }, nonorphans: function (e) { return this.stdFilter((function (e) { return e.isChild() })).filter(e) }, children: function (e) { for (var t = [], n = 0; n < this.length; n++) { var r = this[n]; t = t.concat(r._private.children) } return this.spawn(t, { unique: !0 }).filter(e) }, siblings: function (e) { return this.parent().children().not(this).filter(e) }, isParent: function () { var e = this[0]; if (e) return e.isNode() && 0 !== e._private.children.length }, isChildless: function () { var e = this[0]; if (e) return e.isNode() && 0 === e._private.children.length }, isChild: function () { var e = this[0]; if (e) return e.isNode() && null != e._private.parent }, isOrphan: function () { var e = this[0]; if (e) return e.isNode() && null == e._private.parent }, descendants: function (e) { var t = []; return function e(n) { for (var r = 0; r < n.length; r++) { var i = n[r]; t.push(i), i.children().nonempty() && e(i.children()) } }(this.children()), this.spawn(t, { unique: !0 }).filter(e) } }; function o(e, t, n, i) { for (var o = [], a = new r, s = e.cy().hasCompoundNodes(), l = 0; l < e.length; l++) { var c = e[l]; n ? o.push(c) : s && i(o, a, c) } for (; o.length > 0;) { var u = o.shift(); t(u), a.add(u.id()), s && i(o, a, u) } return e } function a(e, t, n) { if (n.isParent()) for (var r = n._private.children, i = 0; i < r.length; i++) { var o = r[i]; t.has(o.id()) || e.push(o) } } function s(e, t, n) { if (n.isChild()) { var r = n._private.parent; t.has(r.id()) || e.push(r) } } function l(e, t, n) { s(e, t, n), a(e, t, n) } i.forEachDown = function (e) { var t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1]; return o(this, e, t, a) }, i.forEachUp = function (e) { var t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1]; return o(this, e, t, s) }, i.forEachUpAndDown = function (e) { var t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1]; return o(this, e, t, l) }, i.ancestors = i.parents, e.exports = i }, function (e, t, n) { "use strict"; var r, i = n(4), o = void 0; (o = r = { data: i.data({ field: "data", bindingEvent: "data", allowBinding: !0, allowSetting: !0, settingEvent: "data", settingTriggersEvent: !0, triggerFnName: "trigger", allowGetting: !0, immutableKeys: { id: !0, source: !0, target: !0, parent: !0 }, updateStyle: !0 }), removeData: i.removeData({ field: "data", event: "data", triggerFnName: "trigger", triggerEvent: !0, immutableKeys: { id: !0, source: !0, target: !0, parent: !0 }, updateStyle: !0 }), scratch: i.data({ field: "scratch", bindingEvent: "scratch", allowBinding: !0, allowSetting: !0, settingEvent: "scratch", settingTriggersEvent: !0, triggerFnName: "trigger", allowGetting: !0, updateStyle: !0 }), removeScratch: i.removeData({ field: "scratch", event: "scratch", triggerFnName: "trigger", triggerEvent: !0, updateStyle: !0 }), rscratch: i.data({ field: "rscratch", allowBinding: !1, allowSetting: !0, settingTriggersEvent: !1, allowGetting: !0 }), removeRscratch: i.removeData({ field: "rscratch", triggerEvent: !1 }), id: function () { var e = this[0]; if (e) return e._private.data.id } }).attr = o.data, o.removeAttr = o.removeData, e.exports = r }, function (e, t, n) { "use strict"; var r = n(1), i = {}; function o(e) { return function (t) { if (void 0 === t && (t = !0), 0 !== this.length && this.isNode() && !this.removed()) { for (var n = 0, r = this[0], i = r._private.edges, o = 0; o < i.length; o++) { var a = i[o]; !t && a.isLoop() || (n += e(r, a)) } return n } } } function a(e, t) { return function (n) { for (var r = void 0, i = this.nodes(), o = 0; o < i.length; o++) { var a = i[o][e](n); void 0 === a || void 0 !== r && !t(a, r) || (r = a) } return r } } r.extend(i, { degree: o((function (e, t) { return t.source().same(t.target()) ? 2 : 1 })), indegree: o((function (e, t) { return t.target().same(e) ? 1 : 0 })), outdegree: o((function (e, t) { return t.source().same(e) ? 1 : 0 })) }), r.extend(i, { minDegree: a("degree", (function (e, t) { return e < t })), maxDegree: a("degree", (function (e, t) { return e > t })), minIndegree: a("indegree", (function (e, t) { return e < t })), maxIndegree: a("indegree", (function (e, t) { return e > t })), minOutdegree: a("outdegree", (function (e, t) { return e < t })), maxOutdegree: a("outdegree", (function (e, t) { return e > t })) }), r.extend(i, { totalDegree: function (e) { for (var t = 0, n = this.nodes(), r = 0; r < n.length; r++)t += n[r].degree(e); return t } }), e.exports = i }, function (e, t, n) { "use strict"; var r = n(1), i = n(57), o = n(58), a = n(59), s = n(60); e.exports = r.assign({}, i, o, a, s) }, function (e, t, n) { "use strict"; var r, i = n(4), o = n(0), a = n(2), s = void 0, l = function (e, t) { for (var n = 0; n < e.length; n++) { var r = e[n]; if (r.isParent() && !r.locked()) { var i = r._private.position, o = { x: t.x - i.x, y: t.y - i.y }; e.children().shift(o) } } }; (s = r = { position: i.data({ field: "position", bindingEvent: "position", allowBinding: !0, allowSetting: !0, settingEvent: "position", settingTriggersEvent: !0, triggerFnName: "emitAndNotify", allowGetting: !0, validKeys: ["x", "y"], beforeGet: function (e) { e.updateCompoundBounds() }, beforeSet: l, onSet: function (e) { e.dirtyCompoundBoundsCache() }, canSet: function (e) { return !e.locked() } }), silentPosition: i.data({ field: "position", bindingEvent: "position", allowBinding: !1, allowSetting: !0, settingEvent: "position", settingTriggersEvent: !1, triggerFnName: "trigger", allowGetting: !1, validKeys: ["x", "y"], beforeSet: l, onSet: function (e) { e.dirtyCompoundBoundsCache() }, canSet: function (e) { return !e.locked() } }), positions: function (e, t) { if (o.plainObject(e)) t ? this.silentPosition(e) : this.position(e); else if (o.fn(e)) { var n = e, r = this.cy(); r.startBatch(); for (var i = 0; i < this.length; i++) { var a, s = this[i]; (a = n(s, i)) && (t ? s.silentPosition(a) : s.position(a)) } r.endBatch() } return this }, silentPositions: function (e) { return this.positions(e, !0) }, shift: function (e, t) { var n = void 0; if (o.plainObject(e) ? n = e : o.string(e) && o.number(t) && ((n = { x: 0, y: 0 })[e] = t), null != n) for (var r = 0; r < this.length; r++) { var i = this[r], a = i.position(); i.position({ x: a.x + n.x, y: a.y + n.y }) } return this }, renderedPosition: function (e, t) { var n = this[0], r = this.cy(), i = r.zoom(), s = r.pan(), l = o.plainObject(e) ? e : void 0, c = void 0 !== l || void 0 !== t && o.string(e); if (n && n.isNode()) { if (!c) { var u = n.position(); return l = a.modelToRenderedPosition(u, i, s), void 0 === e ? l : l[e] } for (var d = 0; d < this.length; d++) { var p = this[d]; void 0 !== t ? p.position(e, (t - s[e]) / i) : void 0 !== l && p.position(a.renderedToModelPosition(l, i, s)) } } else if (!c) return; return this }, relativePosition: function (e, t) { var n = this[0], r = this.cy(), i = o.plainObject(e) ? e : void 0, a = void 0 !== i || void 0 !== t && o.string(e), s = r.hasCompoundNodes(); if (n && n.isNode()) { if (!a) { var l = n.position(), c = s ? n.parent() : null, u = c && c.length > 0, d = u; u && (c = c[0]); var p = d ? c.position() : { x: 0, y: 0 }; return i = { x: l.x - p.x, y: l.y - p.y }, void 0 === e ? i : i[e] } for (var f = 0; f < this.length; f++) { var h = this[f], g = s ? h.parent() : null, m = g && g.length > 0, v = m; m && (g = g[0]); var b = v ? g.position() : { x: 0, y: 0 }; void 0 !== t ? h.position(e, t + b[e]) : void 0 !== i && h.position({ x: i.x + b.x, y: i.y + b.y }) } } else if (!a) return; return this } }).modelPosition = s.point = s.position, s.modelPositions = s.points = s.positions, s.renderedPoint = s.renderedPosition, s.relativePoint = s.relativePosition, e.exports = r }, function (e, t, n) { "use strict"; var r = n(0), i = n(1), o = n(2), a = void 0, s = void 0; a = s = {}, s.renderedBoundingBox = function (e) { var t = this.boundingBox(e), n = this.cy(), r = n.zoom(), i = n.pan(), o = t.x1 * r + i.x, a = t.x2 * r + i.x, s = t.y1 * r + i.y, l = t.y2 * r + i.y; return { x1: o, x2: a, y1: s, y2: l, w: a - o, h: l - s } }, s.dirtyCompoundBoundsCache = function () { var e = this.cy(); return e.styleEnabled() && e.hasCompoundNodes() ? (this.forEachUp((function (e) { e._private.compoundBoundsClean = !1, e.isParent() && e.emit("bounds") })), this) : this }, s.updateCompoundBounds = function () { var e = this.cy(); if (!e.styleEnabled() || !e.hasCompoundNodes()) return this; if (e.batching()) return this; var t = []; function n(e) { if (e.isParent()) { var n = e._private, r = e.children(), i = "include" === e.pstyle("compound-sizing-wrt-labels").value, o = { width: { val: e.pstyle("min-width").pfValue, left: e.pstyle("min-width-bias-left"), right: e.pstyle("min-width-bias-right") }, height: { val: e.pstyle("min-height").pfValue, top: e.pstyle("min-height-bias-top"), bottom: e.pstyle("min-height-bias-bottom") } }, a = r.boundingBox({ includeLabels: i, includeOverlays: !1, useCache: !1 }), s = n.position; 0 !== a.w && 0 !== a.h || ((a = { w: e.pstyle("width").pfValue, h: e.pstyle("height").pfValue }).x1 = s.x - a.w / 2, a.x2 = s.x + a.w / 2, a.y1 = s.y - a.h / 2, a.y2 = s.y + a.h / 2); var l = o.width.left.value; "px" === o.width.left.units && o.width.val > 0 && (l = 100 * l / o.width.val); var c = o.width.right.value; "px" === o.width.right.units && o.width.val > 0 && (c = 100 * c / o.width.val); var u = o.height.top.value; "px" === o.height.top.units && o.height.val > 0 && (u = 100 * u / o.height.val); var d = o.height.bottom.value; "px" === o.height.bottom.units && o.height.val > 0 && (d = 100 * d / o.height.val); var p = b(o.width.val - a.w, l, c), f = p.biasDiff, h = p.biasComplementDiff, g = b(o.height.val - a.h, u, d), m = g.biasDiff, v = g.biasComplementDiff; n.autoPadding = function (e, t, n, r) { if ("%" !== n.units) return "px" === n.units ? n.pfValue : 0; switch (r) { case "width": return e > 0 ? n.pfValue * e : 0; case "height": return t > 0 ? n.pfValue * t : 0; case "average": return e > 0 && t > 0 ? n.pfValue * (e + t) / 2 : 0; case "min": return e > 0 && t > 0 ? e > t ? n.pfValue * t : n.pfValue * e : 0; case "max": return e > 0 && t > 0 ? e > t ? n.pfValue * e : n.pfValue * t : 0; default: return 0 } }(a.w, a.h, e.pstyle("padding"), e.pstyle("padding-relative-to").value), n.autoWidth = Math.max(a.w, o.width.val), s.x = (-f + a.x1 + a.x2 + h) / 2, n.autoHeight = Math.max(a.h, o.height.val), s.y = (-m + a.y1 + a.y2 + v) / 2, t.push(e) } function b(e, t, n) { var r = 0, i = 0, o = t + n; return e > 0 && o > 0 && (r = t / o * e, i = n / o * e), { biasDiff: r, biasComplementDiff: i } } } for (var r = 0; r < this.length; r++) { var i = this[r], o = i._private; o.compoundBoundsClean || (n(i), e._private.batchingStyle || (o.compoundBoundsClean = !0)) } return this }; var l = function (e) { return e === 1 / 0 || e === -1 / 0 ? 0 : e }, c = function (e, t, n, r, i) { r - t != 0 && i - n != 0 && null != t && null != n && null != r && null != i && (e.x1 = t < e.x1 ? t : e.x1, e.x2 = r > e.x2 ? r : e.x2, e.y1 = n < e.y1 ? n : e.y1, e.y2 = i > e.y2 ? i : e.y2) }, u = function (e, t, n) { return i.getPrefixedProperty(e, t, n) }, d = function (e, t, n) { if (!t.cy().headless()) { var r = t._private.rstyle, i = r.arrowWidth / 2, o = void 0, a = void 0; "none" !== t.pstyle(n + "-arrow-shape").value && ("source" === n ? (o = r.srcX, a = r.srcY) : "target" === n ? (o = r.tgtX, a = r.tgtY) : (o = r.midX, a = r.midY), c(e, o - i, a - i, o + i, a + i)) } }, p = function (e, t, n) { if (!t.cy().headless()) { var r = void 0; r = n ? n + "-" : ""; var i = t._private, o = i.rstyle; if (t.pstyle(r + "label").strValue) { var a = t.pstyle("text-halign"), s = t.pstyle("text-valign"), l = u(o, "labelWidth", n), d = u(o, "labelHeight", n), p = u(o, "labelX", n), f = u(o, "labelY", n), h = t.pstyle(r + "text-margin-x").pfValue, g = t.pstyle(r + "text-margin-y").pfValue, m = t.isEdge(), v = t.pstyle(r + "text-rotation"), b = t.pstyle("text-outline-width").pfValue, y = t.pstyle("text-border-width").pfValue / 2, x = t.pstyle("text-background-padding").pfValue, w = d + 2 * x, k = l + 2 * x, A = k / 2, E = w / 2, S = void 0, $ = void 0, C = void 0, _ = void 0; if (m) S = p - A, $ = p + A, C = f - E, _ = f + E; else { switch (a.value) { case "left": S = p - k, $ = p; break; case "center": S = p - A, $ = p + A; break; case "right": S = p, $ = p + k }switch (s.value) { case "top": C = f - w, _ = f; break; case "center": C = f - E, _ = f + E; break; case "bottom": C = f, _ = f + w } } var O = m && "autorotate" === v.strValue, T = null != v.pfValue && 0 !== v.pfValue; if (O || T) { var j = O ? u(i.rstyle, "labelAngle", n) : v.pfValue, P = Math.cos(j), D = Math.sin(j), R = function (e, t) { return { x: (e -= p) * P - (t -= f) * D + p, y: e * D + t * P + f } }, I = R(S, C), N = R(S, _), M = R($, C), z = R($, _); S = Math.min(I.x, N.x, M.x, z.x), $ = Math.max(I.x, N.x, M.x, z.x), C = Math.min(I.y, N.y, M.y, z.y), _ = Math.max(I.y, N.y, M.y, z.y) } S += h - Math.max(b, y), $ += h + Math.max(b, y), C += g - Math.max(b, y), _ += g + Math.max(b, y), c(e, S, C, $, _) } return e } }, f = function (e) { return e ? "t" : "f" }, h = function (e) { var t = ""; return t += f(e.incudeNodes), t += f(e.includeEdges), t += f(e.includeLabels), t += f(e.includeOverlays) }, g = function (e, t) { var n = e._private, r = void 0, i = e.cy().headless(), a = t === m ? v : h(t); return t.useCache && !i && n.bbCache && n.bbCache[a] ? r = n.bbCache[a] : (r = function (e, t) { var n = e._private.cy, r = n.styleEnabled(), i = n.headless(), a = { x1: 1 / 0, y1: 1 / 0, x2: -1 / 0, y2: -1 / 0 }, s = e._private, u = r ? e.pstyle("display").value : "element", f = e.isNode(), h = e.isEdge(), g = void 0, m = void 0, v = void 0, b = void 0, y = void 0, x = void 0, w = "none" !== u; if (w) { var k = 0; r && t.includeOverlays && 0 !== e.pstyle("overlay-opacity").value && (k = e.pstyle("overlay-padding").value); var A = 0; if (r && (A = e.pstyle("width").pfValue / 2), f && t.includeNodes) { var E = e.position(); y = E.x, x = E.y; var S = e.outerWidth() / 2, $ = e.outerHeight() / 2; c(a, g = y - S - k, v = x - $ - k, m = y + S + k, b = x + $ + k) } else if (h && t.includeEdges) { var C = s.rstyle || {}; if (r && !i && (g = Math.min(C.srcX, C.midX, C.tgtX), m = Math.max(C.srcX, C.midX, C.tgtX), v = Math.min(C.srcY, C.midY, C.tgtY), b = Math.max(C.srcY, C.midY, C.tgtY), c(a, g -= A, v -= A, m += A, b += A)), r && !i && "haystack" === e.pstyle("curve-style").strValue) { var _ = C.haystackPts || []; if (g = _[0].x, v = _[0].y, g > (m = _[1].x)) { var O = g; g = m, m = O } if (v > (b = _[1].y)) { var T = v; v = b, b = T } c(a, g - A, v - A, m + A, b + A) } else { for (var j = C.bezierPts || C.linePts || [], P = 0; P < j.length; P++) { var D = j[P]; g = D.x - A, m = D.x + A, v = D.y - A, b = D.y + A, c(a, g, v, m, b) } if (0 === j.length) { var R = e.source().position(), I = e.target().position(); if ((g = R.x) > (m = I.x)) { var N = g; g = m, m = N } if ((v = R.y) > (b = I.y)) { var M = v; v = b, b = M } c(a, g -= A, v -= A, m += A, b += A) } } } if (r && t.includeEdges && h && (d(a, e, "mid-source"), d(a, e, "mid-target"), d(a, e, "source"), d(a, e, "target")), r && "yes" === e.pstyle("ghost").value) { var z = e.pstyle("ghost-offset-x").pfValue, L = e.pstyle("ghost-offset-y").pfValue; c(a, a.x1 + z, a.y1 + L, a.x2 + z, a.y2 + L) } r && (g = a.x1, m = a.x2, v = a.y1, b = a.y2, c(a, g - k, v - k, m + k, b + k)), r && t.includeLabels && (p(a, e, null), h && (p(a, e, "source"), p(a, e, "target"))) } return a.x1 = l(a.x1), a.y1 = l(a.y1), a.x2 = l(a.x2), a.y2 = l(a.y2), a.w = l(a.x2 - a.x1), a.h = l(a.y2 - a.y1), a.w > 0 && a.h > 0 && w && o.expandBoundingBox(a, 1), a }(e, t), i || (n.bbCache = n.bbCache || {}, n.bbCache[a] = r)), r }, m = { includeNodes: !0, includeEdges: !0, includeLabels: !0, includeOverlays: !0, useCache: !0 }, v = h(m); function b(e) { return { includeNodes: i.default(e.includeNodes, m.includeNodes), includeEdges: i.default(e.includeEdges, m.includeEdges), includeLabels: i.default(e.includeLabels, m.includeLabels), includeOverlays: i.default(e.includeOverlays, m.includeOverlays), useCache: i.default(e.useCache, m.useCache) } } s.boundingBox = function (e) { if (1 === this.length && this[0]._private.bbCache && (void 0 === e || void 0 === e.useCache || !0 === e.useCache)) return e = void 0 === e ? m : b(e), g(this[0], e); var t = { x1: 1 / 0, y1: 1 / 0, x2: -1 / 0, y2: -1 / 0 }, n = b(e = e || i.staticEmptyObject()), r = this.cy().styleEnabled(); r && this.recalculateRenderedStyle(n.useCache), this.updateCompoundBounds(); for (var o, a, s = {}, u = 0; u < this.length; u++) { var d = this[u]; if (r && d.isEdge() && "bezier" === d.pstyle("curve-style").strValue && !s[d.id()]) { for (var p = d.parallelEdges(), f = 0; f < p.length; f++)s[p[f].id()] = !0; p.recalculateRenderedStyle(n.useCache) } o = t, a = g(d, n), c(o, a.x1, a.y1, a.x2, a.y2) } return t.x1 = l(t.x1), t.y1 = l(t.y1), t.x2 = l(t.x2), t.y2 = l(t.y2), t.w = l(t.x2 - t.x1), t.h = l(t.y2 - t.y1), t }, s.boundingBoxAt = function (e) { var t = this.nodes(); if (r.plainObject(e)) { var n = e; e = function () { return n } } for (var i = 0; i < t.length; i++) { var o = t[i], a = o._private, s = a.position, l = e.call(o, o, i); a.bbAtOldPos = { x: s.x, y: s.y }, l && (s.x = l.x, s.y = l.y) } this.emit("dirty"), t.dirtyCompoundBoundsCache().updateCompoundBounds(); for (var c = this.boundingBox({ useCache: !1 }), u = 0; u < t.length; u++) { var d = t[u], p = d._private, f = d._private.position, h = p.bbAtOldPos; f.x = h.x, f.y = h.y } return t.dirtyCompoundBoundsCache(), this.emit("dirty"), c }, a.boundingbox = a.boundingBox, a.renderedBoundingbox = a.renderedBoundingBox, e.exports = s }, function (e, t, n) { "use strict"; var r = n(1), i = void 0, o = void 0; i = o = {}; var a = function (e) { e.uppercaseName = r.capitalize(e.name), e.autoName = "auto" + e.uppercaseName, e.labelName = "label" + e.uppercaseName, e.outerName = "outer" + e.uppercaseName, e.uppercaseOuterName = r.capitalize(e.outerName), i[e.name] = function () { var t = this[0], n = t._private, r = n.cy._private.styleEnabled; if (t) { if (!r) return 1; if (t.isParent()) return t.updateCompoundBounds(), n[e.autoName] || 0; var i = t.pstyle(e.name); switch (i.strValue) { case "label": return t.recalculateRenderedStyle(), n.rstyle[e.labelName] || 0; default: return i.pfValue } } }, i["outer" + e.uppercaseName] = function () { var t = this[0], n = t._private.cy._private.styleEnabled; if (t) return n ? t[e.name]() + t.pstyle("border-width").pfValue + 2 * t.padding() : 1 }, i["rendered" + e.uppercaseName] = function () { var t = this[0]; if (t) return t[e.name]() * this.cy().zoom() }, i["rendered" + e.uppercaseOuterName] = function () { var t = this[0]; if (t) return t[e.outerName]() * this.cy().zoom() } }; a({ name: "width" }), a({ name: "height" }), o.padding = function () { var e = this[0], t = e._private; return e.isParent() ? (e.updateCompoundBounds(), void 0 !== t.autoPadding ? t.autoPadding : e.pstyle("padding").pfValue) : e.pstyle("padding").pfValue }, e.exports = o }, function (e, t, n) { "use strict"; var r = function (e, t) { if (e.isEdge()) return t(e.renderer()) }; e.exports = { controlPoints: function () { var e = this; return r(this, (function (t) { return t.getControlPoints(e) })) }, segmentPoints: function () { var e = this; return r(this, (function (t) { return t.getSegmentPoints(e) })) }, sourceEndpoint: function () { var e = this; return r(this, (function (t) { return t.getSourceEndpoint(e) })) }, targetEndpoint: function () { var e = this; return r(this, (function (t) { return t.getTargetEndpoint(e) })) }, midpoint: function () { var e = this; return r(this, (function (t) { return t.getEdgeMidpoint(e) })) } } }, function (e, t, n) { "use strict"; var r = n(11), i = n(4), o = n(0), a = n(1), s = n(6), l = { qualifierCompare: function (e, t) { return null == e || null == t ? null == e && null == t : e.sameText(t) }, eventMatches: function (e, t, n) { var r = t.qualifier; return null == r || e !== n.target && o.element(n.target) && r.matches(n.target) }, eventFields: function (e) { return { cy: e.cy(), target: e } }, callbackContext: function (e, t, n) { return null != t.qualifier ? n.target : e }, beforeEmit: function (e, t) { t.conf && t.conf.once && t.conf.onceCollection.removeListener(t.event, t.qualifier, t.callback) }, bubble: function () { return !0 }, parent: function (e) { return e.isChild() ? e.parent() : e.cy() } }, c = function (e) { return o.string(e) ? new s(e) : e }, u = { createEmitter: function () { for (var e = 0; e < this.length; e++) { var t = this[e], n = t._private; n.emitter || (n.emitter = new r(a.assign({ context: t }, l))) } return this }, emitter: function () { return this._private.emitter }, on: function (e, t, n) { for (var r = 0; r < this.length; r++)this[r].emitter().on(e, c(t), n); return this }, removeListener: function (e, t, n) { for (var r = 0; r < this.length; r++)this[r].emitter().removeListener(e, c(t), n); return this }, one: function (e, t, n) { for (var r = 0; r < this.length; r++)this[r].emitter().one(e, c(t), n); return this }, once: function (e, t, n) { for (var r = 0; r < this.length; r++)this[r].emitter().on(e, c(t), n, { once: !0, onceCollection: this }) }, emit: function (e, t) { for (var n = 0; n < this.length; n++)this[n].emitter().emit(e, t); return this }, emitAndNotify: function (e, t) { if (0 !== this.length) return this.cy().notify({ type: e, eles: this }), this.emit(e, t), this } }; i.eventAliasesOn(u), e.exports = u }, function (e, t, n) { "use strict"; var r = n(0), i = n(6), o = { nodes: function (e) { return this.filter((function (e) { return e.isNode() })).filter(e) }, edges: function (e) { return this.filter((function (e) { return e.isEdge() })).filter(e) }, filter: function (e, t) { if (void 0 === e) return this; if (r.string(e) || r.elementOrCollection(e)) return new i(e).filter(this); if (r.fn(e)) { for (var n = this.spawn(), o = 0; o < this.length; o++) { var a = this[o]; (t ? e.apply(t, [a, o, this]) : e(a, o, this)) && n.merge(a) } return n } return this.spawn() }, not: function (e) { if (e) { r.string(e) && (e = this.filter(e)); for (var t = [], n = e._private.map, i = 0; i < this.length; i++) { var o = this[i]; n.has(o.id()) || t.push(o) } return this.spawn(t) } return this }, absoluteComplement: function () { return this.cy().mutableElements().not(this) }, intersect: function (e) { if (r.string(e)) { var t = e; return this.filter(t) } for (var n = [], i = e, o = this.length < e.length, a = o ? i._private.map : this._private.map, s = o ? this : i, l = 0; l < s.length; l++) { var c = s[l]._private.data.id, u = a.get(c); u && n.push(u.ele) } return this.spawn(n) }, xor: function (e) { var t = this._private.cy; r.string(e) && (e = t.$(e)); var n = [], i = e, o = function (e, t) { for (var r = 0; r < e.length; r++) { var i = e[r], o = i._private.data.id; t.hasElementWithId(o) || n.push(i) } }; return o(this, i), o(i, this), this.spawn(n) }, diff: function (e) { var t = this._private.cy; r.string(e) && (e = t.$(e)); var n = [], i = [], o = [], a = e, s = function (e, t, n) { for (var r = 0; r < e.length; r++) { var i = e[r], a = i._private.data.id; t.hasElementWithId(a) ? o.push(i) : n.push(i) } }; return s(this, a, n), s(a, this, i), { left: this.spawn(n, { unique: !0 }), right: this.spawn(i, { unique: !0 }), both: this.spawn(o, { unique: !0 }) } }, add: function (e) { var t = this._private.cy; if (!e) return this; if (r.string(e)) { var n = e; e = t.mutableElements().filter(n) } for (var i = [], o = 0; o < this.length; o++)i.push(this[o]); for (var a = this._private.map, s = 0; s < e.length; s++) { var l = !a.has(e[s].id()); l && i.push(e[s]) } return this.spawn(i) }, merge: function (e) { var t = this._private, n = t.cy; if (!e) return this; if (e && r.string(e)) { var i = e; e = n.mutableElements().filter(i) } for (var o = t.map, a = 0; a < e.length; a++) { var s = e[a], l = s._private.data.id; if (o.has(l)) { var c = o.get(l).index; this[c] = s, o.set(l, { ele: s, index: c }) } else { var u = this.length++; this[u] = s, o.set(l, { ele: s, index: u }) } } return this }, unmergeOne: function (e) { e = e[0]; var t = this._private, n = e._private.data.id, r = t.map, i = r.get(n); if (!i) return this; var o = i.index; this[o] = void 0, r.delete(n); var a = o === this.length - 1; if (this.length > 1 && !a) { var s = this.length - 1, l = this[s], c = l._private.data.id; this[s] = void 0, this[o] = l, r.set(c, { ele: l, index: o }) } return this.length--, this }, unmerge: function (e) { var t = this._private.cy; if (!e) return this; if (e && r.string(e)) { var n = e; e = t.mutableElements().filter(n) } for (var i = 0; i < e.length; i++)this.unmergeOne(e[i]); return this }, map: function (e, t) { for (var n = [], r = 0; r < this.length; r++) { var i = this[r], o = t ? e.apply(t, [i, r, this]) : e(i, r, this); n.push(o) } return n }, reduce: function (e, t) { for (var n = t, r = 0; r < this.length; r++)n = e(n, this[r], r, this); return n }, max: function (e, t) { for (var n = -1 / 0, r = void 0, i = 0; i < this.length; i++) { var o = this[i], a = t ? e.apply(t, [o, i, this]) : e(o, i, this); a > n && (n = a, r = o) } return { value: n, ele: r } }, min: function (e, t) { for (var n = 1 / 0, r = void 0, i = 0; i < this.length; i++) { var o = this[i], a = t ? e.apply(t, [o, i, this]) : e(o, i, this); a < n && (n = a, r = o) } return { value: n, ele: r } } }, a = o; a.u = a["|"] = a["+"] = a.union = a.or = a.add, a["\\"] = a["!"] = a["-"] = a.difference = a.relativeComplement = a.subtract = a.not, a.n = a["&"] = a["."] = a.and = a.intersection = a.intersect, a["^"] = a["(+)"] = a["(-)"] = a.symmetricDifference = a.symdiff = a.xor, a.fnFilter = a.filterFn = a.stdFilter = a.filter, a.complement = a.abscomp = a.absoluteComplement, e.exports = o }, function (e, t, n) { "use strict"; e.exports = { isNode: function () { return "nodes" === this.group() }, isEdge: function () { return "edges" === this.group() }, isLoop: function () { return this.isEdge() && this.source().id() === this.target().id() }, isSimple: function () { return this.isEdge() && this.source().id() !== this.target().id() }, group: function () { var e = this[0]; if (e) return e._private.group } } }, function (e, t, n) { "use strict"; var r = n(0), i = n(17), o = n(1), a = { forEach: function (e, t) { if (r.fn(e)) for (var n = 0; n < this.length; n++) { var i = this[n]; if (!1 === (t ? e.apply(t, [i, n, this]) : e(i, n, this))) break } return this }, toArray: function () { for (var e = [], t = 0; t < this.length; t++)e.push(this[t]); return e }, slice: function (e, t) { var n = [], r = this.length; null == t && (t = r), null == e && (e = 0), e < 0 && (e = r + e), t < 0 && (t = r + t); for (var i = e; i >= 0 && i < t && i < r; i++)n.push(this[i]); return this.spawn(n) }, size: function () { return this.length }, eq: function (e) { return this[e] || this.spawn() }, first: function () { return this[0] || this.spawn() }, last: function () { return this[this.length - 1] || this.spawn() }, empty: function () { return 0 === this.length }, nonempty: function () { return !this.empty() }, sort: function (e) { if (!r.fn(e)) return this; var t = this.toArray().sort(e); return this.spawn(t) }, sortByZIndex: function () { return this.sort(i) }, zDepth: function () { var e = this[0]; if (e) { var t = e._private; if ("nodes" === t.group) { var n = t.data.parent ? e.parents().size() : 0; return e.isParent() ? n : o.MAX_INT - 1 } var r = t.source, i = t.target, a = r.zDepth(), s = i.zDepth(); return Math.max(a, s, 0) } } }; a.each = a.forEach, e.exports = a }, function (e, t, n) { "use strict"; var r = n(0), i = n(1), o = n(5), a = n(2), s = { layoutDimensions: function (e) { if ((e = i.assign({ nodeDimensionsIncludeLabels: !0 }, e)).nodeDimensionsIncludeLabels) { var t = this.boundingBox(); return { w: t.w, h: t.h } } return { w: this.outerWidth(), h: this.outerHeight() } }, layoutPositions: function (e, t, n) { var s = this.nodes(), l = this.cy(), c = t.eles, u = function (e, t) { return e.id() + "$" + t }, d = i.memoize(n, u); e.emit({ type: "layoutstart", layout: e }), e.animations = []; var p = t.spacingFactor && 1 !== t.spacingFactor, f = function () { if (!p) return null; for (var e = a.makeBoundingBox(), t = 0; t < s.length; t++) { var n = s[t], r = d(n, t); a.expandBoundingBoxByPoint(e, r.x, r.y) } return e }(), h = i.memoize((function (e, n) { var i = d(e, n), o = e.position(); return r.number(o.x) && r.number(o.y) || e.silentPosition({ x: 0, y: 0 }), p && (i = function (e, t, n) { var r = t.x1 + t.w / 2, i = t.y1 + t.h / 2; return { x: r + (n.x - r) * e, y: i + (n.y - i) * e } }(Math.abs(t.spacingFactor), f, i)), null != t.transform && (i = t.transform(e, i)), i }), u); if (t.animate) { for (var g = 0; g < s.length; g++) { var m = s[g], v = h(m, g); if (null == t.animateFilter || t.animateFilter(m, g)) { var b = m.animation({ position: v, duration: t.animationDuration, easing: t.animationEasing }); e.animations.push(b), b.play() } else m.position(v) } if (t.fit) { var y = l.animation({ fit: { boundingBox: c.boundingBoxAt(h), padding: t.padding }, duration: t.animationDuration, easing: t.animationEasing }); e.animations.push(y), y.play() } else if (void 0 !== t.zoom && void 0 !== t.pan) { var x = l.animation({ zoom: t.zoom, pan: t.pan, duration: t.animationDuration, easing: t.animationEasing }); e.animations.push(x), x.play() } e.one("layoutready", t.ready), e.emit({ type: "layoutready", layout: e }), o.all(e.animations.map((function (e) { return e.promise() }))).then((function () { e.one("layoutstop", t.stop), e.emit({ type: "layoutstop", layout: e }) })) } else s.positions(h), t.fit && l.fit(t.eles, t.padding), null != t.zoom && l.zoom(t.zoom), t.pan && l.pan(t.pan), e.one("layoutready", t.ready), e.emit({ type: "layoutready", layout: e }), e.one("layoutstop", t.stop), e.emit({ type: "layoutstop", layout: e }); return this }, layout: function (e) { return this.cy().makeLayout(i.extend({}, e, { eles: this })) } }; s.createLayout = s.makeLayout = s.layout, e.exports = s }, function (e, t, n) { "use strict"; var r = n(0); function i(e, t, n) { var r, i = n._private, o = i.styleCache = i.styleCache || {}; return null != (r = o[e]) ? r : r = o[e] = t(n) } function o(e, t) { return function (n) { return i(e, t, n) } } function a(e, t) { var n = function (e) { return t.call(e) }; return function () { var t = this[0]; if (t) return i(e, n, t) } } var s = { recalculateRenderedStyle: function (e) { var t = this.cy(), n = t.renderer(), r = t.styleEnabled(); return n && r && n.recalculateRenderedStyle(this, e), this }, dirtyStyleCache: function () { var e = this.cy(), t = function (e) { return e._private.styleCache = {} }; if (e.hasCompoundNodes()) { var n = void 0; (n = this.spawnSelf().merge(this.descendants()).merge(this.parents())).merge(n.connectedEdges()), n.forEach(t) } else this.forEach((function (e) { t(e), e.connectedEdges().forEach(t) })); return this }, updateStyle: function (e) { var t = this._private.cy; if (!t.styleEnabled()) return this; if (t._private.batchingStyle) return t._private.batchStyleEles.merge(this), this; var n = t.hasCompoundNodes(), r = t.style(), i = this; e = !(!e && void 0 !== e), n && (i = this.spawnSelf().merge(this.descendants()).merge(this.parents())); var o = r.apply(i); return o.dirtyStyleCache(), o.dirtyCompoundBoundsCache(), e ? o.emitAndNotify("style") : o.emit("style"), this }, updateMappers: function (e) { var t = this._private.cy, n = t.style(); if (e = !(!e && void 0 !== e), !t.styleEnabled()) return this; var r = n.updateMappers(this); return r.dirtyStyleCache(), r.dirtyCompoundBoundsCache(), e ? r.emitAndNotify("style") : r.emit("style"), this }, parsedStyle: function (e) { var t = this[0], n = t.cy(); if (n.styleEnabled()) return t ? t._private.style[e] || n.style().getDefaultProperty(e) : void 0 }, numericStyle: function (e) { var t = this[0]; if (t.cy().styleEnabled() && t) { var n = t.pstyle(e); return void 0 !== n.pfValue ? n.pfValue : n.value } }, numericStyleUnits: function (e) { var t = this[0]; if (t.cy().styleEnabled()) return t ? t.pstyle(e).units : void 0 }, renderedStyle: function (e) { var t = this.cy(); if (!t.styleEnabled()) return this; var n = this[0]; return n ? t.style().getRenderedStyle(n, e) : void 0 }, style: function (e, t) { var n = this.cy(); if (!n.styleEnabled()) return this; var i = n.style(); if (r.plainObject(e)) { var o = e; i.applyBypass(this, o, !1), this.dirtyStyleCache(), this.dirtyCompoundBoundsCache(), this.emitAndNotify("style") } else if (r.string(e)) { if (void 0 === t) { var a = this[0]; return a ? i.getStylePropertyValue(a, e) : void 0 } i.applyBypass(this, e, t, !1), this.dirtyStyleCache(), this.dirtyCompoundBoundsCache(), this.emitAndNotify("style") } else if (void 0 === e) { var s = this[0]; return s ? i.getRawStyle(s) : void 0 } return this }, removeStyle: function (e) { var t = this.cy(); if (!t.styleEnabled()) return this; var n = t.style(); if (void 0 === e) for (var r = 0; r < this.length; r++) { var i = this[r]; n.removeAllBypasses(i, !1) } else { e = e.split(/\s+/); for (var o = 0; o < this.length; o++) { var a = this[o]; n.removeBypasses(a, e, !1) } } return this.dirtyStyleCache(), this.dirtyCompoundBoundsCache(), this.emitAndNotify("style"), this }, show: function () { return this.css("display", "element"), this }, hide: function () { return this.css("display", "none"), this }, effectiveOpacity: function () { var e = this.cy(); if (!e.styleEnabled()) return 1; var t = e.hasCompoundNodes(), n = this[0]; if (n) { var r = n._private, i = n.pstyle("opacity").value; if (!t) return i; var o = r.data.parent ? n.parents() : null; if (o) for (var a = 0; a < o.length; a++)i *= o[a].pstyle("opacity").value; return i } }, transparent: function () { if (!this.cy().styleEnabled()) return !1; var e = this[0], t = e.cy().hasCompoundNodes(); return e ? t ? 0 === e.effectiveOpacity() : 0 === e.pstyle("opacity").value : void 0 }, backgrounding: function () { return !!this.cy().styleEnabled() && !!this[0]._private.backgrounding } }; function l(e, t) { var n = e._private.data.parent ? e.parents() : null; if (n) for (var r = 0; r < n.length; r++)if (!t(n[r])) return !1; return !0 } function c(e) { var t = e.ok, n = e.edgeOkViaNode || e.ok, r = e.parentOk || e.ok; return function () { var e = this.cy(); if (!e.styleEnabled()) return !0; var i = this[0], o = e.hasCompoundNodes(); if (i) { var a = i._private; if (!t(i)) return !1; if (i.isNode()) return !o || l(i, r); var s = a.source, c = a.target; return n(s) && (!o || l(s, n)) && (s === c || n(c) && (!o || l(c, n))) } } } var u = o("eleTakesUpSpace", (function (e) { return "element" === e.pstyle("display").value && 0 !== e.width() && (!e.isNode() || 0 !== e.height()) })); s.takesUpSpace = a("takesUpSpace", c({ ok: u })); var d = o("eleInteractive", (function (e) { return "yes" === e.pstyle("events").value && "visible" === e.pstyle("visibility").value && u(e) })), p = o("parentInteractive", (function (e) { return "visible" === e.pstyle("visibility").value && u(e) })); s.interactive = a("interactive", c({ ok: d, parentOk: p, edgeOkViaNode: u })), s.noninteractive = function () { var e = this[0]; if (e) return !e.interactive() }; var f = o("eleVisible", (function (e) { return "visible" === e.pstyle("visibility").value && 0 !== e.pstyle("opacity").pfValue && u(e) })), h = u; s.visible = a("visible", c({ ok: f, edgeOkViaNode: h })), s.hidden = function () { var e = this[0]; if (e) return !e.visible() }, s.bypass = s.css = s.style, s.renderedCss = s.renderedStyle, s.removeBypass = s.removeCss = s.removeStyle, s.pstyle = s.parsedStyle, e.exports = s }, function (e, t, n) { "use strict"; var r = {}; function i(e) { return function () { var t = arguments, n = []; if (2 === t.length) { var r = t[0], i = t[1]; this.on(e.event, r, i) } else if (1 === t.length) { var o = t[0]; this.on(e.event, o) } else if (0 === t.length) { for (var a = 0; a < this.length; a++) { var s = this[a], l = !e.ableField || s._private[e.ableField], c = s._private[e.field] != e.value; if (e.overrideAble) { var u = e.overrideAble(s); if (void 0 !== u && (l = u, !u)) return this } l && (s._private[e.field] = e.value, c && n.push(s)) } var d = this.spawn(n); d.updateStyle(), d.emit(e.event) } return this } } function o(e) { r[e.field] = function () { var t = this[0]; if (t) { if (e.overrideField) { var n = e.overrideField(t); if (void 0 !== n) return n } return t._private[e.field] } }, r[e.on] = i({ event: e.on, field: e.field, ableField: e.ableField, overrideAble: e.overrideAble, value: !0 }), r[e.off] = i({ event: e.off, field: e.field, ableField: e.ableField, overrideAble: e.overrideAble, value: !1 }) } o({ field: "locked", overrideField: function (e) { return !!e.cy().autolock() || void 0 }, on: "lock", off: "unlock" }), o({ field: "grabbable", overrideField: function (e) { return !e.cy().autoungrabify() && void 0 }, on: "grabify", off: "ungrabify" }), o({ field: "selected", ableField: "selectable", overrideAble: function (e) { return !e.cy().autounselectify() && void 0 }, on: "select", off: "unselect" }), o({ field: "selectable", overrideField: function (e) { return !e.cy().autounselectify() && void 0 }, on: "selectify", off: "unselectify" }), r.deselect = r.unselect, r.grabbed = function () { var e = this[0]; if (e) return e._private.grabbed }, o({ field: "active", on: "activate", off: "unactivate" }), r.inactive = function () { var e = this[0]; if (e) return !e._private.active }, e.exports = r }, function (e, t, n) { "use strict"; var r = n(1), i = n(0), o = {}, a = function (e, t) { return function (n, r, o, a) { var s = n, l = void 0; if (null == s ? l = "null" : i.elementOrCollection(s) && 1 === s.length && (l = "#" + s.id()), 1 === this.length && l) { var c = this[0]._private, u = c.traversalCache = c.traversalCache || {}, d = u[t] = u[t] || {}, p = d[l]; return p || (d[l] = e.call(this, n, r, o, a)) } return e.call(this, n, r, o, a) } }, s = function (e) { return function (t) { for (var n = [], r = 0; r < this.length; r++) { var i = this[r]; if (i.isNode()) { for (var o = !1, a = i.connectedEdges(), s = 0; s < a.length; s++) { var l = a[s], c = l.source(), u = l.target(); if (e.noIncomingEdges && u === i && c !== i || e.noOutgoingEdges && c === i && u !== i) { o = !0; break } } o || n.push(i) } } return this.spawn(n, { unique: !0 }).filter(t) } }, l = function (e) { return function (t) { for (var n = [], r = 0; r < this.length; r++) { var i = this[r]; if (i.isNode()) for (var o = i.connectedEdges(), a = 0; a < o.length; a++) { var s = o[a], l = s.source(), c = s.target(); e.outgoing && l === i ? (n.push(s), n.push(c)) : e.incoming && c === i && (n.push(s), n.push(l)) } } return this.spawn(n, { unique: !0 }).filter(t) } }, c = function (e) { return function (t) { for (var n = this, r = [], i = {}; ;) { var o = e.outgoing ? n.outgoers() : n.incomers(); if (0 === o.length) break; for (var a = !1, s = 0; s < o.length; s++) { var l = o[s], c = l.id(); i[c] || (i[c] = !0, r.push(l), a = !0) } if (!a) break; n = o } return this.spawn(r, { unique: !0 }).filter(t) } }; function u(e) { return function (t) { for (var n = [], r = 0; r < this.length; r++) { var i = this[r]._private[e.attr]; i && n.push(i) } return this.spawn(n, { unique: !0 }).filter(t) } } function d(e) { return function (t) { var n = [], r = this._private.cy, o = e || {}; i.string(t) && (t = r.$(t)); for (var a = 0; a < t.length; a++)for (var s = t[a]._private.edges, l = 0; l < s.length; l++) { var c = s[l], u = c._private.data, d = this.hasElementWithId(u.source) && t.hasElementWithId(u.target), p = t.hasElementWithId(u.source) && this.hasElementWithId(u.target); if (d || p) { if (o.thisIsSrc || o.thisIsTgt) { if (o.thisIsSrc && !d) continue; if (o.thisIsTgt && !p) continue } n.push(c) } } return this.spawn(n, { unique: !0 }) } } function p(e) { return e = r.extend({}, { codirected: !1 }, e), function (t) { for (var n = [], r = this.edges(), i = e, o = 0; o < r.length; o++)for (var a = r[o]._private, s = a.source, l = s._private.data.id, c = a.data.target, u = s._private.edges, d = 0; d < u.length; d++) { var p = u[d], f = p._private.data, h = f.target, g = f.source, m = h === c && g === l, v = l === h && c === g; (i.codirected && m || !i.codirected && (m || v)) && n.push(p) } return this.spawn(n, { unique: !0 }).filter(t) } } o.clearTraversalCache = function () { for (var e = 0; e < this.length; e++)this[e]._private.traversalCache = null }, r.extend(o, { roots: s({ noIncomingEdges: !0 }), leaves: s({ noOutgoingEdges: !0 }), outgoers: a(l({ outgoing: !0 }), "outgoers"), successors: c({ outgoing: !0 }), incomers: a(l({ incoming: !0 }), "incomers"), predecessors: c({ incoming: !0 }) }), r.extend(o, { neighborhood: a((function (e) { for (var t = [], n = this.nodes(), r = 0; r < n.length; r++)for (var i = n[r], o = i.connectedEdges(), a = 0; a < o.length; a++) { var s = o[a], l = s.source(), c = s.target(), u = i === l ? c : l; u.length > 0 && t.push(u[0]), t.push(s[0]) } return this.spawn(t, { unique: !0 }).filter(e) }), "neighborhood"), closedNeighborhood: function (e) { return this.neighborhood().add(this).filter(e) }, openNeighborhood: function (e) { return this.neighborhood(e) } }), o.neighbourhood = o.neighborhood, o.closedNeighbourhood = o.closedNeighborhood, o.openNeighbourhood = o.openNeighborhood, r.extend(o, { source: a((function (e) { var t = this[0], n = void 0; return t && (n = t._private.source || t.cy().collection()), n && e ? n.filter(e) : n }), "source"), target: a((function (e) { var t = this[0], n = void 0; return t && (n = t._private.target || t.cy().collection()), n && e ? n.filter(e) : n }), "target"), sources: u({ attr: "source" }), targets: u({ attr: "target" }) }), r.extend(o, { edgesWith: a(d(), "edgesWith"), edgesTo: a(d({ thisIsSrc: !0 }), "edgesTo") }), r.extend(o, { connectedEdges: a((function (e) { for (var t = [], n = 0; n < this.length; n++) { var r = this[n]; if (r.isNode()) for (var i = r._private.edges, o = 0; o < i.length; o++) { var a = i[o]; t.push(a) } } return this.spawn(t, { unique: !0 }).filter(e) }), "connectedEdges"), connectedNodes: a((function (e) { for (var t = [], n = 0; n < this.length; n++) { var r = this[n]; r.isEdge() && (t.push(r.source()[0]), t.push(r.target()[0])) } return this.spawn(t, { unique: !0 }).filter(e) }), "connectedNodes"), parallelEdges: a(p(), "parallelEdges"), codirectedEdges: a(p({ codirected: !0 }), "codirectedEdges") }), r.extend(o, { components: function () { var e = this, t = e.cy(), n = e.spawn(), r = e.nodes().spawnSelf(), i = [], o = function (e, t) { n.merge(e), r.unmerge(e), t.merge(e) }; if (r.empty()) return e.spawn(); var a = function () { var n = t.collection(); i.push(n); var a = r[0]; o(a, n), e.bfs({ directed: !1, roots: a, visit: function (e, t, r, i, a) { o(e, n) } }) }; do { a() } while (r.length > 0); return i.map((function (e) { var t = e.connectedEdges().stdFilter((function (t) { return e.anySame(t.source()) && e.anySame(t.target()) })); return e.union(t) })) } }), e.exports = o }, function (e, t, n) { "use strict"; var r = n(0), i = n(1), o = n(7), a = n(14), s = { add: function (e) { var t = void 0, n = this; if (r.elementOrCollection(e)) { var s = e; if (s._private.cy === n) t = s.restore(); else { for (var l = [], c = 0; c < s.length; c++) { var u = s[c]; l.push(u.json()) } t = new o(n, l) } } else if (r.array(e)) t = new o(n, e); else if (r.plainObject(e) && (r.array(e.nodes) || r.array(e.edges))) { for (var d = e, p = [], f = ["nodes", "edges"], h = 0, g = f.length; h < g; h++) { var m = f[h], v = d[m]; if (r.array(v)) for (var b = 0, y = v.length; b < y; b++) { var x = i.extend({ group: m }, v[b]); p.push(x) } } t = new o(n, p) } else t = new a(n, e).collection(); return t }, remove: function (e) { if (r.elementOrCollection(e)); else if (r.string(e)) { var t = e; e = this.$(t) } return e.remove() } }; e.exports = s }, function (e, t, n) { "use strict"; var r = n(4), i = n(1), o = n(71), a = { animate: r.animate(), animation: r.animation(), animated: r.animated(), clearQueue: r.clearQueue(), delay: r.delay(), delayAnimation: r.delayAnimation(), stop: r.stop(), addToAnimationPool: function (e) { this.styleEnabled() && this._private.aniEles.merge(e) }, stopAnimationLoop: function () { this._private.animationsRunning = !1 }, startAnimationLoop: function () { var e = this; if (e._private.animationsRunning = !0, e.styleEnabled()) { var t = e.renderer(); t && t.beforeRender ? t.beforeRender((function (t, n) { o(n, e) }), t.beforeRenderPriorities.animations) : function t() { e._private.animationsRunning && i.requestAnimationFrame((function (n) { o(n, e), t() })) }() } } }; e.exports = a }, function (e, t, n) { "use strict"; var r = n(72), i = n(77); e.exports = function (e, t) { var n = t._private.aniEles, o = []; function a(t, n) { var a = t._private, s = a.animation.current, l = a.animation.queue, c = !1; if (!n && "none" === t.pstyle("display").value) { s = s.splice(0, s.length).concat(l.splice(0, l.length)); for (var u = 0; u < s.length; u++)s[u].stop() } if (0 === s.length) { var d = l.shift(); d && s.push(d) } for (var p = function (e) { for (var t = e.length - 1; t >= 0; t--)(0, e[t])(); e.splice(0, e.length) }, f = s.length - 1; f >= 0; f--) { var h = s[f], g = h._private; g.stopped ? (s.splice(f, 1), g.hooked = !1, g.playing = !1, g.started = !1, p(g.frames)) : (g.playing || g.applying) && (g.playing && g.applying && (g.applying = !1), g.started || i(t, h, e, n), r(t, h, e, n), g.applying && (g.applying = !1), p(g.frames), h.completed() && (s.splice(f, 1), g.hooked = !1, g.playing = !1, g.started = !1, p(g.completes)), c = !0) } return n || 0 !== s.length || 0 !== l.length || o.push(t), c } for (var s = !1, l = 0; l < n.length; l++) { var c = a(n[l]); s = s || c } var u = a(t, !0); (s || u) && (n.length > 0 ? (n.dirtyCompoundBoundsCache(), t.notify({ type: "draw", eles: n })) : t.notify({ type: "draw" })), n.unmerge(o), t.emit("step") } }, function (e, t, n) { "use strict"; var r = n(73), i = n(76), o = n(0); function a(e, t) { return !!(null != e && null != t && (o.number(e) && o.number(t) || e && t)) } e.exports = function (e, t, n, s) { var l = !s, c = e._private, u = t._private, d = u.easing, p = u.startTime, f = (s ? e : e.cy()).style(); if (!u.easingImpl) if (null == d) u.easingImpl = r.linear; else { var h = void 0; h = o.string(d) ? f.parse("transition-timing-function", d).value : d; var g = void 0, m = void 0; o.string(h) ? (g = h, m = []) : (g = h[1], m = h.slice(2).map((function (e) { return +e }))), m.length > 0 ? ("spring" === g && m.push(u.duration), u.easingImpl = r[g].apply(null, m)) : u.easingImpl = r[g] } var v = u.easingImpl, b = void 0; if (b = 0 === u.duration ? 1 : (n - p) / u.duration, u.applying && (b = u.progress), b < 0 ? b = 0 : b > 1 && (b = 1), null == u.delay) { var y = u.startPosition, x = u.position; if (x && l && !e.locked()) { var w = e.position(); a(y.x, x.x) && (w.x = i(y.x, x.x, b, v)), a(y.y, x.y) && (w.y = i(y.y, x.y, b, v)), e.emit("position") } var k = u.startPan, A = u.pan, E = c.pan, S = null != A && s; S && (a(k.x, A.x) && (E.x = i(k.x, A.x, b, v)), a(k.y, A.y) && (E.y = i(k.y, A.y, b, v)), e.emit("pan")); var $ = u.startZoom, C = u.zoom, _ = null != C && s; _ && (a($, C) && (c.zoom = i($, C, b, v)), e.emit("zoom")), (S || _) && e.emit("viewport"); var O = u.style; if (O && O.length > 0 && l) { for (var T = 0; T < O.length; T++) { var j = O[T], P = j.name, D = j, R = u.startStyle[P], I = f.properties[R.name], N = i(R, D, b, v, I); f.overrideBypass(e, P, N) } e.emit("style") } } return u.progress = b, b } }, function (e, t, n) { "use strict"; var r = n(74), i = n(75), o = function (e, t, n, i) { var o = r(e, t, n, i); return function (e, t, n) { return e + (t - e) * o(n) } }, a = { linear: function (e, t, n) { return e + (t - e) * n }, ease: o(.25, .1, .25, 1), "ease-in": o(.42, 0, 1, 1), "ease-out": o(0, 0, .58, 1), "ease-in-out": o(.42, 0, .58, 1), "ease-in-sine": o(.47, 0, .745, .715), "ease-out-sine": o(.39, .575, .565, 1), "ease-in-out-sine": o(.445, .05, .55, .95), "ease-in-quad": o(.55, .085, .68, .53), "ease-out-quad": o(.25, .46, .45, .94), "ease-in-out-quad": o(.455, .03, .515, .955), "ease-in-cubic": o(.55, .055, .675, .19), "ease-out-cubic": o(.215, .61, .355, 1), "ease-in-out-cubic": o(.645, .045, .355, 1), "ease-in-quart": o(.895, .03, .685, .22), "ease-out-quart": o(.165, .84, .44, 1), "ease-in-out-quart": o(.77, 0, .175, 1), "ease-in-quint": o(.755, .05, .855, .06), "ease-out-quint": o(.23, 1, .32, 1), "ease-in-out-quint": o(.86, 0, .07, 1), "ease-in-expo": o(.95, .05, .795, .035), "ease-out-expo": o(.19, 1, .22, 1), "ease-in-out-expo": o(1, 0, 0, 1), "ease-in-circ": o(.6, .04, .98, .335), "ease-out-circ": o(.075, .82, .165, 1), "ease-in-out-circ": o(.785, .135, .15, .86), spring: function (e, t, n) { if (0 === n) return a.linear; var r = i(e, t, n); return function (e, t, n) { return e + (t - e) * r(n) } }, "cubic-bezier": o }; e.exports = a }, function (e, t, n) {
229
+ "use strict";
230
+ /*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License */e.exports = function (e, t, n, r) { var i = 4, o = .001, a = 1e-7, s = 10, l = 11, c = 1 / (l - 1), u = "undefined" != typeof Float32Array; if (4 !== arguments.length) return !1; for (var d = 0; d < 4; ++d)if ("number" != typeof arguments[d] || isNaN(arguments[d]) || !isFinite(arguments[d])) return !1; e = Math.min(e, 1), n = Math.min(n, 1), e = Math.max(e, 0), n = Math.max(n, 0); var p = u ? new Float32Array(l) : new Array(l); function f(e, t) { return 1 - 3 * t + 3 * e } function h(e, t) { return 3 * t - 6 * e } function g(e) { return 3 * e } function m(e, t, n) { return ((f(t, n) * e + h(t, n)) * e + g(t)) * e } function v(e, t, n) { return 3 * f(t, n) * e * e + 2 * h(t, n) * e + g(t) } function b(t, r) { for (var o = 0; o < i; ++o) { var a = v(r, e, n); if (0 === a) return r; r -= (m(r, e, n) - t) / a } return r } function y() { for (var t = 0; t < l; ++t)p[t] = m(t * c, e, n) } function x(t, r, i) { var o = void 0, l = void 0, c = 0; do { (o = m(l = r + (i - r) / 2, e, n) - t) > 0 ? i = l : r = l } while (Math.abs(o) > a && ++c < s); return l } function w(t) { for (var r = 0, i = 1, a = l - 1; i !== a && p[i] <= t; ++i)r += c; --i; var s = r + (t - p[i]) / (p[i + 1] - p[i]) * c, u = v(s, e, n); return u >= o ? b(t, s) : 0 === u ? s : x(t, r, r + c) } var k = !1; function A() { k = !0, e === t && n === r || y() } var E = function (i) { return k || A(), e === t && n === r ? i : 0 === i ? 0 : 1 === i ? 1 : m(w(i), t, r) }; E.getControlPoints = function () { return [{ x: e, y: t }, { x: n, y: r }] }; var S = "generateBezier(" + [e, t, n, r] + ")"; return E.toString = function () { return S }, E }
231
+ }, function (e, t, n) {
232
+ "use strict";
233
+ /*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var r = function () { function e(e) { return -e.tension * e.x - e.friction * e.v } function t(t, n, r) { var i = { x: t.x + r.dx * n, v: t.v + r.dv * n, tension: t.tension, friction: t.friction }; return { dx: i.v, dv: e(i) } } function n(n, r) { var i = { dx: n.v, dv: e(n) }, o = t(n, .5 * r, i), a = t(n, .5 * r, o), s = t(n, r, a), l = 1 / 6 * (i.dx + 2 * (o.dx + a.dx) + s.dx), c = 1 / 6 * (i.dv + 2 * (o.dv + a.dv) + s.dv); return n.x = n.x + l * r, n.v = n.v + c * r, n } return function e(t, r, i) { var o, a = { x: -1, v: 0, tension: null, friction: null }, s = [0], l = 0, c = void 0, u = void 0; for (t = parseFloat(t) || 500, r = parseFloat(r) || 20, i = i || null, a.tension = t, a.friction = r, c = (o = null !== i) ? (l = e(t, r)) / i * .016 : .016; u = n(u || a, c), s.push(1 + u.x), l += 16, Math.abs(u.x) > 1e-4 && Math.abs(u.v) > 1e-4;); return o ? function (e) { return s[e * (s.length - 1) | 0] } : l } }(); e.exports = r
234
+ }, function (e, t, n) { "use strict"; var r = n(0); function i(e, t, n, r, i) { if (1 === r) return n; var o = i(t, n, r); return null == e || ((e.roundValue || e.color) && (o = Math.round(o)), void 0 !== e.min && (o = Math.max(o, e.min)), void 0 !== e.max && (o = Math.min(o, e.max))), o } function o(e, t) { return null != e.pfValue || null != e.value ? null == e.pfValue || null != t && "%" === t.type.units ? e.value : e.pfValue : e } e.exports = function (e, t, n, a, s) { var l = null != s ? s.type : null; n < 0 ? n = 0 : n > 1 && (n = 1); var c = o(e, s), u = o(t, s); if (r.number(c) && r.number(u)) return i(l, c, u, n, a); if (r.array(c) && r.array(u)) { for (var d = [], p = 0; p < u.length; p++) { var f = c[p], h = u[p]; if (null != f && null != h) { var g = i(l, f, h, n, a); d.push(g) } else d.push(h) } return d } } }, function (e, t, n) { "use strict"; e.exports = function (e, t, n, r) { var i = !r, o = e, a = t._private, s = r ? e : e.cy(), l = s.style(); if (i) { var c = o.position(); a.startPosition = a.startPosition || { x: c.x, y: c.y }, a.startStyle = a.startStyle || l.getAnimationStartStyle(o, a.style) } if (r) { var u = s._private.pan; a.startPan = a.startPan || { x: u.x, y: u.y }, a.startZoom = null != a.startZoom ? a.startZoom : s._private.zoom } a.started = !0, a.startTime = n - a.progress * a.duration } }, function (e, t, n) { "use strict"; var r = n(11), i = n(4), o = n(0), a = n(1), s = n(6), l = { qualifierCompare: function (e, t) { return null == e || null == t ? null == e && null == t : e.sameText(t) }, eventMatches: function (e, t, n) { var r = t.qualifier; return null == r || e !== n.target && o.element(n.target) && r.matches(n.target) }, eventFields: function (e) { return { cy: e, target: e } }, callbackContext: function (e, t, n) { return null != t.qualifier ? n.target : e } }, c = function (e) { return o.string(e) ? new s(e) : e }, u = { createEmitter: function () { var e = this._private; return e.emitter || (e.emitter = new r(a.assign({ context: this }, l))), this }, emitter: function () { return this._private.emitter }, on: function (e, t, n) { return this.emitter().on(e, c(t), n), this }, removeListener: function (e, t, n) { return this.emitter().removeListener(e, c(t), n), this }, one: function (e, t, n) { return this.emitter().one(e, c(t), n), this }, once: function (e, t, n) { return this.emitter().one(e, c(t), n), this }, emit: function (e, t) { return this.emitter().emit(e, t), this } }; i.eventAliasesOn(u), e.exports = u }, function (e, t, n) { "use strict"; var r = { png: function (e) { return e = e || {}, this._private.renderer.png(e) }, jpg: function (e) { var t = this._private.renderer; return (e = e || {}).bg = e.bg || "#fff", t.jpg(e) } }; r.jpeg = r.jpg, e.exports = r }, function (e, t, n) { "use strict"; var r = n(1), i = n(0), o = { layout: function (e) { if (null != e) if (null != e.name) { var t = e.name, n = this.extension("layout", t); if (null != n) { var o = void 0; o = i.string(e.eles) ? this.$(e.eles) : null != e.eles ? e.eles : this.$(); var a = new n(r.extend({}, e, { cy: this, eles: o })); return a } r.error("Can not apply layout: No such layout `" + t + "` found; did you include its JS file?") } else r.error("A `name` must be specified to make a layout"); else r.error("Layout options must be specified to make a layout") } }; o.createLayout = o.makeLayout = o.layout, e.exports = o }, function (e, t, n) { "use strict"; var r = { notify: function (e) { var t = this._private; if (t.batchingNotify) { var n = t.batchNotifyEles, r = t.batchNotifyTypes; return e.eles && n.merge(e.eles), void (r.ids[e.type] || (r.push(e.type), r.ids[e.type] = !0)) } if (t.notificationsEnabled) { var i = this.renderer(); !this.isDestroyed() && i && i.notify(e) } }, notifications: function (e) { var t = this._private; if (void 0 === e) return t.notificationsEnabled; t.notificationsEnabled = !!e }, noNotifications: function (e) { this.notifications(!1), e(), this.notifications(!0) }, batching: function () { return this._private.batchCount > 0 }, startBatch: function () { var e = this._private; return null == e.batchCount && (e.batchCount = 0), 0 === e.batchCount && (e.batchingStyle = e.batchingNotify = !0, e.batchStyleEles = this.collection(), e.batchNotifyEles = this.collection(), e.batchNotifyTypes = [], e.batchNotifyTypes.ids = {}), e.batchCount++, this }, endBatch: function () { var e = this._private; return e.batchCount--, 0 === e.batchCount && (e.batchingStyle = !1, e.batchStyleEles.updateStyle(), e.batchingNotify = !1, this.notify({ type: e.batchNotifyTypes, eles: e.batchNotifyEles })), this }, batch: function (e) { return this.startBatch(), e(), this.endBatch(), this }, batchData: function (e) { var t = this; return this.batch((function () { for (var n = Object.keys(e), r = 0; r < n.length; r++) { var i = n[r], o = e[i]; t.getElementById(i).data(o) } })) } }; e.exports = r }, function (e, t, n) { "use strict"; var r = n(1), i = { renderTo: function (e, t, n, r) { return this._private.renderer.renderTo(e, t, n, r), this }, renderer: function () { return this._private.renderer }, forceRender: function () { return this.notify({ type: "draw" }), this }, resize: function () { return this.invalidateSize(), this.notify({ type: "resize" }), this.emit("resize"), this }, initRenderer: function (e) { var t = this.extension("renderer", e.name); null != t ? (this._private.renderer = new t(r.extend({}, e, { cy: this })), this.notify({ type: "init" })) : r.error("Can not initialise: No such renderer `%s` found; did you include its JS file?", e.name) }, destroyRenderer: function () { this.notify({ type: "destroy" }); var e = this.container(); if (e) for (e._cyreg = null; e.childNodes.length > 0;)e.removeChild(e.childNodes[0]); this._private.renderer = null }, onRender: function (e) { return this.on("render", e) }, offRender: function (e) { return this.off("render", e) } }; i.invalidateDimensions = i.resize, e.exports = i }, function (e, t, n) { "use strict"; var r = n(0), i = n(7), o = { collection: function (e, t) { return r.string(e) ? this.$(e) : r.elementOrCollection(e) ? e.collection() : r.array(e) ? new i(this, e, t) : new i(this) }, nodes: function (e) { var t = this.$((function (e) { return e.isNode() })); return e ? t.filter(e) : t }, edges: function (e) { var t = this.$((function (e) { return e.isEdge() })); return e ? t.filter(e) : t }, $: function (e) { var t = this._private.elements; return e ? t.filter(e) : t.spawnSelf() }, mutableElements: function () { return this._private.elements } }; o.elements = o.filter = o.$, e.exports = o }, function (e, t, n) { "use strict"; var r = n(0), i = n(18), o = { style: function (e) { return e && this.setStyle(e).update(), this._private.style }, setStyle: function (e) { var t = this._private; return r.stylesheet(e) ? t.style = e.generateStyle(this) : r.array(e) ? t.style = i.fromJson(this, e) : r.string(e) ? t.style = i.fromString(this, e) : t.style = i(this), t.style } }; e.exports = o }, function (e, t, n) { "use strict"; var r = n(1), i = n(0), o = n(5), a = { apply: function (e) { var t = this._private, n = t.cy.collection(); t.newStyle && (t.contextStyles = {}, t.propDiffs = {}, this.cleanElements(e, !0)); for (var r = 0; r < e.length; r++) { var i = e[r], o = this.getContextMeta(i); if (!o.empty) { n.merge(i); var a = this.getContextStyle(o), s = this.applyContextStyle(o, a, i); t.newStyle || this.updateTransitions(i, s.diffProps), this.updateStyleHints(i) } } return t.newStyle = !1, n }, getPropertiesDiff: function (e, t) { var n = this._private.propDiffs = this._private.propDiffs || {}, r = e + "-" + t, i = n[r]; if (i) return i; for (var o = [], a = {}, s = 0; s < this.length; s++) { var l = this[s], c = "t" === e[s] != ("t" === t[s]), u = l.mappedProperties.length > 0; if (c || u) { var d = void 0; c && u || c ? d = l.properties : u && (d = l.mappedProperties); for (var p = 0; p < d.length; p++) { for (var f = d[p], h = f.name, g = !1, m = s + 1; m < this.length; m++) { var v = this[m]; if ("t" === t[m] && (g = null != v.properties[f.name])) break } a[h] || g || (a[h] = !0, o.push(h)) } } } return n[r] = o, o }, getContextMeta: function (e) { var t, n = "", r = e._private.styleCxtKey || ""; this._private.newStyle && (r = ""); for (var i = 0; i < this.length; i++) { var o = this[i]; n += o.selector && o.selector.matches(e) ? "t" : "f" } return t = this.getPropertiesDiff(r, n), e._private.styleCxtKey = n, { key: n, diffPropNames: t, empty: 0 === t.length } }, getContextStyle: function (e) { var t = e.key, n = this._private.contextStyles = this._private.contextStyles || {}; if (n[t]) return n[t]; for (var r = { _private: { key: t } }, i = 0; i < this.length; i++) { var o = this[i]; if ("t" === t[i]) for (var a = 0; a < o.properties.length; a++) { var s = o.properties[a]; r[s.name] = s } } return n[t] = r, r }, applyContextStyle: function (e, t, n) { for (var r = e.diffPropNames, i = {}, o = 0; o < r.length; o++) { var a = r[o], s = t[a], l = n.pstyle(a); if (!s) { if (!l) continue; s = l.bypass ? { name: a, deleteBypassed: !0 } : { name: a, delete: !0 } } if (l !== s) { var c = i[a] = { prev: l }; this.applyParsedProperty(n, s), c.next = n.pstyle(a), c.next && c.next.bypass && (c.next = c.next.bypassed) } } return { diffProps: i } }, updateStyleHints: function (e) { var t = e._private; if (!e.removed()) { var n = !1; if ("nodes" === t.group) for (var r = 1; r <= this.pieBackgroundN; r++)if (e.pstyle("pie-" + r + "-background-size").value > 0) { n = !0; break } t.hasPie = n; var i = e.pstyle("text-transform").strValue, o = e.pstyle("label").strValue, a = e.pstyle("source-label").strValue, s = e.pstyle("target-label").strValue, l = e.pstyle("font-style").strValue, c = e.pstyle("font-size").pfValue + "px", u = e.pstyle("font-family").strValue, d = e.pstyle("font-weight").strValue, p = l + "$" + c + "$" + u + "$" + d + "$" + i + "$" + e.pstyle("text-valign").strValue + "$" + e.pstyle("text-valign").strValue + "$" + e.pstyle("text-outline-width").pfValue + "$" + e.pstyle("text-wrap").strValue + "$" + e.pstyle("text-max-width").pfValue; t.labelStyleKey = p, t.sourceLabelKey = p + "$" + a, t.targetLabelKey = p + "$" + s, t.labelKey = p + "$" + o, t.fontKey = l + "$" + d + "$" + c + "$" + u, t.styleKey = Date.now() } }, applyParsedProperty: function (e, t) { var n = this, o = t, a = e._private.style, s = void 0, l = n.types, c = n.properties[o.name].type, u = o.bypass, d = a[o.name], p = d && d.bypass, f = e._private, h = function () { n.checkZOrderTrigger(e, o.name, d ? d.value : null, o.value) }; if ("curve-style" === t.name && "haystack" === t.value && e.isEdge() && (e.isLoop() || e.source().isParent() || e.target().isParent()) && (o = t = this.parse(t.name, "bezier", u)), o.delete) return a[o.name] = void 0, h(), !0; if (o.deleteBypassed) return d ? !!d.bypass && (d.bypassed = void 0, h(), !0) : (h(), !0); if (o.deleteBypass) return d ? !!d.bypass && (a[o.name] = d.bypassed, h(), !0) : (h(), !0); var g = function () { r.error("Do not assign mappings to elements without corresponding data (e.g. ele `" + e.id() + "` for property `" + o.name + "` with data field `" + o.field + "`); try a `[" + o.field + "]` selector to limit scope to elements with `" + o.field + "` defined") }; switch (o.mapped) { case l.mapData: for (var m = o.field.split("."), v = f.data, b = 0; b < m.length && v; b++)v = v[m[b]]; var y = void 0; if ((y = i.number(v) ? (v - o.fieldMin) / (o.fieldMax - o.fieldMin) : 0) < 0 ? y = 0 : y > 1 && (y = 1), c.color) { var x = o.valueMin[0], w = o.valueMax[0], k = o.valueMin[1], A = o.valueMax[1], E = o.valueMin[2], S = o.valueMax[2], $ = null == o.valueMin[3] ? 1 : o.valueMin[3], C = null == o.valueMax[3] ? 1 : o.valueMax[3], _ = [Math.round(x + (w - x) * y), Math.round(k + (A - k) * y), Math.round(E + (S - E) * y), Math.round($ + (C - $) * y)]; s = { bypass: o.bypass, name: o.name, value: _, strValue: "rgb(" + _[0] + ", " + _[1] + ", " + _[2] + ")" } } else { if (!c.number) return !1; var O = o.valueMin + (o.valueMax - o.valueMin) * y; s = this.parse(o.name, O, o.bypass, "mapping") } s || (s = this.parse(o.name, d.strValue, o.bypass, "mapping")), s || g(), s.mapping = o, o = s; break; case l.data: var T = o.field.split("."), j = f.data; if (j) for (var P = 0; P < T.length; P++)j = j[T[P]]; if (!(s = this.parse(o.name, j, o.bypass, "mapping"))) { var D = d ? d.strValue : ""; s = this.parse(o.name, D, o.bypass, "mapping") } s || g(), s.mapping = o, o = s; break; case l.fn: var R = (0, o.value)(e); (s = this.parse(o.name, R, o.bypass, "mapping")).mapping = o, o = s; break; case void 0: break; default: return !1 }return u ? (o.bypassed = p ? d.bypassed : d, a[o.name] = o) : p ? d.bypassed = o : a[o.name] = o, h(), !0 }, cleanElements: function (e, t) { for (var n = this.properties, r = 0; r < e.length; r++) { var i = e[r]; if (t) for (var o = i._private.style, a = 0; a < n.length; a++) { var s = n[a], l = o[s.name]; l && (l.bypass ? l.bypassed = null : o[s.name] = null) } else i._private.style = {} } }, update: function () { this._private.cy.mutableElements().updateStyle() }, updateMappers: function (e) { for (var t = this._private.cy.collection(), n = 0; n < e.length; n++) { for (var r = e[n], i = r._private.style, o = !1, a = 0; a < this.properties.length; a++) { var s = i[this.properties[a].name]; if (s && s.mapping) { var l = s.mapping; this.applyParsedProperty(r, l), o = !0 } } o && (this.updateStyleHints(r), t.merge(r)) } return t }, updateTransitions: function (e, t, n) { var r = this, a = e._private, s = e.pstyle("transition-property").value, l = e.pstyle("transition-duration").pfValue, c = e.pstyle("transition-delay").pfValue; if (s.length > 0 && l > 0) { for (var u = {}, d = !1, p = 0; p < s.length; p++) { var f = s[p], h = e.pstyle(f), g = t[f]; if (g) { var m = g.prev, v = null != g.next ? g.next : h, b = !1, y = void 0; m && (i.number(m.pfValue) && i.number(v.pfValue) ? (b = v.pfValue - m.pfValue, y = m.pfValue + 1e-6 * b) : i.number(m.value) && i.number(v.value) ? (b = v.value - m.value, y = m.value + 1e-6 * b) : i.array(m.value) && i.array(v.value) && (b = m.value[0] !== v.value[0] || m.value[1] !== v.value[1] || m.value[2] !== v.value[2], y = m.strValue), b && (u[f] = v.strValue, this.applyBypass(e, f, y), d = !0)) } } if (!d) return; a.transitioning = !0, new o((function (t) { c > 0 ? e.delayAnimation(c).play().promise().then(t) : t() })).then((function () { return e.animation({ style: u, duration: l, easing: e.pstyle("transition-timing-function").value, queue: !1 }).play().promise() })).then((function () { r.removeBypasses(e, s), e.emitAndNotify("style"), a.transitioning = !1 })) } else a.transitioning && (this.removeBypasses(e, s), e.emitAndNotify("style"), a.transitioning = !1) }, checkZOrderTrigger: function (e, t, n, r) { var i = this.properties[t]; null == i.triggersZOrder || null != n && !i.triggersZOrder(n, r) || this._private.cy.notify({ type: "zorder", eles: e }) } }; e.exports = a }, function (e, t, n) { "use strict"; var r = n(0), i = n(1), o = { applyBypass: function (e, t, n, o) { var a = []; if ("*" === t || "**" === t) { if (void 0 !== n) for (var s = 0; s < this.properties.length; s++) { var l = this.properties[s].name, c = this.parse(l, n, !0); c && a.push(c) } } else if (r.string(t)) { var u = this.parse(t, n, !0); u && a.push(u) } else { if (!r.plainObject(t)) return !1; var d = t; o = n; for (var p = Object.keys(d), f = 0; f < p.length; f++) { var h = p[f], g = (this.properties[h], d[h]); if (void 0 === g && (g = d[i.dash2camel(h)]), void 0 !== g) { var m = this.parse(h, g, !0); m && a.push(m) } } } if (0 === a.length) return !1; for (var v = !1, b = 0; b < e.length; b++) { for (var y = e[b], x = {}, w = void 0, k = 0; k < a.length; k++) { var A = a[k]; if (o) { var E = y.pstyle(A.name); w = x[A.name] = { prev: E } } v = this.applyParsedProperty(y, A) || v, o && (w.next = y.pstyle(A.name)) } v && this.updateStyleHints(y), o && this.updateTransitions(y, x, !0) } return v }, overrideBypass: function (e, t, n) { t = i.camel2dash(t); for (var r = 0; r < e.length; r++) { var o = e[r], a = o._private.style[t], s = this.properties[t].type, l = s.color, c = s.mutiple; if (a && a.bypass) { var u = null != a.pfValue ? a.pfValue : a.value; a.value = n, null != a.pfValue && (a.pfValue = n), a.strValue = l ? "rgb(" + n.join(",") + ")" : c ? n.join(" ") : "" + n, this.checkZOrderTrigger(o, t, u, n) } else this.applyBypass(o, t, n) } }, removeAllBypasses: function (e, t) { return this.removeBypasses(e, this.propertyNames, t) }, removeBypasses: function (e, t, n) { for (var r = 0; r < e.length; r++) { for (var i = e[r], o = {}, a = 0; a < t.length; a++) { var s = t[a], l = this.properties[s], c = i.pstyle(l.name); if (c && c.bypass) { var u = this.parse(s, "", !0), d = o[l.name] = { prev: c }; this.applyParsedProperty(i, u), d.next = i.pstyle(l.name) } } this.updateStyleHints(i), n && this.updateTransitions(i, o, !0) } } }; e.exports = o }, function (e, t, n) { "use strict"; var r = n(3), i = { getEmSizeInPixels: function () { var e = this.containerCss("font-size"); return null != e ? parseFloat(e) : 1 }, containerCss: function (e) { var t = this._private.cy.container(); if (r && t && r.getComputedStyle) return r.getComputedStyle(t).getPropertyValue(e) } }; e.exports = i }, function (e, t, n) { "use strict"; var r = n(1), i = n(0), o = { getRenderedStyle: function (e, t) { return t ? this.getStylePropertyValue(e, t, !0) : this.getRawStyle(e, !0) }, getRawStyle: function (e, t) { if (e = e[0]) { for (var n = {}, i = 0; i < this.properties.length; i++) { var o = this.properties[i], a = this.getStylePropertyValue(e, o.name, t); null != a && (n[o.name] = a, n[r.dash2camel(o.name)] = a) } return n } }, getIndexedStyle: function (e, t, n, r) { var i = e.pstyle(t)[n][r]; return null != i ? i : e.cy().style().getDefaultProperty(t)[n][0] }, getStylePropertyValue: function (e, t, n) { if (e = e[0]) { var r = this.properties[t]; r.alias && (r = r.pointsTo); var i = r.type, o = e.pstyle(r.name), a = e.cy().zoom(); if (o) { var s = o.units ? i.implicitUnits || "px" : null; return s ? [].concat(o.pfValue).map((function (e) { return e * (n ? a : 1) + s })).join(" ") : o.strValue } } }, getAnimationStartStyle: function (e, t) { for (var n = {}, r = 0; r < t.length; r++) { var o = t[r].name, a = e.pstyle(o); void 0 !== a && (a = i.plainObject(a) ? this.parse(o, a.strValue) : this.parse(o, a)), a && (n[o] = a) } return n }, getPropsList: function (e) { var t = [], n = e, i = this.properties; if (n) for (var o = Object.keys(n), a = 0; a < o.length; a++) { var s = o[a], l = n[s], c = i[s] || i[r.camel2dash(s)], u = this.parse(c.name, l); u && t.push(u) } return t } }; e.exports = o }, function (e, t, n) { "use strict"; var r = { appendFromJson: function (e) { for (var t = 0; t < e.length; t++) { var n = e[t], r = n.selector, i = n.style || n.css, o = Object.keys(i); this.selector(r); for (var a = 0; a < o.length; a++) { var s = o[a], l = i[s]; this.css(s, l) } } return this }, fromJson: function (e) { return this.resetToDefault(), this.appendFromJson(e), this }, json: function () { for (var e = [], t = this.defaultLength; t < this.length; t++) { for (var n = this[t], r = n.selector, i = n.properties, o = {}, a = 0; a < i.length; a++) { var s = i[a]; o[s.name] = s.strValue } e.push({ selector: r ? r.toString() : "core", style: o }) } return e } }; e.exports = r }, function (e, t, n) { "use strict"; var r = n(1), i = n(6), o = { appendFromString: function (e) { var t = "" + e, n = void 0, o = void 0, a = void 0; function s() { t = t.length > n.length ? t.substr(n.length) : "" } function l() { o = o.length > a.length ? o.substr(a.length) : "" } for (t = t.replace(/[/][*](\s|.)+?[*][/]/g, ""); !t.match(/^\s*$/);) { var c = t.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/); if (!c) { r.error("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: " + t); break } n = c[0]; var u = c[1]; if ("core" !== u && new i(u)._private.invalid) r.error("Skipping parsing of block: Invalid selector found in string stylesheet: " + u), s(); else { var d = c[2], p = !1; o = d; for (var f = []; !o.match(/^\s*$/);) { var h = o.match(/^\s*(.+?)\s*:\s*(.+?)\s*;/); if (!h) { r.error("Skipping parsing of block: Invalid formatting of style property and value definitions found in:" + d), p = !0; break } a = h[0]; var g = h[1], m = h[2]; this.properties[g] ? this.parse(g, m) ? (f.push({ name: g, val: m }), l()) : (r.error("Skipping property: Invalid property definition in: " + a), l()) : (r.error("Skipping property: Invalid property name in: " + a), l()) } if (p) { s(); break } this.selector(u); for (var v = 0; v < f.length; v++) { var b = f[v]; this.css(b.name, b.val) } s() } } return this }, fromString: function (e) { return this.resetToDefault(), this.appendFromString(e), this } }; e.exports = o }, function (e, t, n) { "use strict"; var r = n(1), i = n(0), o = {}; !function () { var e = r.regex.number, t = r.regex.rgbaNoBackRefs, n = r.regex.hslaNoBackRefs, a = r.regex.hex3, s = r.regex.hex6, l = function (e) { return "^" + e + "\\s*\\(\\s*([\\w\\.]+)\\s*\\)$" }, c = function (r) { var i = e + "|\\w+|" + t + "|" + n + "|" + a + "|" + s; return "^" + r + "\\s*\\(([\\w\\.]+)\\s*\\,\\s*(" + e + ")\\s*\\,\\s*(" + e + ")\\s*,\\s*(" + i + ")\\s*\\,\\s*(" + i + ")\\)$" }, u = ["^url\\s*\\(\\s*['\"]?(.+?)['\"]?\\s*\\)$", "^(none)$", "^(.+)$"]; o.types = { time: { number: !0, min: 0, units: "s|ms", implicitUnits: "ms" }, percent: { number: !0, min: 0, max: 100, units: "%", implicitUnits: "%" }, zeroOneNumber: { number: !0, min: 0, max: 1, unitless: !0 }, zeroOneNumbers: { number: !0, min: 0, max: 1, unitless: !0, multiple: !0 }, nOneOneNumber: { number: !0, min: -1, max: 1, unitless: !0 }, nonNegativeInt: { number: !0, min: 0, integer: !0, unitless: !0 }, position: { enums: ["parent", "origin"] }, nodeSize: { number: !0, min: 0, enums: ["label"] }, number: { number: !0, unitless: !0 }, numbers: { number: !0, unitless: !0, multiple: !0 }, positiveNumber: { number: !0, unitless: !0, min: 0, strictMin: !0 }, size: { number: !0, min: 0 }, bidirectionalSize: { number: !0 }, bidirectionalSizes: { number: !0, multiple: !0 }, sizeMaybePercent: { number: !0, min: 0, allowPercent: !0 }, paddingRelativeTo: { enums: ["width", "height", "average", "min", "max"] }, bgWH: { number: !0, min: 0, allowPercent: !0, enums: ["auto"], multiple: !0 }, bgPos: { number: !0, allowPercent: !0, multiple: !0 }, bgRelativeTo: { enums: ["inner", "include-padding"], multiple: !0 }, bgRepeat: { enums: ["repeat", "repeat-x", "repeat-y", "no-repeat"], multiple: !0 }, bgFit: { enums: ["none", "contain", "cover"], multiple: !0 }, bgCrossOrigin: { enums: ["anonymous", "use-credentials"], multiple: !0 }, bgClip: { enums: ["none", "node"] }, color: { color: !0 }, bool: { enums: ["yes", "no"] }, lineStyle: { enums: ["solid", "dotted", "dashed"] }, borderStyle: { enums: ["solid", "dotted", "dashed", "double"] }, curveStyle: { enums: ["bezier", "unbundled-bezier", "haystack", "segments"] }, fontFamily: { regex: '^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$' }, fontletiant: { enums: ["small-caps", "normal"] }, fontStyle: { enums: ["italic", "normal", "oblique"] }, fontWeight: { enums: ["normal", "bold", "bolder", "lighter", "100", "200", "300", "400", "500", "600", "800", "900", 100, 200, 300, 400, 500, 600, 700, 800, 900] }, textDecoration: { enums: ["none", "underline", "overline", "line-through"] }, textTransform: { enums: ["none", "uppercase", "lowercase"] }, textWrap: { enums: ["none", "wrap", "ellipsis"] }, textBackgroundShape: { enums: ["rectangle", "roundrectangle"] }, nodeShape: { enums: ["rectangle", "roundrectangle", "cutrectangle", "bottomroundrectangle", "barrel", "ellipse", "triangle", "square", "pentagon", "hexagon", "concavehexagon", "heptagon", "octagon", "tag", "star", "diamond", "vee", "rhomboid", "polygon"] }, compoundIncludeLabels: { enums: ["include", "exclude"] }, arrowShape: { enums: ["tee", "triangle", "triangle-tee", "triangle-cross", "triangle-backcurve", "half-triangle-overshot", "vee", "square", "circle", "diamond", "none"] }, arrowFill: { enums: ["filled", "hollow"] }, display: { enums: ["element", "none"] }, visibility: { enums: ["hidden", "visible"] }, zCompoundDepth: { enums: ["bottom", "orphan", "auto", "top"] }, zIndexCompare: { enums: ["auto", "manual"] }, valign: { enums: ["top", "center", "bottom"] }, halign: { enums: ["left", "center", "right"] }, text: { string: !0 }, data: { mapping: !0, regex: l("data") }, layoutData: { mapping: !0, regex: l("layoutData") }, scratch: { mapping: !0, regex: l("scratch") }, mapData: { mapping: !0, regex: c("mapData") }, mapLayoutData: { mapping: !0, regex: c("mapLayoutData") }, mapScratch: { mapping: !0, regex: c("mapScratch") }, fn: { mapping: !0, fn: !0 }, url: { regexes: u, singleRegexMatchValue: !0 }, urls: { regexes: u, singleRegexMatchValue: !0, multiple: !0 }, propList: { propList: !0 }, angle: { number: !0, units: "deg|rad", implicitUnits: "rad" }, textRotation: { number: !0, units: "deg|rad", implicitUnits: "rad", enums: ["none", "autorotate"] }, polygonPointList: { number: !0, multiple: !0, evenMultiple: !0, min: -1, max: 1, unitless: !0 }, edgeDistances: { enums: ["intersection", "node-position"] }, edgeEndpoint: { number: !0, multiple: !0, units: "%|px|em|deg|rad", implicitUnits: "px", enums: ["inside-to-node", "outside-to-node", "outside-to-line"], singleEnum: !0, validate: function (e, t) { switch (e.length) { case 2: return "deg" !== t[0] && "rad" !== t[0] && "deg" !== t[1] && "rad" !== t[1]; case 1: return i.string(e[0]) || "deg" === t[0] || "rad" === t[0]; default: return !1 } } }, easing: { regexes: ["^(spring)\\s*\\(\\s*(" + e + ")\\s*,\\s*(" + e + ")\\s*\\)$", "^(cubic-bezier)\\s*\\(\\s*(" + e + ")\\s*,\\s*(" + e + ")\\s*,\\s*(" + e + ")\\s*,\\s*(" + e + ")\\s*\\)$"], enums: ["linear", "ease", "ease-in", "ease-out", "ease-in-out", "ease-in-sine", "ease-out-sine", "ease-in-out-sine", "ease-in-quad", "ease-out-quad", "ease-in-out-quad", "ease-in-cubic", "ease-out-cubic", "ease-in-out-cubic", "ease-in-quart", "ease-out-quart", "ease-in-out-quart", "ease-in-quint", "ease-out-quint", "ease-in-out-quint", "ease-in-expo", "ease-out-expo", "ease-in-out-expo", "ease-in-circ", "ease-out-circ", "ease-in-out-circ"] } }; var d = { zeroNonZero: function (e, t) { return 0 === e && 0 !== t || 0 !== e && 0 === t }, anyDiff: function (e, t) { return e !== t } }, p = o.types, f = o.properties = [{ name: "label", type: p.text }, { name: "text-rotation", type: p.textRotation }, { name: "text-margin-x", type: p.bidirectionalSize }, { name: "text-margin-y", type: p.bidirectionalSize }, { name: "source-label", type: p.text }, { name: "source-text-rotation", type: p.textRotation }, { name: "source-text-margin-x", type: p.bidirectionalSize }, { name: "source-text-margin-y", type: p.bidirectionalSize }, { name: "source-text-offset", type: p.size }, { name: "target-label", type: p.text }, { name: "target-text-rotation", type: p.textRotation }, { name: "target-text-margin-x", type: p.bidirectionalSize }, { name: "target-text-margin-y", type: p.bidirectionalSize }, { name: "target-text-offset", type: p.size }, { name: "text-valign", type: p.valign }, { name: "text-halign", type: p.halign }, { name: "color", type: p.color }, { name: "text-outline-color", type: p.color }, { name: "text-outline-width", type: p.size }, { name: "text-outline-opacity", type: p.zeroOneNumber }, { name: "text-opacity", type: p.zeroOneNumber }, { name: "text-background-color", type: p.color }, { name: "text-background-opacity", type: p.zeroOneNumber }, { name: "text-background-padding", type: p.size }, { name: "text-border-opacity", type: p.zeroOneNumber }, { name: "text-border-color", type: p.color }, { name: "text-border-width", type: p.size }, { name: "text-border-style", type: p.borderStyle }, { name: "text-background-shape", type: p.textBackgroundShape }, { name: "text-transform", type: p.textTransform }, { name: "text-wrap", type: p.textWrap }, { name: "text-max-width", type: p.size }, { name: "text-events", type: p.bool }, { name: "font-family", type: p.fontFamily }, { name: "font-style", type: p.fontStyle }, { name: "font-weight", type: p.fontWeight }, { name: "font-size", type: p.size }, { name: "min-zoomed-font-size", type: p.size }, { name: "events", type: p.bool }, { name: "display", type: p.display, triggersZOrder: d.anyDiff }, { name: "visibility", type: p.visibility, triggersZOrder: d.anyDiff }, { name: "opacity", type: p.zeroOneNumber, triggersZOrder: d.zeroNonZero }, { name: "z-compound-depth", type: p.zCompoundDepth, triggersZOrder: d.anyDiff }, { name: "z-index-compare", type: p.zIndexCompare, triggersZOrder: d.anyDiff }, { name: "z-index", type: p.nonNegativeInt, triggersZOrder: d.anyDiff }, { name: "overlay-padding", type: p.size }, { name: "overlay-color", type: p.color }, { name: "overlay-opacity", type: p.zeroOneNumber }, { name: "transition-property", type: p.propList }, { name: "transition-duration", type: p.time }, { name: "transition-delay", type: p.time }, { name: "transition-timing-function", type: p.easing }, { name: "height", type: p.nodeSize }, { name: "width", type: p.nodeSize }, { name: "shape", type: p.nodeShape }, { name: "shape-polygon-points", type: p.polygonPointList }, { name: "background-color", type: p.color }, { name: "background-opacity", type: p.zeroOneNumber }, { name: "background-blacken", type: p.nOneOneNumber }, { name: "padding", type: p.sizeMaybePercent }, { name: "padding-relative-to", type: p.paddingRelativeTo }, { name: "border-color", type: p.color }, { name: "border-opacity", type: p.zeroOneNumber }, { name: "border-width", type: p.size }, { name: "border-style", type: p.borderStyle }, { name: "background-image", type: p.urls }, { name: "background-image-crossorigin", type: p.bgCrossOrigin }, { name: "background-image-opacity", type: p.zeroOneNumbers }, { name: "background-position-x", type: p.bgPos }, { name: "background-position-y", type: p.bgPos }, { name: "background-width-relative-to", type: p.bgRelativeTo }, { name: "background-height-relative-to", type: p.bgRelativeTo }, { name: "background-repeat", type: p.bgRepeat }, { name: "background-fit", type: p.bgFit }, { name: "background-clip", type: p.bgClip }, { name: "background-width", type: p.bgWH }, { name: "background-height", type: p.bgWH }, { name: "position", type: p.position }, { name: "compound-sizing-wrt-labels", type: p.compoundIncludeLabels }, { name: "min-width", type: p.size }, { name: "min-width-bias-left", type: p.sizeMaybePercent }, { name: "min-width-bias-right", type: p.sizeMaybePercent }, { name: "min-height", type: p.size }, { name: "min-height-bias-top", type: p.sizeMaybePercent }, { name: "min-height-bias-bottom", type: p.sizeMaybePercent }, { name: "line-style", type: p.lineStyle }, { name: "line-color", type: p.color }, { name: "curve-style", type: p.curveStyle }, { name: "haystack-radius", type: p.zeroOneNumber }, { name: "source-endpoint", type: p.edgeEndpoint }, { name: "target-endpoint", type: p.edgeEndpoint }, { name: "control-point-step-size", type: p.size }, { name: "control-point-distances", type: p.bidirectionalSizes }, { name: "control-point-weights", type: p.numbers }, { name: "segment-distances", type: p.bidirectionalSizes }, { name: "segment-weights", type: p.numbers }, { name: "edge-distances", type: p.edgeDistances }, { name: "arrow-scale", type: p.positiveNumber }, { name: "loop-direction", type: p.angle }, { name: "loop-sweep", type: p.angle }, { name: "source-distance-from-node", type: p.size }, { name: "target-distance-from-node", type: p.size }, { name: "ghost", type: p.bool }, { name: "ghost-offset-x", type: p.bidirectionalSize }, { name: "ghost-offset-y", type: p.bidirectionalSize }, { name: "ghost-opacity", type: p.zeroOneNumber }, { name: "selection-box-color", type: p.color }, { name: "selection-box-opacity", type: p.zeroOneNumber }, { name: "selection-box-border-color", type: p.color }, { name: "selection-box-border-width", type: p.size }, { name: "active-bg-color", type: p.color }, { name: "active-bg-opacity", type: p.zeroOneNumber }, { name: "active-bg-size", type: p.size }, { name: "outside-texture-bg-color", type: p.color }, { name: "outside-texture-bg-opacity", type: p.zeroOneNumber }], h = o.aliases = [{ name: "content", pointsTo: "label" }, { name: "control-point-distance", pointsTo: "control-point-distances" }, { name: "control-point-weight", pointsTo: "control-point-weights" }, { name: "edge-text-rotation", pointsTo: "text-rotation" }, { name: "padding-left", pointsTo: "padding" }, { name: "padding-right", pointsTo: "padding" }, { name: "padding-top", pointsTo: "padding" }, { name: "padding-bottom", pointsTo: "padding" }]; o.pieBackgroundN = 16, f.push({ name: "pie-size", type: p.sizeMaybePercent }); for (var g = 1; g <= o.pieBackgroundN; g++)f.push({ name: "pie-" + g + "-background-color", type: p.color }), f.push({ name: "pie-" + g + "-background-size", type: p.percent }), f.push({ name: "pie-" + g + "-background-opacity", type: p.zeroOneNumber }); var m = o.arrowPrefixes = ["source", "mid-source", "target", "mid-target"];[{ name: "arrow-shape", type: p.arrowShape }, { name: "arrow-color", type: p.color }, { name: "arrow-fill", type: p.arrowFill }].forEach((function (e) { m.forEach((function (t) { var n = t + "-" + e.name, r = e.type; f.push({ name: n, type: r }) })) }), {}), o.propertyNames = f.map((function (e) { return e.name })); for (var v = 0; v < f.length; v++) { var b = f[v]; f[b.name] = b } for (var y = 0; y < h.length; y++) { var x = h[y], w = f[x.pointsTo], k = { name: x.name, alias: !0, pointsTo: w }; f.push(k), f[x.name] = k } }(), o.getDefaultProperty = function (e) { return this.getDefaultProperties()[e] }, o.getDefaultProperties = r.memoize((function () { for (var e = r.extend({ events: "yes", "text-events": "no", "text-valign": "top", "text-halign": "center", color: "#000", "text-outline-color": "#000", "text-outline-width": 0, "text-outline-opacity": 1, "text-opacity": 1, "text-decoration": "none", "text-transform": "none", "text-wrap": "none", "text-max-width": 9999, "text-background-color": "#000", "text-background-opacity": 0, "text-background-shape": "rectangle", "text-background-padding": 0, "text-border-opacity": 0, "text-border-width": 0, "text-border-style": "solid", "text-border-color": "#000", "font-family": "Helvetica Neue, Helvetica, sans-serif", "font-style": "normal", "font-weight": "normal", "font-size": 16, "min-zoomed-font-size": 0, "text-rotation": "none", "source-text-rotation": "none", "target-text-rotation": "none", visibility: "visible", display: "element", opacity: 1, "z-compound-depth": "auto", "z-index-compare": "auto", "z-index": 0, label: "", "text-margin-x": 0, "text-margin-y": 0, "source-label": "", "source-text-offset": 0, "source-text-margin-x": 0, "source-text-margin-y": 0, "target-label": "", "target-text-offset": 0, "target-text-margin-x": 0, "target-text-margin-y": 0, "overlay-opacity": 0, "overlay-color": "#000", "overlay-padding": 10, "transition-property": "none", "transition-duration": 0, "transition-delay": 0, "transition-timing-function": "linear", "background-blacken": 0, "background-color": "#999", "background-opacity": 1, "background-image": "none", "background-image-crossorigin": "anonymous", "background-image-opacity": 1, "background-position-x": "50%", "background-position-y": "50%", "background-width-relative-to": "include-padding", "background-height-relative-to": "include-padding", "background-repeat": "no-repeat", "background-fit": "none", "background-clip": "node", "background-width": "auto", "background-height": "auto", "border-color": "#000", "border-opacity": 1, "border-width": 0, "border-style": "solid", height: 30, width: 30, shape: "ellipse", "shape-polygon-points": "-1, -1, 1, -1, 1, 1, -1, 1", ghost: "no", "ghost-offset-y": 0, "ghost-offset-x": 0, "ghost-opacity": 0, padding: 0, "padding-relative-to": "width", position: "origin", "compound-sizing-wrt-labels": "include", "min-width": 0, "min-width-bias-left": 0, "min-width-bias-right": 0, "min-height": 0, "min-height-bias-top": 0, "min-height-bias-bottom": 0 }, { "pie-size": "100%" }, [{ name: "pie-{{i}}-background-color", value: "black" }, { name: "pie-{{i}}-background-size", value: "0%" }, { name: "pie-{{i}}-background-opacity", value: 1 }].reduce((function (e, t) { for (var n = 1; n <= o.pieBackgroundN; n++) { var r = t.name.replace("{{i}}", n), i = t.value; e[r] = i } return e }), {}), { "line-style": "solid", "line-color": "#999", "control-point-step-size": 40, "control-point-weights": .5, "segment-weights": .5, "segment-distances": 20, "edge-distances": "intersection", "curve-style": "bezier", "haystack-radius": 0, "arrow-scale": 1, "loop-direction": "-45deg", "loop-sweep": "-90deg", "source-distance-from-node": 0, "target-distance-from-node": 0, "source-endpoint": "outside-to-node", "target-endpoint": "outside-to-node" }, [{ name: "arrow-shape", value: "none" }, { name: "arrow-color", value: "#999" }, { name: "arrow-fill", value: "filled" }].reduce((function (e, t) { return o.arrowPrefixes.forEach((function (n) { var r = n + "-" + t.name, i = t.value; e[r] = i })), e }), {})), t = {}, n = 0; n < this.properties.length; n++) { var i = this.properties[n]; if (!i.pointsTo) { var a = i.name, s = e[a], l = this.parse(a, s); t[a] = l } } return t })), o.addDefaultStylesheet = function () { this.selector("$node > node").css({ shape: "rectangle", padding: 10, "background-color": "#eee", "border-color": "#ccc", "border-width": 1 }).selector("edge").css({ width: 3, "curve-style": "haystack" }).selector(":parent <-> node").css({ "curve-style": "bezier", "source-endpoint": "outside-to-line", "target-endpoint": "outside-to-line" }).selector(":selected").css({ "background-color": "#0169D9", "line-color": "#0169D9", "source-arrow-color": "#0169D9", "target-arrow-color": "#0169D9", "mid-source-arrow-color": "#0169D9", "mid-target-arrow-color": "#0169D9" }).selector("node:parent:selected").css({ "background-color": "#CCE1F9", "border-color": "#aec8e5" }).selector(":active").css({ "overlay-color": "black", "overlay-padding": 10, "overlay-opacity": .25 }).selector("core").css({ "selection-box-color": "#ddd", "selection-box-opacity": .65, "selection-box-border-color": "#aaa", "selection-box-border-width": 1, "active-bg-color": "black", "active-bg-opacity": .15, "active-bg-size": 30, "outside-texture-bg-color": "#000", "outside-texture-bg-opacity": .125 }), this.defaultLength = this.length }, e.exports = o }, function (e, t, n) { "use strict"; var r = n(1), i = n(0), o = n(2), a = { parse: function (e, t, n, o) { if (i.fn(t)) return this.parseImplWarn(e, t, n, o); var a = [e, t, n, "mapping" === o || !0 === o || !1 === o || null == o ? "dontcare" : o].join("$"), s = this.propCache = this.propCache || {}, l = void 0; return (l = s[a]) || (l = s[a] = this.parseImplWarn(e, t, n, o)), (n || "mapping" === o) && (l = r.copy(l)) && (l.value = r.copy(l.value)), l }, parseImplWarn: function (e, t, n, i) { var o = this.parseImpl(e, t, n, i); return o || null == t || r.error("The style property `%s: %s` is invalid", e, t), o }, parseImpl: function (e, t, n, a) { e = r.camel2dash(e); var s = this.properties[e], l = t, c = this.types; if (!s) return null; if (void 0 === t) return null; s.alias && (s = s.pointsTo, e = s.name); var u = i.string(t); u && (t = t.trim()); var d = s.type; if (!d) return null; if (n && ("" === t || null === t)) return { name: e, value: t, bypass: !0, deleteBypass: !0 }; if (i.fn(t)) return { name: e, value: t, strValue: "fn", mapped: c.fn, bypass: n }; var p = void 0, f = void 0; if (!u || a); else { if (p = new RegExp(c.data.regex).exec(t)) { if (n) return !1; var h = c.data; return { name: e, value: p, strValue: "" + t, mapped: h, field: p[1], bypass: n } } if (f = new RegExp(c.mapData.regex).exec(t)) { if (n) return !1; if (d.multiple) return !1; var g = c.mapData; if (!d.color && !d.number) return !1; var m = this.parse(e, f[4]); if (!m || m.mapped) return !1; var v = this.parse(e, f[5]); if (!v || v.mapped) return !1; if (m.value === v.value) return !1; if (d.color) { var b = m.value, y = v.value; if (!(b[0] !== y[0] || b[1] !== y[1] || b[2] !== y[2] || b[3] !== y[3] && (null != b[3] && 1 !== b[3] || null != y[3] && 1 !== y[3]))) return !1 } return { name: e, value: f, strValue: "" + t, mapped: g, field: f[1], fieldMin: parseFloat(f[2]), fieldMax: parseFloat(f[3]), valueMin: m.value, valueMax: v.value, bypass: n } } } if (d.multiple && "multiple" !== a) { var x = void 0; if (x = u ? t.split(/\s+/) : i.array(t) ? t : [t], d.evenMultiple && x.length % 2 != 0) return null; for (var w = [], k = [], A = [], E = !1, S = 0; S < x.length; S++) { var $ = this.parse(e, x[S], n, "multiple"); E = E || i.string($.value), w.push($.value), A.push(null != $.pfValue ? $.pfValue : $.value), k.push($.units) } return d.validate && !d.validate(w, k) ? null : d.singleEnum && E ? 1 === w.length && i.string(w[0]) ? { name: e, value: w[0], strValue: w[0], bypass: n } : null : { name: e, value: w, pfValue: A, strValue: w.map((function (e, t) { return e + (k[t] || "") })).join(" "), bypass: n, units: k } } var C = function () { for (var r = 0; r < d.enums.length; r++)if (d.enums[r] === t) return { name: e, value: t, strValue: "" + t, bypass: n }; return null }; if (d.number) { var _ = void 0, O = "px"; if (d.units && (_ = d.units), d.implicitUnits && (O = d.implicitUnits), !d.unitless) if (u) { var T = "px|em" + (d.allowPercent ? "|\\%" : ""); _ && (T = _); var j = t.match("^(" + r.regex.number + ")(" + T + ")?$"); j && (t = j[1], _ = j[2] || O) } else _ && !d.implicitUnits || (_ = O); if (t = parseFloat(t), isNaN(t) && void 0 === d.enums) return null; if (isNaN(t) && void 0 !== d.enums) return t = l, C(); if (d.integer && !i.integer(t)) return null; if (void 0 !== d.min && (t < d.min || d.strictMin && t === d.min) || void 0 !== d.max && (t > d.max || d.strictMax && t === d.max)) return null; var P = { name: e, value: t, strValue: "" + t + (_ || ""), units: _, bypass: n }; return d.unitless || "px" !== _ && "em" !== _ ? P.pfValue = t : P.pfValue = "px" !== _ && _ ? this.getEmSizeInPixels() * t : t, "ms" !== _ && "s" !== _ || (P.pfValue = "ms" === _ ? t : 1e3 * t), "deg" !== _ && "rad" !== _ || (P.pfValue = "rad" === _ ? t : o.deg2rad(t)), "%" === _ && (P.pfValue = t / 100), P } if (d.propList) { var D = [], R = "" + t; if ("none" === R); else { for (var I = R.split(","), N = 0; N < I.length; N++) { var M = I[N].trim(); this.properties[M] && D.push(M) } if (0 === D.length) return null } return { name: e, value: D, strValue: 0 === D.length ? "none" : D.join(", "), bypass: n } } if (d.color) { var z = r.color2tuple(t); return z ? { name: e, value: z, pfValue: z, strValue: "" + t, bypass: n } : null } if (d.regex || d.regexes) { if (d.enums) { var L = C(); if (L) return L } for (var B = d.regexes ? d.regexes : [d.regex], F = 0; F < B.length; F++) { var q = new RegExp(B[F]).exec(t); if (q) return { name: e, value: d.singleRegexMatchValue ? q[1] : q, strValue: "" + t, bypass: n } } return null } return d.string ? { name: e, value: "" + t, strValue: "" + t, bypass: n } : d.enums ? C() : null } }; e.exports = a }, function (e, t, n) { "use strict"; var r = n(0), i = n(3), o = n(2), a = { autolock: function (e) { return void 0 === e ? this._private.autolock : (this._private.autolock = !!e, this) }, autoungrabify: function (e) { return void 0 === e ? this._private.autoungrabify : (this._private.autoungrabify = !!e, this) }, autounselectify: function (e) { return void 0 === e ? this._private.autounselectify : (this._private.autounselectify = !!e, this) }, panningEnabled: function (e) { return void 0 === e ? this._private.panningEnabled : (this._private.panningEnabled = !!e, this) }, userPanningEnabled: function (e) { return void 0 === e ? this._private.userPanningEnabled : (this._private.userPanningEnabled = !!e, this) }, zoomingEnabled: function (e) { return void 0 === e ? this._private.zoomingEnabled : (this._private.zoomingEnabled = !!e, this) }, userZoomingEnabled: function (e) { return void 0 === e ? this._private.userZoomingEnabled : (this._private.userZoomingEnabled = !!e, this) }, boxSelectionEnabled: function (e) { return void 0 === e ? this._private.boxSelectionEnabled : (this._private.boxSelectionEnabled = !!e, this) }, pan: function () { var e = arguments, t = this._private.pan, n = void 0, i = void 0, o = void 0, a = void 0, s = void 0; switch (e.length) { case 0: return t; case 1: if (r.string(e[0])) return t[n = e[0]]; if (r.plainObject(e[0])) { if (!this._private.panningEnabled) return this; a = (o = e[0]).x, s = o.y, r.number(a) && (t.x = a), r.number(s) && (t.y = s), this.emit("pan viewport") } break; case 2: if (!this._private.panningEnabled) return this; n = e[0], i = e[1], "x" !== n && "y" !== n || !r.number(i) || (t[n] = i), this.emit("pan viewport") }return this.notify({ type: "viewport" }), this }, panBy: function (e, t) { var n = arguments, i = this._private.pan, o = void 0, a = void 0, s = void 0, l = void 0, c = void 0; if (!this._private.panningEnabled) return this; switch (n.length) { case 1: r.plainObject(e) && (l = (s = n[0]).x, c = s.y, r.number(l) && (i.x += l), r.number(c) && (i.y += c), this.emit("pan viewport")); break; case 2: a = t, "x" !== (o = e) && "y" !== o || !r.number(a) || (i[o] += a), this.emit("pan viewport") }return this.notify({ type: "viewport" }), this }, fit: function (e, t) { var n = this.getFitViewport(e, t); if (n) { var r = this._private; r.zoom = n.zoom, r.pan = n.pan, this.emit("pan zoom viewport"), this.notify({ type: "viewport" }) } return this }, getFitViewport: function (e, t) { if (r.number(e) && void 0 === t && (t = e, e = void 0), this._private.panningEnabled && this._private.zoomingEnabled) { var n = void 0; if (r.string(e)) { var i = e; e = this.$(i) } else if (r.boundingBox(e)) { var o = e; (n = { x1: o.x1, y1: o.y1, x2: o.x2, y2: o.y2 }).w = n.x2 - n.x1, n.h = n.y2 - n.y1 } else r.elementOrCollection(e) || (e = this.mutableElements()); if (!r.elementOrCollection(e) || !e.empty()) { n = n || e.boundingBox(); var a = this.width(), s = this.height(), l = void 0; if (t = r.number(t) ? t : 0, !isNaN(a) && !isNaN(s) && a > 0 && s > 0 && !isNaN(n.w) && !isNaN(n.h) && n.w > 0 && n.h > 0) return { zoom: l = (l = (l = Math.min((a - 2 * t) / n.w, (s - 2 * t) / n.h)) > this._private.maxZoom ? this._private.maxZoom : l) < this._private.minZoom ? this._private.minZoom : l, pan: { x: (a - l * (n.x1 + n.x2)) / 2, y: (s - l * (n.y1 + n.y2)) / 2 } } } } }, minZoom: function (e) { return void 0 === e ? this._private.minZoom : (r.number(e) && (this._private.minZoom = e), this) }, maxZoom: function (e) { return void 0 === e ? this._private.maxZoom : (r.number(e) && (this._private.maxZoom = e), this) }, getZoomedViewport: function (e) { var t = this._private, n = t.pan, i = t.zoom, a = void 0, s = void 0, l = !1; if (t.zoomingEnabled || (l = !0), r.number(e) ? s = e : r.plainObject(e) && (s = e.level, null != e.position ? a = o.modelToRenderedPosition(e.position, i, n) : null != e.renderedPosition && (a = e.renderedPosition), null == a || t.panningEnabled || (l = !0)), s = (s = s > t.maxZoom ? t.maxZoom : s) < t.minZoom ? t.minZoom : s, l || !r.number(s) || s === i || null != a && (!r.number(a.x) || !r.number(a.y))) return null; if (null != a) { var c = n, u = i, d = s; return { zoomed: !0, panned: !0, zoom: d, pan: { x: -d / u * (a.x - c.x) + a.x, y: -d / u * (a.y - c.y) + a.y } } } return { zoomed: !0, panned: !1, zoom: s, pan: n } }, zoom: function (e) { if (void 0 === e) return this._private.zoom; var t = this.getZoomedViewport(e), n = this._private; return null != t && t.zoomed ? (n.zoom = t.zoom, t.panned && (n.pan.x = t.pan.x, n.pan.y = t.pan.y), this.emit("zoom" + (t.panned ? " pan" : "") + " viewport"), this.notify({ type: "viewport" }), this) : this }, viewport: function (e) { var t = this._private, n = !0, i = !0, o = [], a = !1, s = !1; if (!e) return this; if (r.number(e.zoom) || (n = !1), r.plainObject(e.pan) || (i = !1), !n && !i) return this; if (n) { var l = e.zoom; l < t.minZoom || l > t.maxZoom || !t.zoomingEnabled ? a = !0 : (t.zoom = l, o.push("zoom")) } if (i && (!a || !e.cancelOnFailedZoom) && t.panningEnabled) { var c = e.pan; r.number(c.x) && (t.pan.x = c.x, s = !1), r.number(c.y) && (t.pan.y = c.y, s = !1), s || o.push("pan") } return o.length > 0 && (o.push("viewport"), this.emit(o.join(" ")), this.notify({ type: "viewport" })), this }, center: function (e) { var t = this.getCenterPan(e); return t && (this._private.pan = t, this.emit("pan viewport"), this.notify({ type: "viewport" })), this }, getCenterPan: function (e, t) { if (this._private.panningEnabled) { if (r.string(e)) { var n = e; e = this.mutableElements().filter(n) } else r.elementOrCollection(e) || (e = this.mutableElements()); if (0 !== e.length) { var i = e.boundingBox(), o = this.width(), a = this.height(); return { x: (o - (t = void 0 === t ? this._private.zoom : t) * (i.x1 + i.x2)) / 2, y: (a - t * (i.y1 + i.y2)) / 2 } } } }, reset: function () { return this._private.panningEnabled && this._private.zoomingEnabled ? (this.viewport({ pan: { x: 0, y: 0 }, zoom: 1 }), this) : this }, invalidateSize: function () { this._private.sizeCache = null }, size: function () { var e, t, n = this._private, r = n.container; return n.sizeCache = n.sizeCache || (r ? (e = i.getComputedStyle(r), t = function (t) { return parseFloat(e.getPropertyValue(t)) }, { width: r.clientWidth - t("padding-left") - t("padding-right"), height: r.clientHeight - t("padding-top") - t("padding-bottom") }) : { width: 1, height: 1 }) }, width: function () { return this.size().width }, height: function () { return this.size().height }, extent: function () { var e = this._private.pan, t = this._private.zoom, n = this.renderedExtent(), r = { x1: (n.x1 - e.x) / t, x2: (n.x2 - e.x) / t, y1: (n.y1 - e.y) / t, y2: (n.y2 - e.y) / t }; return r.w = r.x2 - r.x1, r.h = r.y2 - r.y1, r }, renderedExtent: function () { var e = this.width(), t = this.height(); return { x1: 0, y1: 0, x2: e, y2: t, w: e, h: t } } }; a.centre = a.center, a.autolockNodes = a.autolock, a.autoungrabifyNodes = a.autoungrabify, e.exports = a }, function (e, t, n) { "use strict"; var r = n(1), i = n(4), o = n(7), a = n(12), s = n(95), l = n(0), c = n(11), u = {}, d = {}; function p(e, t, n) { var s = n, d = function (n) { r.error("Can not register `" + t + "` for `" + e + "` since `" + n + "` already exists in the prototype and can not be overridden") }; if ("core" === e) { if (a.prototype[t]) return d(t); a.prototype[t] = n } else if ("collection" === e) { if (o.prototype[t]) return d(t); o.prototype[t] = n } else if ("layout" === e) { for (var p = function (e) { this.options = e, n.call(this, e), l.plainObject(this._private) || (this._private = {}), this._private.cy = e.cy, this._private.listeners = [], this.createEmitter() }, h = p.prototype = Object.create(n.prototype), g = [], m = 0; m < g.length; m++) { var v = g[m]; h[v] = h[v] || function () { return this } } h.start && !h.run ? h.run = function () { return this.start(), this } : !h.start && h.run && (h.start = function () { return this.run(), this }); var b = n.prototype.stop; h.stop = function () { var e = this.options; if (e && e.animate) { var t = this.animations; if (t) for (var n = 0; n < t.length; n++)t[n].stop() } return b ? b.call(this) : this.emit("layoutstop"), this }, h.destroy || (h.destroy = function () { return this }), h.cy = function () { return this._private.cy }; var y = function (e) { return e._private.cy }; r.assign(h, { createEmitter: function () { return this._private.emitter = new c({ eventFields: function (e) { return { layout: e, cy: y(e), target: e } }, bubble: function () { return !0 }, parent: function (e) { return y(e) }, context: this }), this }, emitter: function () { return this._private.emitter }, on: function (e, t) { return this.emitter().on(e, t), this }, one: function (e, t) { return this.emitter().one(e, t), this }, once: function (e, t) { return this.emitter().one(e, t), this }, removeListener: function (e, t) { return this.emitter().removeListener(e, t), this }, emit: function (e, t) { return this.emitter().emit(e, t), this } }), i.eventAliasesOn(h), s = p } else if ("renderer" === e && "null" !== t && "base" !== t) { var x = f("renderer", "base"), w = x.prototype, k = n, A = n.prototype, E = function () { x.apply(this, arguments), k.apply(this, arguments) }, S = E.prototype; for (var $ in w) { var C = w[$]; if (null != A[$]) return d($); S[$] = C } for (var _ in A) S[_] = A[_]; w.clientFunctions.forEach((function (e) { S[e] = S[e] || function () { r.error("Renderer does not implement `renderer." + e + "()` on its prototype") } })), s = E } return r.setMap({ map: u, keys: [e, t], value: s }) } function f(e, t) { return r.getMap({ map: u, keys: [e, t] }) } function h(e, t, n, i, o) { return r.setMap({ map: d, keys: [e, t, n, i], value: o }) } function g(e, t, n, i) { return r.getMap({ map: d, keys: [e, t, n, i] }) } var m = function () { return 2 === arguments.length ? f.apply(null, arguments) : 3 === arguments.length ? p.apply(null, arguments) : 4 === arguments.length ? g.apply(null, arguments) : 5 === arguments.length ? h.apply(null, arguments) : void r.error("Invalid extension access syntax") }; a.prototype.extension = m, s.forEach((function (e) { e.extensions.forEach((function (t) { p(e.type, t.name, t.impl) })) })), e.exports = m }, function (e, t, n) { "use strict"; e.exports = [{ type: "layout", extensions: n(96) }, { type: "renderer", extensions: n(105) }] }, function (e, t, n) { "use strict"; e.exports = [{ name: "breadthfirst", impl: n(97) }, { name: "circle", impl: n(98) }, { name: "concentric", impl: n(99) }, { name: "cose", impl: n(100) }, { name: "grid", impl: n(101) }, { name: "null", impl: n(102) }, { name: "preset", impl: n(103) }, { name: "random", impl: n(104) }] }, function (e, t, n) { "use strict"; var r = n(1), i = n(2), o = n(0), a = { fit: !0, directed: !1, padding: 30, circle: !1, spacingFactor: 1.75, boundingBox: void 0, avoidOverlap: !0, nodeDimensionsIncludeLabels: !1, roots: void 0, maximalAdjustments: 0, animate: !1, animationDuration: 500, animationEasing: void 0, animateFilter: function (e, t) { return !0 }, ready: void 0, stop: void 0, transform: function (e, t) { return t } }; function s(e) { this.options = r.extend({}, a, e) } s.prototype.run = function () { var e = this.options, t = e, n = e.cy, r = t.eles, a = r.nodes().not(":parent"), s = r, l = i.makeBoundingBox(t.boundingBox ? t.boundingBox : { x1: 0, y1: 0, w: n.width(), h: n.height() }), c = void 0; if (o.elementOrCollection(t.roots)) c = t.roots; else if (o.array(t.roots)) { for (var u = [], d = 0; d < t.roots.length; d++) { var p = t.roots[d], f = n.getElementById(p); u.push(f) } c = n.collection(u) } else if (o.string(t.roots)) c = n.$(t.roots); else if (t.directed) c = a.roots(); else { for (var h = [], g = a, m = function () { var e = n.collection(); r.bfs({ roots: g[0], visit: function (t, n, r, i, o) { e = e.add(t) }, directed: !1 }), g = g.not(e), h.push(e) }; g.length > 0;)m(); c = n.collection(); for (var v = function (e) { var t = h[e], n = t.maxDegree(!1), r = t.filter((function (e) { return e.degree(!1) === n })); c = c.add(r) }, b = 0; b < h.length; b++)v(b) } var y = [], x = {}, w = {}, k = {}, A = {}, E = {}; s.bfs({ roots: c, directed: t.directed, visit: function (e, t, n, r, i) { var o = e[0], a = o.id(); if (y[i] || (y[i] = []), y[i].push(o), x[a] = !0, w[a] = i, k[a] = n, A[a] = t, n) { var s = n.id(); (E[s] = E[s] || []).push(e) } } }); for (var S = [], $ = 0; $ < a.length; $++) { var C = a[$]; x[C.id()] || S.push(C) } for (var _ = 3 * S.length, O = 0; 0 !== S.length && O < _;) { for (var T = S.shift(), j = T.neighborhood().nodes(), P = !1, D = 0; D < j.length; D++) { var R = w[j[D].id()]; if (void 0 !== R) { y[R].push(T), P = !0; break } } P || S.push(T), O++ } for (; 0 !== S.length;) { var I = S.shift(); 0 === y.length && y.push([]), y[0].push(I) } var N = function () { for (var e = 0; e < y.length; e++)for (var t = y[e], n = 0; n < t.length; n++) { var r = t[n]; null != r ? r._private.scratch.breadthfirst = { depth: e, index: n } : (t.splice(n, 1), n--) } }; N(); for (var M = function (e) { for (var t = e.connectedEdges((function (t) { return t.data("target") === e.id() })), n = e._private.scratch.breadthfirst, r = 0, i = void 0, o = 0; o < t.length; o++) { var a = t[o].source()[0], s = a._private.scratch.breadthfirst; n.depth <= s.depth && r < s.depth && (r = s.depth, i = a) } return i }, z = 0; z < t.maximalAdjustments; z++) { for (var L = y.length, B = [], F = 0; F < L; F++)for (var q = y[F], V = q.length, U = 0; U < V; U++) { var H = q[U], G = H._private.scratch.breadthfirst, W = M(H); W && (G.intEle = W, B.push(H)) } for (var Y = 0; Y < B.length; Y++) { var X = B[Y], Z = X._private.scratch.breadthfirst, Q = Z.intEle._private.scratch.breadthfirst; y[Z.depth][Z.index] = null; for (var J = Q.depth + 1; J > y.length - 1;)y.push([]); y[J].push(X), Z.depth = J, Z.index = y[J].length - 1 } N() } var K = 0; if (t.avoidOverlap) for (var ee = 0; ee < a.length; ee++) { var te = a[ee].layoutDimensions(t), ne = te.w, re = te.h; K = Math.max(K, ne, re) } for (var ie = {}, oe = function (e) { if (ie[e.id()]) return ie[e.id()]; for (var t = e._private.scratch.breadthfirst.depth, n = e.neighborhood().nodes().not(":parent").intersection(a), r = 0, i = 0, o = 0; o < n.length; o++) { var s = n[o]._private.scratch.breadthfirst, l = s.index, c = s.depth, u = y[c].length; (t > c || 0 === t) && (r += l / u, i++) } return r /= i = Math.max(1, i), 0 === i && (r = void 0), ie[e.id()] = r, r }, ae = function (e, t) { return oe(e) - oe(t) }, se = 0; se < 3; se++) { for (var le = 0; le < y.length; le++)y[le] = y[le].sort(ae); N() } for (var ce = 0, ue = 0; ue < y.length; ue++)ce = Math.max(y[ue].length, ce); for (var de = l.x1 + l.w / 2, pe = l.x1 + l.h / 2, fe = function (e, n) { var r = e._private.scratch.breadthfirst, i = r.depth, o = r.index, a = y[i].length, s = Math.max(l.w / (a + 1), K), c = Math.max(l.h / (y.length + 1), K), u = Math.min(l.w / 2 / y.length, l.h / 2 / y.length); if (u = Math.max(u, K), t.circle) { if (t.circle) { var d = u * i + u - (y.length > 0 && y[0].length <= 3 ? u / 2 : 0), p = 2 * Math.PI / y[i].length * o; return 0 === i && 1 === y[0].length && (d = 1), { x: de + d * Math.cos(p), y: pe + d * Math.sin(p) } } return { x: de + (o + 1 - (a + 1) / 2) * s, y: (i + 1) * c } } var f = { x: de + (o + 1 - (a + 1) / 2) * s, y: (i + 1) * c }; return f }, he = {}, ge = y.length - 1; ge >= 0; ge--)for (var me = y[ge], ve = 0; ve < me.length; ve++) { var be = me[ve]; he[be.id()] = fe(be, y.length) } return a.layoutPositions(this, t, (function (e) { return he[e.id()] })), this }, e.exports = s }, function (e, t, n) { "use strict"; var r = n(1), i = n(2), o = n(0), a = { fit: !0, padding: 30, boundingBox: void 0, avoidOverlap: !0, nodeDimensionsIncludeLabels: !1, spacingFactor: void 0, radius: void 0, startAngle: 1.5 * Math.PI, sweep: void 0, clockwise: !0, sort: void 0, animate: !1, animationDuration: 500, animationEasing: void 0, animateFilter: function (e, t) { return !0 }, ready: void 0, stop: void 0, transform: function (e, t) { return t } }; function s(e) { this.options = r.extend({}, a, e) } s.prototype.run = function () { var e = this.options, t = e, n = e.cy, r = t.eles, a = void 0 !== t.counterclockwise ? !t.counterclockwise : t.clockwise, s = r.nodes().not(":parent"); t.sort && (s = s.sort(t.sort)); for (var l = i.makeBoundingBox(t.boundingBox ? t.boundingBox : { x1: 0, y1: 0, w: n.width(), h: n.height() }), c = l.x1 + l.w / 2, u = l.y1 + l.h / 2, d = (void 0 === t.sweep ? 2 * Math.PI - 2 * Math.PI / s.length : t.sweep) / Math.max(1, s.length - 1), p = void 0, f = 0, h = 0; h < s.length; h++) { var g = s[h].layoutDimensions(t), m = g.w, v = g.h; f = Math.max(f, m, v) } if (p = o.number(t.radius) ? t.radius : s.length <= 1 ? 0 : Math.min(l.h, l.w) / 2 - f, s.length > 1 && t.avoidOverlap) { f *= 1.75; var b = Math.cos(d) - Math.cos(0), y = Math.sin(d) - Math.sin(0), x = Math.sqrt(f * f / (b * b + y * y)); p = Math.max(x, p) } return s.layoutPositions(this, t, (function (e, n) { var r = t.startAngle + n * d * (a ? 1 : -1), i = p * Math.cos(r), o = p * Math.sin(r); return { x: c + i, y: u + o } })), this }, e.exports = s }, function (e, t, n) { "use strict"; var r = n(1), i = n(2), o = { fit: !0, padding: 30, startAngle: 1.5 * Math.PI, sweep: void 0, clockwise: !0, equidistant: !1, minNodeSpacing: 10, boundingBox: void 0, avoidOverlap: !0, nodeDimensionsIncludeLabels: !1, height: void 0, width: void 0, spacingFactor: void 0, concentric: function (e) { return e.degree() }, levelWidth: function (e) { return e.maxDegree() / 4 }, animate: !1, animationDuration: 500, animationEasing: void 0, animateFilter: function (e, t) { return !0 }, ready: void 0, stop: void 0, transform: function (e, t) { return t } }; function a(e) { this.options = r.extend({}, o, e) } a.prototype.run = function () { for (var e = this.options, t = e, n = void 0 !== t.counterclockwise ? !t.counterclockwise : t.clockwise, r = e.cy, o = t.eles.nodes().not(":parent"), a = i.makeBoundingBox(t.boundingBox ? t.boundingBox : { x1: 0, y1: 0, w: r.width(), h: r.height() }), s = a.x1 + a.w / 2, l = a.y1 + a.h / 2, c = [], u = (t.startAngle, 0), d = 0; d < o.length; d++) { var p, f = o[d]; p = t.concentric(f), c.push({ value: p, node: f }), f._private.scratch.concentric = p } o.updateStyle(); for (var h = 0; h < o.length; h++) { var g = o[h].layoutDimensions(t); u = Math.max(u, g.w, g.h) } c.sort((function (e, t) { return t.value - e.value })); for (var m = t.levelWidth(o), v = [[]], b = v[0], y = 0; y < c.length; y++) { var x = c[y]; b.length > 0 && Math.abs(b[0].value - x.value) >= m && (b = [], v.push(b)), b.push(x) } var w = u + t.minNodeSpacing; if (!t.avoidOverlap) { var k = v.length > 0 && v[0].length > 1, A = (Math.min(a.w, a.h) / 2 - w) / (v.length + k ? 1 : 0); w = Math.min(w, A) } for (var E = 0, S = 0; S < v.length; S++) { var $ = v[S], C = void 0 === t.sweep ? 2 * Math.PI - 2 * Math.PI / $.length : t.sweep, _ = $.dTheta = C / Math.max(1, $.length - 1); if ($.length > 1 && t.avoidOverlap) { var O = Math.cos(_) - Math.cos(0), T = Math.sin(_) - Math.sin(0), j = Math.sqrt(w * w / (O * O + T * T)); E = Math.max(j, E) } $.r = E, E += w } if (t.equidistant) { for (var P = 0, D = 0, R = 0; R < v.length; R++) { var I = v[R].r - D; P = Math.max(P, I) } D = 0; for (var N = 0; N < v.length; N++) { var M = v[N]; 0 === N && (D = M.r), M.r = D, D += P } } for (var z = {}, L = 0; L < v.length; L++)for (var B = v[L], F = B.dTheta, q = B.r, V = 0; V < B.length; V++) { var U = B[V], H = t.startAngle + (n ? 1 : -1) * F * V, G = { x: s + q * Math.cos(H), y: l + q * Math.sin(H) }; z[U.node.id()] = G } return o.layoutPositions(this, t, (function (e) { var t = e.id(); return z[t] })), this }, e.exports = a }, function (e, t, n) { "use strict"; var r, i = n(1), o = n(2), a = n(0), s = n(5), l = { ready: function () { }, stop: function () { }, animate: !0, animationEasing: void 0, animationDuration: void 0, animateFilter: function (e, t) { return !0 }, animationThreshold: 250, refresh: 20, fit: !0, padding: 30, boundingBox: void 0, nodeDimensionsIncludeLabels: !1, randomize: !1, componentSpacing: 40, nodeRepulsion: function (e) { return 2048 }, nodeOverlap: 4, idealEdgeLength: function (e) { return 32 }, edgeElasticity: function (e) { return 32 }, nestingFactor: 1.2, gravity: 1, numIter: 1e3, initialTemp: 1e3, coolingFactor: .99, minTemp: 1, weaver: !1 }; function c(e) { this.options = i.extend({}, l, e), this.options.layout = this } c.prototype.run = function () { var e = this.options, t = e.cy, n = this, o = this.thread, l = e.weaver ? e.weaver.Thread : null, c = { listeners: [], on: function (e, t) { return this.listeners.push({ event: e, callback: t }), this }, trigger: function (e) { a.string(e) && (e = { type: e }); var t = function (t) { t.callback(e) }; return this.listeners.filter((function (t) { return t.event === e.type })).forEach(t), this }, pass: function (e) { return this.pass = e, this }, run: function (e) { var t = this.pass; return new s((function (n) { n(e(t)) })) }, stop: function () { return this }, stopped: function () { return !0 } }; o && !o.stopped() || (o = this.thread = l ? new l : c), n.stopped = !1, !0 !== e.animate && !1 !== e.animate || n.emit({ type: "layoutstart", layout: n }), r = !0 === e.debug; var d = u(t, n, e); r && f(d), e.randomize && h(d, t); var p = Date.now(), m = !1, v = function (n) { n = n || {}, m && !n.next || !n.force && Date.now() - p < e.animationThreshold || (m = !0, i.requestAnimationFrame((function () { g(d, t, e), !0 === e.fit && t.fit(e.padding), m = !1, n.next && n.next() }))) }; o.on("message", (function (e) { var t = e.message; d.layoutNodes = t, v() })), o.pass({ layoutInfo: d, options: { animate: e.animate, refresh: e.refresh, componentSpacing: e.componentSpacing, nodeOverlap: e.nodeOverlap, nestingFactor: e.nestingFactor, gravity: e.gravity, numIter: e.numIter, initialTemp: e.initialTemp, coolingFactor: e.coolingFactor, minTemp: e.minTemp } }).run((function (e) { var t, n, r = e.layoutInfo, i = e.options, o = function (e, t) { for (var n = 0; n < e.graphSet.length; n++)for (var r = e.graphSet[n], i = r.length, o = 0; o < i; o++)for (var a = e.layoutNodes[e.idToIndex[r[o]]], l = o + 1; l < i; l++) { var c = e.layoutNodes[e.idToIndex[r[l]]]; s(a, c, e, t) } }, a = function (e) { return -e + 2 * e * Math.random() }, s = function (e, t, n, r) { if (e.cmptId === t.cmptId || n.isCompound) { var i = t.positionX - e.positionX, o = t.positionY - e.positionY; 0 === i && 0 === o && (i = a(1), o = a(1)); var s = l(e, t, i, o); if (s > 0) var c = (p = r.nodeOverlap * s) * i / (b = Math.sqrt(i * i + o * o)), d = p * o / b; else { var p, f = u(e, i, o), h = u(t, -1 * i, -1 * o), g = h.x - f.x, m = h.y - f.y, v = g * g + m * m, b = Math.sqrt(v); c = (p = (e.nodeRepulsion + t.nodeRepulsion) / v) * g / b, d = p * m / b } e.isLocked || (e.offsetX -= c, e.offsetY -= d), t.isLocked || (t.offsetX += c, t.offsetY += d) } }, l = function (e, t, n, r) { if (n > 0) var i = e.maxX - t.minX; else i = t.maxX - e.minX; if (r > 0) var o = e.maxY - t.minY; else o = t.maxY - e.minY; return i >= 0 && o >= 0 ? Math.sqrt(i * i + o * o) : 0 }, u = function (e, t, n) { var r = e.positionX, i = e.positionY, o = e.height || 1, a = e.width || 1, s = n / t, l = o / a, c = {}; return 0 === t && 0 < n || 0 === t && 0 > n ? (c.x = r, c.y = i + o / 2, c) : 0 < t && -1 * l <= s && s <= l ? (c.x = r + a / 2, c.y = i + a * n / 2 / t, c) : 0 > t && -1 * l <= s && s <= l ? (c.x = r - a / 2, c.y = i - a * n / 2 / t, c) : 0 < n && (s <= -1 * l || s >= l) ? (c.x = r + o * t / 2 / n, c.y = i + o / 2, c) : 0 > n && (s <= -1 * l || s >= l) ? (c.x = r - o * t / 2 / n, c.y = i - o / 2, c) : c }, d = function (e, t) { for (var n = 0; n < e.edgeSize; n++) { var r = e.layoutEdges[n], i = e.idToIndex[r.sourceId], o = e.layoutNodes[i], a = e.idToIndex[r.targetId], s = e.layoutNodes[a], l = s.positionX - o.positionX, c = s.positionY - o.positionY; if (0 !== l || 0 !== c) { var d = u(o, l, c), p = u(s, -1 * l, -1 * c), f = p.x - d.x, h = p.y - d.y, g = Math.sqrt(f * f + h * h), m = Math.pow(r.idealLength - g, 2) / r.elasticity; if (0 !== g) var v = m * f / g, b = m * h / g; else v = 0, b = 0; o.isLocked || (o.offsetX += v, o.offsetY += b), s.isLocked || (s.offsetX -= v, s.offsetY -= b) } } }, p = function (e, t) { for (var n = 0; n < e.graphSet.length; n++) { var r = e.graphSet[n], i = r.length; if (0 === n) var o = e.clientHeight / 2, a = e.clientWidth / 2; else { var s = e.layoutNodes[e.idToIndex[r[0]]], l = e.layoutNodes[e.idToIndex[s.parentId]]; o = l.positionX, a = l.positionY } for (var c = 0; c < i; c++) { var u = e.layoutNodes[e.idToIndex[r[c]]]; if (!u.isLocked) { var d = o - u.positionX, p = a - u.positionY, f = Math.sqrt(d * d + p * p); if (f > 1) { var h = t.gravity * d / f, g = t.gravity * p / f; u.offsetX += h, u.offsetY += g } } } } }, f = function (e, t) { var n = [], r = 0, i = -1; for (n.push.apply(n, e.graphSet[0]), i += e.graphSet[0].length; r <= i;) { var o = n[r++], a = e.idToIndex[o], s = e.layoutNodes[a], l = s.children; if (0 < l.length && !s.isLocked) { for (var c = s.offsetX, u = s.offsetY, d = 0; d < l.length; d++) { var p = e.layoutNodes[e.idToIndex[l[d]]]; p.offsetX += c, p.offsetY += u, n[++i] = l[d] } s.offsetX = 0, s.offsetY = 0 } } }, h = function (e, t) { for (var n = 0; n < e.nodeSize; n++)0 < (i = e.layoutNodes[n]).children.length && (i.maxX = void 0, i.minX = void 0, i.maxY = void 0, i.minY = void 0); for (n = 0; n < e.nodeSize; n++)if (!(0 < (i = e.layoutNodes[n]).children.length || i.isLocked)) { var r = g(i.offsetX, i.offsetY, e.temperature); i.positionX += r.x, i.positionY += r.y, i.offsetX = 0, i.offsetY = 0, i.minX = i.positionX - i.width, i.maxX = i.positionX + i.width, i.minY = i.positionY - i.height, i.maxY = i.positionY + i.height, m(i, e) } for (n = 0; n < e.nodeSize; n++) { var i; 0 < (i = e.layoutNodes[n]).children.length && !i.isLocked && (i.positionX = (i.maxX + i.minX) / 2, i.positionY = (i.maxY + i.minY) / 2, i.width = i.maxX - i.minX, i.height = i.maxY - i.minY) } }, g = function (e, t, n) { var r = Math.sqrt(e * e + t * t); if (r > n) var i = { x: n * e / r, y: n * t / r }; else i = { x: e, y: t }; return i }, m = function e(t, n) { var r = t.parentId; if (null != r) { var i = n.layoutNodes[n.idToIndex[r]], o = !1; return (null == i.maxX || t.maxX + i.padRight > i.maxX) && (i.maxX = t.maxX + i.padRight, o = !0), (null == i.minX || t.minX - i.padLeft < i.minX) && (i.minX = t.minX - i.padLeft, o = !0), (null == i.maxY || t.maxY + i.padBottom > i.maxY) && (i.maxY = t.maxY + i.padBottom, o = !0), (null == i.minY || t.minY - i.padTop < i.minY) && (i.minY = t.minY - i.padTop, o = !0), o ? e(i, n) : void 0 } }, v = function (e) { return function (e, t, n) { o(e, t), d(e, t), p(e, t), f(e, t), h(e, t) }(r, i), r.temperature = r.temperature * i.coolingFactor, !(r.temperature < i.minTemp) }, b = 0; do { for (var y = 0; y < i.refresh && b < i.numIter;) { var x; if (!(x = v())) break; y++, b++ } !0 === i.animate && (t = r.layoutNodes, n = void 0, n = { type: "message", message: t }, c.trigger(n)) } while (x && b + 1 < i.numIter); return function (e, t) { for (var n = r.layoutNodes, i = [], o = 0; o < n.length; o++) { var a = n[o], s = a.cmptId; (i[s] = i[s] || []).push(a) } var l = 0; for (o = 0; o < i.length; o++)if (m = i[o]) { m.x1 = 1 / 0, m.x2 = -1 / 0, m.y1 = 1 / 0, m.y2 = -1 / 0; for (var c = 0; c < m.length; c++) { var u = m[c]; m.x1 = Math.min(m.x1, u.positionX - u.width / 2), m.x2 = Math.max(m.x2, u.positionX + u.width / 2), m.y1 = Math.min(m.y1, u.positionY - u.height / 2), m.y2 = Math.max(m.y2, u.positionY + u.height / 2) } m.w = m.x2 - m.x1, m.h = m.y2 - m.y1, l += m.w * m.h } i.sort((function (e, t) { return t.w * t.h - e.w * e.h })); var d = 0, p = 0, f = 0, h = 0, g = Math.sqrt(l) * r.clientWidth / r.clientHeight; for (o = 0; o < i.length; o++) { var m; if (m = i[o]) { for (c = 0; c < m.length; c++)(u = m[c]).isLocked || (u.positionX += d, u.positionY += p); d += m.w + t.componentSpacing, f += m.w + t.componentSpacing, h = Math.max(h, m.h), f > g && (p += h + t.componentSpacing, d = 0, f = 0, h = 0) } } }(0, i), r })).then((function (e) { d.layoutNodes = e.layoutNodes, o.stop(), b() })); var b = function () { !0 === e.animate || !1 === e.animate ? v({ force: !0, next: function () { n.one("layoutstop", e.stop), n.emit({ type: "layoutstop", layout: n }) } }) : e.eles.nodes().layoutPositions(n, e, (function (e) { var t = d.layoutNodes[d.idToIndex[e.data("id")]]; return { x: t.positionX, y: t.positionY } })) }; return this }, c.prototype.stop = function () { return this.stopped = !0, this.thread && this.thread.stop(), this.emit("layoutstop"), this }, c.prototype.destroy = function () { return this.thread && this.thread.stop(), this }; var u = function (e, t, n) { for (var r = n.eles.edges(), i = n.eles.nodes(), s = { isCompound: e.hasCompoundNodes(), layoutNodes: [], idToIndex: {}, nodeSize: i.size(), graphSet: [], indexToGraph: [], layoutEdges: [], edgeSize: r.size(), temperature: n.initialTemp, clientWidth: e.width(), clientHeight: e.width(), boundingBox: o.makeBoundingBox(n.boundingBox ? n.boundingBox : { x1: 0, y1: 0, w: e.width(), h: e.height() }) }, l = n.eles.components(), c = {}, u = 0; u < l.length; u++)for (var p = l[u], f = 0; f < p.length; f++)c[p[f].id()] = u; for (u = 0; u < s.nodeSize; u++) { var h = (y = i[u]).layoutDimensions(n); (I = {}).isLocked = y.locked(), I.id = y.data("id"), I.parentId = y.data("parent"), I.cmptId = c[y.id()], I.children = [], I.positionX = y.position("x"), I.positionY = y.position("y"), I.offsetX = 0, I.offsetY = 0, I.height = h.w, I.width = h.h, I.maxX = I.positionX + I.width / 2, I.minX = I.positionX - I.width / 2, I.maxY = I.positionY + I.height / 2, I.minY = I.positionY - I.height / 2, I.padLeft = parseFloat(y.style("padding")), I.padRight = parseFloat(y.style("padding")), I.padTop = parseFloat(y.style("padding")), I.padBottom = parseFloat(y.style("padding")), I.nodeRepulsion = a.fn(n.nodeRepulsion) ? n.nodeRepulsion(y) : n.nodeRepulsion, s.layoutNodes.push(I), s.idToIndex[I.id] = u } var g = [], m = 0, v = -1, b = []; for (u = 0; u < s.nodeSize; u++) { var y, x = (y = s.layoutNodes[u]).parentId; null != x ? s.layoutNodes[s.idToIndex[x]].children.push(y.id) : (g[++v] = y.id, b.push(y.id)) } for (s.graphSet.push(b); m <= v;) { var w = g[m++], k = s.idToIndex[w], A = s.layoutNodes[k].children; if (A.length > 0) for (s.graphSet.push(A), u = 0; u < A.length; u++)g[++v] = A[u] } for (u = 0; u < s.graphSet.length; u++) { var E = s.graphSet[u]; for (f = 0; f < E.length; f++) { var S = s.idToIndex[E[f]]; s.indexToGraph[S] = u } } for (u = 0; u < s.edgeSize; u++) { var $ = r[u], C = {}; C.id = $.data("id"), C.sourceId = $.data("source"), C.targetId = $.data("target"); var _ = a.fn(n.idealEdgeLength) ? n.idealEdgeLength($) : n.idealEdgeLength, O = a.fn(n.edgeElasticity) ? n.edgeElasticity($) : n.edgeElasticity, T = s.idToIndex[C.sourceId], j = s.idToIndex[C.targetId]; if (s.indexToGraph[T] != s.indexToGraph[j]) { for (var P = d(C.sourceId, C.targetId, s), D = s.graphSet[P], R = 0, I = s.layoutNodes[T]; -1 === D.indexOf(I.id);)I = s.layoutNodes[s.idToIndex[I.parentId]], R++; for (I = s.layoutNodes[j]; -1 === D.indexOf(I.id);)I = s.layoutNodes[s.idToIndex[I.parentId]], R++; _ *= R * n.nestingFactor } C.idealLength = _, C.elasticity = O, s.layoutEdges.push(C) } return s }, d = function (e, t, n) { var r = p(e, t, 0, n); return 2 > r.count ? 0 : r.graph }, p = function e(t, n, r, i) { var o = i.graphSet[r]; if (-1 < o.indexOf(t) && -1 < o.indexOf(n)) return { count: 2, graph: r }; for (var a = 0, s = 0; s < o.length; s++) { var l = o[s], c = i.idToIndex[l], u = i.layoutNodes[c].children; if (0 !== u.length) { var d = e(t, n, i.indexToGraph[i.idToIndex[u[0]]], i); if (0 !== d.count) { if (1 !== d.count) return d; if (2 == ++a) break } } } return { count: a, graph: r } }, f = function (e) { if (r) { console.debug("layoutNodes:"); for (var t = 0; t < e.nodeSize; t++) { var n = e.layoutNodes[t], i = "\nindex: " + t + "\nId: " + n.id + "\nChildren: " + n.children.toString() + "\nparentId: " + n.parentId + "\npositionX: " + n.positionX + "\npositionY: " + n.positionY + "\nOffsetX: " + n.offsetX + "\nOffsetY: " + n.offsetY + "\npadLeft: " + n.padLeft + "\npadRight: " + n.padRight + "\npadTop: " + n.padTop + "\npadBottom: " + n.padBottom; console.debug(i) } for (var t in console.debug("idToIndex"), e.idToIndex) console.debug("Id: " + t + "\nIndex: " + e.idToIndex[t]); console.debug("Graph Set"); var o = e.graphSet; for (t = 0; t < o.length; t++)console.debug("Set : " + t + ": " + o[t].toString()); for (i = "IndexToGraph", t = 0; t < e.indexToGraph.length; t++)i += "\nIndex : " + t + " Graph: " + e.indexToGraph[t]; for (console.debug(i), i = "Layout Edges", t = 0; t < e.layoutEdges.length; t++) { var a = e.layoutEdges[t]; i += "\nEdge Index: " + t + " ID: " + a.id + " SouceID: " + a.sourceId + " TargetId: " + a.targetId + " Ideal Length: " + a.idealLength } console.debug(i), i = "nodeSize: " + e.nodeSize, i += "\nedgeSize: " + e.edgeSize, i += "\ntemperature: " + e.temperature, console.debug(i) } }, h = function (e, t) { for (var n = e.clientWidth, r = e.clientHeight, i = 0; i < e.nodeSize; i++) { var o = e.layoutNodes[i]; 0 !== o.children.length || o.isLocked || (o.positionX = Math.random() * n, o.positionY = Math.random() * r) } }, g = function (e, t, n) { var r = n.layout, i = n.eles.nodes(), o = e.boundingBox, a = { x1: 1 / 0, x2: -1 / 0, y1: 1 / 0, y2: -1 / 0 }; n.boundingBox && (i.forEach((function (t) { var n = e.layoutNodes[e.idToIndex[t.data("id")]]; a.x1 = Math.min(a.x1, n.positionX), a.x2 = Math.max(a.x2, n.positionX), a.y1 = Math.min(a.y1, n.positionY), a.y2 = Math.max(a.y2, n.positionY) })), a.w = a.x2 - a.x1, a.h = a.y2 - a.y1), i.positions((function (t, r) { var i = e.layoutNodes[e.idToIndex[t.data("id")]]; if (n.boundingBox) { var s = (i.positionX - a.x1) / a.w, l = (i.positionY - a.y1) / a.h; return { x: o.x1 + s * o.w, y: o.y1 + l * o.h } } return { x: i.positionX, y: i.positionY } })), !0 !== e.ready && (e.ready = !0, r.one("layoutready", n.ready), r.emit({ type: "layoutready", layout: this })) }; e.exports = c }, function (e, t, n) { "use strict"; var r = n(1), i = n(2), o = { fit: !0, padding: 30, boundingBox: void 0, avoidOverlap: !0, avoidOverlapPadding: 10, nodeDimensionsIncludeLabels: !1, spacingFactor: void 0, condense: !1, rows: void 0, cols: void 0, position: function (e) { }, sort: void 0, animate: !1, animationDuration: 500, animationEasing: void 0, animateFilter: function (e, t) { return !0 }, ready: void 0, stop: void 0, transform: function (e, t) { return t } }; function a(e) { this.options = r.extend({}, o, e) } a.prototype.run = function () { var e = this.options, t = e, n = e.cy, r = t.eles.nodes().not(":parent"); t.sort && (r = r.sort(t.sort)); var o = i.makeBoundingBox(t.boundingBox ? t.boundingBox : { x1: 0, y1: 0, w: n.width(), h: n.height() }); if (0 === o.h || 0 === o.w) r.layoutPositions(this, t, (function (e) { return { x: o.x1, y: o.y1 } })); else { var a = r.size(), s = Math.sqrt(a * o.h / o.w), l = Math.round(s), c = Math.round(o.w / o.h * s), u = function (e) { if (null == e) return Math.min(l, c); Math.min(l, c) == l ? l = e : c = e }, d = function (e) { if (null == e) return Math.max(l, c); Math.max(l, c) == l ? l = e : c = e }, p = t.rows, f = null != t.cols ? t.cols : t.columns; if (null != p && null != f) l = p, c = f; else if (null != p && null == f) l = p, c = Math.ceil(a / l); else if (null == p && null != f) c = f, l = Math.ceil(a / c); else if (c * l > a) { var h = u(), g = d(); (h - 1) * g >= a ? u(h - 1) : (g - 1) * h >= a && d(g - 1) } else for (; c * l < a;) { var m = u(), v = d(); (v + 1) * m >= a ? d(v + 1) : u(m + 1) } var b = o.w / c, y = o.h / l; if (t.condense && (b = 0, y = 0), t.avoidOverlap) for (var x = 0; x < r.length; x++) { var w = r[x], k = w._private.position; null != k.x && null != k.y || (k.x = 0, k.y = 0); var A = w.layoutDimensions(t), E = t.avoidOverlapPadding, S = A.w + E, $ = A.h + E; b = Math.max(b, S), y = Math.max(y, $) } for (var C = {}, _ = function (e, t) { return !!C["c-" + e + "-" + t] }, O = function (e, t) { C["c-" + e + "-" + t] = !0 }, T = 0, j = 0, P = function () { ++j >= c && (j = 0, T++) }, D = {}, R = 0; R < r.length; R++) { var I = r[R], N = t.position(I); if (N && (void 0 !== N.row || void 0 !== N.col)) { var M = { row: N.row, col: N.col }; if (void 0 === M.col) for (M.col = 0; _(M.row, M.col);)M.col++; else if (void 0 === M.row) for (M.row = 0; _(M.row, M.col);)M.row++; D[I.id()] = M, O(M.row, M.col) } } r.layoutPositions(this, t, (function (e, t) { var n = void 0, r = void 0; if (e.locked() || e.isParent()) return !1; var i = D[e.id()]; if (i) n = i.col * b + b / 2 + o.x1, r = i.row * y + y / 2 + o.y1; else { for (; _(T, j);)P(); n = j * b + b / 2 + o.x1, r = T * y + y / 2 + o.y1, O(T, j), P() } return { x: n, y: r } })) } return this }, e.exports = a }, function (e, t, n) { "use strict"; var r = n(1), i = { ready: function () { }, stop: function () { } }; function o(e) { this.options = r.extend({}, i, e) } o.prototype.run = function () { var e = this.options, t = e.eles; return e.cy, this.emit("layoutstart"), t.nodes().positions((function () { return { x: 0, y: 0 } })), this.one("layoutready", e.ready), this.emit("layoutready"), this.one("layoutstop", e.stop), this.emit("layoutstop"), this }, o.prototype.stop = function () { return this }, e.exports = o }, function (e, t, n) { "use strict"; var r = n(1), i = n(0), o = { positions: void 0, zoom: void 0, pan: void 0, fit: !0, padding: 30, animate: !1, animationDuration: 500, animationEasing: void 0, animateFilter: function (e, t) { return !0 }, ready: void 0, stop: void 0, transform: function (e, t) { return t } }; function a(e) { this.options = r.extend({}, o, e) } a.prototype.run = function () { var e = this.options, t = e.eles.nodes(), n = i.fn(e.positions); return t.layoutPositions(this, e, (function (t, r) { var i = function (t) { if (null == e.positions) return null; if (n) return e.positions(t); var r = e.positions[t._private.data.id]; return null == r ? null : r }(t); return !t.locked() && null != i && i })), this }, e.exports = a }, function (e, t, n) { "use strict"; var r = n(1), i = n(2), o = { fit: !0, padding: 30, boundingBox: void 0, animate: !1, animationDuration: 500, animationEasing: void 0, animateFilter: function (e, t) { return !0 }, ready: void 0, stop: void 0, transform: function (e, t) { return t } }; function a(e) { this.options = r.extend({}, o, e) } a.prototype.run = function () { var e = this.options, t = e.cy, n = e.eles.nodes().not(":parent"), r = i.makeBoundingBox(e.boundingBox ? e.boundingBox : { x1: 0, y1: 0, w: t.width(), h: t.height() }); return n.layoutPositions(this, e, (function (e, t) { return { x: r.x1 + Math.round(Math.random() * r.w), y: r.y1 + Math.round(Math.random() * r.h) } })), this }, e.exports = a }, function (e, t, n) { "use strict"; e.exports = [{ name: "null", impl: n(106) }, { name: "base", impl: n(107) }, { name: "canvas", impl: n(123) }] }, function (e, t, n) { "use strict"; function r(e) { this.options = e, this.notifications = 0 } var i = function () { }; r.prototype = { recalculateRenderedStyle: i, notify: function () { this.notifications++ }, init: i }, e.exports = r }, function (e, t, n) { "use strict"; var r = n(0), i = n(1), o = n(3), a = function (e) { this.init(e) }, s = a.prototype; s.clientFunctions = ["redrawHint", "render", "renderTo", "matchCanvasSize", "nodeShapeImpl", "arrowShapeImpl"], s.init = function (e) { var t = this; t.options = e, t.cy = e.cy; var n = t.container = e.cy.container(); if (o) { var r = o.document, a = r.head, s = "__________cytoscape_container", l = null != r.getElementById("__________cytoscape_stylesheet"); if (n.className.indexOf(s) < 0 && (n.className = (n.className || "") + " " + s), !l) { var c = r.createElement("style"); c.id = "__________cytoscape_stylesheet", c.innerHTML = "." + s + " { position: relative; }", a.insertBefore(c, a.children[0]) } "static" === o.getComputedStyle(n).getPropertyValue("position") && i.error("A Cytoscape container has style position:static and so can not use UI extensions properly") } t.selection = [void 0, void 0, void 0, void 0, 0], t.bezierProjPcts = [.05, .225, .4, .5, .6, .775, .95], t.hoverData = { down: null, last: null, downTime: null, triggerMode: null, dragging: !1, initialPan: [null, null], capture: !1 }, t.dragData = { possibleDragElements: [] }, t.touchData = { start: null, capture: !1, startPosition: [null, null, null, null, null, null], singleTouchStartTime: null, singleTouchMoved: !0, now: [null, null, null, null, null, null], earlier: [null, null, null, null, null, null] }, t.redraws = 0, t.showFps = e.showFps, t.debug = e.debug, t.hideEdgesOnViewport = e.hideEdgesOnViewport, t.hideLabelsOnViewport = e.hideLabelsOnViewport, t.textureOnViewport = e.textureOnViewport, t.wheelSensitivity = e.wheelSensitivity, t.motionBlurEnabled = e.motionBlur, t.forcedPixelRatio = e.pixelRatio, t.motionBlur = e.motionBlur, t.motionBlurOpacity = e.motionBlurOpacity, t.motionBlurTransparency = 1 - t.motionBlurOpacity, t.motionBlurPxRatio = 1, t.mbPxRBlurry = 1, t.minMbLowQualFrames = 4, t.fullQualityMb = !1, t.clearedForMotionBlur = [], t.desktopTapThreshold = e.desktopTapThreshold, t.desktopTapThreshold2 = e.desktopTapThreshold * e.desktopTapThreshold, t.touchTapThreshold = e.touchTapThreshold, t.touchTapThreshold2 = e.touchTapThreshold * e.touchTapThreshold, t.tapholdDuration = 500, t.bindings = [], t.beforeRenderCallbacks = [], t.beforeRenderPriorities = { animations: 400, eleCalcs: 300, eleTxrDeq: 200, lyrTxrDeq: 100 }, t.registerNodeShapes(), t.registerArrowShapes(), t.registerCalculationListeners() }, s.notify = function (e) { var t, n = this; if (!this.destroyed) { t = r.array(e.type) ? e.type : [e.type]; for (var i = {}, o = 0; o < t.length; o++)i[t[o]] = !0; i.init ? n.load() : i.destroy ? n.destroy() : ((i.add || i.remove || i.load || i.zorder) && n.invalidateCachedZSortedEles(), i.viewport && n.redrawHint("select", !0), (i.load || i.resize) && (n.invalidateContainerClientCoordsCache(), n.matchCanvasSize(n.container)), n.redrawHint("eles", !0), n.redrawHint("drag", !0), this.startRenderLoop(), this.redraw()) } }, s.destroy = function () { var e = this; e.destroyed = !0, e.cy.stopAnimationLoop(); for (var t = 0; t < e.bindings.length; t++) { var n = e.bindings[t], r = n.target; (r.off || r.removeEventListener).apply(r, n.args) } if (e.bindings = [], e.beforeRenderCallbacks = [], e.onUpdateEleCalcsFns = [], e.removeObserver && e.removeObserver.disconnect(), e.styleObserver && e.styleObserver.disconnect(), e.labelCalcDiv) try { document.body.removeChild(e.labelCalcDiv) } catch (e) { } }, [n(108), n(109), n(119), n(120), n(121), n(122)].forEach((function (e) { i.extend(s, e) })), e.exports = a }, function (e, t, n) { "use strict"; var r = n(2), i = n(0), o = n(1), a = { arrowShapeWidth: .3, registerArrowShapes: function () { var e = this.arrowShapes = {}, t = this, n = function (e, t, n, r, i, o, a) { var s = i.x - n / 2 - a, l = i.x + n / 2 + a, c = i.y - n / 2 - a, u = i.y + n / 2 + a; return s <= e && e <= l && c <= t && t <= u }, a = function (e, t, n, r, i) { var o = e * Math.cos(r) - t * Math.sin(r), a = (e * Math.sin(r) + t * Math.cos(r)) * n; return { x: o * n + i.x, y: a + i.y } }, s = function (e, t, n, r) { for (var i = [], o = 0; o < e.length; o += 2) { var s = e[o], l = e[o + 1]; i.push(a(s, l, t, n, r)) } return i }, l = function (e) { for (var t = [], n = 0; n < e.length; n++) { var r = e[n]; t.push(r.x, r.y) } return t }, c = function (e) { return e.pstyle("width").pfValue * e.pstyle("arrow-scale").pfValue * 2 }, u = function (a, u) { i.string(u) && (u = e[u]), e[a] = o.extend({ name: a, points: [-.15, -.3, .15, -.3, .15, .3, -.15, .3], collide: function (e, t, n, i, o, a) { var c = l(s(this.points, n + 2 * a, i, o)); return r.pointInsidePolygonPoints(e, t, c) }, roughCollide: n, draw: function (e, n, r, i) { var o = s(this.points, n, r, i); t.arrowShapeImpl("polygon")(e, o) }, spacing: function (e) { return 0 }, gap: c }, u) }; u("none", { collide: o.falsify, roughCollide: o.falsify, draw: o.noop, spacing: o.zeroify, gap: o.zeroify }), u("triangle", { points: [-.15, -.3, 0, 0, .15, -.3] }), u("arrow", "triangle"), u("triangle-backcurve", { points: e.triangle.points, controlPoint: [0, -.15], roughCollide: n, draw: function (e, n, r, i, o) { var l = s(this.points, n, r, i), c = this.controlPoint, u = a(c[0], c[1], n, r, i); t.arrowShapeImpl(this.name)(e, l, u) }, gap: function (e) { return .8 * c(e) } }), u("triangle-tee", { points: [-.15, -.3, 0, 0, .15, -.3, -.15, -.3], pointsTee: [-.15, -.4, -.15, -.5, .15, -.5, .15, -.4], collide: function (e, t, n, i, o, a, c) { var u = l(s(this.points, n + 2 * c, i, o)), d = l(s(this.pointsTee, n + 2 * c, i, o)); return r.pointInsidePolygonPoints(e, t, u) || r.pointInsidePolygonPoints(e, t, d) }, draw: function (e, n, r, i, o) { var a = s(this.points, n, r, i), l = s(this.pointsTee, n, r, i); t.arrowShapeImpl(this.name)(e, a, l) } }), u("triangle-cross", { points: [-.15, -.3, 0, 0, .15, -.3, -.15, -.3], baseCrossLinePts: [-.15, -.4, -.15, -.4, .15, -.4, .15, -.4], crossLinePts: function (e, t) { var n = this.baseCrossLinePts.slice(), r = t / e; return n[3] = n[3] - r, n[5] = n[5] - r, n }, collide: function (e, t, n, i, o, a, c) { var u = l(s(this.points, n + 2 * c, i, o)), d = l(s(this.crossLinePts(n, a), n + 2 * c, i, o)); return r.pointInsidePolygonPoints(e, t, u) || r.pointInsidePolygonPoints(e, t, d) }, draw: function (e, n, r, i, o) { var a = s(this.points, n, r, i), l = s(this.crossLinePts(n, o), n, r, i); t.arrowShapeImpl(this.name)(e, a, l) } }), u("vee", { points: [-.15, -.3, 0, 0, .15, -.3, 0, -.15], gap: function (e) { return .525 * c(e) } }), u("circle", { radius: .15, collide: function (e, t, n, r, i, o, a) { var s = i; return Math.pow(s.x - e, 2) + Math.pow(s.y - t, 2) <= Math.pow((n + 2 * a) * this.radius, 2) }, draw: function (e, n, r, i, o) { t.arrowShapeImpl(this.name)(e, i.x, i.y, this.radius * n) }, spacing: function (e) { return t.getArrowWidth(e.pstyle("width").pfValue, e.pstyle("arrow-scale").value) * this.radius } }), u("tee", { points: [-.15, 0, -.15, -.1, .15, -.1, .15, 0], spacing: function (e) { return 1 }, gap: function (e) { return 1 } }), u("square", { points: [-.15, 0, .15, 0, .15, -.3, -.15, -.3] }), u("diamond", { points: [-.15, -.15, 0, -.3, .15, -.15, 0, 0], gap: function (e) { return e.pstyle("width").pfValue * e.pstyle("arrow-scale").value } }) } }; e.exports = a }, function (e, t, n) { "use strict"; var r = n(1), i = {};[n(110), n(111), n(112), n(113), n(114), n(115), n(116), n(117), n(118)].forEach((function (e) { r.extend(i, e) })), e.exports = i }, function (e, t, n) { "use strict"; var r = n(3), i = n(2), o = n(1), a = (r = n(3), { projectIntoViewport: function (e, t) { var n = this.cy, r = this.findContainerClientCoords(), i = r[0], o = r[1], a = r[4], s = n.pan(), l = n.zoom(); return [((e - i) / a - s.x) / l, ((t - o) / a - s.y) / l] }, findContainerClientCoords: function () { if (this.containerBB) return this.containerBB; var e = this.container, t = e.getBoundingClientRect(), n = r.getComputedStyle(e), i = function (e) { return parseFloat(n.getPropertyValue(e)) }, o = i("padding-left"), a = i("padding-right"), s = i("padding-top"), l = i("padding-bottom"), c = i("border-left-width"), u = i("border-right-width"), d = i("border-top-width"), p = (i("border-bottom-width"), e.clientWidth), f = e.clientHeight, h = o + a, g = s + l, m = c + u, v = t.width / (p + m), b = p - h, y = f - g, x = (t.width, t.height, t.left + o + c), w = t.top + s + d; return this.containerBB = [x, w, b, y, v] }, invalidateContainerClientCoordsCache: function () { this.containerBB = null }, findNearestElement: function (e, t, n, r) { return this.findNearestElements(e, t, n, r)[0] }, findNearestElements: function (e, t, n, r) { var a, s, l = this, c = this, u = c.getCachedZSortedEles(), d = [], p = c.cy.zoom(), f = c.cy.hasCompoundNodes(), h = (r ? 24 : 8) / p, g = (r ? 8 : 2) / p, m = (r ? 8 : 2) / p, v = 1 / 0; function b(e, t) { if (e.isNode()) { if (s) return; s = e, d.push(e) } if (e.isEdge() && (null == t || t < v)) if (a) { if (a.pstyle("z-index").value === e.pstyle("z-index").value) for (var n = 0; n < d.length; n++)if (d[n].isEdge()) { d[n] = e, a = e, v = null != t ? t : v; break } } else d.push(e), a = e, v = null != t ? t : v } function y(n) { var r = n.outerWidth() + 2 * g, i = n.outerHeight() + 2 * g, o = r / 2, a = i / 2, s = n.position(); if (s.x - o <= e && e <= s.x + o && s.y - a <= t && t <= s.y + a && c.nodeShapes[l.getNodeShape(n)].checkPoint(e, t, 0, r, i, s.x, s.y)) return b(n, 0), !0 } function x(n) { var r, o = n._private, a = o.rscratch, s = n.pstyle("width").pfValue, u = n.pstyle("arrow-scale").value, p = s / 2 + h, g = p * p, m = 2 * p, v = o.source, x = o.target; if ("segments" === a.edgeType || "straight" === a.edgeType || "haystack" === a.edgeType) { for (var w = a.allpts, k = 0; k + 3 < w.length; k += 2)if (i.inLineVicinity(e, t, w[k], w[k + 1], w[k + 2], w[k + 3], m) && g > (r = i.sqdistToFiniteLine(e, t, w[k], w[k + 1], w[k + 2], w[k + 3]))) return b(n, r), !0 } else if ("bezier" === a.edgeType || "multibezier" === a.edgeType || "self" === a.edgeType || "compound" === a.edgeType) for (w = a.allpts, k = 0; k + 5 < a.allpts.length; k += 4)if (i.inBezierVicinity(e, t, w[k], w[k + 1], w[k + 2], w[k + 3], w[k + 4], w[k + 5], m) && g > (r = i.sqdistToQuadraticBezier(e, t, w[k], w[k + 1], w[k + 2], w[k + 3], w[k + 4], w[k + 5]))) return b(n, r), !0; v = v || o.source, x = x || o.target; var A = l.getArrowWidth(s, u), E = [{ name: "source", x: a.arrowStartX, y: a.arrowStartY, angle: a.srcArrowAngle }, { name: "target", x: a.arrowEndX, y: a.arrowEndY, angle: a.tgtArrowAngle }, { name: "mid-source", x: a.midX, y: a.midY, angle: a.midsrcArrowAngle }, { name: "mid-target", x: a.midX, y: a.midY, angle: a.midtgtArrowAngle }]; for (k = 0; k < E.length; k++) { var S = E[k], $ = c.arrowShapes[n.pstyle(S.name + "-arrow-shape").value], C = n.pstyle("width").pfValue; if ($.roughCollide(e, t, A, S.angle, { x: S.x, y: S.y }, C, h) && $.collide(e, t, A, S.angle, { x: S.x, y: S.y }, C, h)) return b(n), !0 } f && d.length > 0 && (y(v), y(x)) } function w(e, t, n) { return o.getPrefixedProperty(e, t, n) } function k(n, r) { var o, a = n._private, s = m; o = r ? r + "-" : ""; var l = n.pstyle(o + "label").value; if ("yes" === n.pstyle("text-events").strValue && l) { var c = a.rstyle, u = n.pstyle("text-border-width").pfValue, d = n.pstyle("text-background-padding").pfValue, p = w(c, "labelWidth", r) + u + 2 * s + 2 * d, f = w(c, "labelHeight", r) + u + 2 * s + 2 * d, h = w(c, "labelX", r), g = w(c, "labelY", r), v = w(a.rscratch, "labelAngle", r), y = h - p / 2, x = h + p / 2, k = g - f / 2, A = g + f / 2; if (v) { var E = Math.cos(v), S = Math.sin(v), $ = function (e, t) { return { x: (e -= h) * E - (t -= g) * S + h, y: e * S + t * E + g } }, C = $(y, k), _ = $(y, A), O = $(x, k), T = $(x, A), j = [C.x, C.y, O.x, O.y, T.x, T.y, _.x, _.y]; if (i.pointInsidePolygonPoints(e, t, j)) return b(n), !0 } else { var P = { w: p, h: f, x1: y, x2: x, y1: k, y2: A }; if (i.inBoundingBox(P, e, t)) return b(n), !0 } } } n && (u = u.interactive); for (var A = u.length - 1; A >= 0; A--) { var E = u[A]; E.isNode() ? y(E) || k(E) : x(E) || k(E) || k(E, "source") || k(E, "target") } return d }, getAllInBox: function (e, t, n, r) { var o = this.getCachedZSortedEles().interactive, a = [], s = Math.min(e, n), l = Math.max(e, n), c = Math.min(t, r), u = Math.max(t, r); e = s, n = l, t = c, r = u; for (var d = i.makeBoundingBox({ x1: e, y1: t, x2: n, y2: r }), p = 0; p < o.length; p++) { var f = o[p]; if (f.isNode()) { var h = f, g = h.boundingBox({ includeNodes: !0, includeEdges: !1, includeLabels: !1 }); i.boundingBoxesIntersect(d, g) && !i.boundingBoxInBoundingBox(g, d) && a.push(h) } else { var m = f, v = m._private, b = v.rscratch; if (null != b.startX && null != b.startY && !i.inBoundingBox(d, b.startX, b.startY)) continue; if (null != b.endX && null != b.endY && !i.inBoundingBox(d, b.endX, b.endY)) continue; if ("bezier" === b.edgeType || "multibezier" === b.edgeType || "self" === b.edgeType || "compound" === b.edgeType || "segments" === b.edgeType || "haystack" === b.edgeType) { for (var y = v.rstyle.bezierPts || v.rstyle.linePts || v.rstyle.haystackPts, x = !0, w = 0; w < y.length; w++)if (!i.pointInBoundingBox(d, y[w])) { x = !1; break } x && a.push(m) } else "haystack" !== b.edgeType && "straight" !== b.edgeType || a.push(m) } } return a } }); e.exports = a }, function (e, t, n) { "use strict"; var r = n(2), i = { calculateArrowAngles: function (e) { var t, n, i, o, a, s, l = e._private.rscratch, c = "haystack" === l.edgeType, u = "bezier" === l.edgeType, d = "multibezier" === l.edgeType, p = "segments" === l.edgeType, f = "compound" === l.edgeType, h = "self" === l.edgeType; if (c ? (i = l.haystackPts[0], o = l.haystackPts[1], a = l.haystackPts[2], s = l.haystackPts[3]) : (i = l.arrowStartX, o = l.arrowStartY, a = l.arrowEndX, s = l.arrowEndY), m = l.midX, v = l.midY, p) t = i - l.segpts[0], n = o - l.segpts[1]; else if (d || f || h || u) { var g = l.allpts; t = i - r.qbezierAt(g[0], g[2], g[4], .1), n = o - r.qbezierAt(g[1], g[3], g[5], .1) } else t = i - m, n = o - v; l.srcArrowAngle = r.getAngleFromDisp(t, n); var m = l.midX, v = l.midY; if (c && (m = (i + a) / 2, v = (o + s) / 2), t = a - i, n = s - o, p) if ((g = l.allpts).length / 2 % 2 == 0) { var b = (y = g.length / 2) - 2; t = g[y] - g[b], n = g[y + 1] - g[b + 1] } else { b = (y = g.length / 2 - 1) - 2; var y, x = y + 2; t = g[y] - g[b], n = g[y + 1] - g[b + 1] } else if (d || f || h) { var w, k, A, E, g = l.allpts; if (l.ctrlpts.length / 2 % 2 == 0) { var S = 2 + ($ = 2 + (C = g.length / 2 - 1)); w = r.qbezierAt(g[C], g[$], g[S], 0), k = r.qbezierAt(g[C + 1], g[$ + 1], g[S + 1], 0), A = r.qbezierAt(g[C], g[$], g[S], 1e-4), E = r.qbezierAt(g[C + 1], g[$ + 1], g[S + 1], 1e-4) } else { var $, C = ($ = g.length / 2 - 1) - 2; S = $ + 2, w = r.qbezierAt(g[C], g[$], g[S], .4999), k = r.qbezierAt(g[C + 1], g[$ + 1], g[S + 1], .4999), A = r.qbezierAt(g[C], g[$], g[S], .5), E = r.qbezierAt(g[C + 1], g[$ + 1], g[S + 1], .5) } t = A - w, n = E - k } if (l.midtgtArrowAngle = r.getAngleFromDisp(t, n), l.midDispX = t, l.midDispY = n, t *= -1, n *= -1, p && ((g = l.allpts).length / 2 % 2 == 0 || (t = -(g[x = 2 + (y = g.length / 2 - 1)] - g[y]), n = -(g[x + 1] - g[y + 1]))), l.midsrcArrowAngle = r.getAngleFromDisp(t, n), p) t = a - l.segpts[l.segpts.length - 2], n = s - l.segpts[l.segpts.length - 1]; else if (d || f || h || u) { var _ = (g = l.allpts).length; t = a - r.qbezierAt(g[_ - 6], g[_ - 4], g[_ - 2], .9), n = s - r.qbezierAt(g[_ - 5], g[_ - 3], g[_ - 1], .9) } else t = a - m, n = s - v; l.tgtArrowAngle = r.getAngleFromDisp(t, n) } }; i.getArrowWidth = i.getArrowHeight = function (e, t) { var n = this.arrowWidthCache = this.arrowWidthCache || {}, r = n[e + ", " + t]; return r || (r = Math.max(Math.pow(13.37 * e, .9), 29) * t, n[e + ", " + t] = r, r) }, e.exports = i }, function (e, t, n) { "use strict"; var r = n(2), i = n(0), o = {}; function a(e) { var t = []; if (null != e) { for (var n = 0; n < e.length; n += 2) { var r = e[n], i = e[n + 1]; t.push({ x: r, y: i }) } return t } } o.findEdgeControlPoints = function (e) { if (e && 0 !== e.length) { for (var t, n, o, a, s, l = this, c = l.cy.hasCompoundNodes(), u = {}, d = [], p = [], f = 0; f < e.length; f++) { var h = (Ft = (Bt = e[f])._private).data, g = "unbundled-bezier" === (D = Bt.pstyle("curve-style").value) || "segments" === D, m = "unbundled-bezier" === D || "bezier" === D; if ("none" !== Bt.pstyle("display").value) if ("haystack" !== D) { var v = h.source, b = h.target; t = v > b ? b + "$-$" + v : v + "$-$" + b, g && (t = "unbundled$-$" + h.id); var y = u[t]; null == y && (y = u[t] = [], d.push(t)), y.push(Bt), g && (y.hasUnbundled = !0), m && (y.hasBezier = !0) } else p.push(Bt) } for (var x = 0; x < d.length; x++) { var w = u[t = d[x]]; if (w.sort((function (e, t) { return e.poolIndex() - t.poolIndex() })), Ht = w[0]._private.source, Gt = w[0]._private.target, !w.hasUnbundled && Ht.id() > Gt.id()) { var k = Ht; Ht = Gt, Gt = k } Wt = Ht.position(), Yt = Gt.position(), Xt = Ht.outerWidth(), Qt = Ht.outerHeight(), Zt = Gt.outerWidth(), Jt = Gt.outerHeight(), n = l.nodeShapes[this.getNodeShape(Ht)], o = l.nodeShapes[this.getNodeShape(Gt)], s = !1; var A = { north: 0, west: 0, south: 0, east: 0, northwest: 0, southwest: 0, northeast: 0, southeast: 0 }, E = Wt.x, S = Wt.y, $ = Xt, C = Qt, _ = Yt.x, O = Yt.y, T = Zt, j = Jt, P = w.length; for (f = 0; f < w.length; f++) { var D, R, I = (Vt = (Bt = w[f])._private.rscratch).lastEdgeIndex, N = f, M = Vt.lastNumEdges, z = (g = "unbundled-bezier" === (D = Bt.pstyle("curve-style").value) || "segments" === D, Ht.id() !== Bt.source().id()), L = Bt.pstyle("control-point-distances"), B = Bt.pstyle("loop-direction").pfValue, F = Bt.pstyle("loop-sweep").pfValue, q = Bt.pstyle("control-point-weights"), V = L && q ? Math.min(L.value.length, q.value.length) : 1, U = Bt.pstyle("control-point-step-size").pfValue, H = L ? L.pfValue[0] : void 0, G = q.value[0], W = Bt.pstyle("edge-distances").value, Y = Bt.pstyle("segment-weights"), X = Bt.pstyle("segment-distances"), Z = Math.min(Y.pfValue.length, X.pfValue.length), Q = Bt.pstyle("source-endpoint").value, J = Bt.pstyle("target-endpoint").value, K = Bt.pstyle("source-arrow-shape").value, ee = Bt.pstyle("target-arrow-shape").value, te = Bt.pstyle("arrow-scale").value, ne = Bt.pstyle("width").pfValue, re = Vt.lastSrcCtlPtX, ie = Vt.lastSrcCtlPtY, oe = Vt.lastSrcCtlPtW, ae = Vt.lastSrcCtlPtH, se = Vt.lastTgtCtlPtX, le = Vt.lastTgtCtlPtY, ce = Vt.lastTgtCtlPtW, ue = Vt.lastTgtCtlPtH, de = Vt.lastCurveStyle, pe = D, fe = Vt.lastCtrlptDists, he = L ? L.strValue : null, ge = Vt.lastCtrlptWs, me = q.strValue, ve = Vt.lastSegmentWs, be = Y.strValue, ye = Vt.lastSegmentDs, xe = X.strValue, we = Vt.lastStepSize, ke = U, Ae = Vt.lastLoopDir, Ee = B, Se = Vt.lastLoopSwp, $e = F, Ce = Vt.lastEdgeDistances, _e = W, Oe = Vt.lastSrcEndpt, Te = Q, je = Vt.lastTgtEndpt, Pe = J, De = Vt.lastSrcArr, Re = K, Ie = Vt.lastTgtArr, Ne = ee, Me = Vt.lastLineW, ze = ne, Le = Vt.lastArrScl, Be = te; if (Vt.badBezier = !!s, re === E && ie === S && oe === $ && ae === C && se === _ && le === O && ce === T && ue === j && de === pe && fe === he && ge === me && ve === be && ye === xe && we === ke && Ae === Ee && Se === $e && Ce === _e && Oe === Te && je === Pe && De === Re && Ie === Ne && Me === ze && Le === Be && (I === N && M === P || g) ? R = !0 : (R = !1, Vt.lastSrcCtlPtX = E, Vt.lastSrcCtlPtY = S, Vt.lastSrcCtlPtW = $, Vt.lastSrcCtlPtH = C, Vt.lastTgtCtlPtX = _, Vt.lastTgtCtlPtY = O, Vt.lastTgtCtlPtW = T, Vt.lastTgtCtlPtH = j, Vt.lastEdgeIndex = N, Vt.lastNumEdges = P, Vt.lastCurveStyle = pe, Vt.lastCtrlptDists = he, Vt.lastCtrlptWs = me, Vt.lastSegmentDs = xe, Vt.lastSegmentWs = be, Vt.lastStepSize = ke, Vt.lastLoopDir = Ee, Vt.lastLoopSwp = $e, Vt.lastEdgeDistances = _e, Vt.lastSrcEndpt = Te, Vt.lastTgtEndpt = Pe, Vt.lastSrcArr = Re, Vt.lastTgtArr = Ne, Vt.lastLineW = ze, Vt.lastArrScl = Be), !R) { if (!w.calculatedIntersection && Ht !== Gt && (w.hasBezier || w.hasUnbundled)) { w.calculatedIntersection = !0; var Fe = n.intersectLine(Wt.x, Wt.y, Xt, Qt, Yt.x, Yt.y, 0); w.srcIntn = Fe; var qe = o.intersectLine(Yt.x, Yt.y, Zt, Jt, Wt.x, Wt.y, 0); w.tgtIntn = qe; var Ve = { x1: Fe[0], x2: qe[0], y1: Fe[1], y2: qe[1] }, Ue = { x1: Wt.x, x2: Yt.x, y1: Wt.y, y2: Yt.y }, He = qe[1] - Fe[1], Ge = qe[0] - Fe[0], We = Math.sqrt(Ge * Ge + He * He), Ye = { x: Ge, y: He }, Xe = { x: Ye.x / We, y: Ye.y / We }; a = { x: -Xe.y, y: Xe.x }, o.checkPoint(Fe[0], Fe[1], 0, Zt, Jt, Yt.x, Yt.y) && n.checkPoint(qe[0], qe[1], 0, Xt, Qt, Wt.x, Wt.y) && (a = {}, s = !0) } if (z ? (Vt.srcIntn = w.tgtIntn, Vt.tgtIntn = w.srcIntn) : (Vt.srcIntn = w.srcIntn, Vt.tgtIntn = w.tgtIntn), Ht === Gt) { Vt.edgeType = "self"; var Ze = f, Qe = U; g && (Ze = 0, Qe = H); var Je = B - Math.PI / 2, Ke = Je - F / 2, et = Je + F / 2, tt = String(B + "_" + F); Ze = void 0 === A[tt] ? A[tt] = 0 : ++A[tt], Vt.ctrlpts = [Wt.x + 1.4 * Math.cos(Ke) * Qe * (Ze / 3 + 1), Wt.y + 1.4 * Math.sin(Ke) * Qe * (Ze / 3 + 1), Wt.x + 1.4 * Math.cos(et) * Qe * (Ze / 3 + 1), Wt.y + 1.4 * Math.sin(et) * Qe * (Ze / 3 + 1)] } else if (c && (Ht.isParent() || Ht.isChild() || Gt.isParent() || Gt.isChild()) && (Ht.parents().anySame(Gt) || Gt.parents().anySame(Ht))) { Vt.edgeType = "compound", Vt.badBezier = !1, Ze = f, Qe = U, g && (Ze = 0, Qe = H); var nt = { x: Wt.x - Xt / 2, y: Wt.y - Qt / 2 }, rt = { x: Yt.x - Zt / 2, y: Yt.y - Jt / 2 }, it = { x: Math.min(nt.x, rt.x), y: Math.min(nt.y, rt.y) }, ot = Math.max(.5, Math.log(.01 * Xt)), at = Math.max(.5, Math.log(.01 * Zt)); Vt.ctrlpts = [it.x, it.y - (1 + Math.pow(50, 1.12) / 100) * Qe * (Ze / 3 + 1) * ot, it.x - (1 + Math.pow(50, 1.12) / 100) * Qe * (Ze / 3 + 1) * at, it.y] } else if ("segments" === D) { Vt.edgeType = "segments", Vt.segpts = []; for (var st = 0; st < Z; st++) { var lt = Y.pfValue[st], ct = X.pfValue[st], ut = 1 - lt, dt = lt, pt = { x: (bt = "node-position" === W ? Ue : Ve).x1 * ut + bt.x2 * dt, y: bt.y1 * ut + bt.y2 * dt }; Vt.segpts.push(pt.x + a.x * ct, pt.y + a.y * ct) } } else if (w.length % 2 != 1 || f !== Math.floor(w.length / 2) || g) { var ft = g; Vt.edgeType = ft ? "multibezier" : "bezier", Vt.ctrlpts = []; for (var ht = 0; ht < V; ht++) { var gt, mt = (.5 - w.length / 2 + f) * U, vt = r.signum(mt); ft && (H = L ? L.pfValue[ht] : U, G = q.value[ht]); var bt, yt = void 0 !== (gt = g ? H : void 0 !== H ? vt * H : void 0) ? gt : mt; ut = 1 - G, dt = G, z && (k = ut, ut = dt, dt = k), pt = { x: (bt = "node-position" === W ? Ue : Ve).x1 * ut + bt.x2 * dt, y: bt.y1 * ut + bt.y2 * dt }, Vt.ctrlpts.push(pt.x + a.x * yt, pt.y + a.y * yt) } } else Vt.edgeType = "straight"; this.findEndpoints(Bt); var xt = !i.number(Vt.startX) || !i.number(Vt.startY), wt = !i.number(Vt.arrowStartX) || !i.number(Vt.arrowStartY), kt = !i.number(Vt.endX) || !i.number(Vt.endY), At = !i.number(Vt.arrowEndX) || !i.number(Vt.arrowEndY), Et = this.getArrowWidth(Bt.pstyle("width").pfValue, Bt.pstyle("arrow-scale").value) * this.arrowShapeWidth * 3; if ("bezier" === Vt.edgeType) { var St = r.dist({ x: Vt.ctrlpts[0], y: Vt.ctrlpts[1] }, { x: Vt.startX, y: Vt.startY }), $t = St < Et, Ct = r.dist({ x: Vt.ctrlpts[0], y: Vt.ctrlpts[1] }, { x: Vt.endX, y: Vt.endY }), _t = Ct < Et, Ot = !1; if (xt || wt || $t) { Ot = !0; var Tt = { x: Vt.ctrlpts[0] - Wt.x, y: Vt.ctrlpts[1] - Wt.y }, jt = Math.sqrt(Tt.x * Tt.x + Tt.y * Tt.y), Pt = { x: Tt.x / jt, y: Tt.y / jt }, Dt = Math.max(Xt, Qt), Rt = { x: Vt.ctrlpts[0] + 2 * Pt.x * Dt, y: Vt.ctrlpts[1] + 2 * Pt.y * Dt }, It = n.intersectLine(Wt.x, Wt.y, Xt, Qt, Rt.x, Rt.y, 0); $t ? (Vt.ctrlpts[0] = Vt.ctrlpts[0] + Pt.x * (Et - St), Vt.ctrlpts[1] = Vt.ctrlpts[1] + Pt.y * (Et - St)) : (Vt.ctrlpts[0] = It[0] + Pt.x * Et, Vt.ctrlpts[1] = It[1] + Pt.y * Et) } if (kt || At || _t) { Ot = !0, Tt = { x: Vt.ctrlpts[0] - Yt.x, y: Vt.ctrlpts[1] - Yt.y }, jt = Math.sqrt(Tt.x * Tt.x + Tt.y * Tt.y), Pt = { x: Tt.x / jt, y: Tt.y / jt }, Dt = Math.max(Xt, Qt), Rt = { x: Vt.ctrlpts[0] + 2 * Pt.x * Dt, y: Vt.ctrlpts[1] + 2 * Pt.y * Dt }; var Nt = o.intersectLine(Yt.x, Yt.y, Zt, Jt, Rt.x, Rt.y, 0); _t ? (Vt.ctrlpts[0] = Vt.ctrlpts[0] + Pt.x * (Et - Ct), Vt.ctrlpts[1] = Vt.ctrlpts[1] + Pt.y * (Et - Ct)) : (Vt.ctrlpts[0] = Nt[0] + Pt.x * Et, Vt.ctrlpts[1] = Nt[1] + Pt.y * Et) } Ot && this.findEndpoints(Bt) } if ("multibezier" === Vt.edgeType || "bezier" === Vt.edgeType || "self" === Vt.edgeType || "compound" === Vt.edgeType) { for (Vt.allpts = [], Vt.allpts.push(Vt.startX, Vt.startY), ht = 0; ht + 1 < Vt.ctrlpts.length; ht += 2)Vt.allpts.push(Vt.ctrlpts[ht], Vt.ctrlpts[ht + 1]), ht + 3 < Vt.ctrlpts.length && Vt.allpts.push((Vt.ctrlpts[ht] + Vt.ctrlpts[ht + 2]) / 2, (Vt.ctrlpts[ht + 1] + Vt.ctrlpts[ht + 3]) / 2); var Mt; Vt.allpts.push(Vt.endX, Vt.endY), Vt.ctrlpts.length / 2 % 2 == 0 ? (Mt = Vt.allpts.length / 2 - 1, Vt.midX = Vt.allpts[Mt], Vt.midY = Vt.allpts[Mt + 1]) : (Mt = Vt.allpts.length / 2 - 3, Vt.midX = r.qbezierAt(Vt.allpts[Mt], Vt.allpts[Mt + 2], Vt.allpts[Mt + 4], .5), Vt.midY = r.qbezierAt(Vt.allpts[Mt + 1], Vt.allpts[Mt + 3], Vt.allpts[Mt + 5], .5)) } else if ("straight" === Vt.edgeType) Vt.allpts = [Vt.startX, Vt.startY, Vt.endX, Vt.endY], Vt.midX = (Vt.startX + Vt.endX + Vt.arrowStartX + Vt.arrowEndX) / 4, Vt.midY = (Vt.startY + Vt.endY + Vt.arrowStartY + Vt.arrowEndY) / 4; else if ("segments" === Vt.edgeType) if (Vt.allpts = [], Vt.allpts.push(Vt.startX, Vt.startY), Vt.allpts.push.apply(Vt.allpts, Vt.segpts), Vt.allpts.push(Vt.endX, Vt.endY), Vt.segpts.length % 4 == 0) { var zt = Vt.segpts.length / 2, Lt = zt - 2; Vt.midX = (Vt.segpts[Lt] + Vt.segpts[zt]) / 2, Vt.midY = (Vt.segpts[Lt + 1] + Vt.segpts[zt + 1]) / 2 } else Lt = Vt.segpts.length / 2 - 1, Vt.midX = Vt.segpts[Lt], Vt.midY = Vt.segpts[Lt + 1]; this.storeEdgeProjections(Bt), this.calculateArrowAngles(Bt) } this.recalculateEdgeLabelProjections(Bt), this.calculateLabelAngles(Bt) } } for (f = 0; f < p.length; f++) { var Bt, Ft, qt = (Ft = (Bt = p[f])._private).rscratch, Vt = qt; if (!qt.haystack) { var Ut = 2 * Math.random() * Math.PI; qt.source = { x: Math.cos(Ut), y: Math.sin(Ut) }, Ut = 2 * Math.random() * Math.PI, qt.target = { x: Math.cos(Ut), y: Math.sin(Ut) } } var Ht = Ft.source, Gt = Ft.target, Wt = Ht.position(), Yt = Gt.position(), Xt = Ht.width(), Zt = Gt.width(), Qt = Ht.height(), Jt = Gt.height(), Kt = (Dt = Bt.pstyle("haystack-radius").value) / 2; Vt.haystackPts = Vt.allpts = [Vt.source.x * Xt * Kt + Wt.x, Vt.source.y * Qt * Kt + Wt.y, Vt.target.x * Zt * Kt + Yt.x, Vt.target.y * Jt * Kt + Yt.y], Vt.midX = (Vt.allpts[0] + Vt.allpts[2]) / 2, Vt.midY = (Vt.allpts[1] + Vt.allpts[3]) / 2, qt.edgeType = qt.lastCurveStyle = "haystack", qt.haystack = !0, this.storeEdgeProjections(Bt), this.calculateArrowAngles(Bt), this.recalculateEdgeLabelProjections(Bt), this.calculateLabelAngles(Bt) } } }, o.getSegmentPoints = function (e) { var t = e[0]._private.rscratch; if ("segments" === t.edgeType) return a(t.segpts) }, o.getControlPoints = function (e) { var t = e[0]._private.rscratch, n = t.edgeType; if ("bezier" === n || "multibezier" === n || "self" === n || "compound" === n) return a(t.ctrlpts) }, o.getEdgeMidpoint = function (e) { var t = e[0]._private.rscratch; return { x: t.midX, y: t.midY } }, e.exports = o }, function (e, t, n) { "use strict"; var r = n(2), i = n(0), o = { manualEndptToPx: function (e, t) { var n = e.position(), r = e.outerWidth(), i = e.outerHeight(); if (2 === t.value.length) { var o = [t.pfValue[0], t.pfValue[1]]; return "%" === t.units[0] && (o[0] = o[0] * r), "%" === t.units[1] && (o[1] = o[1] * i), o[0] += n.x, o[1] += n.y, o } var a = t.pfValue[0]; a = -Math.PI / 2 + a; var s = 2 * Math.max(r, i), l = [n.x + Math.cos(a) * s, n.y + Math.sin(a) * s]; return this.nodeShapes[this.getNodeShape(e)].intersectLine(n.x, n.y, r, i, l[0], l[1], 0) }, findEndpoints: function (e) { var t = this, n = void 0, o = e.source()[0], a = e.target()[0], s = o.position(), l = a.position(), c = e.pstyle("target-arrow-shape").value, u = e.pstyle("source-arrow-shape").value, d = e.pstyle("target-distance-from-node").pfValue, p = e.pstyle("source-distance-from-node").pfValue, f = e._private.rscratch, h = f.edgeType, g = "self" === h || "compound" === h, m = "bezier" === h || "multibezier" === h || g, v = "bezier" !== h, b = "straight" === h || "segments" === h, y = "segments" === h, x = m || v || b, w = e.pstyle("source-endpoint"), k = g ? "outside-to-node" : w.value, A = e.pstyle("target-endpoint"), E = g ? "outside-to-node" : A.value; f.srcManEndpt = w, f.tgtManEndpt = A; var S = void 0, $ = void 0, C = void 0, _ = void 0; if (m) { var O = [f.ctrlpts[0], f.ctrlpts[1]]; S = v ? [f.ctrlpts[f.ctrlpts.length - 2], f.ctrlpts[f.ctrlpts.length - 1]] : O, $ = O } else if (b) { var T = y ? f.segpts.slice(0, 2) : [l.x, l.y]; S = y ? f.segpts.slice(f.segpts.length - 2) : [s.x, s.y], $ = T } "inside-to-node" === E ? n = [l.x, l.y] : A.units ? n = this.manualEndptToPx(a, A) : "outside-to-line" === E ? n = f.tgtIntn : ("outside-to-node" === E ? C = S : "outside-to-line" === E && (C = [s.x, s.y]), n = t.nodeShapes[this.getNodeShape(a)].intersectLine(l.x, l.y, a.outerWidth(), a.outerHeight(), C[0], C[1], 0)); var j = r.shortenIntersection(n, S, t.arrowShapes[c].spacing(e) + d), P = r.shortenIntersection(n, S, t.arrowShapes[c].gap(e) + d); e.hasClass("horizontal") ? (f.endX = n[0] - d, f.endY = n[1], f.arrowEndX = n[0] - d / 2, f.arrowEndY = n[1]) : e.hasClass("vertical") ? (f.endX = n[0], f.endY = n[1] - d, f.arrowEndX = n[0], f.arrowEndY = n[1] - d / 2) : (f.endX = P[0], f.endY = P[1], f.arrowEndX = j[0], f.arrowEndY = j[1]), "inside-to-node" === k ? n = [s.x, s.y] : w.units ? n = this.manualEndptToPx(o, w) : "outside-to-line" === k ? n = f.srcIntn : ("outside-to-node" === k ? _ = $ : "outside-to-line" === k && (_ = [l.x, l.y]), n = t.nodeShapes[this.getNodeShape(o)].intersectLine(s.x, s.y, o.outerWidth(), o.outerHeight(), _[0], _[1], 0)); var D = r.shortenIntersection(n, $, t.arrowShapes[u].spacing(e) + p), R = r.shortenIntersection(n, $, t.arrowShapes[u].gap(e) + p); f.startX = R[0], f.startY = R[1], f.arrowStartX = D[0], f.arrowStartY = D[1], x && (i.number(f.startX) && i.number(f.startY) && i.number(f.endX) && i.number(f.endY) ? f.badLine = !1 : f.badLine = !0) }, getSourceEndpoint: function (e) { var t = e[0]._private.rscratch; switch (t.edgeType) { case "haystack": return { x: t.haystackPts[0], y: t.haystackPts[1] }; default: return { x: t.arrowStartX, y: t.arrowStartY } } }, getTargetEndpoint: function (e) { var t = e[0]._private.rscratch; switch (t.edgeType) { case "haystack": return { x: t.haystackPts[2], y: t.haystackPts[3] }; default: return { x: t.arrowEndX, y: t.arrowEndY } } } }; e.exports = o }, function (e, t, n) { "use strict"; var r = n(2), i = {}; function o(e, t, n) { for (var i = function (e, t, n, i) { return r.qbezierAt(e, t, n, i) }, o = t._private.rstyle.bezierPts, a = 0; a < e.bezierProjPcts.length; a++) { var s = e.bezierProjPcts[a]; o.push({ x: i(n[0], n[2], n[4], s), y: i(n[1], n[3], n[5], s) }) } } i.storeEdgeProjections = function (e) { var t = e._private, n = t.rscratch, r = n.edgeType; if (t.rstyle.bezierPts = null, t.rstyle.linePts = null, t.rstyle.haystackPts = null, "multibezier" === r || "bezier" === r || "self" === r || "compound" === r) { t.rstyle.bezierPts = []; for (var i = 0; i + 5 < n.allpts.length; i += 4)o(this, e, n.allpts.slice(i, i + 6)) } else if ("segments" === r) { var a = t.rstyle.linePts = []; for (i = 0; i + 1 < n.allpts.length; i += 2)a.push({ x: n.allpts[i], y: n.allpts[i + 1] }) } else if ("haystack" === r) { var s = n.haystackPts; t.rstyle.haystackPts = [{ x: s[0], y: s[1] }, { x: s[2], y: s[3] }] } t.rstyle.arrowWidth = this.getArrowWidth(e.pstyle("width").pfValue, e.pstyle("arrow-scale").value) * this.arrowShapeWidth }, i.recalculateEdgeProjections = function (e) { this.findEdgeControlPoints(e) }, e.exports = i }, function (e, t, n) { "use strict"; var r = n(2), i = n(0), o = n(1), a = { recalculateNodeLabelProjection: function (e) { var t = e.pstyle("label").strValue; if (!i.emptyString(t)) { var n, r, o = e._private, a = e.width(), s = e.height(), l = e.padding(), c = e.position(), u = e.pstyle("text-halign").strValue, d = e.pstyle("text-valign").strValue, p = o.rscratch, f = o.rstyle; switch (u) { case "left": n = c.x - a / 2 - l; break; case "right": n = c.x + a / 2 + l; break; default: n = c.x }switch (d) { case "top": r = c.y - s / 2 - l; break; case "bottom": r = c.y + s / 2 + l; break; default: r = c.y }p.labelX = n, p.labelY = r, f.labelX = n, f.labelY = r, this.applyLabelDimensions(e) } }, recalculateEdgeLabelProjections: function (e) { var t, n = e._private, i = n.rscratch, a = this, s = { mid: e.pstyle("label").strValue, source: e.pstyle("source-label").strValue, target: e.pstyle("target-label").strValue }; if (s.mid || s.source || s.target) { t = { x: i.midX, y: i.midY }; var l = function (e, t, r) { o.setPrefixedProperty(n.rscratch, e, t, r), o.setPrefixedProperty(n.rstyle, e, t, r) }; l("labelX", null, t.x), l("labelY", null, t.y); var c = function (o) { var c, u = "source" === o; if (s[o]) { var d = e.pstyle(o + "-text-offset").pfValue, p = function (e, t) { var n = t.x - e.x, r = t.y - e.y; return Math.atan(r / n) }; switch (i.edgeType) { case "self": case "compound": case "bezier": case "multibezier": for (var f, h = function e() { if (e.cache) return e.cache; for (var t = [], o = 0; o + 5 < i.allpts.length; o += 4) { var s = { x: i.allpts[o], y: i.allpts[o + 1] }, l = { x: i.allpts[o + 2], y: i.allpts[o + 3] }, c = { x: i.allpts[o + 4], y: i.allpts[o + 5] }; t.push({ p0: s, p1: l, p2: c, startDist: 0, length: 0, segments: [] }) } var u = n.rstyle.bezierPts, d = a.bezierProjPcts.length; function p(e, t, n, i, o) { var a = r.dist(t, n), s = e.segments[e.segments.length - 1], l = { p0: t, p1: n, t0: i, t1: o, startDist: s ? s.startDist + s.length : 0, length: a }; e.segments.push(l), e.length += a } for (o = 0; o < t.length; o++) { var f = t[o], h = t[o - 1]; h && (f.startDist = h.startDist + h.length), p(f, f.p0, u[o * d], 0, a.bezierProjPcts[0]); for (var g = 0; g < d - 1; g++)p(f, u[o * d + g], u[o * d + g + 1], a.bezierProjPcts[g], a.bezierProjPcts[g + 1]); p(f, u[o * d + d - 1], f.p2, a.bezierProjPcts[d - 1], 1) } return e.cache = t }(), g = 0, m = 0, v = 0; v < h.length; v++) { for (var b = h[u ? v : h.length - 1 - v], y = 0; y < b.segments.length; y++) { var x = b.segments[u ? y : b.segments.length - 1 - y], w = v === h.length - 1 && y === b.segments.length - 1; if (g = m, (m += x.length) >= d || w) { f = { cp: b, segment: x }; break } } if (f) break } b = f.cp; var k = (d - g) / (x = f.segment).length, A = x.t1 - x.t0, E = u ? x.t0 + A * k : x.t1 - A * k; E = r.bound(0, E, 1), t = r.qbezierPtAt(b.p0, b.p1, b.p2, E), c = function (e, t, n, i) { var o = r.bound(0, i - .001, 1), a = r.bound(0, i + .001, 1), s = r.qbezierPtAt(e, t, n, o), l = r.qbezierPtAt(e, t, n, a); return p(s, l) }(b.p0, b.p1, b.p2, E); break; case "straight": case "segments": case "haystack": var S, $, C, _, O = 0, T = i.allpts.length; for (v = 0; v + 3 < T && (u ? (C = { x: i.allpts[v], y: i.allpts[v + 1] }, _ = { x: i.allpts[v + 2], y: i.allpts[v + 3] }) : (C = { x: i.allpts[T - 2 - v], y: i.allpts[T - 1 - v] }, _ = { x: i.allpts[T - 4 - v], y: i.allpts[T - 3 - v] }), $ = O, !((O += S = r.dist(C, _)) >= d)); v += 2); E = (d - $) / S, E = r.bound(0, E, 1), t = r.lineAt(C, _, E), c = p(C, _) }l("labelX", o, t.x), l("labelY", o, t.y), l("labelAutoAngle", o, c) } }; c("source"), c("target"), this.applyLabelDimensions(e) } }, applyLabelDimensions: function (e) { this.applyPrefixedLabelDimensions(e), e.isEdge() && (this.applyPrefixedLabelDimensions(e, "source"), this.applyPrefixedLabelDimensions(e, "target")) }, applyPrefixedLabelDimensions: function (e, t) { var n = e._private, r = this.getLabelText(e, t), i = this.calculateLabelDimensions(e, r); o.setPrefixedProperty(n.rstyle, "labelWidth", t, i.width), o.setPrefixedProperty(n.rscratch, "labelWidth", t, i.width), o.setPrefixedProperty(n.rstyle, "labelHeight", t, i.height), o.setPrefixedProperty(n.rscratch, "labelHeight", t, i.height) }, getLabelText: function (e, t) { var n = e._private, r = t ? t + "-" : "", i = e.pstyle(r + "label").strValue, a = e.pstyle("text-transform").value, s = function (e, r) { return r ? (o.setPrefixedProperty(n.rscratch, e, t, r), r) : o.getPrefixedProperty(n.rscratch, e, t) }; "none" == a || ("uppercase" == a ? i = i.toUpperCase() : "lowercase" == a && (i = i.toLowerCase())); var l = e.pstyle("text-wrap").value; if ("wrap" === l) { var c = s("labelKey"); if (c && s("labelWrapKey") === c) return s("labelWrapCachedText"); for (var u = i.split("\n"), d = e.pstyle("text-max-width").pfValue, p = [], f = 0; f < u.length; f++) { var h = u[f]; if (this.calculateLabelDimensions(e, h, "line=" + h).width > d) { for (var g = h.split(/\s+/), m = "", v = 0; v < g.length; v++) { var b = g[v], y = 0 === m.length ? b : m + " " + b; this.calculateLabelDimensions(e, y, "testLine=" + y).width <= d ? m += b + " " : (p.push(m), m = b + " ") } m.match(/^\s+$/) || p.push(m) } else p.push(h) } s("labelWrapCachedLines", p), i = s("labelWrapCachedText", p.join("\n")), s("labelWrapKey", c) } else if ("ellipsis" === l) { d = e.pstyle("text-max-width").pfValue; for (var x = "", w = !1, k = 0; k < i.length && !(this.calculateLabelDimensions(e, x + i[k] + "…").width > d); k++)x += i[k], k === i.length - 1 && (w = !0); return w || (x += "…"), x } return i }, calculateLabelDimensions: function (e, t, n) { var r = e._private.labelStyleKey + "$@$" + t; n && (r += "$@$" + n); var i = this.labelDimCache || (this.labelDimCache = {}); if (i[r]) return i[r]; var o = e.pstyle("font-style").strValue, a = 1 * e.pstyle("font-size").pfValue + "px", s = e.pstyle("font-family").strValue, l = e.pstyle("font-weight").strValue, c = this.labelCalcDiv; c || (c = this.labelCalcDiv = document.createElement("div"), document.body.appendChild(c)); var u = c.style; return u.fontFamily = s, u.fontStyle = o, u.fontSize = a, u.fontWeight = l, u.position = "absolute", u.left = "-9999px", u.top = "-9999px", u.zIndex = "-1", u.visibility = "hidden", u.pointerEvents = "none", u.padding = "0", u.lineHeight = "1", "wrap" === e.pstyle("text-wrap").value ? u.whiteSpace = "pre" : u.whiteSpace = "normal", c.textContent = t, i[r] = { width: Math.ceil(c.clientWidth / 1), height: Math.ceil(c.clientHeight / 1) }, i[r] }, calculateLabelAngles: function (e) { var t = e._private.rscratch, n = e.isEdge(), r = e.pstyle("text-rotation"), i = r.strValue; "none" === i ? t.labelAngle = t.sourceLabelAngle = t.targetLabelAngle = 0 : n && "autorotate" === i ? (t.labelAngle = Math.atan(t.midDispY / t.midDispX), t.sourceLabelAngle = t.sourceLabelAutoAngle, t.targetLabelAngle = t.targetLabelAutoAngle) : t.labelAngle = t.sourceLabelAngle = t.targetLabelAngle = "autorotate" === i ? 0 : r.pfValue } }; e.exports = a }, function (e, t, n) { "use strict"; var r = { getNodeShape: function (e) { var t = e.pstyle("shape").value; if (e.isParent()) return "rectangle" === t || "roundrectangle" === t || "cutrectangle" === t || "barrel" === t ? t : "rectangle"; if ("polygon" === t) { var n = e.pstyle("shape-polygon-points").value; return this.nodeShapes.makePolygon(n).name } return t } }; e.exports = r }, function (e, t, n) { "use strict"; var r = { registerCalculationListeners: function () { var e = this.cy, t = e.collection(), n = this, r = function (e, n) { var r = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2]; t.merge(e); for (var i = 0; i < e.length; i++) { var o = e[i], a = o._private, s = a.rstyle; r && (s.clean = !1, a.bbCache = null); var l = s.dirtyEvents = s.dirtyEvents || { length: 0 }; l[n.type] || (l[n.type] = !0, l.length++) } }; n.binder(e).on("position.* style.* free.* bounds.*", "node", (function (e) { var t = e.target; r(t, e), r(t.connectedEdges(), e) })).on("add.*", "node", (function (e) { var t = e.target; r(t, e) })).on("background.*", "node", (function (e) { var t = e.target; r(t, e, !1) })).on("add.* style.*", "edge", (function (e) { var t = e.target; r(t, e), r(t.parallelEdges(), e) })).on("remove.*", "edge", (function (e) { for (var t = e.target.parallelEdges(), n = 0; n < t.length; n++) { var i = t[n]; i.removed() || r(i, e) } })).on("dirty.*", "node", (function (e) { var t = e.target; r(t, e) })), n.beforeRender((function (r) { if (r) { var i = n.onUpdateEleCalcsFns; if (i) for (var o = 0; o < i.length; o++)(0, i[o])(r, t); for (n.recalculateRenderedStyle(t, !1), o = 0; o < t.length; o++)t[o]._private.rstyle.dirtyEvents = null; t = e.collection() } }), n.beforeRenderPriorities.eleCalcs) }, onUpdateEleCalcs: function (e) { (this.onUpdateEleCalcsFns = this.onUpdateEleCalcsFns || []).push(e) }, recalculateRenderedStyle: function (e, t) { var n = [], r = []; if (!this.destroyed) { void 0 === t && (t = !0); for (var i = 0; i < e.length; i++) { var o = (l = (s = e[i])._private).rstyle; t && o.clean || s.removed() || "none" !== s.pstyle("display").value && ("nodes" === l.group ? r.push(s) : n.push(s), o.clean = !0) } for (i = 0; i < r.length; i++) { o = (l = (s = r[i])._private).rstyle; var a = s.position(); this.recalculateNodeLabelProjection(s), o.nodeX = a.x, o.nodeY = a.y, o.nodeW = s.pstyle("width").pfValue, o.nodeH = s.pstyle("height").pfValue } for (this.recalculateEdgeProjections(n), i = 0; i < n.length; i++) { o = (l = (s = n[i])._private).rstyle; var s, l, c = l.rscratch; this.recalculateEdgeLabelProjections(s), o.srcX = c.arrowStartX, o.srcY = c.arrowStartY, o.tgtX = c.arrowEndX, o.tgtY = c.arrowEndY, o.midX = c.midX, o.midY = c.midY, o.labelAngle = c.labelAngle, o.sourceLabelAngle = c.sourceLabelAngle, o.targetLabelAngle = c.targetLabelAngle } } } }; e.exports = r }, function (e, t, n) { "use strict"; var r = n(17), i = { updateCachedGrabbedEles: function () { var e = this.cachedZSortedEles; if (e) { e.drag = [], e.nondrag = []; for (var t = [], n = 0; n < e.length; n++) { var r = (i = e[n])._private.rscratch; i.grabbed() && !i.isParent() ? t.push(i) : r.inDragLayer ? e.drag.push(i) : e.nondrag.push(i) } for (n = 0; n < t.length; n++) { var i = t[n]; e.drag.push(i) } } }, invalidateCachedZSortedEles: function () { this.cachedZSortedEles = null }, getCachedZSortedEles: function (e) { if (e || !this.cachedZSortedEles) { var t = this.cy.mutableElements().toArray(); t.sort(r), t.interactive = t.filter((function (e) { return e.interactive() })), this.cachedZSortedEles = t, this.updateCachedGrabbedEles() } else t = this.cachedZSortedEles; return t } }; e.exports = i }, function (e, t, n) { "use strict"; var r = { getCachedImage: function (e, t, n) { var r = this.imageCache = this.imageCache || {}, i = r[e]; if (i) return i.image.complete || i.image.addEventListener("load", n), i.image; var o = (i = r[e] = r[e] || {}).image = new Image; return o.addEventListener("load", n), o.addEventListener("error", (function () { o.error = !0 })), "data:" === e.substring(0, "data:".length).toLowerCase() || (o.crossOrigin = t), o.src = e, o } }; e.exports = r }, function (e, t, n) { "use strict"; var r = n(0), i = n(1), o = n(2), a = (n(16), { registerBinding: function (e, t, n, r) { var i = Array.prototype.slice.apply(arguments, [1]), o = this.binder(e); return o.on.apply(o, i) }, binder: function (e) { var t = this, n = e === window || e === document || e === document.body || r.domElement(e); if (null == t.supportsPassiveEvents) { var i = !1; try { var o = Object.defineProperty({}, "passive", { get: function () { i = !0 } }); window.addEventListener("test", null, o) } catch (e) { } t.supportsPassiveEvents = i } var a = function (r, i, o) { var a = Array.prototype.slice.call(arguments); return n && t.supportsPassiveEvents && (a[2] = { capture: null != o && o, passive: !1, once: !1 }), t.bindings.push({ target: e, args: a }), (e.addEventListener || e.on).apply(e, a), this }; return { on: a, addEventListener: a, addListener: a, bind: a } }, nodeIsDraggable: function (e) { return e && e.isNode() && !e.locked() && e.grabbable() }, nodeIsGrabbable: function (e) { return this.nodeIsDraggable(e) && e.interactive() } }); a.load = function () { var e = this, t = function (t, n, r, o) { null == t && (t = e.cy); for (var a = 0; a < n.length; a++) { var s = n[a]; t.emit(i.extend({ originalEvent: r, type: s }, o)) } }, n = function (e) { return e.shiftKey || e.metaKey || e.ctrlKey }, a = function (t, n) { var r = !0; if (e.cy.hasCompoundNodes() && t && t.isEdge()) { for (var i = 0; n && i < n.length; i++)if ((t = n[i]).isNode() && t.isParent()) { r = !1; break } } else r = !0; return r }, s = function (e) { e[0]._private.rscratch.inDragLayer = !0 }, l = function (e) { e[0]._private.rscratch.isGrabTarget = !0 }, c = function (t, n) { var r = function (t) { var n; if (t.addToList && e.cy.hasCompoundNodes()) { if (!t.addToList.hasId) { t.addToList.hasId = {}; for (var r = 0; r < t.addToList.length; r++) { var i = t.addToList[r]; t.addToList.hasId[i.id()] = !0 } } n = t.addToList.hasId } return n || {} }(n); r[t.id()] || (n.addToList.push(t), r[t.id()] = !0, function (e) { e[0]._private.grabbed = !0 }(t)) }, u = function (t, n) { n = n || {}; var r = t.cy().hasCompoundNodes(); n.inDragLayer && (t.forEach(s), t.neighborhood().stdFilter((function (e) { return !r || e.isEdge() })).forEach(s)), n.addToList && t.forEach((function (e) { c(e, n) })), function (e, t) { if (e.cy().hasCompoundNodes() && (null != t.inDragLayer || null != t.addToList)) { var n = e.descendants(); t.inDragLayer && (n.forEach(s), n.connectedEdges().forEach(s)), t.addToList && n.forEach((function (e) { c(e, t) })) } }(t, n), f(t, { inDragLayer: n.inDragLayer }), e.updateCachedGrabbedEles() }, d = u, p = function (t) { t && (t.hasId = {}, e.getCachedZSortedEles().forEach((function (e) { !function (e) { e[0]._private.grabbed = !1 }(e), function (e) { e[0]._private.rscratch.inDragLayer = !1 }(e), function (e) { e[0]._private.rscratch.isGrabTarget = !1 }(e) })), e.updateCachedGrabbedEles()) }, f = function (e, t) { if ((null != t.inDragLayer || null != t.addToList) && e.cy().hasCompoundNodes()) { var n = e.ancestors().orphans(); if (!n.same(e)) { var r = n.descendants().spawnSelf().merge(n).unmerge(e).unmerge(e.descendants()), i = r.connectedEdges(); t.inDragLayer && (i.forEach(s), r.forEach(s)), t.addToList && r.forEach((function (e) { c(e, t) })) } } }, h = "undefined" != typeof MutationObserver; h ? (e.removeObserver = new MutationObserver((function (t) { for (var n = 0; n < t.length; n++) { var r = t[n].removedNodes; if (r) for (var i = 0; i < r.length; i++)if (r[i] === e.container) { e.destroy(); break } } })), e.container.parentNode && e.removeObserver.observe(e.container.parentNode, { childList: !0 })) : e.registerBinding(e.container, "DOMNodeRemoved", (function (t) { e.destroy() })); var g = i.debounce((function () { e.cy.resize() }), 100); h && (e.styleObserver = new MutationObserver(g), e.styleObserver.observe(e.container, { attributes: !0 })), e.registerBinding(window, "resize", g); var m = function () { e.invalidateContainerClientCoordsCache() }; !function (e, t) { for (; null != e;)t(e), e = e.parentNode }(e.container, (function (t) { e.registerBinding(t, "transitionend", m), e.registerBinding(t, "animationend", m), e.registerBinding(t, "scroll", m) })), e.registerBinding(e.container, "contextmenu", (function (e) { e.preventDefault() })); var v, b, y, x, w, k, A, E, S, $, C, _, O, T = function (t) { for (var n = e.findContainerClientCoords(), r = n[0], i = n[1], o = n[2], a = n[3], s = t.touches ? t.touches : [t], l = !1, c = 0; c < s.length; c++) { var u = s[c]; if (r <= u.clientX && u.clientX <= r + o && i <= u.clientY && u.clientY <= i + a) { l = !0; break } } if (!l) return !1; for (var d = e.container, p = t.target.parentNode, f = !1; p;) { if (p === d) { f = !0; break } p = p.parentNode } return !!f }; e.registerBinding(e.container, "mousedown", (function (n) { if (T(n)) { n.preventDefault(), e.hoverData.capture = !0, e.hoverData.which = n.which; var r = e.cy, i = [n.clientX, n.clientY], o = e.projectIntoViewport(i[0], i[1]), a = e.selection, s = e.findNearestElements(o[0], o[1], !0, !1), c = s[0], p = e.dragData.possibleDragElements; if (e.hoverData.mdownPos = o, e.hoverData.mdownGPos = i, 3 == n.which) { e.hoverData.cxtStarted = !0; var f = { originalEvent: n, type: "cxttapstart", position: { x: o[0], y: o[1] } }; c ? (c.activate(), c.emit(f), e.hoverData.down = c) : r.emit(f), e.hoverData.downTime = (new Date).getTime(), e.hoverData.cxtDragged = !1 } else if (1 == n.which) { if (c && c.activate(), null != c && e.nodeIsGrabbable(c)) { var h = function (e) { return { originalEvent: n, type: e, position: { x: o[0], y: o[1] } } }; if (l(c), c.selected()) { p = e.dragData.possibleDragElements = []; var g = r.$((function (t) { return t.isNode() && t.selected() && e.nodeIsGrabbable(t) })); u(g, { addToList: p }), c.emit(h("grabon")), g.forEach((function (e) { e.emit(h("grab")) })) } else p = e.dragData.possibleDragElements = [], d(c, { addToList: p }), c.emit(h("grabon")).emit(h("grab")); e.redrawHint("eles", !0), e.redrawHint("drag", !0) } e.hoverData.down = c, e.hoverData.downs = s, e.hoverData.downTime = (new Date).getTime(), t(c, ["mousedown", "tapstart", "vmousedown"], n, { position: { x: o[0], y: o[1] } }), null == c ? (a[4] = 1, e.data.bgActivePosistion = { x: o[0], y: o[1] }, e.redrawHint("select", !0), e.redraw()) : c.isEdge() && (a[4] = 1), e.hoverData.tapholdCancelled = !1, clearTimeout(e.hoverData.tapholdTimeout), e.hoverData.tapholdTimeout = setTimeout((function () { if (!e.hoverData.tapholdCancelled) { var t = e.hoverData.down; t ? t.emit({ originalEvent: n, type: "taphold", position: { x: o[0], y: o[1] } }) : r.emit({ originalEvent: n, type: "taphold", position: { x: o[0], y: o[1] } }) } }), e.tapholdDuration) } a[0] = a[2] = o[0], a[1] = a[3] = o[1] } }), !1), e.registerBinding(window, "mousemove", (function (i) { if (e.hoverData.capture || T(i)) { var s = !1, l = e.cy, c = l.zoom(), d = [i.clientX, i.clientY], f = e.projectIntoViewport(d[0], d[1]), h = e.hoverData.mdownPos, g = e.hoverData.mdownGPos, m = e.selection, v = null; e.hoverData.draggingEles || e.hoverData.dragging || e.hoverData.selecting || (v = e.findNearestElement(f[0], f[1], !0, !1)); var b, y = e.hoverData.last, x = e.hoverData.down, w = [f[0] - m[2], f[1] - m[3]], k = e.dragData.possibleDragElements; if (g) { var A = d[0] - g[0], E = A * A, S = d[1] - g[1], $ = E + S * S; e.hoverData.isOverThresholdDrag = b = $ >= e.desktopTapThreshold2 } var C = n(i); b && (e.hoverData.tapholdCancelled = !0), s = !0, t(v, ["mousemove", "vmousemove", "tapdrag"], i, { position: { x: f[0], y: f[1] } }); var _ = function () { e.data.bgActivePosistion = void 0, e.hoverData.selecting || l.emit("boxstart"), m[4] = 1, e.hoverData.selecting = !0, e.redrawHint("select", !0), e.redraw() }; if (3 === e.hoverData.which) { if (b) { var O = { originalEvent: i, type: "cxtdrag", position: { x: f[0], y: f[1] } }; x ? x.emit(O) : l.emit(O), e.hoverData.cxtDragged = !0, e.hoverData.cxtOver && v === e.hoverData.cxtOver || (e.hoverData.cxtOver && e.hoverData.cxtOver.emit({ originalEvent: i, type: "cxtdragout", position: { x: f[0], y: f[1] } }), e.hoverData.cxtOver = v, v && v.emit({ originalEvent: i, type: "cxtdragover", position: { x: f[0], y: f[1] } })) } } else if (e.hoverData.dragging) { if (s = !0, l.panningEnabled() && l.userPanningEnabled()) { var j; if (e.hoverData.justStartedPan) { var P = e.hoverData.mdownPos; j = { x: (f[0] - P[0]) * c, y: (f[1] - P[1]) * c }, e.hoverData.justStartedPan = !1 } else j = { x: w[0] * c, y: w[1] * c }; l.panBy(j), e.hoverData.dragged = !0 } f = e.projectIntoViewport(i.clientX, i.clientY) } else if (1 != m[4] || null != x && !x.isEdge()) { if (x && x.isEdge() && x.active() && x.unactivate(), x && x.grabbed() || v == y || (y && t(y, ["mouseout", "tapdragout"], i, { position: { x: f[0], y: f[1] } }), v && t(v, ["mouseover", "tapdragover"], i, { position: { x: f[0], y: f[1] } }), e.hoverData.last = v), x) if (b) { if (l.boxSelectionEnabled() && C) x && x.grabbed() && (p(k), x.emit("free")), _(); else if (x && x.grabbed() && e.nodeIsDraggable(x)) { var D = !e.dragData.didDrag; D && e.redrawHint("eles", !0), e.dragData.didDrag = !0; var R = []; e.hoverData.draggingEles || u(l.collection(k), { inDragLayer: !0 }); for (var I = 0; I < k.length; I++) { var N = k[I]; if (e.nodeIsDraggable(N) && N.grabbed()) { var M = N.position(); if (R.push(N), r.number(w[0]) && r.number(w[1]) && (M.x += w[0], M.y += w[1], D)) { var z = e.hoverData.dragDelta; z && r.number(z[0]) && r.number(z[1]) && (M.x += z[0], M.y += z[1]) } } } e.hoverData.draggingEles = !0; var L = l.collection(R); L.dirtyCompoundBoundsCache(), L.emit("position drag"), e.redrawHint("drag", !0), e.redraw() } } else !function () { var t = e.hoverData.dragDelta = e.hoverData.dragDelta || []; 0 === t.length ? (t.push(w[0]), t.push(w[1])) : (t[0] += w[0], t[1] += w[1]) }(); s = !0 } else b && (e.hoverData.dragging || !l.boxSelectionEnabled() || !C && l.panningEnabled() && l.userPanningEnabled() ? !e.hoverData.selecting && l.panningEnabled() && l.userPanningEnabled() && a(x, e.hoverData.downs) && (e.hoverData.dragging = !0, e.hoverData.justStartedPan = !0, m[4] = 0, e.data.bgActivePosistion = o.array2point(h), e.redrawHint("select", !0), e.redraw()) : _(), x && x.isEdge() && x.active() && x.unactivate()); return m[2] = f[0], m[3] = f[1], s ? (i.stopPropagation && i.stopPropagation(), i.preventDefault && i.preventDefault(), !1) : void 0 } }), !1), e.registerBinding(window, "mouseup", (function (r) { if (e.hoverData.capture) { e.hoverData.capture = !1; var i = e.cy, o = e.projectIntoViewport(r.clientX, r.clientY), a = e.selection, s = e.findNearestElement(o[0], o[1], !0, !1), l = e.dragData.possibleDragElements, c = e.hoverData.down, u = n(r); if (e.data.bgActivePosistion && (e.redrawHint("select", !0), e.redraw()), e.hoverData.tapholdCancelled = !0, e.data.bgActivePosistion = void 0, c && c.unactivate(), 3 === e.hoverData.which) { var d = { originalEvent: r, type: "cxttapend", position: { x: o[0], y: o[1] } }; if (c ? c.emit(d) : i.emit(d), !e.hoverData.cxtDragged) { var f = { originalEvent: r, type: "cxttap", position: { x: o[0], y: o[1] } }; c ? c.emit(f) : i.emit(f) } e.hoverData.cxtDragged = !1, e.hoverData.which = null } else if (1 === e.hoverData.which) { if (null != c || e.dragData.didDrag || e.hoverData.selecting || e.hoverData.dragged || n(r) || (i.$((function (e) { return e.selected() })).unselect(), l.length > 0 && e.redrawHint("eles", !0), e.dragData.possibleDragElements = l = []), t(s, ["mouseup", "tapend", "vmouseup"], r, { position: { x: o[0], y: o[1] } }), e.dragData.didDrag || e.hoverData.dragged || e.hoverData.selecting || e.hoverData.isOverThresholdDrag || t(c, ["click", "tap", "vclick"], r, { position: { x: o[0], y: o[1] } }), s != c || e.dragData.didDrag || e.hoverData.selecting || null != s && s._private.selectable && (e.hoverData.dragging || ("additive" === i.selectionType() || u ? s.selected() ? s.unselect() : s.select() : u || (i.$(":selected").unmerge(s).unselect(), s.select())), e.redrawHint("eles", !0)), e.hoverData.selecting) { var h = i.collection(e.getAllInBox(a[0], a[1], a[2], a[3])); e.redrawHint("select", !0), h.length > 0 && e.redrawHint("eles", !0), i.emit("boxend"); var g = function (e) { return e.selectable() && !e.selected() }; "additive" === i.selectionType() || u || i.$(":selected").unmerge(h).unselect(), h.emit("box").stdFilter(g).select().emit("boxselect"), e.redraw() } if (e.hoverData.dragging && (e.hoverData.dragging = !1, e.redrawHint("select", !0), e.redrawHint("eles", !0), e.redraw()), !a[4]) { e.redrawHint("drag", !0), e.redrawHint("eles", !0); var m = c && c.grabbed(); p(l), m && c.emit("free") } } a[4] = 0, e.hoverData.down = null, e.hoverData.cxtStarted = !1, e.hoverData.draggingEles = !1, e.hoverData.selecting = !1, e.hoverData.isOverThresholdDrag = !1, e.dragData.didDrag = !1, e.hoverData.dragged = !1, e.hoverData.dragDelta = [], e.hoverData.mdownPos = null, e.hoverData.mdownGPos = null } }), !1), e.registerBinding(e.container, "wheel", (function (t) { if (!e.scrollingPage) { var n, r = e.cy, i = e.projectIntoViewport(t.clientX, t.clientY), o = [i[0] * r.zoom() + r.pan().x, i[1] * r.zoom() + r.pan().y]; e.hoverData.draggingEles || e.hoverData.dragging || e.hoverData.cxtStarted || 0 !== e.selection[4] ? t.preventDefault() : r.panningEnabled() && r.userPanningEnabled() && r.zoomingEnabled() && r.userZoomingEnabled() && (t.preventDefault(), e.data.wheelZooming = !0, clearTimeout(e.data.wheelTimeout), e.data.wheelTimeout = setTimeout((function () { e.data.wheelZooming = !1, e.redrawHint("eles", !0), e.redraw() }), 150), n = null != t.deltaY ? t.deltaY / -250 : null != t.wheelDeltaY ? t.wheelDeltaY / 1e3 : t.wheelDelta / 1e3, n *= e.wheelSensitivity, 1 === t.deltaMode && (n *= 33), r.zoom({ level: r.zoom() * Math.pow(10, n), renderedPosition: { x: o[0], y: o[1] } })) } }), !0), e.registerBinding(window, "scroll", (function (t) { e.scrollingPage = !0, clearTimeout(e.scrollingPageTimeout), e.scrollingPageTimeout = setTimeout((function () { e.scrollingPage = !1 }), 250) }), !0), e.registerBinding(e.container, "mouseout", (function (t) { var n = e.projectIntoViewport(t.clientX, t.clientY); e.cy.emit({ originalEvent: t, type: "mouseout", position: { x: n[0], y: n[1] } }) }), !1), e.registerBinding(e.container, "mouseover", (function (t) { var n = e.projectIntoViewport(t.clientX, t.clientY); e.cy.emit({ originalEvent: t, type: "mouseover", position: { x: n[0], y: n[1] } }) }), !1); var j, P, D, R, I = function (e, t, n, r) { return Math.sqrt((n - e) * (n - e) + (r - t) * (r - t)) }, N = function (e, t, n, r) { return (n - e) * (n - e) + (r - t) * (r - t) }; if (e.registerBinding(e.container, "touchstart", j = function (n) { if (T(n)) { e.touchData.capture = !0, e.data.bgActivePosistion = void 0; var r = e.cy, i = e.touchData.now, o = e.touchData.earlier; if (n.touches[0]) { var a = e.projectIntoViewport(n.touches[0].clientX, n.touches[0].clientY); i[0] = a[0], i[1] = a[1] } if (n.touches[1] && (a = e.projectIntoViewport(n.touches[1].clientX, n.touches[1].clientY), i[2] = a[0], i[3] = a[1]), n.touches[2] && (a = e.projectIntoViewport(n.touches[2].clientX, n.touches[2].clientY), i[4] = a[0], i[5] = a[1]), n.touches[1]) { p(e.dragData.touchDragEles); var s = e.findContainerClientCoords(); S = s[0], $ = s[1], C = s[2], _ = s[3], v = n.touches[0].clientX - S, b = n.touches[0].clientY - $, y = n.touches[1].clientX - S, x = n.touches[1].clientY - $, O = 0 <= v && v <= C && 0 <= y && y <= C && 0 <= b && b <= _ && 0 <= x && x <= _; var c = r.pan(), f = r.zoom(); if (w = I(v, b, y, x), k = N(v, b, y, x), E = [((A = [(v + y) / 2, (b + x) / 2])[0] - c.x) / f, (A[1] - c.y) / f], k < 4e4 && !n.touches[2]) { var h = e.findNearestElement(i[0], i[1], !0, !0), g = e.findNearestElement(i[2], i[3], !0, !0); return h && h.isNode() ? (h.activate().emit({ originalEvent: n, type: "cxttapstart", position: { x: i[0], y: i[1] } }), e.touchData.start = h) : g && g.isNode() ? (g.activate().emit({ originalEvent: n, type: "cxttapstart", position: { x: i[0], y: i[1] } }), e.touchData.start = g) : r.emit({ originalEvent: n, type: "cxttapstart", position: { x: i[0], y: i[1] } }), e.touchData.start && (e.touchData.start._private.grabbed = !1), e.touchData.cxt = !0, e.touchData.cxtDragged = !1, e.data.bgActivePosistion = void 0, void e.redraw() } } if (n.touches[2]); else if (n.touches[1]); else if (n.touches[0]) { var m = e.findNearestElements(i[0], i[1], !0, !0), j = m[0]; if (null != j && (j.activate(), e.touchData.start = j, e.touchData.starts = m, e.nodeIsGrabbable(j))) { var P = e.dragData.touchDragEles = [], D = null; e.redrawHint("eles", !0), e.redrawHint("drag", !0), j.selected() ? (D = r.$((function (t) { return t.selected() && e.nodeIsGrabbable(t) })), u(D, { addToList: P })) : d(j, { addToList: P }), l(j); var R = function (e) { return { originalEvent: n, type: e, position: { x: i[0], y: i[1] } } }; j.emit(R("grabon")), D ? D.forEach((function (e) { e.emit(R("grab")) })) : j.emit(R("grab")) } t(j, ["touchstart", "tapstart", "vmousedown"], n, { position: { x: i[0], y: i[1] } }), null == j && (e.data.bgActivePosistion = { x: a[0], y: a[1] }, e.redrawHint("select", !0), e.redraw()), e.touchData.singleTouchMoved = !1, e.touchData.singleTouchStartTime = +new Date, clearTimeout(e.touchData.tapholdTimeout), e.touchData.tapholdTimeout = setTimeout((function () { !1 !== e.touchData.singleTouchMoved || e.pinching || e.touchData.selecting || (t(e.touchData.start, ["taphold"], n, { position: { x: i[0], y: i[1] } }), e.touchData.start || r.$(":selected").unselect()) }), e.tapholdDuration) } if (n.touches.length >= 1) { for (var M = e.touchData.startPosition = [], z = 0; z < i.length; z++)M[z] = o[z] = i[z]; var L = n.touches[0]; e.touchData.startGPosition = [L.clientX, L.clientY] } } }, !1), e.registerBinding(window, "touchmove", P = function (n) { var i = e.touchData.capture; if (i || T(n)) { var s = e.selection, l = e.cy, c = e.touchData.now, d = e.touchData.earlier, f = l.zoom(); if (n.touches[0]) { var h = e.projectIntoViewport(n.touches[0].clientX, n.touches[0].clientY); c[0] = h[0], c[1] = h[1] } n.touches[1] && (h = e.projectIntoViewport(n.touches[1].clientX, n.touches[1].clientY), c[2] = h[0], c[3] = h[1]), n.touches[2] && (h = e.projectIntoViewport(n.touches[2].clientX, n.touches[2].clientY), c[4] = h[0], c[5] = h[1]); var g, m = e.touchData.startGPosition; if (i && n.touches[0] && m) { for (var A = [], C = 0; C < c.length; C++)A[C] = c[C] - d[C]; var _ = n.touches[0].clientX - m[0], j = _ * _, P = n.touches[0].clientY - m[1]; g = j + P * P >= e.touchTapThreshold2 } if (i && e.touchData.cxt) { n.preventDefault(); var D = n.touches[0].clientX - S, R = n.touches[0].clientY - $, M = n.touches[1].clientX - S, z = n.touches[1].clientY - $, L = N(D, R, M, z); if (L / k >= 2.25 || L >= 22500) { e.touchData.cxt = !1, e.data.bgActivePosistion = void 0, e.redrawHint("select", !0); var B = { originalEvent: n, type: "cxttapend", position: { x: c[0], y: c[1] } }; e.touchData.start ? (e.touchData.start.unactivate().emit(B), e.touchData.start = null) : l.emit(B) } } if (i && e.touchData.cxt) { B = { originalEvent: n, type: "cxtdrag", position: { x: c[0], y: c[1] } }, e.data.bgActivePosistion = void 0, e.redrawHint("select", !0), e.touchData.start ? e.touchData.start.emit(B) : l.emit(B), e.touchData.start && (e.touchData.start._private.grabbed = !1), e.touchData.cxtDragged = !0; var F = e.findNearestElement(c[0], c[1], !0, !0); e.touchData.cxtOver && F === e.touchData.cxtOver || (e.touchData.cxtOver && e.touchData.cxtOver.emit({ originalEvent: n, type: "cxtdragout", position: { x: c[0], y: c[1] } }), e.touchData.cxtOver = F, F && F.emit({ originalEvent: n, type: "cxtdragover", position: { x: c[0], y: c[1] } })) } else if (i && n.touches[2] && l.boxSelectionEnabled()) n.preventDefault(), e.data.bgActivePosistion = void 0, this.lastThreeTouch = +new Date, e.touchData.selecting || l.emit("boxstart"), e.touchData.selecting = !0, e.redrawHint("select", !0), s && 0 !== s.length && void 0 !== s[0] ? (s[2] = (c[0] + c[2] + c[4]) / 3, s[3] = (c[1] + c[3] + c[5]) / 3) : (s[0] = (c[0] + c[2] + c[4]) / 3, s[1] = (c[1] + c[3] + c[5]) / 3, s[2] = (c[0] + c[2] + c[4]) / 3 + 1, s[3] = (c[1] + c[3] + c[5]) / 3 + 1), s[4] = 1, e.touchData.selecting = !0, e.redraw(); else if (i && n.touches[1] && l.zoomingEnabled() && l.panningEnabled() && l.userZoomingEnabled() && l.userPanningEnabled()) { if (n.preventDefault(), e.data.bgActivePosistion = void 0, e.redrawHint("select", !0), ee = e.dragData.touchDragEles) { e.redrawHint("drag", !0); for (var q = 0; q < ee.length; q++) { var V = ee[q]._private; V.grabbed = !1, V.rscratch.inDragLayer = !1 } } D = n.touches[0].clientX - S, R = n.touches[0].clientY - $, M = n.touches[1].clientX - S, z = n.touches[1].clientY - $; var U = I(D, R, M, z), H = U / w; if (O) { var G = (D - v + (M - y)) / 2, W = (R - b + (z - x)) / 2, Y = l.zoom(), X = Y * H, Z = l.pan(), Q = E[0] * Y + Z.x, J = E[1] * Y + Z.y, K = { x: -X / Y * (Q - Z.x - G) + Q, y: -X / Y * (J - Z.y - W) + J }; if (e.touchData.start && e.touchData.start.active()) { var ee = e.dragData.touchDragEles; p(ee), e.redrawHint("drag", !0), e.redrawHint("eles", !0), e.touchData.start.unactivate().emit("free") } l.viewport({ zoom: X, pan: K, cancelOnFailedZoom: !0 }), w = U, v = D, b = R, y = M, x = z, e.pinching = !0 } n.touches[0] && (h = e.projectIntoViewport(n.touches[0].clientX, n.touches[0].clientY), c[0] = h[0], c[1] = h[1]), n.touches[1] && (h = e.projectIntoViewport(n.touches[1].clientX, n.touches[1].clientY), c[2] = h[0], c[3] = h[1]), n.touches[2] && (h = e.projectIntoViewport(n.touches[2].clientX, n.touches[2].clientY), c[4] = h[0], c[5] = h[1]) } else if (n.touches[0]) { var te = e.touchData.start, ne = e.touchData.last; if (e.hoverData.draggingEles || e.swipePanning || (F = e.findNearestElement(c[0], c[1], !0, !0)), i && null != te && n.preventDefault(), i && null != te && e.nodeIsDraggable(te)) if (g) { ee = e.dragData.touchDragEles; var re = !e.dragData.didDrag; re && u(l.collection(ee), { inDragLayer: !0 }); for (var ie = 0; ie < ee.length; ie++) { var oe = ee[ie]; if (e.nodeIsDraggable(oe) && oe.grabbed()) { e.dragData.didDrag = !0; var ae = oe.position(); r.number(A[0]) && r.number(A[1]) && (ae.x += A[0], ae.y += A[1]), re && (e.redrawHint("eles", !0), (le = e.touchData.dragDelta) && r.number(le[0]) && r.number(le[1]) && (ae.x += le[0], ae.y += le[1])) } } var se = l.collection(ee); se.dirtyCompoundBoundsCache(), se.emit("position drag"), e.hoverData.draggingEles = !0, e.redrawHint("drag", !0), e.touchData.startPosition[0] == d[0] && e.touchData.startPosition[1] == d[1] && e.redrawHint("eles", !0), e.redraw() } else { var le; 0 === (le = e.touchData.dragDelta = e.touchData.dragDelta || []).length ? (le.push(A[0]), le.push(A[1])) : (le[0] += A[0], le[1] += A[1]) } if (t(te || F, ["touchmove", "tapdrag", "vmousemove"], n, { position: { x: c[0], y: c[1] } }), te && te.grabbed() || F == ne || (ne && ne.emit({ originalEvent: n, type: "tapdragout", position: { x: c[0], y: c[1] } }), F && F.emit({ originalEvent: n, type: "tapdragover", position: { x: c[0], y: c[1] } })), e.touchData.last = F, i) for (q = 0; q < c.length; q++)c[q] && e.touchData.startPosition[q] && g && (e.touchData.singleTouchMoved = !0); i && (null == te || te.isEdge()) && l.panningEnabled() && l.userPanningEnabled() && (a(te, e.touchData.starts) && (n.preventDefault(), e.swipePanning ? l.panBy({ x: A[0] * f, y: A[1] * f }) : g && (e.swipePanning = !0, l.panBy({ x: _ * f, y: P * f }), te && (te.unactivate(), e.data.bgActivePosistion || (e.data.bgActivePosistion = o.array2point(e.touchData.startPosition)), e.redrawHint("select", !0), e.touchData.start = null))), h = e.projectIntoViewport(n.touches[0].clientX, n.touches[0].clientY), c[0] = h[0], c[1] = h[1]) } for (C = 0; C < c.length; C++)d[C] = c[C] } }, !1), e.registerBinding(window, "touchcancel", D = function (t) { var n = e.touchData.start; e.touchData.capture = !1, n && n.unactivate() }), e.registerBinding(window, "touchend", R = function (n) { var r = e.touchData.start; if (e.touchData.capture) { e.touchData.capture = !1, n.preventDefault(); var i = e.selection; e.swipePanning = !1, e.hoverData.draggingEles = !1; var o, a = e.cy, s = a.zoom(), l = e.touchData.now, c = e.touchData.earlier; if (n.touches[0]) { var u = e.projectIntoViewport(n.touches[0].clientX, n.touches[0].clientY); l[0] = u[0], l[1] = u[1] } if (n.touches[1] && (u = e.projectIntoViewport(n.touches[1].clientX, n.touches[1].clientY), l[2] = u[0], l[3] = u[1]), n.touches[2] && (u = e.projectIntoViewport(n.touches[2].clientX, n.touches[2].clientY), l[4] = u[0], l[5] = u[1]), r && r.unactivate(), e.touchData.cxt) { if (o = { originalEvent: n, type: "cxttapend", position: { x: l[0], y: l[1] } }, r ? r.emit(o) : a.emit(o), !e.touchData.cxtDragged) { var d = { originalEvent: n, type: "cxttap", position: { x: l[0], y: l[1] } }; r ? r.emit(d) : a.emit(d) } return e.touchData.start && (e.touchData.start._private.grabbed = !1), e.touchData.cxt = !1, e.touchData.start = null, void e.redraw() } if (!n.touches[2] && a.boxSelectionEnabled() && e.touchData.selecting) { e.touchData.selecting = !1; var f = a.collection(e.getAllInBox(i[0], i[1], i[2], i[3])); i[0] = void 0, i[1] = void 0, i[2] = void 0, i[3] = void 0, i[4] = 0, e.redrawHint("select", !0), a.emit("boxend"), f.emit("box").stdFilter((function (e) { return e.selectable() && !e.selected() })).select().emit("boxselect"), f.nonempty() && e.redrawHint("eles", !0), e.redraw() } if (null != r && r.unactivate(), n.touches[2]) e.data.bgActivePosistion = void 0, e.redrawHint("select", !0); else if (n.touches[1]); else if (n.touches[0]); else if (!n.touches[0]) { e.data.bgActivePosistion = void 0, e.redrawHint("select", !0); var h = e.dragData.touchDragEles; if (null != r) { var g = r._private.grabbed; p(h), e.redrawHint("drag", !0), e.redrawHint("eles", !0), g && r.emit("free"), t(r, ["touchend", "tapend", "vmouseup", "tapdragout"], n, { position: { x: l[0], y: l[1] } }), r.unactivate(), e.touchData.start = null } else { var m = e.findNearestElement(l[0], l[1], !0, !0); t(m, ["touchend", "tapend", "vmouseup", "tapdragout"], n, { position: { x: l[0], y: l[1] } }) } var v = e.touchData.startPosition[0] - l[0], b = v * v, y = e.touchData.startPosition[1] - l[1], x = (b + y * y) * s * s; null != r && !e.dragData.didDrag && r._private.selectable && x < e.touchTapThreshold2 && !e.pinching && ("single" === a.selectionType() ? (a.$(":selected").unmerge(r).unselect(), r.select()) : r.selected() ? r.unselect() : r.select(), e.redrawHint("eles", !0)), e.touchData.singleTouchMoved || t(r, ["tap", "vclick"], n, { position: { x: l[0], y: l[1] } }), e.touchData.singleTouchMoved = !0 } for (var w = 0; w < l.length; w++)c[w] = l[w]; e.dragData.didDrag = !1, 0 === n.touches.length && (e.touchData.dragDelta = [], e.touchData.startPosition = null, e.touchData.startGPosition = null), n.touches.length < 2 && (e.pinching = !1, e.redrawHint("eles", !0), e.redraw()) } }, !1), "undefined" == typeof TouchEvent) { var M = [], z = function (e) { return { clientX: e.clientX, clientY: e.clientY, force: 1, identifier: e.pointerId, pageX: e.pageX, pageY: e.pageY, radiusX: e.width / 2, radiusY: e.height / 2, screenX: e.screenX, screenY: e.screenY, target: e.target } }, L = function (e) { M.push(function (e) { return { event: e, touch: z(e) } }(e)) }, B = function (e) { for (var t = 0; t < M.length; t++)if (M[t].event.pointerId === e.pointerId) return void M.splice(t, 1) }, F = function (e) { e.touches = M.map((function (e) { return e.touch })) }, q = function (e) { return "mouse" === e.pointerType || 4 === e.pointerType }; e.registerBinding(e.container, "pointerdown", (function (e) { q(e) || (e.preventDefault(), L(e), F(e), j(e)) })), e.registerBinding(e.container, "pointerup", (function (e) { q(e) || (B(e), F(e), R(e)) })), e.registerBinding(e.container, "pointercancel", (function (e) { q(e) || (B(e), F(e), D()) })), e.registerBinding(e.container, "pointermove", (function (e) { q(e) || (e.preventDefault(), function (e) { var t = M.filter((function (t) { return t.event.pointerId === e.pointerId }))[0]; t.event = e, t.touch = z(e) }(e), F(e), P(e)) })) } }, e.exports = a }, function (e, t, n) { "use strict"; var r = n(2), i = { generatePolygon: function (e, t) { return this.nodeShapes[e] = { renderer: this, name: e, points: t, draw: function (e, t, n, r, i) { this.renderer.nodeShapeImpl("polygon", e, t, n, r, i, this.points) }, intersectLine: function (e, t, n, i, o, a, s) { return r.polygonIntersectLine(o, a, this.points, e, t, n / 2, i / 2, s) }, checkPoint: function (e, t, n, i, o, a, s) { return r.pointInsidePolygon(e, t, this.points, a, s, i, o, [0, -1], n) } } }, generateEllipse: function () { return this.nodeShapes.ellipse = { renderer: this, name: "ellipse", draw: function (e, t, n, r, i) { this.renderer.nodeShapeImpl(this.name, e, t, n, r, i) }, intersectLine: function (e, t, n, i, o, a, s) { return r.intersectLineEllipse(o, a, e, t, n / 2 + s, i / 2 + s) }, checkPoint: function (e, t, n, i, o, a, s) { return r.checkInEllipse(e, t, i, o, a, s, n) } } }, generateRoundRectangle: function () { return this.nodeShapes.roundrectangle = { renderer: this, name: "roundrectangle", points: r.generateUnitNgonPointsFitToSquare(4, 0), draw: function (e, t, n, r, i) { this.renderer.nodeShapeImpl(this.name, e, t, n, r, i) }, intersectLine: function (e, t, n, i, o, a, s) { return r.roundRectangleIntersectLine(o, a, e, t, n, i, s) }, checkPoint: function (e, t, n, i, o, a, s) { var l = r.getRoundRectangleRadius(i, o), c = 2 * l; return !!(r.pointInsidePolygon(e, t, this.points, a, s, i, o - c, [0, -1], n) || r.pointInsidePolygon(e, t, this.points, a, s, i - c, o, [0, -1], n) || r.checkInEllipse(e, t, c, c, a - i / 2 + l, s - o / 2 + l, n) || r.checkInEllipse(e, t, c, c, a + i / 2 - l, s - o / 2 + l, n) || r.checkInEllipse(e, t, c, c, a + i / 2 - l, s + o / 2 - l, n) || r.checkInEllipse(e, t, c, c, a - i / 2 + l, s + o / 2 - l, n)) } } }, generateCutRectangle: function () { return this.nodeShapes.cutrectangle = { renderer: this, name: "cutrectangle", cornerLength: r.getCutRectangleCornerLength(), points: r.generateUnitNgonPointsFitToSquare(4, 0), draw: function (e, t, n, r, i) { this.renderer.nodeShapeImpl(this.name, e, t, n, r, i) }, generateCutTrianglePts: function (e, t, n, r) { var i = this.cornerLength, o = t / 2, a = e / 2, s = n - a, l = n + a, c = r - o, u = r + o; return { topLeft: [s, c + i, s + i, c, s + i, c + i], topRight: [l - i, c, l, c + i, l - i, c + i], bottomRight: [l, u - i, l - i, u, l - i, u - i], bottomLeft: [s + i, u, s, u - i, s + i, u - i] } }, intersectLine: function (e, t, n, i, o, a, s) { var l = this.generateCutTrianglePts(n + 2 * s, i + 2 * s, e, t), c = [].concat.apply([], [l.topLeft.splice(0, 4), l.topRight.splice(0, 4), l.bottomRight.splice(0, 4), l.bottomLeft.splice(0, 4)]); return r.polygonIntersectLine(o, a, c, e, t) }, checkPoint: function (e, t, n, i, o, a, s) { if (r.pointInsidePolygon(e, t, this.points, a, s, i, o - 2 * this.cornerLength, [0, -1], n)) return !0; if (r.pointInsidePolygon(e, t, this.points, a, s, i - 2 * this.cornerLength, o, [0, -1], n)) return !0; var l = this.generateCutTrianglePts(i, o, a, s); return r.pointInsidePolygonPoints(e, t, l.topLeft) || r.pointInsidePolygonPoints(e, t, l.topRight) || r.pointInsidePolygonPoints(e, t, l.bottomRight) || r.pointInsidePolygonPoints(e, t, l.bottomLeft) } } }, generateBarrel: function () { return this.nodeShapes.barrel = { renderer: this, name: "barrel", points: r.generateUnitNgonPointsFitToSquare(4, 0), draw: function (e, t, n, r, i) { this.renderer.nodeShapeImpl(this.name, e, t, n, r, i) }, intersectLine: function (e, t, n, i, o, a, s) { var l = this.generateBarrelBezierPts(n + 2 * s, i + 2 * s, e, t), c = function (e) { var t = r.qbezierPtAt({ x: e[0], y: e[1] }, { x: e[2], y: e[3] }, { x: e[4], y: e[5] }, .15), n = r.qbezierPtAt({ x: e[0], y: e[1] }, { x: e[2], y: e[3] }, { x: e[4], y: e[5] }, .5), i = r.qbezierPtAt({ x: e[0], y: e[1] }, { x: e[2], y: e[3] }, { x: e[4], y: e[5] }, .85); return [e[0], e[1], t.x, t.y, n.x, n.y, i.x, i.y, e[4], e[5]] }, u = [].concat(c(l.topLeft), c(l.topRight), c(l.bottomRight), c(l.bottomLeft)); return r.polygonIntersectLine(o, a, u, e, t) }, generateBarrelBezierPts: function (e, t, n, i) { var o = t / 2, a = e / 2, s = n - a, l = n + a, c = i - o, u = i + o, d = r.getBarrelCurveConstants(e, t), p = d.heightOffset, f = d.widthOffset, h = d.ctrlPtOffsetPct * e, g = { topLeft: [s, c + p, s + h, c, s + f, c], topRight: [l - f, c, l - h, c, l, c + p], bottomRight: [l, u - p, l - h, u, l - f, u], bottomLeft: [s + f, u, s + h, u, s, u - p] }; return g.topLeft.isTop = !0, g.topRight.isTop = !0, g.bottomLeft.isBottom = !0, g.bottomRight.isBottom = !0, g }, checkPoint: function (e, t, n, i, o, a, s) { var l = r.getBarrelCurveConstants(i, o), c = l.heightOffset, u = l.widthOffset; if (r.pointInsidePolygon(e, t, this.points, a, s, i, o - 2 * c, [0, -1], n)) return !0; if (r.pointInsidePolygon(e, t, this.points, a, s, i - 2 * u, o, [0, -1], n)) return !0; for (var d = this.generateBarrelBezierPts(i, o, a, s), p = function (e, t, n) { var i = n[4], o = n[2], a = n[0], s = n[5], l = n[1], c = Math.min(i, a), u = Math.max(i, a), d = Math.min(s, l), p = Math.max(s, l); if (c <= e && e <= u && d <= t && t <= p) { var f = r.bezierPtsToQuadCoeff(i, o, a), h = r.solveQuadratic(f[0], f[1], f[2], e).filter((function (e) { return 0 <= e && e <= 1 })); if (h.length > 0) return h[0] } return null }, f = Object.keys(d), h = 0; h < f.length; h++) { var g = d[f[h]], m = p(e, t, g); if (null != m) { var v = g[5], b = g[3], y = g[1], x = r.qbezierAt(v, b, y, m); if (g.isTop && x <= t) return !0; if (g.isBottom && t <= x) return !0 } } return !1 } } }, generateBottomRoundrectangle: function () { return this.nodeShapes.bottomroundrectangle = { renderer: this, name: "bottomroundrectangle", points: r.generateUnitNgonPointsFitToSquare(4, 0), draw: function (e, t, n, r, i) { this.renderer.nodeShapeImpl(this.name, e, t, n, r, i) }, intersectLine: function (e, t, n, i, o, a, s) { var l = e - (n / 2 + s), c = t - (i / 2 + s), u = c, d = e + (n / 2 + s), p = r.finiteLinesIntersect(o, a, e, t, l, c, d, u, !1); return p.length > 0 ? p : r.roundRectangleIntersectLine(o, a, e, t, n, i, s) }, checkPoint: function (e, t, n, i, o, a, s) { var l = r.getRoundRectangleRadius(i, o), c = 2 * l; if (r.pointInsidePolygon(e, t, this.points, a, s, i, o - c, [0, -1], n)) return !0; if (r.pointInsidePolygon(e, t, this.points, a, s, i - c, o, [0, -1], n)) return !0; var u = i / 2 + 2 * n, d = o / 2 + 2 * n, p = [a - u, s - d, a - u, s, a + u, s, a + u, s - d]; return !!r.pointInsidePolygonPoints(e, t, p) || !!r.checkInEllipse(e, t, c, c, a + i / 2 - l, s + o / 2 - l, n) || !!r.checkInEllipse(e, t, c, c, a - i / 2 + l, s + o / 2 - l, n) } } }, registerNodeShapes: function () { var e = this.nodeShapes = {}, t = this; this.generateEllipse(), this.generatePolygon("triangle", r.generateUnitNgonPointsFitToSquare(3, 0)), this.generatePolygon("rectangle", r.generateUnitNgonPointsFitToSquare(4, 0)), e.square = e.rectangle, this.generateRoundRectangle(), this.generateCutRectangle(), this.generateBarrel(), this.generateBottomRoundrectangle(), this.generatePolygon("diamond", [0, 1, 1, 0, 0, -1, -1, 0]), this.generatePolygon("pentagon", r.generateUnitNgonPointsFitToSquare(5, 0)), this.generatePolygon("hexagon", r.generateUnitNgonPointsFitToSquare(6, 0)), this.generatePolygon("heptagon", r.generateUnitNgonPointsFitToSquare(7, 0)), this.generatePolygon("octagon", r.generateUnitNgonPointsFitToSquare(8, 0)); var n = new Array(20), i = r.generateUnitNgonPoints(5, 0), o = r.generateUnitNgonPoints(5, Math.PI / 5), a = .5 * (3 - Math.sqrt(5)); a *= 1.57; for (var s = 0; s < o.length / 2; s++)o[2 * s] *= a, o[2 * s + 1] *= a; for (s = 0; s < 5; s++)n[4 * s] = i[2 * s], n[4 * s + 1] = i[2 * s + 1], n[4 * s + 2] = o[2 * s], n[4 * s + 3] = o[2 * s + 1]; n = r.fitPolygonToSquare(n), this.generatePolygon("star", n), this.generatePolygon("vee", [-1, -1, 0, -.333, 1, -1, 0, 1]), this.generatePolygon("rhomboid", [-1, -1, .333, -1, 1, 1, -.333, 1]), this.generatePolygon("concavehexagon", [-1, -.95, -.75, 0, -1, .95, 1, .95, .75, 0, 1, -.95]), this.generatePolygon("tag", [-1, -1, .25, -1, 1, 0, .25, 1, -1, 1]), e.makePolygon = function (e) { var n, r = "polygon-" + e.join("$"); return (n = this[r]) ? n : t.generatePolygon(r, e) } } }; e.exports = i }, function (e, t, n) { "use strict"; var r = n(1), i = { timeToRender: function () { return this.redrawTotalTime / this.redrawCount }, redraw: function (e) { e = e || r.staticEmptyObject(); var t = this; void 0 === t.averageRedrawTime && (t.averageRedrawTime = 0), void 0 === t.lastRedrawTime && (t.lastRedrawTime = 0), void 0 === t.lastDrawTime && (t.lastDrawTime = 0), t.requestedFrame = !0, t.renderOptions = e }, beforeRender: function (e, t) { if (!this.destroyed) { t = t || 0; var n = this.beforeRenderCallbacks; n.push({ fn: e, priority: t }), n.sort((function (e, t) { return t.priority - e.priority })) } } }, o = function (e, t, n) { for (var r = e.beforeRenderCallbacks, i = 0; i < r.length; i++)r[i].fn(t, n) }; i.startRenderLoop = function () { var e = this; e.renderLoopStarted || (e.renderLoopStarted = !0, r.requestAnimationFrame((function t(n) { if (!e.destroyed) { if (e.requestedFrame && !e.skipFrame) { o(e, !0, n); var i = r.performanceNow(); e.render(e.renderOptions); var a = e.lastDrawTime = r.performanceNow(); void 0 === e.averageRedrawTime && (e.averageRedrawTime = a - i), void 0 === e.redrawCount && (e.redrawCount = 0), e.redrawCount++, void 0 === e.redrawTotalTime && (e.redrawTotalTime = 0); var s = a - i; e.redrawTotalTime += s, e.lastRedrawTime = s, e.averageRedrawTime = e.averageRedrawTime / 2 + s / 2, e.requestedFrame = !1 } else o(e, !1, n); e.skipFrame = !1, r.requestAnimationFrame(t) } }))) }, e.exports = i }, function (e, t, n) { "use strict"; var r = n(1), i = n(0), o = n(124), a = n(125), s = c, l = c.prototype; function c(e) { var t = this; t.data = { canvases: new Array(l.CANVAS_LAYERS), contexts: new Array(l.CANVAS_LAYERS), canvasNeedsRedraw: new Array(l.CANVAS_LAYERS), bufferCanvases: new Array(l.BUFFER_COUNT), bufferContexts: new Array(l.CANVAS_LAYERS) }; var n = "-webkit-tap-highlight-color: rgba(0,0,0,0);"; t.data.canvasContainer = document.createElement("div"); var r = t.data.canvasContainer.style; t.data.canvasContainer.setAttribute("style", n), r.position = "relative", r.zIndex = "0", r.overflow = "hidden"; var s = e.cy.container(); s.appendChild(t.data.canvasContainer), (s.getAttribute("style") || "").indexOf(n) < 0 && s.setAttribute("style", (s.getAttribute("style") || "") + n); for (var c = 0; c < l.CANVAS_LAYERS; c++) { var u = t.data.canvases[c] = document.createElement("canvas"); t.data.contexts[c] = u.getContext("2d"), u.setAttribute("style", "-webkit-user-select: none; -moz-user-select: -moz-none; user-select: none; -webkit-tap-highlight-color: rgba(0,0,0,0); outline-style: none;" + (i.ms() ? " -ms-touch-action: none; touch-action: none; " : "")), u.style.position = "absolute", u.setAttribute("data-id", "layer" + c), u.style.zIndex = String(l.CANVAS_LAYERS - c), t.data.canvasContainer.appendChild(u), t.data.canvasNeedsRedraw[c] = !1 } for (t.data.topCanvas = t.data.canvases[0], t.data.canvases[l.NODE].setAttribute("data-id", "layer" + l.NODE + "-node"), t.data.canvases[l.SELECT_BOX].setAttribute("data-id", "layer" + l.SELECT_BOX + "-selectbox"), t.data.canvases[l.DRAG].setAttribute("data-id", "layer" + l.DRAG + "-drag"), c = 0; c < l.BUFFER_COUNT; c++)t.data.bufferCanvases[c] = document.createElement("canvas"), t.data.bufferContexts[c] = t.data.bufferCanvases[c].getContext("2d"), t.data.bufferCanvases[c].style.position = "absolute", t.data.bufferCanvases[c].setAttribute("data-id", "buffer" + c), t.data.bufferCanvases[c].style.zIndex = String(-c - 1), t.data.bufferCanvases[c].style.visibility = "hidden"; t.pathsEnabled = !0, t.data.eleTxrCache = new o(t), t.data.lyrTxrCache = new a(t, t.data.eleTxrCache), t.onUpdateEleCalcs((function (e, n) { for (var r = 0; r < n.length; r++) { var i = n[r], o = i._private.rstyle, a = o.dirtyEvents; if (i.isNode() && a && 1 === a.length && a.position); else if (t.data.eleTxrCache.invalidateElement(i), i.isParent() && a.style) { var s = o.prevParentOpacity, l = i.pstyle("opacity").pfValue; if (o.prevParentOpacity = l, s !== l) for (var c = i.descendants(), u = 0; u < c.length; u++)t.data.eleTxrCache.invalidateElement(c[u]) } } n.length > 0 && t.data.lyrTxrCache.invalidateElements(n) })) } l.CANVAS_LAYERS = 3, l.SELECT_BOX = 0, l.DRAG = 1, l.NODE = 2, l.BUFFER_COUNT = 3, l.TEXTURE_BUFFER = 0, l.MOTIONBLUR_BUFFER_NODE = 1, l.MOTIONBLUR_BUFFER_DRAG = 2, l.redrawHint = function (e, t) { var n = this; switch (e) { case "eles": n.data.canvasNeedsRedraw[l.NODE] = t; break; case "drag": n.data.canvasNeedsRedraw[l.DRAG] = t; break; case "select": n.data.canvasNeedsRedraw[l.SELECT_BOX] = t } }; var u = "undefined" != typeof Path2D; l.path2dEnabled = function (e) { if (void 0 === e) return this.pathsEnabled; this.pathsEnabled = !!e }, l.usePaths = function () { return u && this.pathsEnabled }, [n(126), n(127), n(128), n(129), n(130), n(131), n(132), n(133), n(134), n(135)].forEach((function (e) { r.extend(l, e) })), e.exports = s }, function (e, t, n) { "use strict"; var r = n(2), i = n(1), o = n(9), a = n(19), s = { dequeue: "dequeue", downscale: "downscale", highQuality: "highQuality" }, l = function (e) { this.renderer = e, this.onDequeues = [], this.setupDequeueing() }, c = l.prototype; c.reasons = s, c.getTextureQueue = function (e) { return this.eleImgCaches = this.eleImgCaches || {}, this.eleImgCaches[e] = this.eleImgCaches[e] || [] }, c.getRetiredTextureQueue = function (e) { var t = this.eleImgCaches.retired = this.eleImgCaches.retired || {}; return t[e] = t[e] || [] }, c.getElementQueue = function () { return this.eleCacheQueue = this.eleCacheQueue || new o((function (e, t) { return t.reqs - e.reqs })) }, c.getElementIdToQueue = function () { return this.eleIdToCacheQueue = this.eleIdToCacheQueue || {} }, c.getElement = function (e, t, n, i, o) { var a = this, l = this.renderer, c = e._private.rscratch, u = l.cy.zoom(); if (0 === t.w || 0 === t.h || !e.visible()) return null; if (null == i && (i = Math.ceil(r.log2(u * n))), i < -4) i = -4; else if (u >= 3.99 || i > 2) return null; var d, p = Math.pow(2, i), f = t.h * p, h = t.w * p, g = c.imgCaches = c.imgCaches || {}, m = g[i]; if (m) return m; if (d = f <= 25 ? 25 : f <= 50 ? 50 : 50 * Math.ceil(f / 50), f > 1024 || h > 1024 || e.isEdge() || e.isParent()) return null; var v = a.getTextureQueue(d), b = v[v.length - 2], y = function () { return a.recycleTexture(d, h) || a.addTexture(d, h) }; b || (b = v[v.length - 1]), b || (b = y()), b.width - b.usedWidth < h && (b = y()); for (var x, w = l.eleTextBiggerThanMin(e, p), k = function (e) { return e && e.scaledLabelShown === w }, A = o && o === s.dequeue, E = o && o === s.highQuality, S = o && o === s.downscale, $ = i + 1; $ <= 2; $++)if (T = g[$]) { x = T; break } var C = x && x.level === i + 1 ? x : null, _ = function () { b.context.drawImage(C.texture.canvas, C.x, 0, C.width, C.height, b.usedWidth, 0, h, f) }; if (b.context.setTransform(1, 0, 0, 1, 0, 0), b.context.clearRect(b.usedWidth, 0, h, d), k(C)) _(); else if (k(x)) { if (!E) return a.queueElement(e, x.level - 1), x; for ($ = x.level; $ > i; $--)C = a.getElement(e, t, n, $, s.downscale); _() } else { var O; if (!A && !E && !S) for ($ = i - 1; $ >= -4; $--) { var T; if (T = g[$]) { O = T; break } } if (k(O)) return a.queueElement(e, i), O; b.context.translate(b.usedWidth, 0), b.context.scale(p, p), l.drawElement(b.context, e, t, w), b.context.scale(1 / p, 1 / p), b.context.translate(-b.usedWidth, 0) } return m = g[i] = { ele: e, x: b.usedWidth, texture: b, level: i, scale: p, width: h, height: f, scaledLabelShown: w }, b.usedWidth += Math.ceil(h + 8), b.eleCaches.push(m), a.checkTextureFullness(b), m }, c.invalidateElement = function (e) { var t = e._private.rscratch.imgCaches; if (t) for (var n = -4; n <= 2; n++) { var r = t[n]; if (r) { var o = r.texture; o.invalidatedWidth += r.width, t[n] = null, i.removeFromArray(o.eleCaches, r), this.removeFromQueue(e), this.checkTextureUtility(o) } } }, c.checkTextureUtility = function (e) { e.invalidatedWidth >= .5 * e.width && this.retireTexture(e) }, c.checkTextureFullness = function (e) { var t = this.getTextureQueue(e.height); e.usedWidth / e.width > .8 && e.fullnessChecks >= 10 ? i.removeFromArray(t, e) : e.fullnessChecks++ }, c.retireTexture = function (e) { var t = e.height, n = this.getTextureQueue(t); i.removeFromArray(n, e), e.retired = !0; for (var r = e.eleCaches, o = 0; o < r.length; o++) { var a = r[o], s = a.ele, l = a.level, c = s._private.rscratch.imgCaches; c && (c[l] = null) } i.clearArray(r), this.getRetiredTextureQueue(t).push(e) }, c.addTexture = function (e, t) { var n = {}; return this.getTextureQueue(e).push(n), n.eleCaches = [], n.height = e, n.width = Math.max(1024, t), n.usedWidth = 0, n.invalidatedWidth = 0, n.fullnessChecks = 0, n.canvas = document.createElement("canvas"), n.canvas.width = n.width, n.canvas.height = n.height, n.context = n.canvas.getContext("2d"), n }, c.recycleTexture = function (e, t) { for (var n = this.getTextureQueue(e), r = this.getRetiredTextureQueue(e), o = 0; o < r.length; o++) { var a = r[o]; if (a.width >= t) return a.retired = !1, a.usedWidth = 0, a.invalidatedWidth = 0, a.fullnessChecks = 0, i.clearArray(a.eleCaches), a.context.setTransform(1, 0, 0, 1, 0, 0), a.context.clearRect(0, 0, a.width, a.height), i.removeFromArray(r, a), n.push(a), a } }, c.queueElement = function (e, t) { var n = this.getElementQueue(), r = this.getElementIdToQueue(), i = e.id(), o = r[i]; if (o) o.level = Math.max(o.level, t), o.reqs++, n.updateItem(o); else { var a = { ele: e, level: t, reqs: 1 }; n.push(a), r[i] = a } }, c.dequeue = function (e) { for (var t = this.getElementQueue(), n = this.getElementIdToQueue(), r = [], i = 0; i < 1 && t.size() > 0; i++) { var o = t.pop(), a = o.ele; if (null == a._private.rscratch.imgCaches[o.level]) { n[a.id()] = null, r.push(o); var l = a.boundingBox(); this.getElement(a, l, e, o.level, s.dequeue) } } return r }, c.removeFromQueue = function (e) { var t = this.getElementQueue(), n = this.getElementIdToQueue(), r = n[e.id()]; null != r && (r.reqs = i.MAX_INT, t.updateItem(r), t.pop(), n[e.id()] = null) }, c.onDequeue = function (e) { this.onDequeues.push(e) }, c.offDequeue = function (e) { i.removeFromArray(this.onDequeues, e) }, c.setupDequeueing = a.setupDequeueing({ deqRedrawThreshold: 100, deqCost: .15, deqAvgCost: .1, deqNoDrawCost: .9, deqFastCost: .9, deq: function (e, t, n) { return e.dequeue(t, n) }, onDeqd: function (e, t) { for (var n = 0; n < e.onDequeues.length; n++)(0, e.onDequeues[n])(t) }, shouldRedraw: function (e, t, n, i) { for (var o = 0; o < t.length; o++) { var a = t[o].ele.boundingBox(); if (r.boundingBoxesIntersect(a, i)) return !0 } return !1 }, priority: function (e) { return e.renderer.beforeRenderPriorities.eleTxrDeq } }), e.exports = l }, function (e, t, n) { "use strict"; var r = n(1), i = n(2), o = n(9), a = n(0), s = n(19), l = function (e, t) { var n = this, i = n.renderer = e; n.layersByLevel = {}, n.firstGet = !0, n.lastInvalidationTime = r.performanceNow() - 500, n.skipping = !1, i.beforeRender((function (e, t) { t - n.lastInvalidationTime <= 250 ? n.skipping = !0 : n.skipping = !1 })), n.layersQueue = new o((function (e, t) { return t.reqs - e.reqs })), n.eleTxrCache = t, n.setupEleCacheInvalidation(), n.setupDequeueing() }, c = l.prototype, u = 0, d = Math.pow(2, 53) - 1; function p(e, t) { null != e.imageSmoothingEnabled ? e.imageSmoothingEnabled = t : (e.webkitImageSmoothingEnabled = t, e.mozImageSmoothingEnabled = t, e.msImageSmoothingEnabled = t) } c.makeLayer = function (e, t) { var n = Math.pow(2, t), r = Math.ceil(e.w * n), i = Math.ceil(e.h * n), o = document.createElement("canvas"); o.width = r, o.height = i; var a = { id: u = ++u % d, bb: e, level: t, width: r, height: i, canvas: o, context: o.getContext("2d"), eles: [], elesQueue: [], reqs: 0 }, s = a.context, l = -a.bb.x1, c = -a.bb.y1; return s.scale(n, n), s.translate(l, c), a }, c.getLayers = function (e, t, n) { var o = this, a = o.renderer.cy.zoom(), s = o.firstGet; if (o.firstGet = !1, null == n) if ((n = Math.ceil(i.log2(a * t))) < -4) n = -4; else if (a >= 3.99 || n > 2) return null; o.validateLayersElesOrdering(n, e); var l, c, u = o.layersByLevel, d = Math.pow(2, n), p = u[n] = u[n] || []; if (o.levelIsComplete(n, e)) return p; !function () { var t = function (t) { if (o.validateLayersElesOrdering(t, e), o.levelIsComplete(t, e)) return c = u[t], !0 }, i = function (e) { if (!c) for (var r = n + e; -4 <= r && r <= 2 && !t(r); r += e); }; i(1), i(-1); for (var a = p.length - 1; a >= 0; a--) { var s = p[a]; s.invalid && r.removeFromArray(p, s) } }(); var f = function (t) { var r = (t = t || {}).after; if (function () { if (!l) { l = i.makeBoundingBox(); for (var t = 0; t < e.length; t++)i.updateBoundingBox(l, e[t].boundingBox()) } }(), l.w * d * (l.h * d) > 16e6) return null; var a = o.makeLayer(l, n); if (null != r) { var s = p.indexOf(r) + 1; p.splice(s, 0, a) } else (void 0 === t.insert || t.insert) && p.unshift(a); return a }; if (o.skipping && !s) return null; for (var h = null, g = e.length / 1, m = !s, v = 0; v < e.length; v++) { var b = e[v], y = b._private.rscratch, x = y.imgLayerCaches = y.imgLayerCaches || {}, w = x[n]; if (w) h = w; else { if ((!h || h.eles.length >= g || !i.boundingBoxInBoundingBox(h.bb, b.boundingBox())) && !(h = f({ insert: !0, after: h }))) return null; c || m ? o.queueLayer(h, b) : o.drawEleInLayer(h, b, n, t), h.eles.push(b), x[n] = h } } return c || (m ? null : p) }, c.getEleLevelForLayerLevel = function (e, t) { return e }, c.drawEleInLayer = function (e, t, n, r) { var i = this.renderer, o = e.context, a = t.boundingBox(); if (0 !== a.w && 0 !== a.h && t.visible()) { var s = this.eleTxrCache, l = s.reasons.highQuality; n = this.getEleLevelForLayerLevel(n, r); var c = s.getElement(t, a, null, n, l); c ? (p(o, !1), o.drawImage(c.texture.canvas, c.x, 0, c.width, c.height, a.x1, a.y1, a.w, a.h), p(o, !0)) : i.drawElement(o, t) } }, c.levelIsComplete = function (e, t) { var n = this.layersByLevel[e]; if (!n || 0 === n.length) return !1; for (var r = 0, i = 0; i < n.length; i++) { var o = n[i]; if (o.reqs > 0) return !1; if (o.invalid) return !1; r += o.eles.length } return r === t.length }, c.validateLayersElesOrdering = function (e, t) { var n = this.layersByLevel[e]; if (n) for (var r = 0; r < n.length; r++) { for (var i = n[r], o = -1, a = 0; a < t.length; a++)if (i.eles[0] === t[a]) { o = a; break } if (o < 0) this.invalidateLayer(i); else { var s = o; for (a = 0; a < i.eles.length; a++)if (i.eles[a] !== t[s + a]) { this.invalidateLayer(i); break } } } }, c.updateElementsInLayers = function (e, t) { for (var n = a.element(e[0]), r = 0; r < e.length; r++)for (var i = n ? null : e[r], o = n ? e[r] : e[r].ele, s = o._private.rscratch, l = s.imgLayerCaches = s.imgLayerCaches || {}, c = -4; c <= 2; c++) { var u = l[c]; u && (i && this.getEleLevelForLayerLevel(u.level) !== i.level || t(u, o, i)) } }, c.haveLayers = function () { for (var e = !1, t = -4; t <= 2; t++) { var n = this.layersByLevel[t]; if (n && n.length > 0) { e = !0; break } } return e }, c.invalidateElements = function (e) { var t = this; t.lastInvalidationTime = r.performanceNow(), 0 !== e.length && t.haveLayers() && t.updateElementsInLayers(e, (function (e, n, r) { t.invalidateLayer(e) })) }, c.invalidateLayer = function (e) { if (this.lastInvalidationTime = r.performanceNow(), !e.invalid) { var t = e.level, n = e.eles, i = this.layersByLevel[t]; r.removeFromArray(i, e), e.elesQueue = [], e.invalid = !0, e.replacement && (e.replacement.invalid = !0); for (var o = 0; o < n.length; o++) { var a = n[o]._private.rscratch.imgLayerCaches; a && (a[t] = null) } } }, c.refineElementTextures = function (e) { var t = this; t.updateElementsInLayers(e, (function (e, n, r) { var i = e.replacement; if (i || ((i = e.replacement = t.makeLayer(e.bb, e.level)).replaces = e, i.eles = e.eles), !i.reqs) for (var o = 0; o < i.eles.length; o++)t.queueLayer(i, i.eles[o]) })) }, c.setupEleCacheInvalidation = function () { var e = this, t = [], n = r.debounce((function () { e.refineElementTextures(t), t = [] }), 50); e.eleTxrCache.onDequeue((function (e) { for (var r = 0; r < e.length; r++)t.push(e[r]); n() })) }, c.queueLayer = function (e, t) { var n = this.layersQueue, r = e.elesQueue, i = r.hasId = r.hasId || {}; if (!e.replacement) { if (t) { if (i[t.id()]) return; r.push(t), i[t.id()] = !0 } e.reqs ? (e.reqs++, n.updateItem(e)) : (e.reqs = 1, n.push(e)) } }, c.dequeue = function (e) { for (var t = this.layersQueue, n = [], r = 0; r < 1 && 0 !== t.size();) { var i = t.peek(); if (i.replacement) t.pop(); else if (i.replaces && i !== i.replaces.replacement) t.pop(); else if (i.invalid) t.pop(); else { var o = i.elesQueue.shift(); o && (this.drawEleInLayer(i, o, i.level, e), r++), 0 === n.length && n.push(!0), 0 === i.elesQueue.length && (t.pop(), i.reqs = 0, i.replaces && this.applyLayerReplacement(i), this.requestRedraw()) } } return n }, c.applyLayerReplacement = function (e) { var t = this.layersByLevel[e.level], n = e.replaces, r = t.indexOf(n); if (!(r < 0 || n.invalid)) { t[r] = e; for (var i = 0; i < e.eles.length; i++) { var o = e.eles[i]._private, a = o.imgLayerCaches = o.imgLayerCaches || {}; a && (a[e.level] = e) } this.requestRedraw() } }, c.requestRedraw = r.debounce((function () { var e = this.renderer; e.redrawHint("eles", !0), e.redrawHint("drag", !0), e.redraw() }), 100), c.setupDequeueing = s.setupDequeueing({ deqRedrawThreshold: 50, deqCost: .15, deqAvgCost: .1, deqNoDrawCost: .9, deqFastCost: .9, deq: function (e, t) { return e.dequeue(t) }, onDeqd: r.noop, shouldRedraw: r.trueify, priority: function (e) { return e.renderer.beforeRenderPriorities.lyrTxrDeq } }), e.exports = l }, function (e, t, n) { "use strict"; var r, i = { arrowShapeImpl: function (e) { return (r || (r = { polygon: function (e, t) { for (var n = 0; n < t.length; n++) { var r = t[n]; e.lineTo(r.x, r.y) } }, "triangle-backcurve": function (e, t, n) { for (var r, i = 0; i < t.length; i++) { var o = t[i]; 0 === i && (r = o), e.lineTo(o.x, o.y) } e.quadraticCurveTo(n.x, n.y, r.x, r.y) }, "triangle-tee": function (e, t, n) { e.beginPath && e.beginPath(); for (var r = t, i = 0; i < r.length; i++) { var o = r[i]; e.lineTo(o.x, o.y) } e.closePath && e.closePath(), e.beginPath && e.beginPath(); var a = n, s = n[0]; for (e.moveTo(s.x, s.y), i = 0; i < a.length; i++)o = a[i], e.lineTo(o.x, o.y); e.closePath && e.closePath() }, "triangle-cross": function (e, t, n) { e.beginPath && e.beginPath(); for (var r = t, i = 0; i < r.length; i++) { var o = r[i]; e.lineTo(o.x, o.y) } e.closePath && e.closePath(), e.beginPath && e.beginPath(); var a = n, s = n[0]; for (e.moveTo(s.x, s.y), i = 0; i < a.length; i++)o = a[i], e.lineTo(o.x, o.y); e.closePath && e.closePath() }, circle: function (e, t, n, r) { e.arc(t, n, r, 0, 2 * Math.PI, !1) } }))[e] } }; e.exports = i }, function (e, t, n) { "use strict"; var r = n(2), i = { drawElement: function (e, t, n, r) { t.isNode() ? this.drawNode(e, t, n, r) : this.drawEdge(e, t, n, r) }, drawCachedElement: function (e, t, n, i) { var o = t.boundingBox(); if (0 !== o.w && 0 !== o.h && (!i || r.boundingBoxesIntersect(o, i))) { var a = this.data.eleTxrCache.getElement(t, o, n); null != a ? e.drawImage(a.texture.canvas, a.x, 0, a.width, a.height, o.x1, o.y1, o.w, o.h) : this.drawElement(e, t) } }, drawElements: function (e, t) { for (var n = 0; n < t.length; n++) { var r = t[n]; this.drawElement(e, r) } }, drawCachedElements: function (e, t, n, r) { for (var i = 0; i < t.length; i++) { var o = t[i]; this.drawCachedElement(e, o, n, r) } }, drawCachedNodes: function (e, t, n, r) { for (var i = 0; i < t.length; i++) { var o = t[i]; o.isNode() && this.drawCachedElement(e, o, n, r) } }, drawLayeredElements: function (e, t, n, r) { var i = this.data.lyrTxrCache.getLayers(t, n); if (i) for (var o = 0; o < i.length; o++) { var a = i[o], s = a.bb; 0 !== s.w && 0 !== s.h && e.drawImage(a.canvas, s.x1, s.y1, s.w, s.h) } else this.drawCachedElements(e, t, n, r) }, drawDebugPoints: function (e, t) { for (var n = function (t, n, r) { e.fillStyle = r, e.fillRect(t - 1, n - 1, 3, 3) }, r = 0; r < t.length; r++) { var i = t[r], o = i._private.rscratch; if (i.isNode()) { var a = i.position(); n(a.x, a.y, "magenta") } else { for (var s = o.allpts, l = 0; l + 1 < s.length; l += 2)n(s[l], s[l + 1], "cyan"); n(o.midX, o.midY, "yellow") } } } }; e.exports = i }, function (e, t, n) { "use strict"; var r = { drawEdge: function (e, t, n, r) { var i = this, o = t._private.rscratch, a = i.usePaths(); if (t.visible() && !o.badLine && null != o.allpts && !isNaN(o.allpts[0])) { var s = void 0; n && (s = n, e.translate(-s.x1, -s.y1)); var l = 2 * t.pstyle("overlay-padding").pfValue, c = t.pstyle("overlay-opacity").value, u = t.pstyle("overlay-color").value, d = t.pstyle("line-color").value, p = t.pstyle("opacity").value, f = t.pstyle("line-style").value, h = t.pstyle("width").pfValue, g = function () { var n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : p; e.lineWidth = h, e.lineCap = "butt", i.strokeStyle(e, d[0], d[1], d[2], n), i.drawEdgePath(t, e, o.allpts, f) }, m = function () { var n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : p; i.drawArrowheads(e, t, n) }; if (e.lineJoin = "round", "yes" === t.pstyle("ghost").value) { var v = t.pstyle("ghost-offset-x").pfValue, b = t.pstyle("ghost-offset-y").pfValue, y = t.pstyle("ghost-opacity").value, x = p * y; e.translate(v, b), g(x), m(x), e.translate(-v, -b) } g(), m(), function () { var n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : c; e.lineWidth = l, "self" !== o.edgeType || a ? e.lineCap = "round" : e.lineCap = "butt", i.strokeStyle(e, u[0], u[1], u[2], n), i.drawEdgePath(t, e, o.allpts, "solid") }(), i.drawElementText(e, t, r), n && e.translate(s.x1, s.y1) } }, drawEdgePath: function (e, t, n, r) { var i = e._private.rscratch, o = t, a = void 0, s = !1, l = this.usePaths(); if (l) { var c = n.join("$"); i.pathCacheKey && i.pathCacheKey === c ? (a = t = i.pathCache, s = !0) : (a = t = new Path2D, i.pathCacheKey = c, i.pathCache = a) } if (o.setLineDash) switch (r) { case "dotted": o.setLineDash([1, 1]); break; case "dashed": o.setLineDash([6, 3]); break; case "solid": o.setLineDash([]) }if (!s && !i.badLine) switch (t.beginPath && t.beginPath(), t.moveTo(n[0], n[1]), i.edgeType) { case "bezier": case "self": case "compound": case "multibezier": if (e.hasClass("horizontal")) { var u = n[4], d = n[5], p = (n[0] + n[4]) / 2; t.lineTo(n[0] + 10, n[1]), t.bezierCurveTo(p, n[1], p, n[5], n[4] - 10, n[5]), t.lineTo(u, d) } else if (e.hasClass("vertical")) { var f = n[4], h = n[5], g = (n[1] + n[5]) / 2; t.bezierCurveTo(n[0], g, n[4], g, n[4], n[5] - 10), t.lineTo(f, h) } else for (var m = 2; m + 3 < n.length; m += 4)t.quadraticCurveTo(n[m], n[m + 1], n[m + 2], n[m + 3]); break; case "straight": case "segments": case "haystack": for (var v = 2; v + 1 < n.length; v += 2)t.lineTo(n[v], n[v + 1]) }t = o, l ? t.stroke(a) : t.stroke(), t.setLineDash && t.setLineDash([]) }, drawArrowheads: function (e, t, n) { var r = t._private.rscratch, i = "haystack" === r.edgeType; i || this.drawArrowhead(e, t, "source", r.arrowStartX, r.arrowStartY, r.srcArrowAngle, n), this.drawArrowhead(e, t, "mid-target", r.midX, r.midY, r.midtgtArrowAngle, n), this.drawArrowhead(e, t, "mid-source", r.midX, r.midY, r.midsrcArrowAngle, n), i || (t.hasClass("horizontal") ? this.drawArrowhead(e, t, "target", r.arrowEndX, r.arrowEndY, -Math.PI / 2, n) : t.hasClass("vertical") ? this.drawArrowhead(e, t, "target", r.arrowEndX, r.arrowEndY, 0, n) : this.drawArrowhead(e, t, "target", r.arrowEndX, r.arrowEndY, r.tgtArrowAngle, n)) }, drawArrowhead: function (e, t, n, r, i, o, a) { if (!(isNaN(r) || null == r || isNaN(i) || null == i || isNaN(o) || null == o)) { var s = t.pstyle(n + "-arrow-shape").value; if ("none" !== s) { var l = "hollow" === t.pstyle(n + "-arrow-fill").value ? "both" : "filled", c = t.pstyle(n + "-arrow-fill").value, u = t.pstyle("width").pfValue, d = t.pstyle("opacity").value; void 0 === a && (a = d); var p = e.globalCompositeOperation; 1 === a && "hollow" !== c || (e.globalCompositeOperation = "destination-out", this.fillStyle(e, 255, 255, 255, 1), this.strokeStyle(e, 255, 255, 255, 1), this.drawArrowShape(t, n, e, l, u, s, r, i, o), e.globalCompositeOperation = p); var f = t.pstyle(n + "-arrow-color").value; this.fillStyle(e, f[0], f[1], f[2], a), this.strokeStyle(e, f[0], f[1], f[2], a), this.drawArrowShape(t, n, e, c, u, s, r, i, o) } } }, drawArrowShape: function (e, t, n, r, i, o, a, s, l) { var c = this.usePaths(), u = e._private.rscratch, d = !1, p = void 0, f = n, h = { x: a, y: s }, g = e.pstyle("arrow-scale").value, m = this.getArrowWidth(i, g), v = this.arrowShapes[o]; if (c) { var b = m + "$" + o + "$" + l + "$" + a + "$" + s; u.arrowPathCacheKey = u.arrowPathCacheKey || {}, u.arrowPathCache = u.arrowPathCache || {}, u.arrowPathCacheKey[t] === b ? (p = n = u.arrowPathCache[t], d = !0) : (p = n = new Path2D, u.arrowPathCacheKey[t] = b, u.arrowPathCache[t] = p) } n.beginPath && n.beginPath(), d || v.draw(n, m, l, h, i), !v.leavePathOpen && n.closePath && n.closePath(), n = f, "filled" !== r && "both" !== r || (c ? n.fill(p) : n.fill()), "hollow" !== r && "both" !== r || (n.lineWidth = v.matchEdgeWidth ? i : 1, n.lineJoin = "miter", c ? n.stroke(p) : n.stroke()) } }; e.exports = r }, function (e, t, n) { "use strict"; var r = { safeDrawImage: function (e, t, n, r, i, o, a, s, l, c) { i <= 0 || o <= 0 || l <= 0 || c <= 0 || e.drawImage(t, n, r, i, o, a, s, l, c) }, drawInscribedImage: function (e, t, n, r, i) { var o = this, a = n.position(), s = a.x, l = a.y, c = n.cy().style(), u = c.getIndexedStyle.bind(c), d = u(n, "background-fit", "value", r), p = u(n, "background-repeat", "value", r), f = n.width(), h = n.height(), g = 2 * n.padding(), m = f + ("inner" === u(n, "background-width-relative-to", "value", r) ? 0 : g), v = h + ("inner" === u(n, "background-height-relative-to", "value", r) ? 0 : g), b = n._private.rscratch, y = "node" === n.pstyle("background-clip").value, x = u(n, "background-image-opacity", "value", r) * i, w = t.width || t.cachedW, k = t.height || t.cachedH; null != w && null != k || (document.body.appendChild(t), w = t.cachedW = t.width || t.offsetWidth, k = t.cachedH = t.height || t.offsetHeight, document.body.removeChild(t)); var A = w, E = k; if ("auto" !== u(n, "background-width", "value", r) && (A = "%" === u(n, "background-width", "units", r) ? u(n, "background-width", "pfValue", r) * m : u(n, "background-width", "pfValue", r)), "auto" !== u(n, "background-height", "value", r) && (E = "%" === u(n, "background-height", "units", r) ? u(n, "background-height", "pfValue", r) * v : u(n, "background-height", "pfValue", r)), 0 !== A && 0 !== E) { if ("contain" === d) A *= S = Math.min(m / A, v / E), E *= S; else if ("cover" === d) { var S; A *= S = Math.max(m / A, v / E), E *= S } var $ = s - m / 2; "%" === u(n, "background-position-x", "units", r) ? $ += (m - A) * u(n, "background-position-x", "pfValue", r) : $ += u(n, "background-position-x", "pfValue", r); var C = l - v / 2; "%" === u(n, "background-position-y", "units", r) ? C += (v - E) * u(n, "background-position-y", "pfValue", r) : C += u(n, "background-position-y", "pfValue", r), b.pathCache && ($ -= s, C -= l, s = 0, l = 0); var _ = e.globalAlpha; if (e.globalAlpha = x, "no-repeat" === p) y && (e.save(), b.pathCache ? e.clip(b.pathCache) : (o.nodeShapes[o.getNodeShape(n)].draw(e, s, l, m, v), e.clip())), o.safeDrawImage(e, t, 0, 0, w, k, $, C, A, E), y && e.restore(); else { var O = e.createPattern(t, p); e.fillStyle = O, o.nodeShapes[o.getNodeShape(n)].draw(e, s, l, m, v), e.translate($, C), e.fill(), e.translate(-$, -C) } e.globalAlpha = _ } } }; e.exports = r }, function (e, t, n) { "use strict"; var r = n(1), i = n(2), o = { eleTextBiggerThanMin: function (e, t) { if (!t) { var n = e.cy().zoom(), r = this.getPixelRatio(), o = Math.ceil(i.log2(n * r)); t = Math.pow(2, o) } return !(e.pstyle("font-size").pfValue * t < e.pstyle("min-zoomed-font-size").pfValue) }, drawElementText: function (e, t, n) { var r = this; if (void 0 === n) { if (!r.eleTextBiggerThanMin(t)) return } else if (!n) return; if (t.isNode()) { if (!(o = t.pstyle("label")) || !o.value) return; var i = t.pstyle("text-halign").strValue; switch (t.pstyle("text-valign").strValue, i) { case "left": e.textAlign = "right"; break; case "right": e.textAlign = "left"; break; default: e.textAlign = "center" }e.textBaseline = "bottom" } else { var o = t.pstyle("label"), a = t.pstyle("source-label"), s = t.pstyle("target-label"); if (!(o && o.value || a && a.value || s && s.value)) return; e.textAlign = "center", e.textBaseline = "bottom" } r.drawText(e, t), t.isEdge() && (r.drawText(e, t, "source"), r.drawText(e, t, "target")) } }; o.drawNodeText = o.drawEdgeText = o.drawElementText, o.getFontCache = function (e) { var t; this.fontCaches = this.fontCaches || []; for (var n = 0; n < this.fontCaches.length; n++)if ((t = this.fontCaches[n]).context === e) return t; return t = { context: e }, this.fontCaches.push(t), t }, o.setupTextStyle = function (e, t) { var n = t.effectiveOpacity(), r = t.pstyle("font-style").strValue, i = t.pstyle("font-size").pfValue + "px", o = t.pstyle("font-family").strValue, a = t.pstyle("font-weight").strValue, s = t.pstyle("text-opacity").value * t.pstyle("opacity").value * n, l = t.pstyle("text-outline-opacity").value * s, c = t.pstyle("color").value, u = t.pstyle("text-outline-color").value, d = t._private.fontKey, p = this.getFontCache(e); p.key !== d && (e.font = r + " " + a + " " + i + " " + o, p.key = d), e.lineJoin = "round", this.fillStyle(e, c[0], c[1], c[2], s), this.strokeStyle(e, u[0], u[1], u[2], l) }, o.drawText = function (e, t, n) { var i = t._private.rscratch, o = t.effectiveOpacity(); if (0 !== o && 0 !== t.pstyle("text-opacity").value) { var a, s, l, c, u, d, p = r.getPrefixedProperty(i, "labelX", n), f = r.getPrefixedProperty(i, "labelY", n), h = this.getLabelText(t, n); if (null != h && "" !== h && !isNaN(p) && !isNaN(f)) { this.setupTextStyle(e, t); var g = n ? n + "-" : "", m = r.getPrefixedProperty(i, "labelWidth", n), v = r.getPrefixedProperty(i, "labelHeight", n), b = r.getPrefixedProperty(i, "labelAngle", n), y = t.pstyle(g + "text-margin-x").pfValue, x = t.pstyle(g + "text-margin-y").pfValue, w = t.isEdge(), k = (t.isNode(), t.pstyle("text-halign").value), A = t.pstyle("text-valign").value; w && (k = "center", A = "center"), p += y, f += x; var E, S = t.pstyle("text-rotation"); if (0 !== (E = "autorotate" === S.strValue ? w ? b : 0 : "none" === S.strValue ? 0 : S.pfValue)) { var $ = p, C = f; e.translate($, C), e.rotate(E), p = 0, f = 0 } switch (A) { case "top": break; case "center": f += v / 2; break; case "bottom": f += v }var _ = t.pstyle("text-background-opacity").value, O = t.pstyle("text-border-opacity").value, T = t.pstyle("text-border-width").pfValue, j = t.pstyle("text-background-padding").pfValue; if (_ > 0 || T > 0 && O > 0) { var P = p - j; switch (k) { case "left": P -= m; break; case "center": P -= m / 2 }var D = f - v - j, R = m + 2 * j, I = v + 2 * j; if (_ > 0) { var N = e.fillStyle, M = t.pstyle("text-background-color").value; e.fillStyle = "rgba(" + M[0] + "," + M[1] + "," + M[2] + "," + _ * o + ")", "roundrectangle" == t.pstyle("text-background-shape").strValue ? (s = P, l = D, c = R, u = I, d = (d = 2) || 5, (a = e).beginPath(), a.moveTo(s + d, l), a.lineTo(s + c - d, l), a.quadraticCurveTo(s + c, l, s + c, l + d), a.lineTo(s + c, l + u - d), a.quadraticCurveTo(s + c, l + u, s + c - d, l + u), a.lineTo(s + d, l + u), a.quadraticCurveTo(s, l + u, s, l + u - d), a.lineTo(s, l + d), a.quadraticCurveTo(s, l, s + d, l), a.closePath(), a.fill()) : e.fillRect(P, D, R, I), e.fillStyle = N } if (T > 0 && O > 0) { var z = e.strokeStyle, L = e.lineWidth, B = t.pstyle("text-border-color").value, F = t.pstyle("text-border-style").value; if (e.strokeStyle = "rgba(" + B[0] + "," + B[1] + "," + B[2] + "," + O * o + ")", e.lineWidth = T, e.setLineDash) switch (F) { case "dotted": e.setLineDash([1, 1]); break; case "dashed": e.setLineDash([4, 2]); break; case "double": e.lineWidth = T / 4, e.setLineDash([]); break; case "solid": e.setLineDash([]) }if (e.strokeRect(P, D, R, I), "double" === F) { var q = T / 2; e.strokeRect(P + q, D + q, R - 2 * q, I - 2 * q) } e.setLineDash && e.setLineDash([]), e.lineWidth = L, e.strokeStyle = z } } var V = 2 * t.pstyle("text-outline-width").pfValue; if (V > 0 && (e.lineWidth = V), "wrap" === t.pstyle("text-wrap").value) { var U = r.getPrefixedProperty(i, "labelWrapCachedLines", n), H = v / U.length; switch (A) { case "top": f -= (U.length - 1) * H; break; case "center": case "bottom": f -= (U.length - 1) * H }for (var G = 0; G < U.length; G++)V > 0 && e.strokeText(U[G], p, f), e.fillText(U[G], p, f), f += H } else V > 0 && e.strokeText(h, p, f), e.fillText(h, p, f); 0 !== E && (e.rotate(-E), e.translate(-$, -C)) } } }, e.exports = o }, function (e, t, n) { "use strict"; var r = n(0), i = { drawNode: function (e, t, n, i) { var o, a, s = this, l = t._private, c = l.rscratch, u = t.position(); if (r.number(u.x) && r.number(u.y) && t.visible()) { var d = t.effectiveOpacity(), p = s.usePaths(), f = void 0, h = !1, g = t.padding(); o = t.width() + 2 * g, a = t.height() + 2 * g; var m = void 0; n && (m = n, e.translate(-m.x1, -m.y1)); for (var v = t.pstyle("background-image").value, b = new Array(v.length), y = new Array(v.length), x = 0, w = 0; w < v.length; w++) { var k = v[w]; if (b[w] = null != k && "none" !== k) { var A = t.cy().style().getIndexedStyle(t, "background-image-crossorigin", "value", w); x++, y[w] = s.getCachedImage(k, A, (function () { t.emitAndNotify("background") })) } } var E = t.pstyle("background-blacken").value, S = t.pstyle("border-width").pfValue, $ = t.pstyle("background-color").value, C = t.pstyle("background-opacity").value * d, _ = t.pstyle("border-color").value, O = t.pstyle("border-style").value, T = t.pstyle("border-opacity").value * d; e.lineJoin = "miter"; var j = function () { var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : C; s.fillStyle(e, $[0], $[1], $[2], t) }, P = function () { var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : T; s.strokeStyle(e, _[0], _[1], _[2], t) }, D = t.pstyle("shape").strValue, R = t.pstyle("shape-polygon-points").pfValue; if (p) { var I = D + "$" + o + "$" + a + ("polygon" === D ? "$" + R.join("$") : ""); e.translate(u.x, u.y), c.pathCacheKey === I ? (f = c.pathCache, h = !0) : (f = new Path2D, c.pathCacheKey = I, c.pathCache = f) } var N, M, z, L = function () { if (!h) { var n = u; p && (n = { x: 0, y: 0 }), s.nodeShapes[s.getNodeShape(t)].draw(f || e, n.x, n.y, o, a) } p ? e.fill(f) : e.fill() }, B = function () { for (var n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : d, r = l.backgrounding, i = 0, o = 0; o < y.length; o++)b[o] && y[o].complete && !y[o].error && (i++, s.drawInscribedImage(e, y[o], t, o, n)); l.backgrounding = !(i === x), r !== l.backgrounding && t.updateStyle(!1) }, F = function () { var n = arguments.length > 0 && void 0 !== arguments[0] && arguments[0], r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : d; s.hasPie(t) && (s.drawPie(e, t, r), n && (p || s.nodeShapes[s.getNodeShape(t)].draw(e, u.x, u.y, o, a))) }, q = function () { var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : d, n = (E > 0 ? E : -E) * t, r = E > 0 ? 0 : 255; 0 !== E && (s.fillStyle(e, r, r, r, n), p ? e.fill(f) : e.fill()) }, V = function () { if (S > 0) { if (e.lineWidth = S, e.lineCap = "butt", e.setLineDash) switch (O) { case "dotted": e.setLineDash([1, 1]); break; case "dashed": e.setLineDash([4, 2]); break; case "solid": case "double": e.setLineDash([]) }if (p ? e.stroke(f) : e.stroke(), "double" === O) { e.lineWidth = S / 3; var t = e.globalCompositeOperation; e.globalCompositeOperation = "destination-out", p ? e.stroke(f) : e.stroke(), e.globalCompositeOperation = t } e.setLineDash && e.setLineDash([]) } }; if ("yes" === t.pstyle("ghost").value) { var U = t.pstyle("ghost-offset-x").pfValue, H = t.pstyle("ghost-offset-y").pfValue, G = t.pstyle("ghost-opacity").value, W = G * d; e.translate(U, H), j(G * C), L(), B(W), F(0 !== E || 0 !== S), q(W), P(G * T), V(), e.translate(-U, -H) } j(), L(), B(), F(0 !== E || 0 !== S), q(), P(), V(), p && e.translate(-u.x, -u.y), s.drawElementText(e, t, i), N = t.pstyle("overlay-padding").pfValue, M = t.pstyle("overlay-opacity").value, z = t.pstyle("overlay-color").value, M > 0 && (s.fillStyle(e, z[0], z[1], z[2], M), s.nodeShapes.roundrectangle.draw(e, u.x, u.y, o + 2 * N, a + 2 * N), e.fill()), n && e.translate(m.x1, m.y1) } }, hasPie: function (e) { return (e = e[0])._private.hasPie }, drawPie: function (e, t, n, r) { t = t[0], r = r || t.position(); var i = t.cy().style(), o = t.pstyle("pie-size"), a = r.x, s = r.y, l = t.width(), c = t.height(), u = Math.min(l, c) / 2, d = 0; this.usePaths() && (a = 0, s = 0), "%" === o.units ? u *= o.pfValue : void 0 !== o.pfValue && (u = o.pfValue / 2); for (var p = 1; p <= i.pieBackgroundN; p++) { var f = t.pstyle("pie-" + p + "-background-size").value, h = t.pstyle("pie-" + p + "-background-color").value, g = t.pstyle("pie-" + p + "-background-opacity").value * n, m = f / 100; m + d > 1 && (m = 1 - d); var v = 1.5 * Math.PI + 2 * Math.PI * d, b = v + 2 * Math.PI * m; 0 === f || d >= 1 || d + m > 1 || (e.beginPath(), e.moveTo(a, s), e.arc(a, s, u, v, b), e.closePath(), this.fillStyle(e, h[0], h[1], h[2], g), e.fill(), d += m) } } }; e.exports = i }, function (e, t, n) { "use strict"; var r = {}, i = n(1); r.getPixelRatio = function () { var e = this.data.contexts[0]; if (null != this.forcedPixelRatio) return this.forcedPixelRatio; var t = e.backingStorePixelRatio || e.webkitBackingStorePixelRatio || e.mozBackingStorePixelRatio || e.msBackingStorePixelRatio || e.oBackingStorePixelRatio || e.backingStorePixelRatio || 1; return (window.devicePixelRatio || 1) / t }, r.paintCache = function (e) { for (var t, n = this.paintCaches = this.paintCaches || [], r = !0, i = 0; i < n.length; i++)if ((t = n[i]).context === e) { r = !1; break } return r && (t = { context: e }, n.push(t)), t }, r.fillStyle = function (e, t, n, r, i) { e.fillStyle = "rgba(" + t + "," + n + "," + r + "," + i + ")" }, r.strokeStyle = function (e, t, n, r, i) { e.strokeStyle = "rgba(" + t + "," + n + "," + r + "," + i + ")" }, r.matchCanvasSize = function (e) { var t = this, n = t.data, r = t.findContainerClientCoords(), i = r[2], o = r[3], a = t.getPixelRatio(), s = t.motionBlurPxRatio; e !== t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_NODE] && e !== t.data.bufferCanvases[t.MOTIONBLUR_BUFFER_DRAG] || (a = s); var l, c = i * a, u = o * a; if (c !== t.canvasWidth || u !== t.canvasHeight) { t.fontCaches = null; var d = n.canvasContainer; d.style.width = i + "px", d.style.height = o + "px"; for (var p = 0; p < t.CANVAS_LAYERS; p++)(l = n.canvases[p]).width = c, l.height = u, l.style.width = i + "px", l.style.height = o + "px"; for (p = 0; p < t.BUFFER_COUNT; p++)(l = n.bufferCanvases[p]).width = c, l.height = u, l.style.width = i + "px", l.style.height = o + "px"; t.textureMult = 1, a <= 1 && (l = n.bufferCanvases[t.TEXTURE_BUFFER], t.textureMult = 2, l.width = c * t.textureMult, l.height = u * t.textureMult), t.canvasWidth = c, t.canvasHeight = u } }, r.renderTo = function (e, t, n, r) { this.render({ forcedContext: e, forcedZoom: t, forcedPan: n, drawAllLayers: !0, forcedPxRatio: r }) }, r.render = function (e) { var t = (e = e || i.staticEmptyObject()).forcedContext, n = e.drawAllLayers, r = e.drawOnlyNodeLayer, o = e.forcedZoom, a = e.forcedPan, s = this, l = void 0 === e.forcedPxRatio ? this.getPixelRatio() : e.forcedPxRatio, c = s.cy, u = s.data, d = u.canvasNeedsRedraw, p = s.textureOnViewport && !t && (s.pinching || s.hoverData.dragging || s.swipePanning || s.data.wheelZooming), f = void 0 !== e.motionBlur ? e.motionBlur : s.motionBlur, h = s.motionBlurPxRatio, g = c.hasCompoundNodes(), m = s.hoverData.draggingEles, v = !(!s.hoverData.selecting && !s.touchData.selecting), b = f = f && !t && s.motionBlurEnabled && !v; t || (s.prevPxRatio !== l && (s.invalidateContainerClientCoordsCache(), s.matchCanvasSize(s.container), s.redrawHint("eles", !0), s.redrawHint("drag", !0)), s.prevPxRatio = l), !t && s.motionBlurTimeout && clearTimeout(s.motionBlurTimeout), f && (null == s.mbFrames && (s.mbFrames = 0), s.mbFrames++, s.mbFrames < 3 && (b = !1), s.mbFrames > s.minMbLowQualFrames && (s.motionBlurPxRatio = s.mbPxRBlurry)), s.clearingMotionBlur && (s.motionBlurPxRatio = 1), s.textureDrawLastFrame && !p && (d[s.NODE] = !0, d[s.SELECT_BOX] = !0); var y = c.style()._private.coreStyle, x = c.zoom(), w = void 0 !== o ? o : x, k = c.pan(), A = { x: k.x, y: k.y }, E = { zoom: x, pan: { x: k.x, y: k.y } }, S = s.prevViewport; void 0 === S || E.zoom !== S.zoom || E.pan.x !== S.pan.x || E.pan.y !== S.pan.y || m && !g || (s.motionBlurPxRatio = 1), a && (A = a), w *= l, A.x *= l, A.y *= l; var $ = s.getCachedZSortedEles(); function C(e, t, n, r, i) { var o = e.globalCompositeOperation; e.globalCompositeOperation = "destination-out", s.fillStyle(e, 255, 255, 255, s.motionBlurTransparency), e.fillRect(t, n, r, i), e.globalCompositeOperation = o } function _(e, r) { var i, l, c, d; s.clearingMotionBlur || e !== u.bufferContexts[s.MOTIONBLUR_BUFFER_NODE] && e !== u.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG] ? (i = A, l = w, c = s.canvasWidth, d = s.canvasHeight) : (i = { x: k.x * h, y: k.y * h }, l = x * h, c = s.canvasWidth * h, d = s.canvasHeight * h), e.setTransform(1, 0, 0, 1, 0, 0), "motionBlur" === r ? C(e, 0, 0, c, d) : t || void 0 !== r && !r || e.clearRect(0, 0, c, d), n || (e.translate(i.x, i.y), e.scale(l, l)), a && e.translate(a.x, a.y), o && e.scale(o, o) } if (p || (s.textureDrawLastFrame = !1), p) { if (s.textureDrawLastFrame = !0, !s.textureCache) { s.textureCache = {}, s.textureCache.bb = c.mutableElements().boundingBox(), s.textureCache.texture = s.data.bufferCanvases[s.TEXTURE_BUFFER]; var O = s.data.bufferContexts[s.TEXTURE_BUFFER]; O.setTransform(1, 0, 0, 1, 0, 0), O.clearRect(0, 0, s.canvasWidth * s.textureMult, s.canvasHeight * s.textureMult), s.render({ forcedContext: O, drawOnlyNodeLayer: !0, forcedPxRatio: l * s.textureMult }), (E = s.textureCache.viewport = { zoom: c.zoom(), pan: c.pan(), width: s.canvasWidth, height: s.canvasHeight }).mpan = { x: (0 - E.pan.x) / E.zoom, y: (0 - E.pan.y) / E.zoom } } d[s.DRAG] = !1, d[s.NODE] = !1; var T = u.contexts[s.NODE], j = s.textureCache.texture; E = s.textureCache.viewport, s.textureCache.bb, T.setTransform(1, 0, 0, 1, 0, 0), f ? C(T, 0, 0, E.width, E.height) : T.clearRect(0, 0, E.width, E.height); var P = y["outside-texture-bg-color"].value, D = y["outside-texture-bg-opacity"].value; s.fillStyle(T, P[0], P[1], P[2], D), T.fillRect(0, 0, E.width, E.height), x = c.zoom(), _(T, !1), T.clearRect(E.mpan.x, E.mpan.y, E.width / E.zoom / l, E.height / E.zoom / l), T.drawImage(j, E.mpan.x, E.mpan.y, E.width / E.zoom / l, E.height / E.zoom / l) } else s.textureOnViewport && !t && (s.textureCache = null); var R = c.extent(), I = s.pinching || s.hoverData.dragging || s.swipePanning || s.data.wheelZooming || s.hoverData.draggingEles, N = s.hideEdgesOnViewport && I, M = []; if (M[s.NODE] = !d[s.NODE] && f && !s.clearedForMotionBlur[s.NODE] || s.clearingMotionBlur, M[s.NODE] && (s.clearedForMotionBlur[s.NODE] = !0), M[s.DRAG] = !d[s.DRAG] && f && !s.clearedForMotionBlur[s.DRAG] || s.clearingMotionBlur, M[s.DRAG] && (s.clearedForMotionBlur[s.DRAG] = !0), d[s.NODE] || n || r || M[s.NODE]) { var z = f && !M[s.NODE] && 1 !== h; _(T = t || (z ? s.data.bufferContexts[s.MOTIONBLUR_BUFFER_NODE] : u.contexts[s.NODE]), f && !z ? "motionBlur" : void 0), N ? s.drawCachedNodes(T, $.nondrag, l, R) : s.drawLayeredElements(T, $.nondrag, l, R), s.debug && s.drawDebugPoints(T, $.nondrag), n || f || (d[s.NODE] = !1) } if (!r && (d[s.DRAG] || n || M[s.DRAG]) && (z = f && !M[s.DRAG] && 1 !== h, _(T = t || (z ? s.data.bufferContexts[s.MOTIONBLUR_BUFFER_DRAG] : u.contexts[s.DRAG]), f && !z ? "motionBlur" : void 0), N ? s.drawCachedNodes(T, $.drag, l, R) : s.drawCachedElements(T, $.drag, l, R), s.debug && s.drawDebugPoints(T, $.drag), n || f || (d[s.DRAG] = !1)), s.showFps || !r && d[s.SELECT_BOX] && !n) { if (_(T = t || u.contexts[s.SELECT_BOX]), 1 == s.selection[4] && (s.hoverData.selecting || s.touchData.selecting)) { x = s.cy.zoom(); var L = y["selection-box-border-width"].value / x; T.lineWidth = L, T.fillStyle = "rgba(" + y["selection-box-color"].value[0] + "," + y["selection-box-color"].value[1] + "," + y["selection-box-color"].value[2] + "," + y["selection-box-opacity"].value + ")", T.fillRect(s.selection[0], s.selection[1], s.selection[2] - s.selection[0], s.selection[3] - s.selection[1]), L > 0 && (T.strokeStyle = "rgba(" + y["selection-box-border-color"].value[0] + "," + y["selection-box-border-color"].value[1] + "," + y["selection-box-border-color"].value[2] + "," + y["selection-box-opacity"].value + ")", T.strokeRect(s.selection[0], s.selection[1], s.selection[2] - s.selection[0], s.selection[3] - s.selection[1])) } if (u.bgActivePosistion && !s.hoverData.selecting) { x = s.cy.zoom(); var B = u.bgActivePosistion; T.fillStyle = "rgba(" + y["active-bg-color"].value[0] + "," + y["active-bg-color"].value[1] + "," + y["active-bg-color"].value[2] + "," + y["active-bg-opacity"].value + ")", T.beginPath(), T.arc(B.x, B.y, y["active-bg-size"].pfValue / x, 0, 2 * Math.PI), T.fill() } var F = s.lastRedrawTime; if (s.showFps && F) { F = Math.round(F); var q = Math.round(1e3 / F); T.setTransform(1, 0, 0, 1, 0, 0), T.fillStyle = "rgba(255, 0, 0, 0.75)", T.strokeStyle = "rgba(255, 0, 0, 0.75)", T.lineWidth = 1, T.fillText("1 frame = " + F + " ms = " + q + " fps", 0, 20), T.strokeRect(0, 30, 250, 20), T.fillRect(0, 30, 250 * Math.min(q / 60, 1), 20) } n || (d[s.SELECT_BOX] = !1) } if (f && 1 !== h) { var V = u.contexts[s.NODE], U = s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_NODE], H = u.contexts[s.DRAG], G = s.data.bufferCanvases[s.MOTIONBLUR_BUFFER_DRAG], W = function (e, t, n) { e.setTransform(1, 0, 0, 1, 0, 0), n || !b ? e.clearRect(0, 0, s.canvasWidth, s.canvasHeight) : C(e, 0, 0, s.canvasWidth, s.canvasHeight); var r = h; e.drawImage(t, 0, 0, s.canvasWidth * r, s.canvasHeight * r, 0, 0, s.canvasWidth, s.canvasHeight) }; (d[s.NODE] || M[s.NODE]) && (W(V, U, M[s.NODE]), d[s.NODE] = !1), (d[s.DRAG] || M[s.DRAG]) && (W(H, G, M[s.DRAG]), d[s.DRAG] = !1) } s.prevViewport = E, s.clearingMotionBlur && (s.clearingMotionBlur = !1, s.motionBlurCleared = !0, s.motionBlur = !0), f && (s.motionBlurTimeout = setTimeout((function () { s.motionBlurTimeout = null, s.clearedForMotionBlur[s.NODE] = !1, s.clearedForMotionBlur[s.DRAG] = !1, s.motionBlur = !1, s.clearingMotionBlur = !p, s.mbFrames = 0, d[s.NODE] = !0, d[s.DRAG] = !0, s.redraw() }), 100)), t || c.emit("render") }, e.exports = r }, function (e, t, n) { "use strict"; for (var r = n(2), i = { drawPolygonPath: function (e, t, n, r, i, o) { var a = r / 2, s = i / 2; e.beginPath && e.beginPath(), e.moveTo(t + a * o[0], n + s * o[1]); for (var l = 1; l < o.length / 2; l++)e.lineTo(t + a * o[2 * l], n + s * o[2 * l + 1]); e.closePath() }, drawRoundRectanglePath: function (e, t, n, i, o) { var a = i / 2, s = o / 2, l = r.getRoundRectangleRadius(i, o); e.beginPath && e.beginPath(), e.moveTo(t, n - s), e.arcTo(t + a, n - s, t + a, n, l), e.arcTo(t + a, n + s, t, n + s, l), e.arcTo(t - a, n + s, t - a, n, l), e.arcTo(t - a, n - s, t, n - s, l), e.lineTo(t, n - s), e.closePath() }, drawBottomRoundRectanglePath: function (e, t, n, i, o) { var a = i / 2, s = o / 2, l = r.getRoundRectangleRadius(i, o); e.beginPath && e.beginPath(), e.moveTo(t, n - s), e.lineTo(t + a, n - s), e.lineTo(t + a, n), e.arcTo(t + a, n + s, t, n + s, l), e.arcTo(t - a, n + s, t - a, n, l), e.lineTo(t - a, n - s), e.lineTo(t, n - s), e.closePath() }, drawCutRectanglePath: function (e, t, n, i, o) { var a = i / 2, s = o / 2, l = r.getCutRectangleCornerLength(); e.beginPath && e.beginPath(), e.moveTo(t - a + l, n - s), e.lineTo(t + a - l, n - s), e.lineTo(t + a, n - s + l), e.lineTo(t + a, n + s - l), e.lineTo(t + a - l, n + s), e.lineTo(t - a + l, n + s), e.lineTo(t - a, n + s - l), e.lineTo(t - a, n - s + l), e.closePath() }, drawBarrelPath: function (e, t, n, i, o) { var a = i / 2, s = o / 2, l = t - a, c = t + a, u = n - s, d = n + s, p = r.getBarrelCurveConstants(i, o), f = p.widthOffset, h = p.heightOffset, g = p.ctrlPtOffsetPct * f; e.beginPath && e.beginPath(), e.moveTo(l, u + h), e.lineTo(l, d - h), e.quadraticCurveTo(l + g, d, l + f, d), e.lineTo(c - f, d), e.quadraticCurveTo(c - g, d, c, d - h), e.lineTo(c, u + h), e.quadraticCurveTo(c - g, u, c - f, u), e.lineTo(l + f, u), e.quadraticCurveTo(l + g, u, l, u + h), e.closePath() } }, o = Math.sin(0), a = Math.cos(0), s = {}, l = {}, c = Math.PI / 40, u = 0 * Math.PI; u < 2 * Math.PI; u += c)s[u] = Math.sin(u), l[u] = Math.cos(u); i.drawEllipsePath = function (e, t, n, r, i) { if (e.beginPath && e.beginPath(), e.ellipse) e.ellipse(t, n, r / 2, i / 2, 0, 0, 2 * Math.PI); else for (var u, d, p = r / 2, f = i / 2, h = 0 * Math.PI; h < 2 * Math.PI; h += c)u = t - p * s[h] * o + p * l[h] * a, d = n + f * l[h] * o + f * s[h] * a, 0 === h ? e.moveTo(u, d) : e.lineTo(u, d); e.closePath() }, e.exports = i }, function (e, t, n) { "use strict"; var r = n(0), i = {}; function o(e) { var t = e.indexOf(","); return e.substr(t + 1) } function a(e, t, n) { var r = t.toDataURL(n, e.quality); switch (e.output) { case "blob": return function (e, t) { for (var n = atob(e), r = new ArrayBuffer(n.length), i = new Uint8Array(r), o = 0; o < n.length; o++)i[o] = n.charCodeAt(o); return new Blob([r], { type: t }) }(o(r), n); case "base64": return o(r); case "base64uri": default: return r } } i.createBuffer = function (e, t) { var n = document.createElement("canvas"); return n.width = e, n.height = t, [n, n.getContext("2d")] }, i.bufferCanvasImage = function (e) { var t = this.cy, n = t.mutableElements().boundingBox(), i = this.findContainerClientCoords(), o = e.full ? Math.ceil(n.w) : i[2], a = e.full ? Math.ceil(n.h) : i[3], s = r.number(e.maxWidth) || r.number(e.maxHeight), l = this.getPixelRatio(), c = 1; if (void 0 !== e.scale) o *= e.scale, a *= e.scale, c = e.scale; else if (s) { var u = 1 / 0, d = 1 / 0; r.number(e.maxWidth) && (u = c * e.maxWidth / o), r.number(e.maxHeight) && (d = c * e.maxHeight / a), o *= c = Math.min(u, d), a *= c } s || (o *= l, a *= l, c *= l); var p = document.createElement("canvas"); p.width = o, p.height = a, p.style.width = o + "px", p.style.height = a + "px"; var f = p.getContext("2d"); if (o > 0 && a > 0) { f.clearRect(0, 0, o, a), f.globalCompositeOperation = "source-over"; var h = this.getCachedZSortedEles(); if (e.full) f.translate(-n.x1 * c, -n.y1 * c), f.scale(c, c), this.drawElements(f, h), f.scale(1 / c, 1 / c), f.translate(n.x1 * c, n.y1 * c); else { var g = t.pan(), m = { x: g.x * c, y: g.y * c }; c *= t.zoom(), f.translate(m.x, m.y), f.scale(c, c), this.drawElements(f, h), f.scale(1 / c, 1 / c), f.translate(-m.x, -m.y) } e.bg && (f.globalCompositeOperation = "destination-over", f.fillStyle = e.bg, f.rect(0, 0, o, a), f.fill()) } return p }, i.png = function (e) { return a(e, this.bufferCanvasImage(e), "image/png") }, i.jpg = function (e) { return a(e, this.bufferCanvasImage(e), "image/jpeg") }, e.exports = i }, function (e, t, n) { "use strict"; var r = { nodeShapeImpl: function (e, t, n, r, i, o, a) { switch (e) { case "ellipse": return this.drawEllipsePath(t, n, r, i, o); case "polygon": return this.drawPolygonPath(t, n, r, i, o, a); case "roundrectangle": return this.drawRoundRectanglePath(t, n, r, i, o); case "cutrectangle": return this.drawCutRectanglePath(t, n, r, i, o); case "bottomroundrectangle": return this.drawBottomRoundRectanglePath(t, n, r, i, o); case "barrel": return this.drawBarrelPath(t, n, r, i, o) } } }; e.exports = r }, function (e, t, n) { "use strict"; var r = n(0), i = n(1), o = n(18), a = function e() { if (!(this instanceof e)) return new e; this.length = 0 }, s = a.prototype; s.instanceString = function () { return "stylesheet" }, s.selector = function (e) { return this[this.length++] = { selector: e, properties: [] }, this }, s.css = function (e, t) { var n = this.length - 1; if (r.string(e)) this[n].properties.push({ name: e, value: t }); else if (r.plainObject(e)) for (var a = e, s = 0; s < o.properties.length; s++) { var l = o.properties[s], c = a[l.name]; if (void 0 === c && (c = a[i.dash2camel(l.name)]), void 0 !== c) { var u = l.name, d = c; this[n].properties.push({ name: u, value: d }) } } return this }, s.style = s.css, s.generateStyle = function (e) { var t = new o(e); return this.appendToStyle(t) }, s.appendToStyle = function (e) { for (var t = 0; t < this.length; t++) { var n = this[t], r = n.selector, i = n.properties; e.selector(r); for (var o = 0; o < i.length; o++) { var a = i[o]; e.css(a.name, a.value) } } return e }, e.exports = a }, function (e, t, n) { "use strict"; e.exports = "snapshot-2fd4aa6cc2-1531011493999" }])
235
+ }, e.exports = r(n(241), n(242))
236
+ }).call(this, n(238).setImmediate)
237
+ }, function (e, t, n) { (function (e) { var r = void 0 !== e && e || "undefined" != typeof self && self || window, i = Function.prototype.apply; function o(e, t) { this._id = e, this._clearFn = t } t.setTimeout = function () { return new o(i.call(setTimeout, r, arguments), clearTimeout) }, t.setInterval = function () { return new o(i.call(setInterval, r, arguments), clearInterval) }, t.clearTimeout = t.clearInterval = function (e) { e && e.close() }, o.prototype.unref = o.prototype.ref = function () { }, o.prototype.close = function () { this._clearFn.call(r, this._id) }, t.enroll = function (e, t) { clearTimeout(e._idleTimeoutId), e._idleTimeout = t }, t.unenroll = function (e) { clearTimeout(e._idleTimeoutId), e._idleTimeout = -1 }, t._unrefActive = t.active = function (e) { clearTimeout(e._idleTimeoutId); var t = e._idleTimeout; t >= 0 && (e._idleTimeoutId = setTimeout((function () { e._onTimeout && e._onTimeout() }), t)) }, n(239), t.setImmediate = "undefined" != typeof self && self.setImmediate || void 0 !== e && e.setImmediate || this && this.setImmediate, t.clearImmediate = "undefined" != typeof self && self.clearImmediate || void 0 !== e && e.clearImmediate || this && this.clearImmediate }).call(this, n(35)) }, function (e, t, n) { (function (e, t) { !function (e, n) { "use strict"; if (!e.setImmediate) { var r, i, o, a, s, l = 1, c = {}, u = !1, d = e.document, p = Object.getPrototypeOf && Object.getPrototypeOf(e); p = p && p.setTimeout ? p : e, "[object process]" === {}.toString.call(e.process) ? r = function (e) { t.nextTick((function () { h(e) })) } : !function () { if (e.postMessage && !e.importScripts) { var t = !0, n = e.onmessage; return e.onmessage = function () { t = !1 }, e.postMessage("", "*"), e.onmessage = n, t } }() ? e.MessageChannel ? ((o = new MessageChannel).port1.onmessage = function (e) { h(e.data) }, r = function (e) { o.port2.postMessage(e) }) : d && "onreadystatechange" in d.createElement("script") ? (i = d.documentElement, r = function (e) { var t = d.createElement("script"); t.onreadystatechange = function () { h(e), t.onreadystatechange = null, i.removeChild(t), t = null }, i.appendChild(t) }) : r = function (e) { setTimeout(h, 0, e) } : (a = "setImmediate$" + Math.random() + "$", s = function (t) { t.source === e && "string" == typeof t.data && 0 === t.data.indexOf(a) && h(+t.data.slice(a.length)) }, e.addEventListener ? e.addEventListener("message", s, !1) : e.attachEvent("onmessage", s), r = function (t) { e.postMessage(a + t, "*") }), p.setImmediate = function (e) { "function" != typeof e && (e = new Function("" + e)); for (var t = new Array(arguments.length - 1), n = 0; n < t.length; n++)t[n] = arguments[n + 1]; var i = { callback: e, args: t }; return c[l] = i, r(l), l++ }, p.clearImmediate = f } function f(e) { delete c[e] } function h(e) { if (u) setTimeout(h, 0, e); else { var t = c[e]; if (t) { u = !0; try { !function (e) { var t = e.callback, n = e.args; switch (n.length) { case 0: t(); break; case 1: t(n[0]); break; case 2: t(n[0], n[1]); break; case 3: t(n[0], n[1], n[2]); break; default: t.apply(void 0, n) } }(t) } finally { f(e), u = !1 } } } } }("undefined" == typeof self ? void 0 === e ? this : e : self) }).call(this, n(35), n(240)) }, function (e, t) { var n, r, i = e.exports = {}; function o() { throw new Error("setTimeout has not been defined") } function a() { throw new Error("clearTimeout has not been defined") } function s(e) { if (n === setTimeout) return setTimeout(e, 0); if ((n === o || !n) && setTimeout) return n = setTimeout, setTimeout(e, 0); try { return n(e, 0) } catch (t) { try { return n.call(null, e, 0) } catch (t) { return n.call(this, e, 0) } } } !function () { try { n = "function" == typeof setTimeout ? setTimeout : o } catch (e) { n = o } try { r = "function" == typeof clearTimeout ? clearTimeout : a } catch (e) { r = a } }(); var l, c = [], u = !1, d = -1; function p() { u && l && (u = !1, l.length ? c = l.concat(c) : d = -1, c.length && f()) } function f() { if (!u) { var e = s(p); u = !0; for (var t = c.length; t;) { for (l = c, c = []; ++d < t;)l && l[d].run(); d = -1, t = c.length } l = null, u = !1, function (e) { if (r === clearTimeout) return clearTimeout(e); if ((r === a || !r) && clearTimeout) return r = clearTimeout, clearTimeout(e); try { r(e) } catch (t) { try { return r.call(null, e) } catch (t) { return r.call(this, e) } } }(e) } } function h(e, t) { this.fun = e, this.array = t } function g() { } i.nextTick = function (e) { var t = new Array(arguments.length - 1); if (arguments.length > 1) for (var n = 1; n < arguments.length; n++)t[n - 1] = arguments[n]; c.push(new h(e, t)), 1 !== c.length || u || s(f) }, h.prototype.run = function () { this.fun.apply(null, this.array) }, i.title = "browser", i.browser = !0, i.env = {}, i.argv = [], i.version = "", i.versions = {}, i.on = g, i.addListener = g, i.once = g, i.off = g, i.removeListener = g, i.removeAllListeners = g, i.emit = g, i.prependListener = g, i.prependOnceListener = g, i.listeners = function (e) { return [] }, i.binding = function (e) { throw new Error("process.binding is not supported") }, i.cwd = function () { return "/" }, i.chdir = function (e) { throw new Error("process.chdir is not supported") }, i.umask = function () { return 0 } }, function (e, t, n) { (function (t) { var n = /^\s+|\s+$/g, r = /^[-+]0x[0-9a-f]+$/i, i = /^0b[01]+$/i, o = /^0o[0-7]+$/i, a = parseInt, s = "object" == typeof t && t && t.Object === Object && t, l = "object" == typeof self && self && self.Object === Object && self, c = s || l || Function("return this")(), u = Object.prototype.toString, d = Math.max, p = Math.min, f = function () { return c.Date.now() }; function h(e) { var t = typeof e; return !!e && ("object" == t || "function" == t) } function g(e) { if ("number" == typeof e) return e; if (function (e) { return "symbol" == typeof e || function (e) { return !!e && "object" == typeof e }(e) && "[object Symbol]" == u.call(e) }(e)) return NaN; if (h(e)) { var t = "function" == typeof e.valueOf ? e.valueOf() : e; e = h(t) ? t + "" : t } if ("string" != typeof e) return 0 === e ? e : +e; e = e.replace(n, ""); var s = i.test(e); return s || o.test(e) ? a(e.slice(2), s ? 2 : 8) : r.test(e) ? NaN : +e } e.exports = function (e, t, n) { var r, i, o, a, s, l, c = 0, u = !1, m = !1, v = !0; if ("function" != typeof e) throw new TypeError("Expected a function"); function b(t) { var n = r, o = i; return r = i = void 0, c = t, a = e.apply(o, n) } function y(e) { return c = e, s = setTimeout(w, t), u ? b(e) : a } function x(e) { var n = e - l; return void 0 === l || n >= t || n < 0 || m && e - c >= o } function w() { var e = f(); if (x(e)) return k(e); s = setTimeout(w, function (e) { var n = t - (e - l); return m ? p(n, o - (e - c)) : n }(e)) } function k(e) { return s = void 0, v && r ? b(e) : (r = i = void 0, a) } function A() { var e = f(), n = x(e); if (r = arguments, i = this, l = e, n) { if (void 0 === s) return y(l); if (m) return s = setTimeout(w, t), b(l) } return void 0 === s && (s = setTimeout(w, t)), a } return t = g(t) || 0, h(n) && (u = !!n.leading, o = (m = "maxWait" in n) ? d(g(n.maxWait) || 0, t) : o, v = "trailing" in n ? !!n.trailing : v), A.cancel = function () { void 0 !== s && clearTimeout(s), c = 0, r = l = i = s = void 0 }, A.flush = function () { return void 0 === s ? a : k(f()) }, A } }).call(this, n(35)) }, function (e, t, n) { e.exports = n(243) }, function (e, t, n) { var r, i, o; (function () { var n, a, s, l, c, u, d, p, f, h, g, m, v, b, y; s = Math.floor, h = Math.min, a = function (e, t) { return e < t ? -1 : e > t ? 1 : 0 }, f = function (e, t, n, r, i) { var o; if (null == n && (n = 0), null == i && (i = a), n < 0) throw new Error("lo must be non-negative"); for (null == r && (r = e.length); n < r;)i(t, e[o = s((n + r) / 2)]) < 0 ? r = o : n = o + 1; return [].splice.apply(e, [n, n - n].concat(t)), t }, u = function (e, t, n) { return null == n && (n = a), e.push(t), b(e, 0, e.length - 1, n) }, c = function (e, t) { var n, r; return null == t && (t = a), n = e.pop(), e.length ? (r = e[0], e[0] = n, y(e, 0, t)) : r = n, r }, p = function (e, t, n) { var r; return null == n && (n = a), r = e[0], e[0] = t, y(e, 0, n), r }, d = function (e, t, n) { var r; return null == n && (n = a), e.length && n(e[0], t) < 0 && (t = (r = [e[0], t])[0], e[0] = r[1], y(e, 0, n)), t }, l = function (e, t) { var n, r, i, o, l, c; for (null == t && (t = a), l = [], r = 0, i = (o = function () { c = []; for (var t = 0, n = s(e.length / 2); 0 <= n ? t < n : t > n; 0 <= n ? t++ : t--)c.push(t); return c }.apply(this).reverse()).length; r < i; r++)n = o[r], l.push(y(e, n, t)); return l }, v = function (e, t, n) { var r; if (null == n && (n = a), -1 !== (r = e.indexOf(t))) return b(e, 0, r, n), y(e, r, n) }, g = function (e, t, n) { var r, i, o, s, c; if (null == n && (n = a), !(i = e.slice(0, t)).length) return i; for (l(i, n), o = 0, s = (c = e.slice(t)).length; o < s; o++)r = c[o], d(i, r, n); return i.sort(n).reverse() }, m = function (e, t, n) { var r, i, o, s, u, d, p, g, m; if (null == n && (n = a), 10 * t <= e.length) { if (!(o = e.slice(0, t).sort(n)).length) return o; for (i = o[o.length - 1], s = 0, d = (p = e.slice(t)).length; s < d; s++)n(r = p[s], i) < 0 && (f(o, r, 0, null, n), o.pop(), i = o[o.length - 1]); return o } for (l(e, n), m = [], u = 0, g = h(t, e.length); 0 <= g ? u < g : u > g; 0 <= g ? ++u : --u)m.push(c(e, n)); return m }, b = function (e, t, n, r) { var i, o, s; for (null == r && (r = a), i = e[n]; n > t && r(i, o = e[s = n - 1 >> 1]) < 0;)e[n] = o, n = s; return e[n] = i }, y = function (e, t, n) { var r, i, o, s, l; for (null == n && (n = a), i = e.length, l = t, o = e[t], r = 2 * t + 1; r < i;)(s = r + 1) < i && !(n(e[r], e[s]) < 0) && (r = s), e[t] = e[r], r = 2 * (t = r) + 1; return e[t] = o, b(e, l, t, n) }, n = function () { function e(e) { this.cmp = null != e ? e : a, this.nodes = [] } return e.push = u, e.pop = c, e.replace = p, e.pushpop = d, e.heapify = l, e.updateItem = v, e.nlargest = g, e.nsmallest = m, e.prototype.push = function (e) { return u(this.nodes, e, this.cmp) }, e.prototype.pop = function () { return c(this.nodes, this.cmp) }, e.prototype.peek = function () { return this.nodes[0] }, e.prototype.contains = function (e) { return -1 !== this.nodes.indexOf(e) }, e.prototype.replace = function (e) { return p(this.nodes, e, this.cmp) }, e.prototype.pushpop = function (e) { return d(this.nodes, e, this.cmp) }, e.prototype.heapify = function () { return l(this.nodes, this.cmp) }, e.prototype.updateItem = function (e) { return v(this.nodes, e, this.cmp) }, e.prototype.clear = function () { return this.nodes = [] }, e.prototype.empty = function () { return 0 === this.nodes.length }, e.prototype.size = function () { return this.nodes.length }, e.prototype.clone = function () { var t; return (t = new e).nodes = this.nodes.slice(0), t }, e.prototype.toArray = function () { return this.nodes.slice(0) }, e.prototype.insert = e.prototype.push, e.prototype.top = e.prototype.peek, e.prototype.front = e.prototype.peek, e.prototype.has = e.prototype.contains, e.prototype.copy = e.prototype.clone, e }(), i = [], void 0 === (o = "function" == typeof (r = function () { return n }) ? r.apply(t, i) : r) || (e.exports = o) }).call(this) }, function (e, t, n) { var r; !function () { "use strict"; var i = "undefined" == typeof jQuery ? null : jQuery, o = function (e, t) { if (e) { var n, r = { menuItems: [], menuItemClasses: [], contextMenuClasses: [] }; e("core", "contextMenus", (function (e) { var i = this; i.scratch("cycontextmenus") || i.scratch("cycontextmenus", {}); var o, a = l("options"), s = l("cxtMenu"); function l(e) { return i.scratch("cycontextmenus")[e] } function c(e, t) { i.scratch("cycontextmenus")[e] = t } function u(e) { for (var t = "", n = 0; n < e.length; n++) { t += e[n], n !== e.length - 1 && (t += " ") } return t } function d(e) { e.css("display", "block") } function p(e) { e.css("display", "none") } function f(e, n, r) { function o(n) { c("currentCyEvent", n), function (e) { var n = l("cxtMenuPosition"), r = e.position || e.cyPosition; if (n != r) { s.children().css("display", "none"), c("anyVisibleChild", !1), c("cxtMenuPosition", r); var o = t(i.container()).offset(), a = e.renderedPosition || e.cyRenderedPosition, u = o.left + a.x, d = o.top + a.y; s.css("left", u), s.css("top", d) } }(n), e.data("show") && (s.is(":visible") || d(s), c("anyVisibleChild", !0), d(e)), !l("anyVisibleChild") && s.is(":visible") && p(s) } var a, u; r && i.on("cxttap", u = function (e) { (e.target || e.cyTarget) == i && o(e) }), n && i.on("cxttap", n, a = function (e) { o(e) }), e.data("cy-context-menus-cxtfcn", a), e.data("cy-context-menus-cxtcorefcn", u) } function h(e, t, n, r) { !function (e, t) { var n; e.on("click", n = function () { t(l("currentCyEvent")) }), e.data("call-on-click-function", n) }(e, t), f(e, n, r) } function g(e) { for (var t = 0; t < e.length; t++)m(e[t]) } function m(e) { var t, n = b(e); t = n, s.append(t), function (e) { e.click((function () { p(s), c("cxtMenuPosition", void 0) })) }(t), h(n, e.onClickFunction, e.selector, e.coreAsWell) } function v(e, n) { var r, i, o = b(e); r = o, i = t("#" + n), r.insertBefore(i), h(o, e.onClickFunction, e.selector, e.coreAsWell) } function b(e) { var n, r, i, o = (n = a.menuItemClasses, r = e.hasTrailingDivider, i = u(n), i += " cy-context-menus-cxt-menuitem", r && (i += " cy-context-menus-divider"), i), s = '<button id="' + e.id + '" class="' + o + '"'; e.tooltipText && (s += ' title="' + e.tooltipText + '"'), e.disabled && (s += " disabled"), e.image ? s += '><img src="' + e.image.src + '" width="' + e.image.width + 'px"; height="' + e.image.height + 'px"; style="position:absolute; top: ' + e.image.y + "px; left: " + e.image.x + 'px;">' + e.content + "</button>" : s += ">" + e.content + "</button>"; var l = t(s); return l.data("selector", e.selector), l.data("on-click-function", e.onClickFunction), l.data("show", void 0 === e.show || e.show), l } function y() { var e; l("active") && (e = s.children(), t(e).each((function () { x(t(this)) })), i.off("tapstart", n), s.remove(), c(s = void 0, void 0), c("active", !1), c("anyVisibleChild", !1)) } function x(e) { var n = "string" == typeof e ? t("#" + e) : e, r = n.data("cy-context-menus-cxtfcn"), o = n.data("selector"), a = n.data("call-on-click-function"), s = n.data("cy-context-menus-cxtcorefcn"); r && i.off("cxttap", o, r), s && i.off("cxttap", s), a && n.off("click", a), n.remove() } "get" !== e && (c("options", a = function (e, t) { var n = {}; for (var r in e) n[r] = e[r]; for (var r in t) n[r] = t[r]; return n }(r, e)), l("active") && y(), c("active", !0), o = u(a.contextMenuClasses), (s = t("<div class=" + o + "></div>")).addClass("cy-context-menus-cxt-menu"), c("cxtMenu", s), t("body").append(s), s = s, g(a.menuItems), i.on("tapstart", n = function () { p(s), c("cxtMenuPosition", void 0), c("currentCyEvent", void 0) }), t(".cy-context-menus-cxt-menu").contextmenu((function () { return !1 }))); return function (e) { return { isActive: function () { return l("active") }, appendMenuItem: function (t) { return m(t), e }, appendMenuItems: function (t) { return g(t), e }, removeMenuItem: function (t) { return x(t), e }, setTrailingDivider: function (n, r) { return function (e, n) { var r = t("#" + e); n ? r.addClass("cy-context-menus-divider") : r.removeClass("cy-context-menus-divider") }(n, r), e }, insertBeforeMenuItem: function (t, n) { return v(t, n), e }, moveBeforeOtherMenuItem: function (n, r) { return function (e, n) { if (e !== n) { var r = t("#" + e).detach(), i = t("#" + n); r.insertBefore(i) } }(n, r), e }, disableMenuItem: function (n) { return t("#" + n).attr("disabled", !0), e }, enableMenuItem: function (n) { return t("#" + n).attr("disabled", !1), e }, hideMenuItem: function (n) { return t("#" + n).data("show", !1), p(t("#" + n)), e }, showMenuItem: function (n) { return t("#" + n).data("show", !0), d(t("#" + n)), e }, destroy: function () { return y(), e } } }(this) })) } }; e.exports && (e.exports = o), void 0 === (r = function () { return o }.call(t, n, t, e)) || (e.exports = r), "undefined" != typeof cytoscape && i && o(cytoscape, i) }() }, function (e, t, n) { var r; r = function (e) { return function (e) { var t = {}; function n(r) { if (t[r]) return t[r].exports; var i = t[r] = { i: r, l: !1, exports: {} }; return e[r].call(i.exports, i, i.exports, n), i.l = !0, i.exports } return n.m = e, n.c = t, n.d = function (e, t, r) { n.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: r }) }, n.r = function (e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }) }, n.t = function (e, t) { if (1 & t && (e = n(e)), 8 & t) return e; if (4 & t && "object" == typeof e && e && e.__esModule) return e; var r = Object.create(null); if (n.r(r), Object.defineProperty(r, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e) for (var i in e) n.d(r, i, function (t) { return e[t] }.bind(null, i)); return r }, n.n = function (e) { var t = e && e.__esModule ? function () { return e.default } : function () { return e }; return n.d(t, "a", t), t }, n.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, n.p = "", n(n.s = 0) }([function (e, t, n) { var r = n(1), i = function (e) { e && e("layout", "dagre", r) }; "undefined" != typeof cytoscape && i(cytoscape), e.exports = i }, function (e, t, n) { function r(e) { return (r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } var i = n(2), o = n(3), a = n(4); function s(e) { this.options = o({}, i, e) } s.prototype.run = function () { var e = this.options, t = e.cy, n = e.eles, i = function (e, t) { return "function" == typeof t ? t.apply(e, [e]) : t }, o = e.boundingBox || { x1: 0, y1: 0, w: t.width(), h: t.height() }; void 0 === o.x2 && (o.x2 = o.x1 + o.w), void 0 === o.w && (o.w = o.x2 - o.x1), void 0 === o.y2 && (o.y2 = o.y1 + o.h), void 0 === o.h && (o.h = o.y2 - o.y1); var s = new a.graphlib.Graph({ multigraph: !0, compound: !0 }), l = {}, c = function (e, t) { null != t && (l[e] = t) }; c("nodesep", e.nodeSep), c("edgesep", e.edgeSep), c("ranksep", e.rankSep), c("rankdir", e.rankDir), c("ranker", e.ranker), s.setGraph(l), s.setDefaultEdgeLabel((function () { return {} })), s.setDefaultNodeLabel((function () { return {} })); for (var u = n.nodes(), d = 0; d < u.length; d++) { var p = u[d], f = p.layoutDimensions(e); s.setNode(p.id(), { width: f.w, height: f.h, name: p.id() }) } for (var h = 0; h < u.length; h++) { var g = u[h]; g.isChild() && s.setParent(g.id(), g.parent().id()) } for (var m = n.edges().stdFilter((function (e) { return !e.source().isParent() && !e.target().isParent() })), v = 0; v < m.length; v++) { var b = m[v]; s.setEdge(b.source().id(), b.target().id(), { minlen: i(b, e.minLen), weight: i(b, e.edgeWeight), name: b.id() }, b.id()) } a.layout(s); for (var y, x = s.nodes(), w = 0; w < x.length; w++) { var k = x[w], A = s.node(k); t.getElementById(k).scratch().dagre = A } return e.boundingBox ? (y = { x1: 1 / 0, x2: -1 / 0, y1: 1 / 0, y2: -1 / 0 }, u.forEach((function (e) { var t = e.scratch().dagre; y.x1 = Math.min(y.x1, t.x), y.x2 = Math.max(y.x2, t.x), y.y1 = Math.min(y.y1, t.y), y.y2 = Math.max(y.y2, t.y) })), y.w = y.x2 - y.x1, y.h = y.y2 - y.y1) : y = o, u.layoutPositions(this, e, (function (t) { var n = (t = "object" === r(t) ? t : this).scratch().dagre; return function (t) { if (e.boundingBox) { var n = 0 === y.w ? 0 : (t.x - y.x1) / y.w, r = 0 === y.h ? 0 : (t.y - y.y1) / y.h; return { x: o.x1 + n * o.w, y: o.y1 + r * o.h } } return t }({ x: n.x, y: n.y }) })), this }, e.exports = s }, function (e, t) { var n = { nodeSep: void 0, edgeSep: void 0, rankSep: void 0, rankDir: void 0, ranker: void 0, minLen: function (e) { return 1 }, edgeWeight: function (e) { return 1 }, fit: !0, padding: 30, spacingFactor: void 0, nodeDimensionsIncludeLabels: !1, animate: !1, animateFilter: function (e, t) { return !0 }, animationDuration: 500, animationEasing: void 0, boundingBox: void 0, transform: function (e, t) { return t }, ready: function () { }, stop: function () { } }; e.exports = n }, function (e, t) { e.exports = null != Object.assign ? Object.assign.bind(Object) : function (e) { for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)n[r - 1] = arguments[r]; return n.forEach((function (t) { Object.keys(t).forEach((function (n) { return e[n] = t[n] })) })), e } }, function (t, n) { t.exports = e }]) }, e.exports = r(n(246)) }, function (e, t, n) { e.exports = { graphlib: n(30), layout: n(359), debug: n(420), util: { time: n(20).time, notime: n(20).notime }, version: n(421) } }, function (e, t, n) { e.exports = { Graph: n(116), version: n(348) } }, function (e, t, n) { var r = n(149); e.exports = function (e) { return r(e, 4) } }, function (e, t) { e.exports = function () { this.__data__ = [], this.size = 0 } }, function (e, t, n) { var r = n(75), i = Array.prototype.splice; e.exports = function (e) { var t = this.__data__, n = r(t, e); return !(n < 0) && (n == t.length - 1 ? t.pop() : i.call(t, n, 1), --this.size, !0) } }, function (e, t, n) { var r = n(75); e.exports = function (e) { var t = this.__data__, n = r(t, e); return n < 0 ? void 0 : t[n][1] } }, function (e, t, n) { var r = n(75); e.exports = function (e) { return r(this.__data__, e) > -1 } }, function (e, t, n) { var r = n(75); e.exports = function (e, t) { var n = this.__data__, i = r(n, e); return i < 0 ? (++this.size, n.push([e, t])) : n[i][1] = t, this } }, function (e, t, n) { var r = n(74); e.exports = function () { this.__data__ = new r, this.size = 0 } }, function (e, t) { e.exports = function (e) { var t = this.__data__, n = t.delete(e); return this.size = t.size, n } }, function (e, t) { e.exports = function (e) { return this.__data__.get(e) } }, function (e, t) { e.exports = function (e) { return this.__data__.has(e) } }, function (e, t, n) { var r = n(74), i = n(117), o = n(118); e.exports = function (e, t) { var n = this.__data__; if (n instanceof r) { var a = n.__data__; if (!i || a.length < 199) return a.push([e, t]), this.size = ++n.size, this; n = this.__data__ = new o(a) } return n.set(e, t), this.size = n.size, this } }, function (e, t, n) { var r = n(64), i = n(262), o = n(23), a = n(151), s = /^\[object .+?Constructor\]$/, l = Function.prototype, c = Object.prototype, u = l.toString, d = c.hasOwnProperty, p = RegExp("^" + u.call(d).replace(/[\\^$.*+?()[\]{}|]/g, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"); e.exports = function (e) { return !(!o(e) || i(e)) && (r(e) ? p : s).test(a(e)) } }, function (e, t, n) { var r = n(58), i = Object.prototype, o = i.hasOwnProperty, a = i.toString, s = r ? r.toStringTag : void 0; e.exports = function (e) { var t = o.call(e, s), n = e[s]; try { e[s] = void 0; var r = !0 } catch (e) { } var i = a.call(e); return r && (t ? e[s] = n : delete e[s]), i } }, function (e, t) { var n = Object.prototype.toString; e.exports = function (e) { return n.call(e) } }, function (e, t, n) { var r, i = n(263), o = (r = /[^.]+$/.exec(i && i.keys && i.keys.IE_PROTO || "")) ? "Symbol(src)_1." + r : ""; e.exports = function (e) { return !!o && o in e } }, function (e, t, n) { var r = n(31)["__core-js_shared__"]; e.exports = r }, function (e, t) { e.exports = function (e, t) { return null == e ? void 0 : e[t] } }, function (e, t, n) { var r = n(266), i = n(74), o = n(117); e.exports = function () { this.size = 0, this.__data__ = { hash: new r, map: new (o || i), string: new r } } }, function (e, t, n) { var r = n(267), i = n(268), o = n(269), a = n(270), s = n(271); function l(e) { var t = -1, n = null == e ? 0 : e.length; for (this.clear(); ++t < n;) { var r = e[t]; this.set(r[0], r[1]) } } l.prototype.clear = r, l.prototype.delete = i, l.prototype.get = o, l.prototype.has = a, l.prototype.set = s, e.exports = l }, function (e, t, n) { var r = n(76); e.exports = function () { this.__data__ = r ? r(null) : {}, this.size = 0 } }, function (e, t) { e.exports = function (e) { var t = this.has(e) && delete this.__data__[e]; return this.size -= t ? 1 : 0, t } }, function (e, t, n) { var r = n(76), i = Object.prototype.hasOwnProperty; e.exports = function (e) { var t = this.__data__; if (r) { var n = t[e]; return "__lodash_hash_undefined__" === n ? void 0 : n } return i.call(t, e) ? t[e] : void 0 } }, function (e, t, n) { var r = n(76), i = Object.prototype.hasOwnProperty; e.exports = function (e) { var t = this.__data__; return r ? void 0 !== t[e] : i.call(t, e) } }, function (e, t, n) { var r = n(76); e.exports = function (e, t) { var n = this.__data__; return this.size += this.has(e) ? 0 : 1, n[e] = r && void 0 === t ? "__lodash_hash_undefined__" : t, this } }, function (e, t, n) { var r = n(77); e.exports = function (e) { var t = r(this, e).delete(e); return this.size -= t ? 1 : 0, t } }, function (e, t) { e.exports = function (e) { var t = typeof e; return "string" == t || "number" == t || "symbol" == t || "boolean" == t ? "__proto__" !== e : null === e } }, function (e, t, n) { var r = n(77); e.exports = function (e) { return r(this, e).get(e) } }, function (e, t, n) { var r = n(77); e.exports = function (e) { return r(this, e).has(e) } }, function (e, t, n) { var r = n(77); e.exports = function (e, t) { var n = r(this, e), i = n.size; return n.set(e, t), this.size += n.size == i ? 0 : 1, this } }, function (e, t, n) { var r = n(65), i = n(41); e.exports = function (e, t) { return e && r(t, i(t), e) } }, function (e, t) { e.exports = function (e, t) { for (var n = -1, r = Array(e); ++n < e;)r[n] = t(n); return r } }, function (e, t, n) { var r = n(47), i = n(34); e.exports = function (e) { return i(e) && "[object Arguments]" == r(e) } }, function (e, t) { e.exports = function () { return !1 } }, function (e, t, n) { var r = n(47), i = n(120), o = n(34), a = {}; a["[object Float32Array]"] = a["[object Float64Array]"] = a["[object Int8Array]"] = a["[object Int16Array]"] = a["[object Int32Array]"] = a["[object Uint8Array]"] = a["[object Uint8ClampedArray]"] = a["[object Uint16Array]"] = a["[object Uint32Array]"] = !0, a["[object Arguments]"] = a["[object Array]"] = a["[object ArrayBuffer]"] = a["[object Boolean]"] = a["[object DataView]"] = a["[object Date]"] = a["[object Error]"] = a["[object Function]"] = a["[object Map]"] = a["[object Number]"] = a["[object Object]"] = a["[object RegExp]"] = a["[object Set]"] = a["[object String]"] = a["[object WeakMap]"] = !1, e.exports = function (e) { return o(e) && i(e.length) && !!a[r(e)] } }, function (e, t, n) { var r = n(154)(Object.keys, Object); e.exports = r }, function (e, t, n) { var r = n(65), i = n(48); e.exports = function (e, t) { return e && r(t, i(t), e) } }, function (e, t, n) { var r = n(23), i = n(83), o = n(285), a = Object.prototype.hasOwnProperty; e.exports = function (e) { if (!r(e)) return o(e); var t = i(e), n = []; for (var s in e) ("constructor" != s || !t && a.call(e, s)) && n.push(s); return n } }, function (e, t) { e.exports = function (e) { var t = []; if (null != e) for (var n in Object(e)) t.push(n); return t } }, function (e, t, n) { var r = n(65), i = n(123); e.exports = function (e, t) { return r(e, i(e), t) } }, function (e, t, n) { var r = n(65), i = n(159); e.exports = function (e, t) { return r(e, i(e), t) } }, function (e, t, n) { var r = n(161), i = n(159), o = n(48); e.exports = function (e) { return r(e, o, i) } }, function (e, t, n) { var r = n(46)(n(31), "DataView"); e.exports = r }, function (e, t, n) { var r = n(46)(n(31), "Promise"); e.exports = r }, function (e, t, n) { var r = n(46)(n(31), "WeakMap"); e.exports = r }, function (e, t) { var n = Object.prototype.hasOwnProperty; e.exports = function (e) { var t = e.length, r = new e.constructor(t); return t && "string" == typeof e[0] && n.call(e, "index") && (r.index = e.index, r.input = e.input), r } }, function (e, t, n) { var r = n(125), i = n(294), o = n(295), a = n(296), s = n(164); e.exports = function (e, t, n) { var l = e.constructor; switch (t) { case "[object ArrayBuffer]": return r(e); case "[object Boolean]": case "[object Date]": return new l(+e); case "[object DataView]": return i(e, n); case "[object Float32Array]": case "[object Float64Array]": case "[object Int8Array]": case "[object Int16Array]": case "[object Int32Array]": case "[object Uint8Array]": case "[object Uint8ClampedArray]": case "[object Uint16Array]": case "[object Uint32Array]": return s(e, n); case "[object Map]": return new l; case "[object Number]": case "[object String]": return new l(e); case "[object RegExp]": return o(e); case "[object Set]": return new l; case "[object Symbol]": return a(e) } } }, function (e, t, n) { var r = n(125); e.exports = function (e, t) { var n = t ? r(e.buffer) : e.buffer; return new e.constructor(n, e.byteOffset, e.byteLength) } }, function (e, t) { var n = /\w*$/; e.exports = function (e) { var t = new e.constructor(e.source, n.exec(e)); return t.lastIndex = e.lastIndex, t } }, function (e, t, n) { var r = n(58), i = r ? r.prototype : void 0, o = i ? i.valueOf : void 0; e.exports = function (e) { return o ? Object(o.call(e)) : {} } }, function (e, t, n) { var r = n(298), i = n(82), o = n(121), a = o && o.isMap, s = a ? i(a) : r; e.exports = s }, function (e, t, n) { var r = n(60), i = n(34); e.exports = function (e) { return i(e) && "[object Map]" == r(e) } }, function (e, t, n) { var r = n(300), i = n(82), o = n(121), a = o && o.isSet, s = a ? i(a) : r; e.exports = s }, function (e, t, n) { var r = n(60), i = n(34); e.exports = function (e) { return i(e) && "[object Set]" == r(e) } }, function (e, t) { e.exports = function (e) { return function (t, n, r) { for (var i = -1, o = Object(t), a = r(t), s = a.length; s--;) { var l = a[e ? s : ++i]; if (!1 === n(o[l], l, o)) break } return t } } }, function (e, t, n) { var r = n(36); e.exports = function (e, t) { return function (n, i) { if (null == n) return n; if (!r(n)) return e(n, i); for (var o = n.length, a = t ? o : -1, s = Object(n); (t ? a-- : ++a < o) && !1 !== i(s[a], a, s);); return n } } }, function (e, t, n) { var r = n(85); e.exports = function (e, t) { var n = []; return r(e, (function (e, r, i) { t(e, r, i) && n.push(e) })), n } }, function (e, t, n) { var r = n(305), i = n(313), o = n(176); e.exports = function (e) { var t = i(e); return 1 == t.length && t[0][2] ? o(t[0][0], t[0][1]) : function (n) { return n === e || r(n, e, t) } } }, function (e, t, n) { var r = n(73), i = n(171); e.exports = function (e, t, n, o) { var a = n.length, s = a, l = !o; if (null == e) return !s; for (e = Object(e); a--;) { var c = n[a]; if (l && c[2] ? c[1] !== e[c[0]] : !(c[0] in e)) return !1 } for (; ++a < s;) { var u = (c = n[a])[0], d = e[u], p = c[1]; if (l && c[2]) { if (void 0 === d && !(u in e)) return !1 } else { var f = new r; if (o) var h = o(d, p, u, e, t, f); if (!(void 0 === h ? i(p, d, 3, o, f) : h)) return !1 } } return !0 } }, function (e, t, n) { var r = n(73), i = n(172), o = n(310), a = n(312), s = n(60), l = n(13), c = n(59), u = n(67), d = "[object Object]", p = Object.prototype.hasOwnProperty; e.exports = function (e, t, n, f, h, g) { var m = l(e), v = l(t), b = m ? "[object Array]" : s(e), y = v ? "[object Array]" : s(t), x = (b = "[object Arguments]" == b ? d : b) == d, w = (y = "[object Arguments]" == y ? d : y) == d, k = b == y; if (k && c(e)) { if (!c(t)) return !1; m = !0, x = !1 } if (k && !x) return g || (g = new r), m || u(e) ? i(e, t, n, f, h, g) : o(e, t, b, n, f, h, g); if (!(1 & n)) { var A = x && p.call(e, "__wrapped__"), E = w && p.call(t, "__wrapped__"); if (A || E) { var S = A ? e.value() : e, $ = E ? t.value() : t; return g || (g = new r), h(S, $, n, f, g) } } return !!k && (g || (g = new r), a(e, t, n, f, h, g)) } }, function (e, t) { e.exports = function (e) { return this.__data__.set(e, "__lodash_hash_undefined__"), this } }, function (e, t) { e.exports = function (e) { return this.__data__.has(e) } }, function (e, t) { e.exports = function (e, t) { for (var n = -1, r = null == e ? 0 : e.length; ++n < r;)if (t(e[n], n, e)) return !0; return !1 } }, function (e, t, n) { var r = n(58), i = n(163), o = n(57), a = n(172), s = n(311), l = n(129), c = r ? r.prototype : void 0, u = c ? c.valueOf : void 0; e.exports = function (e, t, n, r, c, d, p) { switch (n) { case "[object DataView]": if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset) return !1; e = e.buffer, t = t.buffer; case "[object ArrayBuffer]": return !(e.byteLength != t.byteLength || !d(new i(e), new i(t))); case "[object Boolean]": case "[object Date]": case "[object Number]": return o(+e, +t); case "[object Error]": return e.name == t.name && e.message == t.message; case "[object RegExp]": case "[object String]": return e == t + ""; case "[object Map]": var f = s; case "[object Set]": var h = 1 & r; if (f || (f = l), e.size != t.size && !h) return !1; var g = p.get(e); if (g) return g == t; r |= 2, p.set(e, t); var m = a(f(e), f(t), r, c, d, p); return p.delete(e), m; case "[object Symbol]": if (u) return u.call(e) == u.call(t) }return !1 } }, function (e, t) { e.exports = function (e) { var t = -1, n = Array(e.size); return e.forEach((function (e, r) { n[++t] = [r, e] })), n } }, function (e, t, n) { var r = n(160), i = Object.prototype.hasOwnProperty; e.exports = function (e, t, n, o, a, s) { var l = 1 & n, c = r(e), u = c.length; if (u != r(t).length && !l) return !1; for (var d = u; d--;) { var p = c[d]; if (!(l ? p in t : i.call(t, p))) return !1 } var f = s.get(e), h = s.get(t); if (f && h) return f == t && h == e; var g = !0; s.set(e, t), s.set(t, e); for (var m = l; ++d < u;) { var v = e[p = c[d]], b = t[p]; if (o) var y = l ? o(b, v, p, t, e, s) : o(v, b, p, e, t, s); if (!(void 0 === y ? v === b || a(v, b, n, o, s) : y)) { g = !1; break } m || (m = "constructor" == p) } if (g && !m) { var x = e.constructor, w = t.constructor; x == w || !("constructor" in e) || !("constructor" in t) || "function" == typeof x && x instanceof x && "function" == typeof w && w instanceof w || (g = !1) } return s.delete(e), s.delete(t), g } }, function (e, t, n) { var r = n(175), i = n(41); e.exports = function (e) { for (var t = i(e), n = t.length; n--;) { var o = t[n], a = e[o]; t[n] = [o, a, r(a)] } return t } }, function (e, t, n) { var r = n(171), i = n(315), o = n(178), a = n(130), s = n(175), l = n(176), c = n(68); e.exports = function (e, t) { return a(e) && s(t) ? l(c(e), t) : function (n) { var a = i(n, e); return void 0 === a && a === t ? o(n, e) : r(t, a, 3) } } }, function (e, t, n) { var r = n(86); e.exports = function (e, t, n) { var i = null == e ? void 0 : r(e, t); return void 0 === i ? n : i } }, function (e, t, n) { var r = n(317), i = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, o = /\\(\\)?/g, a = r((function (e) { var t = []; return 46 === e.charCodeAt(0) && t.push(""), e.replace(i, (function (e, n, r, i) { t.push(r ? i.replace(o, "$1") : n || e) })), t })); e.exports = a }, function (e, t, n) { var r = n(318); e.exports = function (e) { var t = r(e, (function (e) { return 500 === n.size && n.clear(), e })), n = t.cache; return t } }, function (e, t, n) { var r = n(118); function i(e, t) { if ("function" != typeof e || null != t && "function" != typeof t) throw new TypeError("Expected a function"); var n = function () { var r = arguments, i = t ? t.apply(this, r) : r[0], o = n.cache; if (o.has(i)) return o.get(i); var a = e.apply(this, r); return n.cache = o.set(i, a) || o, a }; return n.cache = new (i.Cache || r), n } i.Cache = r, e.exports = i }, function (e, t, n) { var r = n(58), i = n(88), o = n(13), a = n(61), s = r ? r.prototype : void 0, l = s ? s.toString : void 0; e.exports = function e(t) { if ("string" == typeof t) return t; if (o(t)) return i(t, e) + ""; if (a(t)) return l ? l.call(t) : ""; var n = t + ""; return "0" == n && 1 / t == -1 / 0 ? "-0" : n } }, function (e, t) { e.exports = function (e, t) { return null != e && t in Object(e) } }, function (e, t, n) { var r = n(180), i = n(322), o = n(130), a = n(68); e.exports = function (e) { return o(e) ? r(a(e)) : i(e) } }, function (e, t, n) { var r = n(86); e.exports = function (e) { return function (t) { return r(t, e) } } }, function (e, t) { var n = Object.prototype.hasOwnProperty; e.exports = function (e, t) { return null != e && n.call(e, t) } }, function (e, t, n) { var r = n(122), i = n(60), o = n(66), a = n(13), s = n(36), l = n(59), c = n(83), u = n(67), d = Object.prototype.hasOwnProperty; e.exports = function (e) { if (null == e) return !0; if (s(e) && (a(e) || "string" == typeof e || "function" == typeof e.splice || l(e) || u(e) || o(e))) return !e.length; var t = i(e); if ("[object Map]" == t || "[object Set]" == t) return !e.size; if (c(e)) return !r(e).length; for (var n in e) if (d.call(e, n)) return !1; return !0 } }, function (e, t) { e.exports = function (e, t, n, r) { var i = -1, o = null == e ? 0 : e.length; for (r && o && (n = e[++i]); ++i < o;)n = t(n, e[i], i, e); return n } }, function (e, t) { e.exports = function (e, t, n, r, i) { return i(e, (function (e, i, o) { n = r ? (r = !1, e) : t(n, e, i, o) })), n } }, function (e, t, n) { var r = n(122), i = n(60), o = n(36), a = n(328), s = n(329); e.exports = function (e) { if (null == e) return 0; if (o(e)) return a(e) ? s(e) : e.length; var t = i(e); return "[object Map]" == t || "[object Set]" == t ? e.size : r(e).length } }, function (e, t, n) { var r = n(47), i = n(13), o = n(34); e.exports = function (e) { return "string" == typeof e || !i(e) && o(e) && "[object String]" == r(e) } }, function (e, t, n) { var r = n(330), i = n(331), o = n(332); e.exports = function (e) { return i(e) ? o(e) : r(e) } }, function (e, t, n) { var r = n(180)("length"); e.exports = r }, function (e, t) { var n = RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"); e.exports = function (e) { return n.test(e) } }, function (e, t) { var n = "[\\ud800-\\udfff]", r = "[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]", i = "\\ud83c[\\udffb-\\udfff]", o = "[^\\ud800-\\udfff]", a = "(?:\\ud83c[\\udde6-\\uddff]){2}", s = "[\\ud800-\\udbff][\\udc00-\\udfff]", l = "(?:" + r + "|" + i + ")" + "?", c = "[\\ufe0e\\ufe0f]?" + l + ("(?:\\u200d(?:" + [o, a, s].join("|") + ")[\\ufe0e\\ufe0f]?" + l + ")*"), u = "(?:" + [o + r + "?", r, a, s, n].join("|") + ")", d = RegExp(i + "(?=" + i + ")|" + u + c, "g"); e.exports = function (e) { for (var t = d.lastIndex = 0; d.test(e);)++t; return t } }, function (e, t, n) { var r = n(119), i = n(166), o = n(127), a = n(37), s = n(84), l = n(13), c = n(59), u = n(64), d = n(23), p = n(67); e.exports = function (e, t, n) { var f = l(e), h = f || c(e) || p(e); if (t = a(t, 4), null == n) { var g = e && e.constructor; n = h ? f ? new g : [] : d(e) && u(g) ? i(s(e)) : {} } return (h ? r : o)(e, (function (e, r, i) { return t(n, e, r, i) })), n } }, function (e, t, n) { var r = n(131), i = n(89), o = n(339), a = n(189), s = i((function (e) { return o(r(e, 1, a, !0)) })); e.exports = s }, function (e, t, n) { var r = n(58), i = n(66), o = n(13), a = r ? r.isConcatSpreadable : void 0; e.exports = function (e) { return o(e) || i(e) || !!(a && e && e[a]) } }, function (e, t) { e.exports = function (e, t, n) { switch (n.length) { case 0: return e.call(t); case 1: return e.call(t, n[0]); case 2: return e.call(t, n[0], n[1]); case 3: return e.call(t, n[0], n[1], n[2]) }return e.apply(t, n) } }, function (e, t, n) { var r = n(126), i = n(152), o = n(49), a = i ? function (e, t) { return i(e, "toString", { configurable: !0, enumerable: !1, value: r(t), writable: !0 }) } : o; e.exports = a }, function (e, t) { var n = Date.now; e.exports = function (e) { var t = 0, r = 0; return function () { var i = n(), o = 16 - (i - r); if (r = i, o > 0) { if (++t >= 800) return arguments[0] } else t = 0; return e.apply(void 0, arguments) } } }, function (e, t, n) { var r = n(173), i = n(340), o = n(344), a = n(174), s = n(345), l = n(129); e.exports = function (e, t, n) { var c = -1, u = i, d = e.length, p = !0, f = [], h = f; if (n) p = !1, u = o; else if (d >= 200) { var g = t ? null : s(e); if (g) return l(g); p = !1, u = a, h = new r } else h = t ? [] : f; e: for (; ++c < d;) { var m = e[c], v = t ? t(m) : m; if (m = n || 0 !== m ? m : 0, p && v == v) { for (var b = h.length; b--;)if (h[b] === v) continue e; t && h.push(v), f.push(m) } else u(h, v, n) || (h !== f && h.push(v), f.push(m)) } return f } }, function (e, t, n) { var r = n(341); e.exports = function (e, t) { return !!(null == e ? 0 : e.length) && r(e, t, 0) > -1 } }, function (e, t, n) { var r = n(188), i = n(342), o = n(343); e.exports = function (e, t, n) { return t == t ? o(e, t, n) : r(e, i, n) } }, function (e, t) { e.exports = function (e) { return e != e } }, function (e, t) { e.exports = function (e, t, n) { for (var r = n - 1, i = e.length; ++r < i;)if (e[r] === t) return r; return -1 } }, function (e, t) { e.exports = function (e, t, n) { for (var r = -1, i = null == e ? 0 : e.length; ++r < i;)if (n(t, e[r])) return !0; return !1 } }, function (e, t, n) { var r = n(162), i = n(346), o = n(129), a = r && 1 / o(new r([, -0]))[1] == 1 / 0 ? function (e) { return new r(e) } : i; e.exports = a }, function (e, t) { e.exports = function () { } }, function (e, t, n) { var r = n(88); e.exports = function (e, t) { return r(t, (function (t) { return e[t] })) } }, function (e, t) { e.exports = "2.1.8" }, function (e, t, n) { var r = n(22), i = n(116); function o(e) { return r.map(e.nodes(), (function (t) { var n = e.node(t), i = e.parent(t), o = { v: t }; return r.isUndefined(n) || (o.value = n), r.isUndefined(i) || (o.parent = i), o })) } function a(e) { return r.map(e.edges(), (function (t) { var n = e.edge(t), i = { v: t.v, w: t.w }; return r.isUndefined(t.name) || (i.name = t.name), r.isUndefined(n) || (i.value = n), i })) } e.exports = { write: function (e) { var t = { options: { directed: e.isDirected(), multigraph: e.isMultigraph(), compound: e.isCompound() }, nodes: o(e), edges: a(e) }; r.isUndefined(e.graph()) || (t.value = r.clone(e.graph())); return t }, read: function (e) { var t = new i(e.options).setGraph(e.value); return r.each(e.nodes, (function (e) { t.setNode(e.v, e.value), e.parent && t.setParent(e.v, e.parent) })), r.each(e.edges, (function (e) { t.setEdge({ v: e.v, w: e.w, name: e.name }, e.value) })), t } } }, function (e, t, n) { e.exports = { components: n(351), dijkstra: n(191), dijkstraAll: n(352), findCycles: n(353), floydWarshall: n(354), isAcyclic: n(355), postorder: n(356), preorder: n(357), prim: n(358), tarjan: n(193), topsort: n(194) } }, function (e, t, n) { var r = n(22); e.exports = function (e) { var t, n = {}, i = []; function o(i) { r.has(n, i) || (n[i] = !0, t.push(i), r.each(e.successors(i), o), r.each(e.predecessors(i), o)) } return r.each(e.nodes(), (function (e) { t = [], o(e), t.length && i.push(t) })), i } }, function (e, t, n) { var r = n(191), i = n(22); e.exports = function (e, t, n) { return i.transform(e.nodes(), (function (i, o) { i[o] = r(e, o, t, n) }), {}) } }, function (e, t, n) { var r = n(22), i = n(193); e.exports = function (e) { return r.filter(i(e), (function (t) { return t.length > 1 || 1 === t.length && e.hasEdge(t[0], t[0]) })) } }, function (e, t, n) { var r = n(22); e.exports = function (e, t, n) { return function (e, t, n) { var r = {}, i = e.nodes(); return i.forEach((function (e) { r[e] = {}, r[e][e] = { distance: 0 }, i.forEach((function (t) { e !== t && (r[e][t] = { distance: Number.POSITIVE_INFINITY }) })), n(e).forEach((function (n) { var i = n.v === e ? n.w : n.v, o = t(n); r[e][i] = { distance: o, predecessor: e } })) })), i.forEach((function (e) { var t = r[e]; i.forEach((function (n) { var o = r[n]; i.forEach((function (n) { var r = o[e], i = t[n], a = o[n], s = r.distance + i.distance; s < a.distance && (a.distance = s, a.predecessor = i.predecessor) })) })) })), r }(e, t || i, n || function (t) { return e.outEdges(t) }) }; var i = r.constant(1) }, function (e, t, n) { var r = n(194); e.exports = function (e) { try { r(e) } catch (e) { if (e instanceof r.CycleException) return !1; throw e } return !0 } }, function (e, t, n) { var r = n(195); e.exports = function (e, t) { return r(e, t, "post") } }, function (e, t, n) { var r = n(195); e.exports = function (e, t) { return r(e, t, "pre") } }, function (e, t, n) { var r = n(22), i = n(116), o = n(192); e.exports = function (e, t) { var n, a = new i, s = {}, l = new o; function c(e) { var r = e.v === n ? e.w : e.v, i = l.priority(r); if (void 0 !== i) { var o = t(e); o < i && (s[r] = n, l.decrease(r, o)) } } if (0 === e.nodeCount()) return a; r.each(e.nodes(), (function (e) { l.add(e, Number.POSITIVE_INFINITY), a.setNode(e) })), l.decrease(e.nodes()[0], 0); var u = !1; for (; l.size() > 0;) { if (n = l.removeMin(), r.has(s, n)) a.setEdge(n, s[n]); else { if (u) throw new Error("Input graph is not connected: " + e); u = !0 } e.nodeEdges(n).forEach(c) } return a } }, function (e, t, n) { "use strict"; var r = n(11), i = n(399), o = n(402), a = n(403), s = n(20).normalizeRanks, l = n(405), c = n(20).removeEmptyRanks, u = n(406), d = n(407), p = n(408), f = n(409), h = n(418), g = n(20), m = n(30).Graph; e.exports = function (e, t) { var n = t && t.debugTiming ? g.time : g.notime; n("layout", (function () { var t = n(" buildLayoutGraph", (function () { return function (e) { var t = new m({ multigraph: !0, compound: !0 }), n = $(e.graph()); return t.setGraph(r.merge({}, b, S(n, v), r.pick(n, y))), r.forEach(e.nodes(), (function (n) { var i = $(e.node(n)); t.setNode(n, r.defaults(S(i, x), w)), t.setParent(n, e.parent(n)) })), r.forEach(e.edges(), (function (n) { var i = $(e.edge(n)); t.setEdge(n, r.merge({}, A, S(i, k), r.pick(i, E))) })), t }(e) })); n(" runLayout", (function () { !function (e, t) { t(" makeSpaceForEdgeLabels", (function () { !function (e) { var t = e.graph(); t.ranksep /= 2, r.forEach(e.edges(), (function (n) { var r = e.edge(n); r.minlen *= 2, "c" !== r.labelpos.toLowerCase() && ("TB" === t.rankdir || "BT" === t.rankdir ? r.width += r.labeloffset : r.height += r.labeloffset) })) }(e) })), t(" removeSelfEdges", (function () { !function (e) { r.forEach(e.edges(), (function (t) { if (t.v === t.w) { var n = e.node(t.v); n.selfEdges || (n.selfEdges = []), n.selfEdges.push({ e: t, label: e.edge(t) }), e.removeEdge(t) } })) }(e) })), t(" acyclic", (function () { i.run(e) })), t(" nestingGraph.run", (function () { u.run(e) })), t(" rank", (function () { a(g.asNonCompoundGraph(e)) })), t(" injectEdgeLabelProxies", (function () { !function (e) { r.forEach(e.edges(), (function (t) { var n = e.edge(t); if (n.width && n.height) { var r = e.node(t.v), i = { rank: (e.node(t.w).rank - r.rank) / 2 + r.rank, e: t }; g.addDummyNode(e, "edge-proxy", i, "_ep") } })) }(e) })), t(" removeEmptyRanks", (function () { c(e) })), t(" nestingGraph.cleanup", (function () { u.cleanup(e) })), t(" normalizeRanks", (function () { s(e) })), t(" assignRankMinMax", (function () { !function (e) { var t = 0; r.forEach(e.nodes(), (function (n) { var i = e.node(n); i.borderTop && (i.minRank = e.node(i.borderTop).rank, i.maxRank = e.node(i.borderBottom).rank, t = r.max(t, i.maxRank)) })), e.graph().maxRank = t }(e) })), t(" removeEdgeLabelProxies", (function () { !function (e) { r.forEach(e.nodes(), (function (t) { var n = e.node(t); "edge-proxy" === n.dummy && (e.edge(n.e).labelRank = n.rank, e.removeNode(t)) })) }(e) })), t(" normalize.run", (function () { o.run(e) })), t(" parentDummyChains", (function () { l(e) })), t(" addBorderSegments", (function () { d(e) })), t(" order", (function () { f(e) })), t(" insertSelfEdges", (function () { !function (e) { var t = g.buildLayerMatrix(e); r.forEach(t, (function (t) { var n = 0; r.forEach(t, (function (t, i) { var o = e.node(t); o.order = i + n, r.forEach(o.selfEdges, (function (t) { g.addDummyNode(e, "selfedge", { width: t.label.width, height: t.label.height, rank: o.rank, order: i + ++n, e: t.e, label: t.label }, "_se") })), delete o.selfEdges })) })) }(e) })), t(" adjustCoordinateSystem", (function () { p.adjust(e) })), t(" position", (function () { h(e) })), t(" positionSelfEdges", (function () { !function (e) { r.forEach(e.nodes(), (function (t) { var n = e.node(t); if ("selfedge" === n.dummy) { var r = e.node(n.e.v), i = r.x + r.width / 2, o = r.y, a = n.x - i, s = r.height / 2; e.setEdge(n.e, n.label), e.removeNode(t), n.label.points = [{ x: i + 2 * a / 3, y: o - s }, { x: i + 5 * a / 6, y: o - s }, { x: i + a, y: o }, { x: i + 5 * a / 6, y: o + s }, { x: i + 2 * a / 3, y: o + s }], n.label.x = n.x, n.label.y = n.y } })) }(e) })), t(" removeBorderNodes", (function () { !function (e) { r.forEach(e.nodes(), (function (t) { if (e.children(t).length) { var n = e.node(t), i = e.node(n.borderTop), o = e.node(n.borderBottom), a = e.node(r.last(n.borderLeft)), s = e.node(r.last(n.borderRight)); n.width = Math.abs(s.x - a.x), n.height = Math.abs(o.y - i.y), n.x = a.x + n.width / 2, n.y = i.y + n.height / 2 } })), r.forEach(e.nodes(), (function (t) { "border" === e.node(t).dummy && e.removeNode(t) })) }(e) })), t(" normalize.undo", (function () { o.undo(e) })), t(" fixupEdgeLabelCoords", (function () { !function (e) { r.forEach(e.edges(), (function (t) { var n = e.edge(t); if (r.has(n, "x")) switch ("l" !== n.labelpos && "r" !== n.labelpos || (n.width -= n.labeloffset), n.labelpos) { case "l": n.x -= n.width / 2 + n.labeloffset; break; case "r": n.x += n.width / 2 + n.labeloffset } })) }(e) })), t(" undoCoordinateSystem", (function () { p.undo(e) })), t(" translateGraph", (function () { !function (e) { var t = Number.POSITIVE_INFINITY, n = 0, i = Number.POSITIVE_INFINITY, o = 0, a = e.graph(), s = a.marginx || 0, l = a.marginy || 0; function c(e) { var r = e.x, a = e.y, s = e.width, l = e.height; t = Math.min(t, r - s / 2), n = Math.max(n, r + s / 2), i = Math.min(i, a - l / 2), o = Math.max(o, a + l / 2) } r.forEach(e.nodes(), (function (t) { c(e.node(t)) })), r.forEach(e.edges(), (function (t) { var n = e.edge(t); r.has(n, "x") && c(n) })), t -= s, i -= l, r.forEach(e.nodes(), (function (n) { var r = e.node(n); r.x -= t, r.y -= i })), r.forEach(e.edges(), (function (n) { var o = e.edge(n); r.forEach(o.points, (function (e) { e.x -= t, e.y -= i })), r.has(o, "x") && (o.x -= t), r.has(o, "y") && (o.y -= i) })), a.width = n - t + s, a.height = o - i + l }(e) })), t(" assignNodeIntersects", (function () { !function (e) { r.forEach(e.edges(), (function (t) { var n, r, i = e.edge(t), o = e.node(t.v), a = e.node(t.w); i.points ? (n = i.points[0], r = i.points[i.points.length - 1]) : (i.points = [], n = a, r = o), i.points.unshift(g.intersectRect(o, n)), i.points.push(g.intersectRect(a, r)) })) }(e) })), t(" reversePoints", (function () { !function (e) { r.forEach(e.edges(), (function (t) { var n = e.edge(t); n.reversed && n.points.reverse() })) }(e) })), t(" acyclic.undo", (function () { i.undo(e) })) }(t, n) })), n(" updateInputGraph", (function () { !function (e, t) { r.forEach(e.nodes(), (function (n) { var r = e.node(n), i = t.node(n); r && (r.x = i.x, r.y = i.y, t.children(n).length && (r.width = i.width, r.height = i.height)) })), r.forEach(e.edges(), (function (n) { var i = e.edge(n), o = t.edge(n); i.points = o.points, r.has(o, "x") && (i.x = o.x, i.y = o.y) })), e.graph().width = t.graph().width, e.graph().height = t.graph().height }(e, t) })) })) }; var v = ["nodesep", "edgesep", "ranksep", "marginx", "marginy"], b = { ranksep: 50, edgesep: 20, nodesep: 50, rankdir: "tb" }, y = ["acyclicer", "ranker", "rankdir", "align"], x = ["width", "height"], w = { width: 0, height: 0 }, k = ["minlen", "weight", "width", "height", "labeloffset"], A = { minlen: 1, weight: 1, width: 0, height: 0, labeloffset: 10, labelpos: "r" }, E = ["labelpos"]; function S(e, t) { return r.mapValues(r.pick(e, t), Number) } function $(e) { var t = {}; return r.forEach(e, (function (e, n) { t[n.toLowerCase()] = e })), t } }, function (e, t, n) { var r = n(149); e.exports = function (e) { return r(e, 5) } }, function (e, t, n) { var r = n(89), i = n(57), o = n(90), a = n(48), s = Object.prototype, l = s.hasOwnProperty, c = r((function (e, t) { e = Object(e); var n = -1, r = t.length, c = r > 2 ? t[2] : void 0; for (c && o(t[0], t[1], c) && (r = 1); ++n < r;)for (var u = t[n], d = a(u), p = -1, f = d.length; ++p < f;) { var h = d[p], g = e[h]; (void 0 === g || i(g, s[h]) && !l.call(e, h)) && (e[h] = u[h]) } return e })); e.exports = c }, function (e, t, n) { var r = n(363)(n(364)); e.exports = r }, function (e, t, n) { var r = n(37), i = n(36), o = n(41); e.exports = function (e) { return function (t, n, a) { var s = Object(t); if (!i(t)) { var l = r(n, 3); t = o(t), n = function (e) { return l(s[e], e, s) } } var c = e(t, n, a); return c > -1 ? s[l ? t[c] : c] : void 0 } } }, function (e, t, n) { var r = n(188), i = n(37), o = n(365), a = Math.max; e.exports = function (e, t, n) { var s = null == e ? 0 : e.length; if (!s) return -1; var l = null == n ? 0 : o(n); return l < 0 && (l = a(s + l, 0)), r(e, i(t, 3), l) } }, function (e, t, n) { var r = n(196); e.exports = function (e) { var t = r(e), n = t % 1; return t == t ? n ? t - n : t : 0 } }, function (e, t, n) { var r = n(367), i = n(23), o = n(61), a = /^[-+]0x[0-9a-f]+$/i, s = /^0b[01]+$/i, l = /^0o[0-7]+$/i, c = parseInt; e.exports = function (e) { if ("number" == typeof e) return e; if (o(e)) return NaN; if (i(e)) { var t = "function" == typeof e.valueOf ? e.valueOf() : e; e = i(t) ? t + "" : t } if ("string" != typeof e) return 0 === e ? e : +e; e = r(e); var n = s.test(e); return n || l.test(e) ? c(e.slice(2), n ? 2 : 8) : a.test(e) ? NaN : +e } }, function (e, t, n) { var r = n(368), i = /^\s+/; e.exports = function (e) { return e ? e.slice(0, r(e) + 1).replace(i, "") : e } }, function (e, t) { var n = /\s/; e.exports = function (e) { for (var t = e.length; t-- && n.test(e.charAt(t));); return t } }, function (e, t, n) { var r = n(128), i = n(169), o = n(48); e.exports = function (e, t) { return null == e ? e : r(e, i(t), o) } }, function (e, t) { e.exports = function (e) { var t = null == e ? 0 : e.length; return t ? e[t - 1] : void 0 } }, function (e, t, n) { var r = n(79), i = n(127), o = n(37); e.exports = function (e, t) { var n = {}; return t = o(t, 3), i(e, (function (e, i, o) { r(n, i, t(e, i, o)) })), n } }, function (e, t, n) { var r = n(132), i = n(373), o = n(49); e.exports = function (e) { return e && e.length ? r(e, o, i) : void 0 } }, function (e, t) { e.exports = function (e, t) { return e > t } }, function (e, t, n) { var r = n(375), i = n(379)((function (e, t, n) { r(e, t, n) })); e.exports = i }, function (e, t, n) { var r = n(73), i = n(198), o = n(128), a = n(376), s = n(23), l = n(48), c = n(199); e.exports = function e(t, n, u, d, p) { t !== n && o(n, (function (o, l) { if (p || (p = new r), s(o)) a(t, n, l, u, e, d, p); else { var f = d ? d(c(t, l), o, l + "", t, n, p) : void 0; void 0 === f && (f = o), i(t, l, f) } }), l) } }, function (e, t, n) { var r = n(198), i = n(155), o = n(164), a = n(156), s = n(165), l = n(66), c = n(13), u = n(189), d = n(59), p = n(64), f = n(23), h = n(377), g = n(67), m = n(199), v = n(378); e.exports = function (e, t, n, b, y, x, w) { var k = m(e, n), A = m(t, n), E = w.get(A); if (E) r(e, n, E); else { var S = x ? x(k, A, n + "", e, t, w) : void 0, $ = void 0 === S; if ($) { var C = c(A), _ = !C && d(A), O = !C && !_ && g(A); S = A, C || _ || O ? c(k) ? S = k : u(k) ? S = a(k) : _ ? ($ = !1, S = i(A, !0)) : O ? ($ = !1, S = o(A, !0)) : S = [] : h(A) || l(A) ? (S = k, l(k) ? S = v(k) : f(k) && !p(k) || (S = s(A))) : $ = !1 } $ && (w.set(A, S), y(S, A, b, x, w), w.delete(A)), r(e, n, S) } } }, function (e, t, n) { var r = n(47), i = n(84), o = n(34), a = Function.prototype, s = Object.prototype, l = a.toString, c = s.hasOwnProperty, u = l.call(Object); e.exports = function (e) { if (!o(e) || "[object Object]" != r(e)) return !1; var t = i(e); if (null === t) return !0; var n = c.call(t, "constructor") && t.constructor; return "function" == typeof n && n instanceof n && l.call(n) == u } }, function (e, t, n) { var r = n(65), i = n(48); e.exports = function (e) { return r(e, i(e)) } }, function (e, t, n) { var r = n(89), i = n(90); e.exports = function (e) { return r((function (t, n) { var r = -1, o = n.length, a = o > 1 ? n[o - 1] : void 0, s = o > 2 ? n[2] : void 0; for (a = e.length > 3 && "function" == typeof a ? (o--, a) : void 0, s && i(n[0], n[1], s) && (a = o < 3 ? void 0 : a, o = 1), t = Object(t); ++r < o;) { var l = n[r]; l && e(t, l, r, a) } return t })) } }, function (e, t, n) { var r = n(132), i = n(200), o = n(49); e.exports = function (e) { return e && e.length ? r(e, o, i) : void 0 } }, function (e, t, n) { var r = n(132), i = n(37), o = n(200); e.exports = function (e, t) { return e && e.length ? r(e, i(t, 2), o) : void 0 } }, function (e, t, n) { var r = n(31); e.exports = function () { return r.Date.now() } }, function (e, t, n) { var r = n(384), i = n(387)((function (e, t) { return null == e ? {} : r(e, t) })); e.exports = i }, function (e, t, n) { var r = n(385), i = n(178); e.exports = function (e, t) { return r(e, t, (function (t, n) { return i(e, n) })) } }, function (e, t, n) { var r = n(86), i = n(386), o = n(87); e.exports = function (e, t, n) { for (var a = -1, s = t.length, l = {}; ++a < s;) { var c = t[a], u = r(e, c); n(u, c) && i(l, o(c, e), u) } return l } }, function (e, t, n) { var r = n(78), i = n(87), o = n(81), a = n(23), s = n(68); e.exports = function (e, t, n, l) { if (!a(e)) return e; for (var c = -1, u = (t = i(t, e)).length, d = u - 1, p = e; null != p && ++c < u;) { var f = s(t[c]), h = n; if ("__proto__" === f || "constructor" === f || "prototype" === f) return e; if (c != d) { var g = p[f]; void 0 === (h = l ? l(g, f, p) : void 0) && (h = a(g) ? g : o(t[c + 1]) ? [] : {}) } r(p, f, h), p = p[f] } return e } }, function (e, t, n) { var r = n(197), i = n(186), o = n(187); e.exports = function (e) { return o(i(e, void 0, r), e + "") } }, function (e, t, n) { var r = n(389)(); e.exports = r }, function (e, t, n) { var r = n(390), i = n(90), o = n(196); e.exports = function (e) { return function (t, n, a) { return a && "number" != typeof a && i(t, n, a) && (n = a = void 0), t = o(t), void 0 === n ? (n = t, t = 0) : n = o(n), a = void 0 === a ? t < n ? 1 : -1 : o(a), r(t, n, a, e) } } }, function (e, t) { var n = Math.ceil, r = Math.max; e.exports = function (e, t, i, o) { for (var a = -1, s = r(n((t - e) / (i || 1)), 0), l = Array(s); s--;)l[o ? s : ++a] = e, e += i; return l } }, function (e, t, n) { var r = n(131), i = n(392), o = n(89), a = n(90), s = o((function (e, t) { if (null == e) return []; var n = t.length; return n > 1 && a(e, t[0], t[1]) ? t = [] : n > 2 && a(t[0], t[1], t[2]) && (t = [t[0]]), i(e, r(t, 1), []) })); e.exports = s }, function (e, t, n) { var r = n(88), i = n(86), o = n(37), a = n(184), s = n(393), l = n(82), c = n(394), u = n(49), d = n(13); e.exports = function (e, t, n) { t = t.length ? r(t, (function (e) { return d(e) ? function (t) { return i(t, 1 === e.length ? e[0] : e) } : e })) : [u]; var p = -1; t = r(t, l(o)); var f = a(e, (function (e, n, i) { return { criteria: r(t, (function (t) { return t(e) })), index: ++p, value: e } })); return s(f, (function (e, t) { return c(e, t, n) })) } }, function (e, t) { e.exports = function (e, t) { var n = e.length; for (e.sort(t); n--;)e[n] = e[n].value; return e } }, function (e, t, n) { var r = n(395); e.exports = function (e, t, n) { for (var i = -1, o = e.criteria, a = t.criteria, s = o.length, l = n.length; ++i < s;) { var c = r(o[i], a[i]); if (c) return i >= l ? c : c * ("desc" == n[i] ? -1 : 1) } return e.index - t.index } }, function (e, t, n) { var r = n(61); e.exports = function (e, t) { if (e !== t) { var n = void 0 !== e, i = null === e, o = e == e, a = r(e), s = void 0 !== t, l = null === t, c = t == t, u = r(t); if (!l && !u && !a && e > t || a && s && c && !l && !u || i && s && c || !n && c || !o) return 1; if (!i && !a && !u && e < t || u && n && o && !i && !a || l && n && o || !s && o || !c) return -1 } return 0 } }, function (e, t, n) { var r = n(177), i = 0; e.exports = function (e) { var t = ++i; return r(e) + t } }, function (e, t, n) { var r = n(78), i = n(398); e.exports = function (e, t) { return i(e || [], t || [], r) } }, function (e, t) { e.exports = function (e, t, n) { for (var r = -1, i = e.length, o = t.length, a = {}; ++r < i;) { var s = r < o ? t[r] : void 0; n(a, e[r], s) } return a } }, function (e, t, n) { "use strict"; var r = n(11), i = n(400); e.exports = { run: function (e) { var t = "greedy" === e.graph().acyclicer ? i(e, function (e) { return function (t) { return e.edge(t).weight } }(e)) : function (e) { var t = [], n = {}, i = {}; function o(a) { r.has(i, a) || (i[a] = !0, n[a] = !0, r.forEach(e.outEdges(a), (function (e) { r.has(n, e.w) ? t.push(e) : o(e.w) })), delete n[a]) } return r.forEach(e.nodes(), o), t }(e); r.forEach(t, (function (t) { var n = e.edge(t); e.removeEdge(t), n.forwardName = t.name, n.reversed = !0, e.setEdge(t.w, t.v, n, r.uniqueId("rev")) })) }, undo: function (e) { r.forEach(e.edges(), (function (t) { var n = e.edge(t); if (n.reversed) { e.removeEdge(t); var r = n.forwardName; delete n.reversed, delete n.forwardName, e.setEdge(t.w, t.v, n, r) } })) } } }, function (e, t, n) { var r = n(11), i = n(30).Graph, o = n(401); e.exports = function (e, t) { if (e.nodeCount() <= 1) return []; var n = function (e, t) { var n = new i, a = 0, s = 0; r.forEach(e.nodes(), (function (e) { n.setNode(e, { v: e, in: 0, out: 0 }) })), r.forEach(e.edges(), (function (e) { var r = n.edge(e.v, e.w) || 0, i = t(e), o = r + i; n.setEdge(e.v, e.w, o), s = Math.max(s, n.node(e.v).out += i), a = Math.max(a, n.node(e.w).in += i) })); var c = r.range(s + a + 3).map((function () { return new o })), u = a + 1; return r.forEach(n.nodes(), (function (e) { l(c, u, n.node(e)) })), { graph: n, buckets: c, zeroIdx: u } }(e, t || a), c = function (e, t, n) { var r, i = [], o = t[t.length - 1], a = t[0]; for (; e.nodeCount();) { for (; r = a.dequeue();)s(e, t, n, r); for (; r = o.dequeue();)s(e, t, n, r); if (e.nodeCount()) for (var l = t.length - 2; l > 0; --l)if (r = t[l].dequeue()) { i = i.concat(s(e, t, n, r, !0)); break } } return i }(n.graph, n.buckets, n.zeroIdx); return r.flatten(r.map(c, (function (t) { return e.outEdges(t.v, t.w) })), !0) }; var a = r.constant(1); function s(e, t, n, i, o) { var a = o ? [] : void 0; return r.forEach(e.inEdges(i.v), (function (r) { var i = e.edge(r), s = e.node(r.v); o && a.push({ v: r.v, w: r.w }), s.out -= i, l(t, n, s) })), r.forEach(e.outEdges(i.v), (function (r) { var i = e.edge(r), o = r.w, a = e.node(o); a.in -= i, l(t, n, a) })), e.removeNode(i.v), a } function l(e, t, n) { n.out ? n.in ? e[n.out - n.in + t].enqueue(n) : e[e.length - 1].enqueue(n) : e[0].enqueue(n) } }, function (e, t) { function n() { var e = {}; e._next = e._prev = e, this._sentinel = e } function r(e) { e._prev._next = e._next, e._next._prev = e._prev, delete e._next, delete e._prev } function i(e, t) { if ("_next" !== e && "_prev" !== e) return t } e.exports = n, n.prototype.dequeue = function () { var e = this._sentinel, t = e._prev; if (t !== e) return r(t), t }, n.prototype.enqueue = function (e) { var t = this._sentinel; e._prev && e._next && r(e), e._next = t._next, t._next._prev = e, t._next = e, e._prev = t }, n.prototype.toString = function () { for (var e = [], t = this._sentinel, n = t._prev; n !== t;)e.push(JSON.stringify(n, i)), n = n._prev; return "[" + e.join(", ") + "]" } }, function (e, t, n) { "use strict"; var r = n(11), i = n(20); e.exports = { run: function (e) { e.graph().dummyChains = [], r.forEach(e.edges(), (function (t) { !function (e, t) { var n, r, o, a = t.v, s = e.node(a).rank, l = t.w, c = e.node(l).rank, u = t.name, d = e.edge(t), p = d.labelRank; if (c === s + 1) return; for (e.removeEdge(t), o = 0, ++s; s < c; ++o, ++s)d.points = [], r = { width: 0, height: 0, edgeLabel: d, edgeObj: t, rank: s }, n = i.addDummyNode(e, "edge", r, "_d"), s === p && (r.width = d.width, r.height = d.height, r.dummy = "edge-label", r.labelpos = d.labelpos), e.setEdge(a, n, { weight: d.weight }, u), 0 === o && e.graph().dummyChains.push(n), a = n; e.setEdge(a, l, { weight: d.weight }, u) }(e, t) })) }, undo: function (e) { r.forEach(e.graph().dummyChains, (function (t) { var n, r = e.node(t), i = r.edgeLabel; for (e.setEdge(r.edgeObj, i); r.dummy;)n = e.successors(t)[0], e.removeNode(t), i.points.push({ x: r.x, y: r.y }), "edge-label" === r.dummy && (i.x = r.x, i.y = r.y, i.width = r.width, i.height = r.height), t = n, r = e.node(t) })) } } }, function (e, t, n) { "use strict"; var r = n(91).longestPath, i = n(201), o = n(404); e.exports = function (e) { switch (e.graph().ranker) { case "network-simplex": s(e); break; case "tight-tree": !function (e) { r(e), i(e) }(e); break; case "longest-path": a(e); break; default: s(e) } }; var a = r; function s(e) { o(e) } }, function (e, t, n) { "use strict"; var r = n(11), i = n(201), o = n(91).slack, a = n(91).longestPath, s = n(30).alg.preorder, l = n(30).alg.postorder, c = n(20).simplify; function u(e) { e = c(e), a(e); var t, n = i(e); for (f(n), d(n, e); t = g(n);)v(n, e, t, m(n, e, t)) } function d(e, t) { var n = l(e, e.nodes()); n = n.slice(0, n.length - 1), r.forEach(n, (function (n) { !function (e, t, n) { var r = e.node(n).parent; e.edge(n, r).cutvalue = p(e, t, n) }(e, t, n) })) } function p(e, t, n) { var i = e.node(n).parent, o = !0, a = t.edge(n, i), s = 0; return a || (o = !1, a = t.edge(i, n)), s = a.weight, r.forEach(t.nodeEdges(n), (function (r) { var a, l, c = r.v === n, u = c ? r.w : r.v; if (u !== i) { var d = c === o, p = t.edge(r).weight; if (s += d ? p : -p, a = n, l = u, e.hasEdge(a, l)) { var f = e.edge(n, u).cutvalue; s += d ? -f : f } } })), s } function f(e, t) { arguments.length < 2 && (t = e.nodes()[0]), h(e, {}, 1, t) } function h(e, t, n, i, o) { var a = n, s = e.node(i); return t[i] = !0, r.forEach(e.neighbors(i), (function (o) { r.has(t, o) || (n = h(e, t, n, o, i)) })), s.low = a, s.lim = n++, o ? s.parent = o : delete s.parent, n } function g(e) { return r.find(e.edges(), (function (t) { return e.edge(t).cutvalue < 0 })) } function m(e, t, n) { var i = n.v, a = n.w; t.hasEdge(i, a) || (i = n.w, a = n.v); var s = e.node(i), l = e.node(a), c = s, u = !1; s.lim > l.lim && (c = l, u = !0); var d = r.filter(t.edges(), (function (t) { return u === b(e, e.node(t.v), c) && u !== b(e, e.node(t.w), c) })); return r.minBy(d, (function (e) { return o(t, e) })) } function v(e, t, n, i) { var o = n.v, a = n.w; e.removeEdge(o, a), e.setEdge(i.v, i.w, {}), f(e), d(e, t), function (e, t) { var n = r.find(e.nodes(), (function (e) { return !t.node(e).parent })), i = s(e, n); i = i.slice(1), r.forEach(i, (function (n) { var r = e.node(n).parent, i = t.edge(n, r), o = !1; i || (i = t.edge(r, n), o = !0), t.node(n).rank = t.node(r).rank + (o ? i.minlen : -i.minlen) })) }(e, t) } function b(e, t, n) { return n.low <= t.lim && t.lim <= n.lim } e.exports = u, u.initLowLimValues = f, u.initCutValues = d, u.calcCutValue = p, u.leaveEdge = g, u.enterEdge = m, u.exchangeEdges = v }, function (e, t, n) { var r = n(11); e.exports = function (e) { var t = function (e) { var t = {}, n = 0; function i(o) { var a = n; r.forEach(e.children(o), i), t[o] = { low: a, lim: n++ } } return r.forEach(e.children(), i), t }(e); r.forEach(e.graph().dummyChains, (function (n) { for (var r = e.node(n), i = r.edgeObj, o = function (e, t, n, r) { var i, o, a = [], s = [], l = Math.min(t[n].low, t[r].low), c = Math.max(t[n].lim, t[r].lim); i = n; do { i = e.parent(i), a.push(i) } while (i && (t[i].low > l || c > t[i].lim)); o = i, i = r; for (; (i = e.parent(i)) !== o;)s.push(i); return { path: a.concat(s.reverse()), lca: o } }(e, t, i.v, i.w), a = o.path, s = o.lca, l = 0, c = a[l], u = !0; n !== i.w;) { if (r = e.node(n), u) { for (; (c = a[l]) !== s && e.node(c).maxRank < r.rank;)l++; c === s && (u = !1) } if (!u) { for (; l < a.length - 1 && e.node(c = a[l + 1]).minRank <= r.rank;)l++; c = a[l] } e.setParent(n, c), n = e.successors(n)[0] } })) } }, function (e, t, n) { var r = n(11), i = n(20); e.exports = { run: function (e) { var t = i.addDummyNode(e, "root", {}, "_root"), n = function (e) { var t = {}; return r.forEach(e.children(), (function (n) { !function n(i, o) { var a = e.children(i); a && a.length && r.forEach(a, (function (e) { n(e, o + 1) })); t[i] = o }(n, 1) })), t }(e), o = r.max(r.values(n)) - 1, a = 2 * o + 1; e.graph().nestingRoot = t, r.forEach(e.edges(), (function (t) { e.edge(t).minlen *= a })); var s = function (e) { return r.reduce(e.edges(), (function (t, n) { return t + e.edge(n).weight }), 0) }(e) + 1; r.forEach(e.children(), (function (l) { !function e(t, n, o, a, s, l, c) { var u = t.children(c); if (!u.length) return void (c !== n && t.setEdge(n, c, { weight: 0, minlen: o })); var d = i.addBorderNode(t, "_bt"), p = i.addBorderNode(t, "_bb"), f = t.node(c); t.setParent(d, c), f.borderTop = d, t.setParent(p, c), f.borderBottom = p, r.forEach(u, (function (r) { e(t, n, o, a, s, l, r); var i = t.node(r), u = i.borderTop ? i.borderTop : r, f = i.borderBottom ? i.borderBottom : r, h = i.borderTop ? a : 2 * a, g = u !== f ? 1 : s - l[c] + 1; t.setEdge(d, u, { weight: h, minlen: g, nestingEdge: !0 }), t.setEdge(f, p, { weight: h, minlen: g, nestingEdge: !0 }) })), t.parent(c) || t.setEdge(n, d, { weight: 0, minlen: s + l[c] }) }(e, t, a, s, o, n, l) })), e.graph().nodeRankFactor = a }, cleanup: function (e) { var t = e.graph(); e.removeNode(t.nestingRoot), delete t.nestingRoot, r.forEach(e.edges(), (function (t) { e.edge(t).nestingEdge && e.removeEdge(t) })) } } }, function (e, t, n) { var r = n(11), i = n(20); function o(e, t, n, r, o, a) { var s = { width: 0, height: 0, rank: a, borderType: t }, l = o[t][a - 1], c = i.addDummyNode(e, "border", s, n); o[t][a] = c, e.setParent(c, r), l && e.setEdge(l, c, { weight: 1 }) } e.exports = function (e) { r.forEach(e.children(), (function t(n) { var i = e.children(n), a = e.node(n); if (i.length && r.forEach(i, t), r.has(a, "minRank")) { a.borderLeft = [], a.borderRight = []; for (var s = a.minRank, l = a.maxRank + 1; s < l; ++s)o(e, "borderLeft", "_bl", n, a, s), o(e, "borderRight", "_br", n, a, s) } })) } }, function (e, t, n) { "use strict"; var r = n(11); function i(e) { r.forEach(e.nodes(), (function (t) { o(e.node(t)) })), r.forEach(e.edges(), (function (t) { o(e.edge(t)) })) } function o(e) { var t = e.width; e.width = e.height, e.height = t } function a(e) { e.y = -e.y } function s(e) { var t = e.x; e.x = e.y, e.y = t } e.exports = { adjust: function (e) { var t = e.graph().rankdir.toLowerCase(); "lr" !== t && "rl" !== t || i(e) }, undo: function (e) { var t = e.graph().rankdir.toLowerCase(); "bt" !== t && "rl" !== t || function (e) { r.forEach(e.nodes(), (function (t) { a(e.node(t)) })), r.forEach(e.edges(), (function (t) { var n = e.edge(t); r.forEach(n.points, a), r.has(n, "y") && a(n) })) }(e); "lr" !== t && "rl" !== t || (!function (e) { r.forEach(e.nodes(), (function (t) { s(e.node(t)) })), r.forEach(e.edges(), (function (t) { var n = e.edge(t); r.forEach(n.points, s), r.has(n, "x") && s(n) })) }(e), i(e)) } } }, function (e, t, n) { "use strict"; var r = n(11), i = n(410), o = n(411), a = n(412), s = n(416), l = n(417), c = n(30).Graph, u = n(20); function d(e, t, n) { return r.map(t, (function (t) { return s(e, t, n) })) } function p(e, t) { var n = new c; r.forEach(e, (function (e) { var i = e.graph().root, o = a(e, i, n, t); r.forEach(o.vs, (function (t, n) { e.node(t).order = n })), l(e, n, o.vs) })) } function f(e, t) { r.forEach(t, (function (t) { r.forEach(t, (function (t, n) { e.node(t).order = n })) })) } e.exports = function (e) { var t = u.maxRank(e), n = d(e, r.range(1, t + 1), "inEdges"), a = d(e, r.range(t - 1, -1, -1), "outEdges"), s = i(e); f(e, s); for (var l, c = Number.POSITIVE_INFINITY, h = 0, g = 0; g < 4; ++h, ++g) { p(h % 2 ? n : a, h % 4 >= 2), s = u.buildLayerMatrix(e); var m = o(e, s); m < c && (g = 0, l = r.cloneDeep(s), c = m) } f(e, l) } }, function (e, t, n) { "use strict"; var r = n(11); e.exports = function (e) { var t = {}, n = r.filter(e.nodes(), (function (t) { return !e.children(t).length })), i = r.max(r.map(n, (function (t) { return e.node(t).rank }))), o = r.map(r.range(i + 1), (function () { return [] })); var a = r.sortBy(n, (function (t) { return e.node(t).rank })); return r.forEach(a, (function n(i) { if (r.has(t, i)) return; t[i] = !0; var a = e.node(i); o[a.rank].push(i), r.forEach(e.successors(i), n) })), o } }, function (e, t, n) { "use strict"; var r = n(11); function i(e, t, n) { for (var i = r.zipObject(n, r.map(n, (function (e, t) { return t }))), o = r.flatten(r.map(t, (function (t) { return r.sortBy(r.map(e.outEdges(t), (function (t) { return { pos: i[t.w], weight: e.edge(t).weight } })), "pos") })), !0), a = 1; a < n.length;)a <<= 1; var s = 2 * a - 1; a -= 1; var l = r.map(new Array(s), (function () { return 0 })), c = 0; return r.forEach(o.forEach((function (e) { var t = e.pos + a; l[t] += e.weight; for (var n = 0; t > 0;)t % 2 && (n += l[t + 1]), l[t = t - 1 >> 1] += e.weight; c += e.weight * n }))), c } e.exports = function (e, t) { for (var n = 0, r = 1; r < t.length; ++r)n += i(e, t[r - 1], t[r]); return n } }, function (e, t, n) { var r = n(11), i = n(413), o = n(414), a = n(415); e.exports = function e(t, n, s, l) { var c = t.children(n), u = t.node(n), d = u ? u.borderLeft : void 0, p = u ? u.borderRight : void 0, f = {}; d && (c = r.filter(c, (function (e) { return e !== d && e !== p }))); var h = i(t, c); r.forEach(h, (function (n) { if (t.children(n.v).length) { var i = e(t, n.v, s, l); f[n.v] = i, r.has(i, "barycenter") && (o = n, a = i, r.isUndefined(o.barycenter) ? (o.barycenter = a.barycenter, o.weight = a.weight) : (o.barycenter = (o.barycenter * o.weight + a.barycenter * a.weight) / (o.weight + a.weight), o.weight += a.weight)) } var o, a })); var g = o(h, s); !function (e, t) { r.forEach(e, (function (e) { e.vs = r.flatten(e.vs.map((function (e) { return t[e] ? t[e].vs : e })), !0) })) }(g, f); var m = a(g, l); if (d && (m.vs = r.flatten([d, m.vs, p], !0), t.predecessors(d).length)) { var v = t.node(t.predecessors(d)[0]), b = t.node(t.predecessors(p)[0]); r.has(m, "barycenter") || (m.barycenter = 0, m.weight = 0), m.barycenter = (m.barycenter * m.weight + v.order + b.order) / (m.weight + 2), m.weight += 2 } return m } }, function (e, t, n) { var r = n(11); e.exports = function (e, t) { return r.map(t, (function (t) { var n = e.inEdges(t); if (n.length) { var i = r.reduce(n, (function (t, n) { var r = e.edge(n), i = e.node(n.v); return { sum: t.sum + r.weight * i.order, weight: t.weight + r.weight } }), { sum: 0, weight: 0 }); return { v: t, barycenter: i.sum / i.weight, weight: i.weight } } return { v: t } })) } }, function (e, t, n) { "use strict"; var r = n(11); e.exports = function (e, t) { var n = {}; return r.forEach(e, (function (e, t) { var i = n[e.v] = { indegree: 0, in: [], out: [], vs: [e.v], i: t }; r.isUndefined(e.barycenter) || (i.barycenter = e.barycenter, i.weight = e.weight) })), r.forEach(t.edges(), (function (e) { var t = n[e.v], i = n[e.w]; r.isUndefined(t) || r.isUndefined(i) || (i.indegree++, t.out.push(n[e.w])) })), function (e) { var t = []; function n(e) { return function (t) { t.merged || (r.isUndefined(t.barycenter) || r.isUndefined(e.barycenter) || t.barycenter >= e.barycenter) && function (e, t) { var n = 0, r = 0; e.weight && (n += e.barycenter * e.weight, r += e.weight); t.weight && (n += t.barycenter * t.weight, r += t.weight); e.vs = t.vs.concat(e.vs), e.barycenter = n / r, e.weight = r, e.i = Math.min(t.i, e.i), t.merged = !0 }(e, t) } } function i(t) { return function (n) { n.in.push(t), 0 == --n.indegree && e.push(n) } } for (; e.length;) { var o = e.pop(); t.push(o), r.forEach(o.in.reverse(), n(o)), r.forEach(o.out, i(o)) } return r.map(r.filter(t, (function (e) { return !e.merged })), (function (e) { return r.pick(e, ["vs", "i", "barycenter", "weight"]) })) }(r.filter(n, (function (e) { return !e.indegree }))) } }, function (e, t, n) { var r = n(11), i = n(20); function o(e, t, n) { for (var i; t.length && (i = r.last(t)).i <= n;)t.pop(), e.push(i.vs), n++; return n } e.exports = function (e, t) { var n = i.partition(e, (function (e) { return r.has(e, "barycenter") })), a = n.lhs, s = r.sortBy(n.rhs, (function (e) { return -e.i })), l = [], c = 0, u = 0, d = 0; a.sort((p = !!t, function (e, t) { return e.barycenter < t.barycenter ? -1 : e.barycenter > t.barycenter ? 1 : p ? t.i - e.i : e.i - t.i })), d = o(l, s, d), r.forEach(a, (function (e) { d += e.vs.length, l.push(e.vs), c += e.barycenter * e.weight, u += e.weight, d = o(l, s, d) })); var p; var f = { vs: r.flatten(l, !0) }; u && (f.barycenter = c / u, f.weight = u); return f } }, function (e, t, n) { var r = n(11), i = n(30).Graph; e.exports = function (e, t, n) { var o = function (e) { var t; for (; e.hasNode(t = r.uniqueId("_root"));); return t }(e), a = new i({ compound: !0 }).setGraph({ root: o }).setDefaultNodeLabel((function (t) { return e.node(t) })); return r.forEach(e.nodes(), (function (i) { var s = e.node(i), l = e.parent(i); (s.rank === t || s.minRank <= t && t <= s.maxRank) && (a.setNode(i), a.setParent(i, l || o), r.forEach(e[n](i), (function (t) { var n = t.v === i ? t.w : t.v, o = a.edge(n, i), s = r.isUndefined(o) ? 0 : o.weight; a.setEdge(n, i, { weight: e.edge(t).weight + s }) })), r.has(s, "minRank") && a.setNode(i, { borderLeft: s.borderLeft[t], borderRight: s.borderRight[t] })) })), a } }, function (e, t, n) { var r = n(11); e.exports = function (e, t, n) { var i, o = {}; r.forEach(n, (function (n) { for (var r, a, s = e.parent(n); s;) { if ((r = e.parent(s)) ? (a = o[r], o[r] = s) : (a = i, i = s), a && a !== s) return void t.setEdge(a, s); s = r } })) } }, function (e, t, n) { "use strict"; var r = n(11), i = n(20), o = n(419).positionX; e.exports = function (e) { (function (e) { var t = i.buildLayerMatrix(e), n = e.graph().ranksep, o = 0; r.forEach(t, (function (t) { var i = r.max(r.map(t, (function (t) { return e.node(t).height }))); r.forEach(t, (function (t) { e.node(t).y = o + i / 2 })), o += i + n })) })(e = i.asNonCompoundGraph(e)), r.forEach(o(e), (function (t, n) { e.node(n).x = t })) } }, function (e, t, n) { "use strict"; var r = n(11), i = n(30).Graph, o = n(20); function a(e, t) { var n = {}; return r.reduce(t, (function (t, i) { var o = 0, a = 0, s = t.length, c = r.last(i); return r.forEach(i, (function (t, u) { var d = function (e, t) { if (e.node(t).dummy) return r.find(e.predecessors(t), (function (t) { return e.node(t).dummy })) }(e, t), p = d ? e.node(d).order : s; (d || t === c) && (r.forEach(i.slice(a, u + 1), (function (t) { r.forEach(e.predecessors(t), (function (r) { var i = e.node(r), a = i.order; !(a < o || p < a) || i.dummy && e.node(t).dummy || l(n, r, t) })) })), a = u + 1, o = p) })), i })), n } function s(e, t) { var n = {}; function i(t, i, o, a, s) { var c; r.forEach(r.range(i, o), (function (i) { c = t[i], e.node(c).dummy && r.forEach(e.predecessors(c), (function (t) { var r = e.node(t); r.dummy && (r.order < a || r.order > s) && l(n, t, c) })) })) } return r.reduce(t, (function (t, n) { var o, a = -1, s = 0; return r.forEach(n, (function (r, l) { if ("border" === e.node(r).dummy) { var c = e.predecessors(r); c.length && (o = e.node(c[0]).order, i(n, s, l, a, o), s = l, a = o) } i(n, s, n.length, o, t.length) })), n })), n } function l(e, t, n) { if (t > n) { var r = t; t = n, n = r } var i = e[t]; i || (e[t] = i = {}), i[n] = !0 } function c(e, t, n) { if (t > n) { var i = t; t = n, n = i } return r.has(e[t], n) } function u(e, t, n, i) { var o = {}, a = {}, s = {}; return r.forEach(t, (function (e) { r.forEach(e, (function (e, t) { o[e] = e, a[e] = e, s[e] = t })) })), r.forEach(t, (function (e) { var t = -1; r.forEach(e, (function (e) { var l = i(e); if (l.length) for (var u = ((l = r.sortBy(l, (function (e) { return s[e] }))).length - 1) / 2, d = Math.floor(u), p = Math.ceil(u); d <= p; ++d) { var f = l[d]; a[e] === e && t < s[f] && !c(n, e, f) && (a[f] = e, a[e] = o[e] = o[f], t = s[f]) } })) })), { root: o, align: a } } function d(e, t, n, o, a) { var s = {}, l = function (e, t, n, o) { var a = new i, s = e.graph(), l = function (e, t, n) { return function (i, o, a) { var s, l = i.node(o), c = i.node(a), u = 0; if (u += l.width / 2, r.has(l, "labelpos")) switch (l.labelpos.toLowerCase()) { case "l": s = -l.width / 2; break; case "r": s = l.width / 2 }if (s && (u += n ? s : -s), s = 0, u += (l.dummy ? t : e) / 2, u += (c.dummy ? t : e) / 2, u += c.width / 2, r.has(c, "labelpos")) switch (c.labelpos.toLowerCase()) { case "l": s = c.width / 2; break; case "r": s = -c.width / 2 }return s && (u += n ? s : -s), s = 0, u } }(s.nodesep, s.edgesep, o); return r.forEach(t, (function (t) { var i; r.forEach(t, (function (t) { var r = n[t]; if (a.setNode(r), i) { var o = n[i], s = a.edge(o, r); a.setEdge(o, r, Math.max(l(e, t, i), s || 0)) } i = t })) })), a }(e, t, n, a), c = a ? "borderLeft" : "borderRight"; function u(e, t) { for (var n = l.nodes(), r = n.pop(), i = {}; r;)i[r] ? e(r) : (i[r] = !0, n.push(r), n = n.concat(t(r))), r = n.pop() } return u((function (e) { s[e] = l.inEdges(e).reduce((function (e, t) { return Math.max(e, s[t.v] + l.edge(t)) }), 0) }), l.predecessors.bind(l)), u((function (t) { var n = l.outEdges(t).reduce((function (e, t) { return Math.min(e, s[t.w] - l.edge(t)) }), Number.POSITIVE_INFINITY), r = e.node(t); n !== Number.POSITIVE_INFINITY && r.borderType !== c && (s[t] = Math.max(s[t], n)) }), l.successors.bind(l)), r.forEach(o, (function (e) { s[e] = s[n[e]] })), s } function p(e, t) { return r.minBy(r.values(t), (function (t) { var n = Number.NEGATIVE_INFINITY, i = Number.POSITIVE_INFINITY; return r.forIn(t, (function (t, r) { var o = function (e, t) { return e.node(t).width }(e, r) / 2; n = Math.max(t + o, n), i = Math.min(t - o, i) })), n - i })) } function f(e, t) { var n = r.values(t), i = r.min(n), o = r.max(n); r.forEach(["u", "d"], (function (n) { r.forEach(["l", "r"], (function (a) { var s, l = n + a, c = e[l]; if (c !== t) { var u = r.values(c); (s = "l" === a ? i - r.min(u) : o - r.max(u)) && (e[l] = r.mapValues(c, (function (e) { return e + s }))) } })) })) } function h(e, t) { return r.mapValues(e.ul, (function (n, i) { if (t) return e[t.toLowerCase()][i]; var o = r.sortBy(r.map(e, i)); return (o[1] + o[2]) / 2 })) } e.exports = { positionX: function (e) { var t, n = o.buildLayerMatrix(e), i = r.merge(a(e, n), s(e, n)), l = {}; r.forEach(["u", "d"], (function (o) { t = "u" === o ? n : r.values(n).reverse(), r.forEach(["l", "r"], (function (n) { "r" === n && (t = r.map(t, (function (e) { return r.values(e).reverse() }))); var a = ("u" === o ? e.predecessors : e.successors).bind(e), s = u(e, t, i, a), c = d(e, t, s.root, s.align, "r" === n); "r" === n && (c = r.mapValues(c, (function (e) { return -e }))), l[o + n] = c })) })); var c = p(e, l); return f(l, c), h(l, e.graph().align) }, findType1Conflicts: a, findType2Conflicts: s, addConflict: l, hasConflict: c, verticalAlignment: u, horizontalCompaction: d, alignCoordinates: f, findSmallestWidthAlignment: p, balance: h } }, function (e, t, n) { var r = n(11), i = n(20), o = n(30).Graph; e.exports = { debugOrdering: function (e) { var t = i.buildLayerMatrix(e), n = new o({ compound: !0, multigraph: !0 }).setGraph({}); return r.forEach(e.nodes(), (function (t) { n.setNode(t, { label: t }), n.setParent(t, "layer" + e.node(t).rank) })), r.forEach(e.edges(), (function (e) { n.setEdge(e.v, e.w, {}, e.name) })), r.forEach(t, (function (e, t) { var i = "layer" + t; n.setNode(i, { rank: "same" }), r.reduce(e, (function (e, t) { return n.setEdge(e, t, { style: "invis" }), t })) })), n } } }, function (e, t) { e.exports = "0.8.5" }, function (e, t, n) { "use strict"; const r = n(423); angular.module("dbt").directive("modelTree", [function () { return { scope: { tree: "=" }, templateUrl: r, link: function (e) { e.nav_selected = "project" } } }]) }, function (e, t) { var n = "/components/model_tree/model_tree.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<style>\n.menu ul ul {\n margin-left: 12px;\n}\n</style>\n\n<div class="menu">\n <ul>\n <li>\n <a ui-sref="dbt.overview()" class="menu-link menu-main">\n Overview\n </a>\n </li>\n\n <li>\n <div class="switches">\n <div class="switch ">\n <span\n class="switch-label btn btn-sm"\n ng-class="{active: (nav_selected == \'project\')}"\n ng-click="nav_selected = \'project\'">\n <svg class="icn menu-icon-on"><use xlink:href="#icn-dir-on"></use></svg>\n Project\n </span>\n </div>\n <div class="switch">\n <span\n class="switch-label btn btn-sm"\n ng-class="{active: (nav_selected == \'database\')}"\n ng-click="nav_selected = \'database\'">\n <svg class="icn menu-icon-on"><use xlink:href="#icn-tree-on"></use></svg>\n Database\n </span>\n </div>\n <div class="switch">\n <span\n class="switch-label btn btn-sm"\n ng-class="{active: (nav_selected == \'group\')}"\n ng-click="nav_selected = \'group\'">\n <svg class="icn menu-icon-on"><use xlink:href="#icn-filter"></use></svg>\n Group\n </span>\n </div>\n </div>\n </li>\n\n <li>\n <div class="menu" ng-show="nav_selected == \'project\'">\n <div ng-show="tree.sources.length > 0">\n <strong>Sources</strong>\n <ul style="display: block">\n <model-tree-line\n item="item"\n resource-type="source"\n ng-repeat="item in tree.sources"></source-tree-line>\n </ul>\n <br />\n </div>\n\n <div ng-show="tree.exposures.length > 0">\n <strong>Exposures</strong>\n <ul style="display: block">\n <model-tree-line\n item="item"\n resource-type="exposure"\n ng-repeat="item in tree.exposures"></model-tree-line>\n </ul>\n <br />\n </div>\n \n <div ng-show="tree.metrics.length > 0">\n <strong>Metrics</strong>\n <ul style="display: block">\n <model-tree-line\n item="item"\n resource-type="metric"\n ng-repeat="item in tree.metrics"></model-tree-line>\n </ul>\n <br />\n </div>\n \n <div ng-show="tree.semantic_models.length > 0">\n <strong>Semantic Models</strong>\n <ul style="display: block">\n <model-tree-line\n item="item"\n resource-type="semantic_model"\n ng-repeat="item in tree.semantic_models"></model-tree-line>\n </ul>\n <br />\n </div>\n\n\n <div ng-show="tree.saved_queries.length > 0">\n <strong>Saved Queries</strong>\n <ul style="display: block">\n <model-tree-line\n item="item"\n resource-type="saved_query"\n ng-repeat="item in tree.saved_queries"></model-tree-line>\n </ul>\n <br />\n </div>\n\n <strong>Projects</strong>\n <ul>\n <model-tree-line\n item="item"\n resource-type="model"\n ng-repeat="item in tree.project"></model-tree-line>\n </ul>\n </div>\n </li>\n\n <li>\n <div class="menu" ng-show="nav_selected == \'database\'">\n <strong>Tables and Views</strong>\n <ul>\n <model-tree-line\n item="item"\n resource-type="model"\n ng-repeat="item in tree.database"></model-tree-line>\n </ul>\n </div>\n </li>\n\n <li>\n <div class="menu" ng-show="nav_selected == \'group\'">\n <strong>Public Models</strong>\n <ul><model-tree-line\n item="item"\n resource-type="model"\n ng-repeat="item in tree.groups"></model-tree-line>\n </ul>\n </div>\n </li>\n </ul>\n</div>\n') }]), e.exports = n }, function (e, t, n) { "use strict"; const r = n(425), i = n(21); n(426), angular.module("dbt").directive("modelTreeLine", ["$state", function (e) { return { scope: { item: "=", depth: "<", resourceType: "@" }, replace: !0, templateUrl: r, link: function (t, n, r, o) { t.depth || (t.depth = 0); var a = t.item.name; if (a) { var s = i.last(a, 15).join(""), l = i.initial(a, s.length).join(""); t.name = { name: a, start: l, end: s }, t.name_start = l, t.name_end = s, t.onFolderClick = function (n) { if (n.active = !n.active, "source" == t.resourceType) { var r = n.name; e.go("dbt.source_list", { source: r }) } else 0 === t.depth && "database" !== n.type && e.go("dbt.project_overview", { project_name: n.name }) }, t.activate = function (n) { t.$emit("clearSearch"), n.active = !0; var r = "dbt." + n.node.resource_type; e.go(r, { unique_id: n.unique_id }) }, t.getIcon = function (e, t) { return "#" + { header: { on: "icn-down", off: "icn-right" }, database: { on: "icn-db-on", off: "icn-db" }, schema: { on: "icn-tree-on", off: "icn-tree" }, table: { on: "icn-doc-on", off: "icn-doc" }, folder: { on: "icn-dir-on", off: "icn-dir" }, file: { on: "icn-doc-on", off: "icn-doc" }, group: { on: "icn-filter", off: "icn-filter" } }[e][t] }, t.getClass = function (e) { return { active: e.active, "menu-tree": "header" == e.type || "schema" == e.type || "folder" == e.type, "menu-main": "header" == e.type, "menu-node": "file" == e.type || "table" == e.type } } } } } }]) }, function (e, t) { var n = "/components/model_tree/model_tree_line.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<li class=\'unselectable\'>\n\n <a ng-if="!item.unique_id"\n class=\'unselectable\'\n ng-class="getClass(item)"\n ng-click="onFolderClick(item)">\n <span class="filename">\n <span class="filename-normal">\n <svg class="icn menu-icon-on"><use xlink:href="{{ getIcon(item.type, \'on\') }}"></use></svg>\n <svg class="icn menu-icon-off"><use xlink:href="{{ getIcon(item.type, \'off\') }}"></use></svg>\n </span>\n <span class="filename-ellip">{{name.start}}</span>\n <span class="filename-normal">{{name.end}}</span>\n </span>\n </a>\n\n <a ng-if="item.unique_id"\n class=\'unselectable\'\n ng-class="getClass(item)"\n ng-click="activate(item)"\n data-nav-unique-id="{{ item.unique_id }}"\n title="{{ name.name }}">\n <span class="filename">\n <span class="filename-normal">\n <svg class="icn menu-icon-on"><use xlink:href="{{ getIcon(item.type, \'on\') }}"></use></svg>\n <svg class="icn menu-icon-off"><use xlink:href="{{ getIcon(item.type, \'off\') }}"></use></svg>\n </span>\n <span class="filename-ellip">{{name.start}}</span>\n <span class="filename-normal">{{name.end}}</span>\n </span>\n </a>\n\n <ul ng-if="item.items">\n <model-tree-line\n resource-type="{{ resourceType }}"\n item="subitem"\n depth="depth + 1"\n ng-repeat="subitem in item.items" />\n </ul>\n</li>\n') }]), e.exports = n }, function (e, t, n) { var r = n(427); "string" == typeof r && (r = [[e.i, r, ""]]); var i = { hmr: !0, transform: void 0, insertInto: void 0 }; n(40)(r, i); r.locals && (e.exports = r.locals) }, function (e, t, n) { (e.exports = n(39)(!1)).push([e.i, "\n.unselectable{\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n", ""]) }, function (e, t, n) { "use strict"; const r = n(8), i = n(429); n(33); n(206), r.module("dbt").directive("docsSearch", ["$sce", "project", function (e, t) { return { scope: { query: "=", results: "=", onSelect: "&" }, replace: !0, templateUrl: i, link: function (n) { n.max_results = 20, n.show_all = !1, n.max_results_columns = 3, n.limit_columns = {}, n.checkboxStatus = { show_names: !1, show_descriptions: !1, show_columns: !1, show_column_descriptions: !1, show_code: !1, show_tags: !1 }, n.limit_search = function (e, t, r) { return t < n.max_results || n.show_all }, n.getState = function (e) { return "dbt." + e.resource_type }, n.getModelName = function (e) { return "source" == e.resource_type ? e.source_name + "." + e.name : "macro" == e.resource_type ? e.package_name + "." + e.name : "metric" == e.resource_type ? e.label : "semantic_model" == e.resource_type || "saved_query" == e.resource_type ? e.name : "exposure" == e.resource_type || "model" == e.resource_type && null != e.version ? e.label : e.name }; function r(e) { return e.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&") } function i(e) { return _.words(e.toLowerCase()) } n.$watchGroup(["query", "checkboxStatus.show_names", "checkboxStatus.show_descriptions", "checkboxStatus.show_columns", "checkboxStatus.show_column_descriptions", "checkboxStatus.show_code", "checkboxStatus.show_tags"], (function () { n.results = function (e, t) { if (!_.some(_.values(t))) return e; let n = [], r = []; const { show_names: i, show_descriptions: o, show_columns: a, show_column_descriptions: s, show_code: l, show_tags: c } = t; return _.each(e, (function (e) { _.each(e.matches, (function (t) { if (!r.includes(e.model.unique_id)) { const u = i && ("name" === t.key || "label" == t.key), d = o && "description" == t.key, p = a && "columns" === t.key, f = s && "column_description" === t.key, h = l && "raw_code" === t.key, g = c && "tags" === t.key; (u || d || p || f || h || g) && (r.push(e.model.unique_id), n.push(e)) } })) })), n }(t.search(n.query), n.checkboxStatus) })), n.shorten = function (e) { if (null != e && e.trim().length > 0 && null != n.query && n.query.trim().length > 0) { let t = e.replace(/\s+/g, " "), o = r(i(n.query)[0]), a = t.search(new RegExp(o)), s = a - 75 < 0 ? 0 : a - 75, l = a + 75 > t.length ? t.length : a + 75; return "..." + t.substring(s, l) + "..." } return e }, n.highlight = function (t) { if (!n.query || !t) return e.trustAsHtml(t); let o = "(" + i(n.query).map(e => r(e)).join(")|(") + ")"; return e.trustAsHtml(t.replace(new RegExp(o, "gi"), '<span class="search-result-match">$&</span>')) }, n.$watch("query", (function (e, t) { 0 == e.length && (n.show_all = !1, n.limit_columns = {}) })), n.columnFilter = function (e) { var t = []; let r = i(n.query); for (var o in e) r.every(e => -1 != o.toLowerCase().indexOf(e)) && t.push(o); return t }, n.limitColumns = function (e) { return void 0 !== n.limit_columns[e] ? n.limit_columns[e] : 3 } } } }]) }, function (e, t) { var n = "/components/search/search.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<div class="app-scroll">\n <style>\n .search-result-match {\n background-color: #eee;\n }\n .spacing {\n margin-right: 0.25em;\n }\n .sub-results {\n margin-left: 36px;\n }\n </style>\n <div class="app-title">\n <div class="app-frame app-pad">\n <h1>\n <span class="break">{{ query }}</span>\n <small><span>{{ results.length }}</span> search results</small>\n </h1>\n <input type="checkbox" id="name" ng-model="checkboxStatus.show_names" ng-click="filterResults(results, checkboxStatus)" style = "margin-left:10px;margin-right:5px">\n <label for="name" style="margin-right:25px">Name</label> \n <input type="checkbox" id="desc" ng-model="checkboxStatus.show_descriptions" ng-click = "filterResults(results, checkboxStatus)" style = "margin-right:5px">\n <label for="desc" style="margin-right:25px;">Description</label> \n <input type="checkbox" id="column" ng-model="checkboxStatus.show_columns" ng-click = "filterResults(results, checkboxStatus)" style = "margin-right:5px">\n <label for="column" style="margin-right:25px;">Column</label> \n <input type="checkbox" id="column_description" ng-model="checkboxStatus.show_column_descriptions" ng-click = "filterResults(results, checkboxStatus)" style = "margin-right:5px">\n <label for="column_description" style="margin-right:25px;">Column Description</label>\n <input type="checkbox" id="code" ng-model="checkboxStatus.show_code" ng-click = "filterResults(results, checkboxStatus)" style = "margin-right:5px">\n <label for="code" style="margin-right:15px;">SQL</label>\n <input type="checkbox" id="tag" ng-model="checkboxStatus.show_tags" ng-click = "filterResults(results, checkboxStatus)" style = "margin-right:5px">\n <label for="code" style="margin-right:15px;">Tags</label>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n <div class="results">\n <div ng-repeat="result in results | filter:limit_search | orderBy:\'overallWeight\':true track by result.model.unique_id"\n data-ui-state="getState(result.model)" data-ui-state-params="{unique_id: result.model.unique_id}"\n ng-click="onSelect()"\n class="result search-result a">\n <div class="result-content">\n <div class="result-icn">\n <svg class="icn "><use xlink:href="#icn-doc"></use></svg>\n </div>\n <div class="result-body">\n <h4 class="a">\n <span ng-bind-html="highlight(getModelName(result.model))"></span>\n <small>{{result.model.resource_type}}</small>\n </h4>\n <p ng-bind-html="highlight(shorten(result.model.description))"></p>\n </div>\n </div>\n <div class="sub-results" ng-show="query.length > 0">\n <span ng-repeat="column in columnFilter(result.model.columns) | limitTo:limitColumns(result.model.unique_id)">\n <span ng-show="$first === true">columns:</span>\n <span ng-bind-html="highlight(column + \',\')" ng-show="$last === false"></span>\n <span ng-bind-html="highlight(column)" ng-show="$last === true"></span>\n </span>\n <a\n ng-show="columnFilter(result.model.columns).length > max_results_columns && !limit_columns[result.model.unique_id]"\n ng-click="$event.stopPropagation(); limit_columns[result.model.unique_id] = 100">Show {{ columnFilter(result.model.columns).length - max_results_columns }} more</a>\n </div>\n <div class="sub-results" ng-show="query.length > 0">\n <span>\n <span ng-bind-html = "highlight(shorten(result.model[\'raw_code\']))"></span>\n </span>\n </div>\n <div class="sub-results" ng-show="query.length > 0">\n <span ng-repeat="tag in result.model.tags">\n <span ng-show="$first === true">tags:</span>\n <span ng-bind-html="highlight(tag + \',\')" ng-show="$last === false"></span>\n <span ng-bind-html="highlight(tag)" ng-show="$last === true"></span>\n </span>\n </div>\n </div>\n <a\n ng-show="results.length >= max_results && !show_all"\n ng-click="show_all = true">Show {{ results.length - max_results }} more</a>\n </div>\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t) { e.exports = { getQuoteChar: function (e) { var t = (e || {}).adapter_type; return ["bigquery", "spark", "databricks"].indexOf(t) >= 0 ? "`" : '"' } } }, function (e, t, n) { "use strict"; const r = n(432); n(433); const i = n(21); angular.module("dbt").directive("tableDetails", ["$sce", "$filter", "project", function (e, t, n) { return { scope: { model: "=", extras: "=", exclude: "<" }, templateUrl: r, link: function (e) { function r(e, t) { if (0 == e) return "0 bytes"; if (e < 1 && (e *= 1e6), isNaN(parseFloat(e)) || !isFinite(e)) return "-"; void 0 === t && (t = 0); var n = Math.floor(Math.log(e) / Math.log(1024)); return (e / Math.pow(1024, Math.floor(n))).toFixed(t) + " " + ["bytes", "KB", "MB", "GB", "TB", "PB"][n] } function o(e, n) { return void 0 === n && (n = 2), t("number")(100 * e, n) + "%" } function a(e, n) { return void 0 === n && (n = 0), t("number")(e, n) } function s(e) { var t, r, o = !e.metadata, a = e.metadata || {}; t = e.database ? e.database + "." : "", r = o ? void 0 : "source" == e.resource_type ? t + e.schema + "." + e.identifier : t + e.schema + "." + e.alias; const s = e.group ? function (e) { const { name: t, email: r } = n.project.groups[e].owner, i = []; if (t && i.push(t), r) { const e = i.length > 0 ? `<${r}>` : r; i.push(e) } return i.join(" ") }(`group.${e.package_name}.${e.group}`) : a.owner, l = !(!e.hasOwnProperty("config") || !e.config.hasOwnProperty("contract")) && e.config.contract.enforced; var c, u = [{ name: "Owner", value: s }, { name: "Type", value: o ? void 0 : (c = a.type, "BASE TABLE" == c ? { type: "table", name: "table" } : "LATE BINDING VIEW" == c ? { type: "view", name: "late binding view" } : { type: c.toLowerCase(), name: c.toLowerCase() }).name }, { name: "Package", value: e.package_name }, { name: "Language", value: e.language }, { name: "Relation", value: r }, { name: "Access", value: e.access }, { name: "Version", value: e.version }, { name: "Contract", value: l ? "Enforced" : "Not Enforced" }]; return i.filter(u, (function (e) { return void 0 !== e.value })) } e.details = [], e.extended = [], e.exclude = e.exclude || [], e.meta = null, e._show_expanded = !1, e.show_expanded = function (t) { return void 0 !== t && (e._show_expanded = t), e._show_expanded }, e.hasData = function (e) { return !(!e || i.isEmpty(e)) && (1 != e.length || 0 != e[0].include) }, e.$watch("model", (function (t, n) { i.property(["metadata", "type"])(t); var l, c, u, d = t.hasOwnProperty("sources") && null != t.sources[0] ? t.sources[0].source_meta : null; if (e.meta = t.meta || d, e.details = s(t), e.extended = (l = t.stats, c = { rows: a, row_count: a, num_rows: a, max_varchar: a, pct_used: o, size: r, bytes: r, num_bytes: r }, u = i.sortBy(i.values(l), "label"), i.map(u, (function (e) { var t = i.clone(e), n = c[e.id]; return n && (t.value = n(e.value), t.label = e.label.replace("Approximate", "~"), t.label = e.label.replace("Utilization", "Used")), t }))), e.extras) { var p = i.filter(e.extras, (function (e) { return void 0 !== e.value && null !== e.value })); e.details = e.details.concat(p) } e.show_extended = i.where(e.extended, { include: !0 }).length > 0 })), e.queryTag = function (t) { e.$emit("query", t) } } } }]) }, function (e, t) { var n = "/components/table_details/table_details.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<div class="section-content">\n <h6>Details</h6>\n <div class="panel">\n <div class="panel-body">\n <div class="details">\n <div class="details-content">\n <div class="detail-group" ng-if="hasData(meta)">\n <div class="detail-body">\n <dl class="detail"\n ng-repeat="(k, v) in meta">\n <dt class="detail-label">{{ k }}</dt>\n <dd class="detail-value">{{ v }}</dd>\n </dl>\n </div>\n </div>\n <div class="detail-group">\n <div class="detail-body">\n <dl class=\'detail\' ng-if="model.tags != undefined && exclude.indexOf(\'tags\') == -1">\n <dt class="detail-label">Tags</dt>\n <dd ng-if="model.tags.length > 0" class="detail-value">\n <span ng-repeat="tag in model.tags"><code><a ng-click=queryTag(tag)>{{ tag }}</a></code>&nbsp;</span>\n </dd>\n <dd ng-if="model.tags.length == 0" class="detail-value">untagged</dd>\n </dl>\n <dl class="detail"\n ng-repeat="item in details">\n <dt class="detail-label">{{ item.name }}</dt>\n <dd class="detail-value">{{ item.value }}</dd>\n </dl>\n </div>\n </div>\n <div class="detail-group" ng-if="hasData(extended)">\n <div class="detail-body">\n <dl class="detail"\n ng-repeat="item in extended"\n ng-if="item.include">\n <dt data-toggle="tooltip" title="{{ item.description }}" class="detail-label">{{ item.label }}</dt>\n <dd class="detail-value">{{ item.value }}</dd>\n </dl>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t, n) { var r = n(434); "string" == typeof r && (r = [[e.i, r, ""]]); var i = { hmr: !0, transform: void 0, insertInto: void 0 }; n(40)(r, i); r.locals && (e.exports = r.locals) }, function (e, t, n) { (e.exports = n(39)(!1)).push([e.i, "\n\n.details-content {\n table-layout: fixed;\n}\n\n.detail-body {\n white-space: nowrap;\n overflow-x: scroll;\n}\n", ""]) }, function (e, t, n) { "use strict"; const r = n(436), i = n(21); angular.module("dbt").directive("columnDetails", ["project", function (e) { return { scope: { model: "=" }, templateUrl: r, link: function (t) { t.has_test = function (e, t) { return -1 != i.pluck(e.tests, "short").indexOf(t) }, t.has_constraint = function (e, t) { return !!e.hasOwnProperty("constraints") && e.constraints.some(e => e.type === t) }, t.has_more_info = function (e) { var t = e.tests || [], n = e.description || "", r = e.meta || {}, o = e.constraints || []; return t.length || n.length || o.length || !i.isEmpty(r) }, t.toggle_column_expanded = function (e) { t.has_more_info(e) && (e.expanded = !e.expanded) }, t.getState = function (e) { return "dbt." + e.resource_type }, t.get_col_name = function (t) { return e.caseColumn(t) }, t.get_columns = function (e) { var t = i.chain(e.columns).values().sortBy("index").value(); return i.each(t, (function (e, t) { e.index = t })), t } } } }]) }, function (e, t) { var n = "/components/column_details/column_details.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<div class="panel">\n <div class="panel-body">\n <div ng-if="_.isEmpty(model.columns)">\n Column information is not available for this seed\n </div>\n <div class="table-responsive"\n style="max-height: 800px; overflow-y: scroll;"\n ng-if="!_.isEmpty(model.columns)">\n <table class="table table-borderless table-hover">\n <thead>\n <tr>\n <th style="background-color: white; position: sticky; top: 0; z-index: 1;">Column</th>\n <th style="background-color: white; position: sticky; top: 0; z-index: 1;">Type</th>\n <th style="background-color: white; position: sticky; top: 0; z-index: 1;">Description</th>\n <th style="width: 1px; background-color: white; position: sticky; top: 0; z-index: 1;">Constraints</th>\n <th style="width: 1px; background-color: white; position: sticky; top: 0; z-index: 1;">Data Tests</th>\n <th style="width: 1px; background-color: white; position: sticky; top: 0; z-index: 1;" class=\'text-center\'>More?</th>\n </tr>\n </thead>\n <tbody>\n <tr\n ng-repeat-start="column in get_columns(model) track by column.index"\n ng-click="toggle_column_expanded(column)"\n class="column-row"\n ng-class="{\'column-row-selected\': column.expanded}"\n ng-style="{cursor: has_more_info(column) ? \'pointer\' : \'auto\'}">\n <td>\n <div>\n <span class=\'text-dark\'>{{ get_col_name(column.name) }}</span>\n </div>\n </td>\n <td>\n <span class=\'text-dark\'>{{ column.type }}</p>\n </td>\n <td style="text-overflow: ellipsis; overflow-x: hidden; white-space: nowrap; max-width: 1px;">\n <span ng-show="!column.expanded">{{ column.description }}</span>\n </td>\n <td>\n <span class="text-light" ng-show="!column.expanded">\n <span data-toggle="tooltip" title="Not Null" ng-if="has_constraint(column, \'not_null\')">N</span>\n <span data-toggle="tooltip" title="Primary Key" ng-if="has_constraint(column, \'primary_key\')">PK</span>\n <span data-toggle="tooltip" title="Foreign Key" ng-if="has_constraint(column, \'foreign_key\')">FK</span>\n <span data-toggle="tooltip" title="Check" ng-if="has_constraint(column, \'check\')">C</span>\n <span data-toggle="tooltip" title="Custom" ng-if="has_constraint(column, \'custom\')">+</span>\n </span>\n </td>\n <td>\n <span class="text-light" ng-show="!column.expanded">\n <span data-toggle="tooltip" title="Unique" ng-if="has_test(column, \'U\')">U</span>\n <span data-toggle="tooltip" title="Not Null" ng-if="has_test(column, \'N\')">N</span>\n <span data-toggle="tooltip" title="Foreign Key" ng-if="has_test(column, \'F\')">F</span>\n <span data-toggle="tooltip" title="Accepted Values" ng-if="has_test(column, \'A\')">A</span>\n <span data-toggle="tooltip" title="Custom Test" ng-if="has_test(column, \'+\')">+</span>\n </span>\n </td>\n <td class=\'text-center\'>\n <span class=\'text-light\' ng-show="has_more_info(column)">\n <span ng-if="column.expanded">\n <svg class="icn"><use xlink:href="#icn-up"></use></svg>\n </span>\n <span ng-if="!column.expanded">\n <svg class="icn"><use xlink:href="#icn-right"></use></svg>\n </span>\n </span>\n </td>\n </tr>\n <tr ng-repeat-end ng-show="column.expanded" style="background-color: white; padding: 10px">\n <td colspan="5" class="column-expanded">\n <div style="padding: 5px 20px">\n <div ng-show="column.meta">\n <h5>Details</h5>\n <div class="detail-group" style="padding-bottom: 0">\n <div class="detail-body" style="padding-left: 0">\n <dl class="detail"\n ng-style="{\'padding-left\': $index == 0 ? 0 : \'auto\'}"\n ng-repeat="(k, v) in column.meta">\n <dt class="detail-label">{{ k }}</dt>\n <dd class="detail-value">{{ v }}</dd>\n </dl>\n </div>\n </div>\n </div>\n\n <div style="margin-bottom: 15px" ng-if="column.description.length">\n <h5>Description</h5>\n <span marked="column.description"></span>\n </div>\n\n <div ng-show="column.constraints && column.constraints.length" style="margin-bottom: 15px">\n <h5>Constraints</h5>\n <div class="detail-group" style="padding-bottom: 0">\n <div class="detail-body" style="padding-left: 0">\n <dl class="detail" ng-style="{\'padding-left\': $index == 0 ? 0 : \'auto\'}"\n ng-repeat="constraint in column.constraints">\n <dt class="detail-label">Name</dt>\n <dd class="detail-value">{{ constraint.name }}</dd>\n <dt class="detail-label">Type</dt>\n <dd class="detail-value">{{ constraint.type }}</dd>\n <dt class="detail-label">Expression</dt>\n <dd class="detail-value">{{ constraint.expression }}</dd>\n </dl>\n </div>\n </div>\n </div>\n\n <div ng-show="column.tests && column.tests.length" style="margin-bottom: 15px">\n <h5>Generic Data Tests</h5>\n <ul class="list-unstyled" style="margin-top: 2px">\n <li ng-repeat="test in column.tests" ng-switch on="test.short" class=\'text-light\'>\n <span ng-switch-when="F">\n Foreign Key\n <span ng-if="test.fk_model.unique_id">\n <a data-ui-state="getState(test.fk_model)"\n data-ui-state-params="{unique_id: test.fk_model.unique_id}">\n to {{ test.fk_model.name }}\n </a> on <code>{{ test.fk_field }}</code>\n </span>\n </span>\n <span ng-switch-when="P">Primary Key</span>\n <span ng-switch-when="U">Unique</span>\n <span ng-switch-when="N">Not Null</span>\n <span ng-switch-default>{{ test.label }}</span>\n </li>\n </ul>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t, n) { "use strict"; const r = n(438); n(33), n(439); function i(e) { return "python" === e ? "language-python" : "language-sql" } angular.module("dbt").directive("codeBlock", ["code", "$timeout", function (e, t) { return { scope: { versions: "=", default: "<", language: "=" }, restrict: "E", templateUrl: r, link: function (n, r) { n.selected_version = n.default, n.language_class = i(n.language), n.source = null, n.setSelected = function (r) { n.selected_version = r, n.source = n.versions[r] || ""; const i = n.source.trim(); n.highlighted = e.highlight(i, n.language), t((function () { Prism.highlightAll() })) }, n.titleCase = function (e) { return e.charAt(0).toUpperCase() + e.substring(1) }, n.copied = !1, n.copy_to_clipboard = function () { e.copy_to_clipboard(n.source), n.copied = !0, setTimeout((function () { n.$apply((function () { n.copied = !1 })) }), 1e3) }, n.$watch("language", (function (e, t) { e && e != t && (n.language_class = i(e)) }), !0), n.$watch("versions", (function (e, t) { if (e) if (n.default) n.setSelected(n.default); else { var r = Object.keys(n.versions); r.length > 0 && n.setSelected(r[0]) } }), !0) } } }]) }, function (e, t) { var n = "/components/code_block/code_block.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<h6>Code</h6>\n<div class="panel">\n <div class="panel-body">\n <ul class="nav nav-tabs">\n <li\n ng-repeat="(version_name, version) in versions"\n ng-class="{active: version_name == selected_version}">\n <a ng-click="setSelected(version_name)">{{ titleCase(version_name) }}</a>\n </li>\n <li class=\'nav-pull-right\'></li>\n <li>\n <a class=\'unselectable\'\n ng-click="copy_to_clipboard()">{{ copied ? \'copied\' : \'copy to clipboard\' }}</a>\n </li>\n </ul>\n <div style="margin-top: 1px">\n <pre style="background-color: white"\n class=\'code line-numbers\'><code class="source-code highlight" ng-class="language_class" ng-bind-html="highlighted"></code></pre>\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t, n) { var r = n(440); "string" == typeof r && (r = [[e.i, r, ""]]); var i = { hmr: !0, transform: void 0, insertInto: void 0 }; n(40)(r, i); r.locals && (e.exports = r.locals) }, function (e, t, n) { (e.exports = n(39)(!1)).push([e.i, "pre.code {\n border: none !important;\n overflow-y: visible !important;\n overflow-x: scroll !important;\n padding-bottom: 10px;\n}\n\npre.code code {\n font-family: Monaco, monospace !important;\n font-weight: 400 !important;\n}\n\n.line-numbers-rows {\n border: none !important;\n}\n", ""]) }, function (e, t, n) { "use strict"; const r = n(442); angular.module("dbt").directive("macroArguments", [function () { return { scope: { macro: "=" }, templateUrl: r, link: function (e) { _.each(e.macro.arguments, (function (e) { e.expanded = !1 })) } } }]) }, function (e, t) { var n = "/components/macro_arguments/index.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<style>\n .arg-header {\n background-color: white;\n position: sticky;\n top: 0;\n z-index: 1;\n }\n\n</style>\n\n<div class="panel">\n <div class="panel-body">\n <div ng-if="macro.arguments.length == 0">\n Details are not available for this macro. This may be due to the fact that this macro doesn\'t have any\n arguments or that they haven\'t been documented yet.\n </div>\n <div ng-if="macro.arguments.length > 0" class="table-responsive" style="max-height: 800px; overflow-y: scroll;">\n <table class="table table-borderless table-hover">\n <thead>\n <tr>\n <th class="arg-header">Argument</th>\n <th class="arg-header">Type</th>\n <th class="arg-header">Description</th>\n <th style="width: 1px;" class=\'text-center\'>More?</th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat-start="arg in macro.arguments" ng-click="arg.expanded = !arg.expanded"\n ng-class="{\'column-row-selected\': arg.expanded}"\n ng-style="{cursor: arg.description ? \'pointer\' : \'auto\'}" class="column-row">\n <td>\n <div>\n <span class=\'text-dark\'>{{ arg.name }}</span>\n </div>\n </td>\n <td>\n <span class=\'text-dark\'>{{ arg.type }}</p>\n </td>\n <td style="text-overflow: ellipsis; overflow-x: hidden; white-space: nowrap; max-width: 1px;">\n <span ng-show="!arg.expanded">{{ arg.description }}</span>\n </td>\n <td class=\'text-center\'>\n <span class=\'text-light\' ng-show="arg.description">\n <span ng-if="arg.expanded">\n <svg class="icn">\n <use xlink:href="#icn-up"></use>\n </svg>\n </span>\n <span ng-if="!arg.expanded">\n <svg class="icn">\n <use xlink:href="#icn-right"></use>\n </svg>\n </span>\n </span>\n </td>\n </tr>\n <tr ng-repeat-end ng-show="arg.expanded" style="background-color: white; padding: 10px">\n <td colspan="4" class="column-expanded">\n <div style="padding: 5px 20px">\n <div style="margin-bottom: 15px">\n <h5>Description</h5>\n <span marked="arg.description"></span>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t, n) { "use strict"; const r = n(444); angular.module("dbt").directive("referenceList", ["$state", function (e) { return { scope: { references: "=", node: "=" }, restrict: "E", templateUrl: r, link: function (t) { t.selected_type = null, t.setType = function (e) { t.selected_type = e, t.nodes = t.references[t.selected_type] }, t.getNodeUrl = function (t) { var n = "dbt." + t.resource_type; return e.href(n, { unique_id: t.unique_id, "#": null }) }, t.mapResourceType = function (e) { return "model" == e ? "Models" : "seed" == e ? "Seeds" : "test" == e ? "Data Tests" : "unit_test" == e ? "Unit Tests" : "snapshot" == e ? "Snapshots" : "analysis" == e ? "Analyses" : "macro" == e ? "Macros" : "exposure" == e ? "Exposures" : "metric" == e ? "Metrics" : "semantic_model" == e ? "Semantic Models" : "saved_query" == e ? "Saved Queries" : "operation" == e ? "Operations" : "Nodes" }, t.$watch("references", (function (e) { e && _.size(e) > 0 ? (t.selected_type = _.keys(e)[0], t.has_references = !0, t.nodes = t.references[t.selected_type]) : t.has_references = !1 })) } } }]) }, function (e, t) { var n = "/components/references/index.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<div class="panel">\n <div class="panel-body" ng-if="!has_references">\n No resources reference this {{ node.resource_type }}\n </div>\n <div class="panel-body" ng-if="has_references">\n <ul class="nav nav-tabs">\n <li\n ng-repeat="(resource_type, nodes) in references"\n ng-class="{active: resource_type == selected_type}">\n <a ng-click="setType(resource_type)">\n {{ mapResourceType(resource_type) }}\n </a>\n </li>\n </ul>\n <div style="margin-top: 15px">\n <ul class=\'list-unstyled\'>\n <li ng-repeat="node in nodes">\n <a ng-href="{{ getNodeUrl(node) }}">{{ node.name }}</a>\n </li>\n </ul>\n <div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t, n) { n(446), n(448), n(449), n(450), n(451), n(452), n(453), n(454), n(455), n(456), n(457), n(458) }, function (e, t, n) { "use strict"; const r = n(8), i = n(24); n(25), r.module("dbt").controller("ModelCtrl", ["$scope", "$state", "project", "code", "$anchorScroll", "$location", function (e, t, n, r, o, a) { e.model_uid = t.params.unique_id, e.tab = t.params.tab, e.project = n, e.codeService = r, e.versions = {}, e.copied = !1, e.copy_to_clipboard = function (t) { r.copy_to_clipboard(t), e.copied = !0, setTimeout((function () { e.$apply((function () { e.copied = !1 })) }), 1e3) }, e.model = {}, n.ready((function (t) { let n = t.nodes[e.model_uid]; e.model = n, e.references = i.getReferences(t, n), e.referencesLength = Object.keys(e.references).length, e.parents = i.getParents(t, n), e.parentsLength = Object.keys(e.parents).length, e.language = n.language; e.versions = { Source: e.model.raw_code, Compiled: e.model.compiled_code || "\n-- compiled code not found for this model\n" }, setTimeout((function () { o() }), 0) })) }]) }, function (e, t, n) { (e.exports = n(39)(!1)).push([e.i, "\n.nav-tabs li.nav-pull-right {\n flex: 1 0 auto;\n text-align: right;\n}\n\ntr.column-row-selected {\n\n}\n\ntd.column-expanded{\n padding: 0px !important;\n}\n\ntd.column-expanded > div {\n padding: 5px 10px;\n margin-left: 20px;\n height: 100%;\n\n border-left: 1px solid #ccc !important;\n}\n", ""]) }, function (e, t, n) { "use strict"; const r = n(8), i = n(24); n(25), r.module("dbt").controller("SourceCtrl", ["$scope", "$state", "project", "code", "$anchorScroll", "$location", function (e, t, n, r, o, a) { e.model_uid = t.params.unique_id, e.project = n, e.codeService = r, e.extra_table_fields = [], e.versions = {}, e.model = {}, n.ready((function (t) { let n = t.nodes[e.model_uid]; e.model = n, e.references = i.getReferences(t, n), e.referencesLength = Object.keys(e.references).length, e.parents = i.getParents(t, n), e.parentsLength = Object.keys(e.parents).length, e.versions = { "Sample SQL": r.generateSourceSQL(e.model) }, e.extra_table_fields = [{ name: "Loader", value: e.model.loader }, { name: "Source", value: e.model.source_name }] })) }]) }, function (e, t, n) { "use strict"; const r = n(8), i = n(24); n(25), r.module("dbt").controller("SeedCtrl", ["$scope", "$state", "project", "code", "$transitions", "$anchorScroll", "$location", function (e, t, n, r, o, a, s) { e.model_uid = t.params.unique_id, e.tab = t.params.tab, e.project = n, e.codeService = r, e.versions = {}, e.model = {}, n.ready((function (t) { let n = t.nodes[e.model_uid]; e.model = n, e.references = i.getReferences(t, n), e.referencesLength = Object.keys(e.references).length, e.parents = i.getParents(t, n), e.parentsLength = Object.keys(e.parents).length, e.versions = { "Example SQL": r.generateSourceSQL(e.model) } })) }]) }, function (e, t, n) { "use strict"; const r = n(8), i = n(24); n(25), r.module("dbt").controller("SnapshotCtrl", ["$scope", "$state", "project", "code", "$anchorScroll", "$location", function (e, t, n, r, o, a) { e.model_uid = t.params.unique_id, e.tab = t.params.tab, e.project = n, e.codeService = r, e.versions = {}, e.model = {}, n.ready((function (t) { let n = t.nodes[e.model_uid]; e.model = n, e.references = i.getReferences(t, n), e.referencesLength = Object.keys(e.references).length, e.parents = i.getParents(t, n), e.parentsLength = Object.keys(e.parents).length, e.language = n.language; e.versions = { Source: e.model.raw_code, Compiled: e.model.compiled_code || "Compiled SQL is not available for this snapshot" }, setTimeout((function () { o() }), 0) })) }]) }, function (e, t, n) { "use strict"; const r = n(8), i = n(24); n(25), r.module("dbt").controller("TestCtrl", ["$scope", "$state", "project", "code", "$anchorScroll", "$location", function (e, t, n, r, o, a) { e.model_uid = t.params.unique_id, e.tab = t.params.tab, e.project = n, e.codeService = r, e.versions = {}, e.model = {}, n.ready((function (t) { let n = t.nodes[e.model_uid]; e.model = n, e.references = i.getReferences(t, n), e.referencesLength = Object.keys(e.references).length, e.parents = i.getParents(t, n), e.parentsLength = Object.keys(e.parents).length, e.language = n.language; e.versions = { Source: e.model.raw_code, Compiled: e.model.compiled_code || "\n-- compiled code not found for this model\n" }, setTimeout((function () { o() }), 0) })) }]) }, function (e, t, n) { "use strict"; const r = n(8), i = n(21), o = n(24); n(25), r.module("dbt").controller("MacroCtrl", ["$scope", "$state", "project", "code", "$transitions", "$anchorScroll", "$location", function (e, t, n, r, a, s, l) { e.model_uid = t.params.unique_id, e.tab = t.params.tab, e.project = n, e.codeService = r, e.macro = {}, n.ready((function (t) { let n = t.macros[e.model_uid]; if (e.macro = n, e.references = o.getMacroReferences(t, n), e.referencesLength = Object.keys(e.references).length, e.parents = o.getMacroParents(t, n), e.parentsLength = Object.keys(e.parents).length, e.macro.is_adapter_macro) { var r = t.metadata.adapter_type; e.versions = n.impls, n.impls[r] ? e.default_version = r : n.impls.default ? e.default_version = "default" : e.default_version = i.keys(n.impls)[0] } else e.default_version = "Source", e.versions = { Source: e.macro.macro_sql } })) }]) }, function (e, t, n) { "use strict"; const r = n(8), i = n(24); n(25), r.module("dbt").controller("AnalysisCtrl", ["$scope", "$state", "project", "code", "$transitions", "$anchorScroll", "$location", function (e, t, n, r, o, a, s) { e.model_uid = t.params.unique_id, e.project = n, e.codeService = r, e.default_version = "Source", e.versions = { Source: "", Compiled: "" }, e.model = {}, n.ready((function (t) { let n = t.nodes[e.model_uid]; e.model = n, e.references = i.getReferences(t, n), e.referencesLength = Object.keys(e.references).length, e.parents = i.getParents(t, n), e.parentsLength = Object.keys(e.parents).length, e.language = n.language, e.versions = { Source: e.model.raw_code, Compiled: e.model.compiled_code } })) }]) }, function (e, t, n) { "use strict"; const r = n(8), i = n(24); n(25), r.module("dbt").controller("ExposureCtrl", ["$scope", "$state", "project", "code", "$anchorScroll", "$location", function (e, t, n, r, o, a) { e.model_uid = t.params.unique_id, e.project = n, e.codeService = r, e.extra_table_fields = [], e.versions = {}, e.exposure = {}, n.ready((function (t) { let n = t.nodes[e.model_uid]; var r; e.exposure = n, e.parents = i.getParents(t, n), e.parentsLength = e.parents.length, e.language = n.language, e.exposure.owner.name && e.exposure.owner.email ? r = `${e.exposure.owner.name} <${e.exposure.owner.email}>` : e.exposure.owner.name ? r = "" + e.exposure.owner.name : e.exposure.owner.email && (r = "" + e.exposure.owner.email), e.extra_table_fields = [{ name: "Maturity", value: e.exposure.maturity }, { name: "Owner", value: r }, { name: "Exposure name", value: e.exposure.name }] })) }]) }, function (e, t, n) { "use strict"; const r = n(8), i = n(24); n(25), r.module("dbt").controller("MetricCtrl", ["$scope", "$state", "project", "code", "$anchorScroll", "$location", function (e, t, n, r, o, a) { e.model_uid = t.params.unique_id, e.project = n, e.codeService = r, e.extra_table_fields = [], e.versions = {}, e.metric = {}, n.ready((function (t) { let n = t.nodes[e.model_uid]; e.metric = n, e.parents = i.getParents(t, n), e.parentsLength = e.parents.length; const r = "expression" === e.metric.type ? "Expression metric" : "Aggregate metric"; e.extra_table_fields = [{ name: "Metric Type", value: r }, { name: "Metric name", value: e.metric.name }] })) }]) }, function (e, t, n) { "use strict"; const r = n(8), i = n(24); n(25), r.module("dbt").controller("SemanticModelCtrl", ["$scope", "$state", "project", "code", "$anchorScroll", "$location", function (e, t, n, r, o, a) { e.model_uid = t.params.unique_id, e.project = n, e.codeService = r, e.extra_table_fields = [], e.versions = {}, e.semantic_model = {}, n.ready((function (t) { let n = t.nodes[e.model_uid]; e.semantic_model = n, e.parents = i.getParents(t, n), e.parentsLength = e.parents.length; const r = "expression" === e.semantic_model.type ? "Expression semantic_model" : "Aggregate semantic_model"; e.extra_table_fields = [{ name: "Semantic Model Type", value: r }, { name: "Semantic Model name", value: e.semantic_model.name }] })) }]) }, function (e, t, n) { "use strict"; const r = n(8), i = n(24); n(25), r.module("dbt").controller("SavedQueryCtrl", ["$scope", "$state", "project", "code", "$anchorScroll", "$location", function (e, t, n, r, o, a) { e.model_uid = t.params.unique_id, e.project = n, e.codeService = r, e.extra_table_fields = [], e.versions = {}, e.saved_query = {}, n.ready((function (t) { let n = t.nodes[e.model_uid]; e.saved_query = n, e.parents = i.getParents(t, n), e.parentsLength = e.parents.length; const r = "expression" === e.saved_query.type ? "Expression saved_query" : "Aggregate saved_query"; e.extra_table_fields = [{ name: "Saved Query Type", value: r }, { name: "Saved Query name", value: e.saved_query.name }] })) }]) }, function (e, t, n) { "use strict"; const r = n(8), i = n(24); n(25), r.module("dbt").controller("OperationCtrl", ["$scope", "$state", "project", "code", "$anchorScroll", "$location", function (e, t, n, r, o, a) { e.model_uid = t.params.unique_id, e.tab = t.params.tab, e.project = n, e.codeService = r, e.versions = {}, e.model = {}, n.ready((function (t) { let n = t.nodes[e.model_uid]; e.model = n, e.references = i.getReferences(t, n), e.referencesLength = Object.keys(e.references).length, e.parents = i.getParents(t, n), e.parentsLength = Object.keys(e.parents).length, e.language = n.language; e.versions = { Source: e.model.raw_code, Compiled: e.model.compiled_code || "\n-- compiled code not found for this model\n" }, setTimeout((function () { o() }), 0) })) }]) }, function (e, t, n) { "use strict"; n(8).module("dbt").controller("GraphCtrl", ["$scope", "$state", "$window", "graph", "project", "selectorService", function (e, t, n, r, i, o) { function a(e) { return e && "source" == e.resource_type ? "source:" + e.source_name + "." + e.name : e && "exposure" == e.resource_type ? "exposure:" + e.name : e && "metric" == e.resource_type ? "metric:" + e.name : e && "semantic_model" == e.resource_type ? "semantic_model:" + e.name : e && "saved_query" == e.resource_type ? "saved_query:" + e.name : e && "model" == e.resource_type && null != e.version ? e.label : e.name ? e.name : "*" } e.graph = r.graph, e.graphService = r, e.graphRendered = function (e) { r.setGraphReady(e) }, e.$watch((function () { return t.params.unique_id }), (function (e, t) { e && e != t && i.find_by_id(e, (function (e) { e && ("sidebar" == r.orientation ? r.showVerticalGraph(a(e), !1) : r.showFullGraph(a(e))) })), e || o.clearViewNode() })) }]) }, function (e, t, n) { "use strict"; const r = n(8), i = n(21), o = n(33), a = n(461); n(462), n(206), n(470), n(472), n(475), n(479), r.module("dbt").controller("MainController", ["$scope", "$route", "$state", "project", "graph", "selectorService", "trackingService", "locationService", "$transitions", function (e, t, n, r, s, l, c, u, d) { function p(t) { e.model_uid = t; var n = r.node(t); n && l.resetSelection(n) } function f(e) { e && setTimeout((function () { var t = o("*[data-nav-unique-id='" + e + "']"); t.length && t[0].scrollIntoView && t[0].scrollIntoView({ behavior: "smooth", block: "center", inline: "center" }) }), 1) } e.tree = { database: {}, project: {}, sources: {} }, e.search = { query: "", results: [], is_focused: !1 }, e.logo = a, e.model_uid = null, e.project = {}, o("body").bind("keydown", (function (e) { "t" == event.key && "INPUT" != event.target.tagName && (o("#search").focus(), event.preventDefault()) })), e.onSearchFocus = function (t, n) { e.search.is_focused = n }, e.clearSearch = function () { e.search.is_focused = !1, e.search.query = "", e.search.results = [], o("#search").blur() }, e.$on("clearSearch", (function () { e.clearSearch() })), e.$on("query", (function (t, n) { e.search.is_focused = !0, e.search.query = n })), e.onSearchKeypress = function (t) { "Escape" == t.key && (e.clearSearch(), t.preventDefault()) }, r.getModelTree(n.params.unique_id, (function (t) { e.tree.database = t.database, e.tree.project = t.project, e.tree.sources = t.sources, e.tree.exposures = t.exposures, e.tree.metrics = t.metrics, e.tree.semantic_models = t.semantic_models, e.tree.saved_queries = t.saved_queries, e.tree.groups = t.groups, setTimeout((function () { f(e.model_uid) })) })), d.onSuccess({}, (function (t, n) { var i = t.router.globals.params, o = l.getViewNode(), a = o ? o.unique_id : null, s = i.unique_id, u = !0; if (t.from().name == t.to().name && a == s && (u = !1), u && i.unique_id) { var d = r.updateSelected(i.unique_id); e.tree.database = d.database, e.tree.groups = d.groups, e.tree.project = d.project, e.tree.sources = d.sources, e.search.query = "", p(i.unique_id), setTimeout((function () { f(i.unique_id) })) } u && c.track_pageview() })), e.$watch("search.query", (function (t) { e.search.results = function (t) { if ("" === e.search.query) return t; let n = { name: 10, tags: 5, description: 3, raw_code: 2, columns: 1 }; return i.each(t, (function (t) { t.overallWeight = 0, i.each(Object.keys(n), (function (r) { if (null != t.model[r]) { let o = 0, a = t.model[r], s = e.search.query.toLowerCase(); if ("columns" === r) i.each(a, (function (e) { if (e.name) { let t = e.name.toLowerCase(), n = 0; for (; -1 != n;)n = t.indexOf(s, n), -1 != n && (o++, n++) } })); else if ("tags" === r) i.each(a, (function (e) { let t = e.toLowerCase(), n = 0; for (; -1 != n;)n = t.indexOf(s, n), -1 != n && (o++, n++) })); else { a = a.toLowerCase(); let e = 0; for (; -1 != e;)e = a.indexOf(s, e), -1 != e && (o++, e++) } t.overallWeight += o * n[r] } })) })), t }(r.search(t)) })), r.init(), r.ready((function (t) { e.project = t, e.search.results = r.search(""); var o = i.unique(i.pluck(i.values(t.nodes), "package_name")).sort(), a = [null]; i.each(t.nodes, (function (e) { var t = e.tags; a = i.union(a, t).sort() })), l.init({ packages: o, tags: a }), p(n.params.unique_id); var d = u.parseState(n.params); d.show_graph && s.ready((function () { i.assign(l.selection.dirty, d.selected); var e = l.updateSelection(); s.updateGraph(e) })); var f = t.metadata || {}; c.init({ track: f.send_anonymous_usage_stats, project_id: f.project_id }) })) }]) }, function (e, t) { e.exports = "data:image/svg+xml,%3Csvg width='242' height='90' viewBox='0 0 242 90' fill='none' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath d='M240.384 74.5122L239.905 75.8589H239.728L239.249 74.5156V75.8589H238.941V74.0234H239.324L239.816 75.3872L240.309 74.0234H240.691V75.8589H240.384V74.5122ZM238.671 74.3003H238.169V75.8589H237.858V74.3003H237.352V74.0234H238.671V74.3003Z' fill='%23262A38'/%3E %3Cpath d='M154.123 13.915V75.3527H141.672V69.0868C140.37 71.2839 138.499 73.0742 136.22 74.2134C133.779 75.434 131.012 76.085 128.246 76.085C124.828 76.1664 121.41 75.1899 118.562 73.2369C115.633 71.2839 113.354 68.5986 111.889 65.425C110.262 61.7631 109.448 57.8572 109.529 53.8698C109.448 49.8825 110.262 45.9765 111.889 42.3961C113.354 39.3038 115.633 36.6185 118.481 34.7469C121.41 32.8753 124.828 31.9801 128.246 32.0615C130.931 32.0615 133.616 32.6311 135.976 33.8517C138.255 34.991 140.126 36.6999 141.428 38.8156V18.0651L154.123 13.915ZM139.15 63.2279C140.777 61.1121 141.672 58.0199 141.672 54.0326C141.672 50.0452 140.859 47.0344 139.15 44.9187C137.441 42.8029 134.755 41.5823 131.989 41.6637C129.222 41.5009 126.537 42.7215 124.746 44.8373C123.038 46.953 122.142 49.9639 122.142 53.8698C122.142 57.8572 123.038 60.9494 124.746 63.1465C126.455 65.3436 129.222 66.5642 131.989 66.4828C135.081 66.4828 137.522 65.3436 139.15 63.2279Z' fill='%23262A38'/%3E %3Cpath d='M198.635 34.6655C201.564 36.5371 203.843 39.2225 205.226 42.3147C206.853 45.8952 207.667 49.8011 207.586 53.7885C207.667 57.7758 206.853 61.7632 205.226 65.3436C203.761 68.5172 201.483 71.2026 198.553 73.1556C195.705 75.0272 192.287 76.0037 188.87 75.9223C186.103 76.0037 183.336 75.3527 180.895 74.0507C178.617 72.9114 176.745 71.1212 175.524 68.9241V75.2713H162.993V18.0651L175.606 13.915V38.9783C176.826 36.7812 178.698 34.991 180.976 33.8517C183.418 32.5498 186.103 31.8988 188.87 31.9801C192.287 31.8988 195.705 32.8753 198.635 34.6655ZM192.45 63.1465C194.159 60.9494 194.973 57.8572 194.973 53.7885C194.973 49.8825 194.159 46.8716 192.45 44.7559C190.741 42.6402 188.381 41.5823 185.289 41.5823C182.523 41.4196 179.837 42.6402 178.047 44.8373C176.338 47.0344 175.524 50.0452 175.524 53.9512C175.524 57.9386 176.338 61.0308 178.047 63.1465C179.756 65.3436 182.441 66.5642 185.289 66.4015C188.056 66.5642 190.741 65.3436 192.45 63.1465Z' fill='%23262A38'/%3E %3Cpath d='M225 42.4774V58.915C225 61.2749 225.651 62.9838 226.791 64.0416C228.093 65.1809 229.801 65.7505 231.592 65.6691C232.975 65.6691 234.44 65.425 235.742 65.0995V74.8644C233.382 75.6782 230.941 76.085 228.499 76.0037C223.292 76.0037 219.304 74.5389 216.537 71.6094C213.771 68.68 212.387 64.5299 212.387 59.1592V23.1103L225 19.0416V33.038H235.742V42.4774H225Z' fill='%23262A38'/%3E %3Cpath d='M86.1754 3.74322C88.2911 5.77758 89.6745 8.46293 90 11.3924C90 12.613 89.6745 13.4268 88.9421 14.9729C88.2098 16.519 79.1772 32.1429 76.4919 36.4557C74.9458 38.9783 74.132 41.9892 74.132 44.9186C74.132 47.9295 74.9458 50.859 76.4919 53.3816C79.1772 57.6944 88.2098 73.3996 88.9421 74.9457C89.6745 76.4919 90 77.2242 90 78.4448C89.6745 81.3743 88.3725 84.0597 86.2568 86.0127C84.2224 88.1284 81.5371 89.5118 78.689 89.7559C77.4684 89.7559 76.6546 89.4304 75.1899 88.698C73.7251 87.9656 57.7758 79.1772 53.4629 76.4919C53.1374 76.3291 52.8119 76.085 52.4051 75.9222L31.085 63.3092C31.5732 67.3779 33.3635 71.2839 36.2929 74.132C36.8626 74.7016 37.4322 75.1899 38.0832 75.6781C37.5949 75.9222 37.0253 76.1664 36.5371 76.4919C32.2242 79.1772 16.519 88.2098 14.9729 88.9421C13.4268 89.6745 12.6944 90 11.3924 90C8.46293 89.6745 5.77758 88.3725 3.82459 86.2568C1.70886 84.2224 0.325497 81.5371 0 78.6076C0.0813743 77.387 0.406872 76.1664 1.05787 75.1085C1.79024 73.5624 10.8228 57.8571 13.5081 53.5443C15.0542 51.0217 15.868 48.0922 15.868 45.0814C15.868 42.0705 15.0542 39.141 13.5081 36.6184C10.8228 32.1429 1.70886 16.4376 1.05787 14.8915C0.406872 13.8336 0.0813743 12.613 0 11.3924C0.325497 8.46293 1.62749 5.77758 3.74322 3.74322C5.77758 1.62749 8.46293 0.325497 11.3924 0C12.613 0.0813743 13.8336 0.406872 14.9729 1.05787C16.2749 1.62749 27.7486 8.30018 33.8517 11.8807L35.2351 12.6944C35.7233 13.0199 36.1302 13.264 36.4557 13.4268L37.1067 13.8336L58.8336 26.6908C58.3454 21.8083 55.8228 17.3327 51.9168 14.3219C52.4051 14.0778 52.9747 13.8336 53.4629 13.5081C57.7758 10.8228 73.481 1.70886 75.0271 1.05787C76.085 0.406872 77.3056 0.0813743 78.6076 0C81.4557 0.325497 84.1411 1.62749 86.1754 3.74322ZM46.1392 50.7776L50.7776 46.1392C51.4286 45.4882 51.4286 44.5118 50.7776 43.8608L46.1392 39.2224C45.4882 38.5714 44.5118 38.5714 43.8608 39.2224L39.2224 43.8608C38.5714 44.5118 38.5714 45.4882 39.2224 46.1392L43.8608 50.7776C44.4304 51.3472 45.4882 51.3472 46.1392 50.7776Z' fill='%23FF694A'/%3E %3C/svg%3E" }, function (e, t, n) { "use strict"; n.r(t); var r = n(63), i = n.n(r); n(463), n(464), n(465), n(466), n(468); const o = n(8), a = (n(33), n(21)); window.Prism = i.a, o.module("dbt").factory("code", ["$sce", function (e) { var t = { copied: !1, highlight: function (t, n = "sql") { if ("sql" == n) var r = i.a.highlight(t, i.a.languages.sql, "sql"); else if ("python" == n) r = i.a.highlight(t, i.a.languages.python, "python"); return e.trustAsHtml(r) }, copy_to_clipboard: function (e) { var t = document.createElement("textarea"); t.value = e, t.setAttribute("readonly", ""), t.style.position = "absolute", t.style.left = "-9999px", document.body.appendChild(t), t.select(), document.execCommand("copy"), document.body.removeChild(t) }, generateSourceSQL: function (e) { var t = ["select"], n = a.size(e.columns), r = a.keys(e.columns); a.each(r, (function (e, r) { var i = " " + e; r + 1 != n && (i += ","), t.push(i) })); const i = (e.database ? e.database + "." : "") + e.schema + "." + e.identifier; return t.push("from " + i), t.join("\n") } }; return t }]) }, function (e, t) { Prism.languages.sql = { comment: { pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/, lookbehind: !0 }, variable: [{ pattern: /@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/, greedy: !0 }, /@[\w.$]+/], string: { pattern: /(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/, greedy: !0, lookbehind: !0 }, identifier: { pattern: /(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/, greedy: !0, lookbehind: !0, inside: { punctuation: /^`|`$/ } }, function: /\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i, keyword: /\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i, boolean: /\b(?:FALSE|NULL|TRUE)\b/i, number: /\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i, operator: /[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i, punctuation: /[;[\]()`,.]/ } }, function (e, t) { Prism.languages.python = { comment: { pattern: /(^|[^\\])#.*/, lookbehind: !0, greedy: !0 }, "string-interpolation": { pattern: /(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i, greedy: !0, inside: { interpolation: { pattern: /((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/, lookbehind: !0, inside: { "format-spec": { pattern: /(:)[^:(){}]+(?=\}$)/, lookbehind: !0 }, "conversion-option": { pattern: /![sra](?=[:}]$)/, alias: "punctuation" }, rest: null } }, string: /[\s\S]+/ } }, "triple-quoted-string": { pattern: /(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i, greedy: !0, alias: "string" }, string: { pattern: /(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i, greedy: !0 }, function: { pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g, lookbehind: !0 }, "class-name": { pattern: /(\bclass\s+)\w+/i, lookbehind: !0 }, decorator: { pattern: /(^[\t ]*)@\w+(?:\.\w+)*/m, lookbehind: !0, alias: ["annotation", "punctuation"], inside: { punctuation: /\./ } }, keyword: /\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/, builtin: /\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/, boolean: /\b(?:False|None|True)\b/, number: /\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i, operator: /[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/, punctuation: /[{}[\];(),.:]/ }, Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest = Prism.languages.python, Prism.languages.py = Prism.languages.python }, function (e, t) { !function () { if ("undefined" != typeof Prism && "undefined" != typeof document) { var e = /\n(?!$)/g, t = Prism.plugins.lineNumbers = { getLine: function (e, t) { if ("PRE" === e.tagName && e.classList.contains("line-numbers")) { var n = e.querySelector(".line-numbers-rows"); if (n) { var r = parseInt(e.getAttribute("data-start"), 10) || 1, i = r + (n.children.length - 1); t < r && (t = r), t > i && (t = i); var o = t - r; return n.children[o] } } }, resize: function (e) { r([e]) }, assumeViewportIndependence: !0 }, n = void 0; window.addEventListener("resize", (function () { t.assumeViewportIndependence && n === window.innerWidth || (n = window.innerWidth, r(Array.prototype.slice.call(document.querySelectorAll("pre.line-numbers")))) })), Prism.hooks.add("complete", (function (t) { if (t.code) { var n = t.element, i = n.parentNode; if (i && /pre/i.test(i.nodeName) && !n.querySelector(".line-numbers-rows") && Prism.util.isActive(n, "line-numbers")) { n.classList.remove("line-numbers"), i.classList.add("line-numbers"); var o, a = t.code.match(e), s = a ? a.length + 1 : 1, l = new Array(s + 1).join("<span></span>"); (o = document.createElement("span")).setAttribute("aria-hidden", "true"), o.className = "line-numbers-rows", o.innerHTML = l, i.hasAttribute("data-start") && (i.style.counterReset = "linenumber " + (parseInt(i.getAttribute("data-start"), 10) - 1)), t.element.appendChild(o), r([i]), Prism.hooks.run("line-numbers", t) } } })), Prism.hooks.add("line-numbers", (function (e) { e.plugins = e.plugins || {}, e.plugins.lineNumbers = !0 })) } function r(t) { if (0 != (t = t.filter((function (e) { var t = function (e) { if (!e) return null; return window.getComputedStyle ? getComputedStyle(e) : e.currentStyle || null }(e)["white-space"]; return "pre-wrap" === t || "pre-line" === t }))).length) { var n = t.map((function (t) { var n = t.querySelector("code"), r = t.querySelector(".line-numbers-rows"); if (n && r) { var i = t.querySelector(".line-numbers-sizer"), o = n.textContent.split(e); i || ((i = document.createElement("span")).className = "line-numbers-sizer", n.appendChild(i)), i.innerHTML = "0", i.style.display = "block"; var a = i.getBoundingClientRect().height; return i.innerHTML = "", { element: t, lines: o, lineHeights: [], oneLinerHeight: a, sizer: i } } })).filter(Boolean); n.forEach((function (e) { var t = e.sizer, n = e.lines, r = e.lineHeights, i = e.oneLinerHeight; r[n.length - 1] = void 0, n.forEach((function (e, n) { if (e && e.length > 1) { var o = t.appendChild(document.createElement("span")); o.style.display = "block", o.textContent = e } else r[n] = i })) })), n.forEach((function (e) { for (var t = e.sizer, n = e.lineHeights, r = 0, i = 0; i < n.length; i++)void 0 === n[i] && (n[i] = t.children[r++].getBoundingClientRect().height) })), n.forEach((function (e) { var t = e.sizer, n = e.element.querySelector(".line-numbers-rows"); t.style.display = "none", t.innerHTML = "", e.lineHeights.forEach((function (e, t) { n.children[t].style.height = e + "px" })) })) } } }() }, function (e, t, n) { var r = n(467); "string" == typeof r && (r = [[e.i, r, ""]]); var i = { hmr: !0, transform: void 0, insertInto: void 0 }; n(40)(r, i); r.locals && (e.exports = r.locals) }, function (e, t, n) { (e.exports = n(39)(!1)).push([e.i, 'pre[class*="language-"].line-numbers {\n\tposition: relative;\n\tpadding-left: 3.8em;\n\tcounter-reset: linenumber;\n}\n\npre[class*="language-"].line-numbers > code {\n\tposition: relative;\n\twhite-space: inherit;\n}\n\n.line-numbers .line-numbers-rows {\n\tposition: absolute;\n\tpointer-events: none;\n\ttop: 0;\n\tfont-size: 100%;\n\tleft: -3.8em;\n\twidth: 3em; /* works for line-numbers below 1000 lines */\n\tletter-spacing: -1px;\n\tborder-right: 1px solid #999;\n\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n\n}\n\n\t.line-numbers-rows > span {\n\t\tdisplay: block;\n\t\tcounter-increment: linenumber;\n\t}\n\n\t\t.line-numbers-rows > span:before {\n\t\t\tcontent: counter(linenumber);\n\t\t\tcolor: #999;\n\t\t\tdisplay: block;\n\t\t\tpadding-right: 0.8em;\n\t\t\ttext-align: right;\n\t\t}\n', ""]) }, function (e, t, n) { var r = n(469); "string" == typeof r && (r = [[e.i, r, ""]]); var i = { hmr: !0, transform: void 0, insertInto: void 0 }; n(40)(r, i); r.locals && (e.exports = r.locals) }, function (e, t, n) { (e.exports = n(39)(!1)).push([e.i, '/**\n * GHColors theme by Avi Aryan (http://aviaryan.in)\n * Inspired by Github syntax coloring\n */\n\ncode[class*="language-"],\npre[class*="language-"] {\n\tcolor: #393A34;\n\tfont-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace;\n\tdirection: ltr;\n\ttext-align: left;\n\twhite-space: pre;\n\tword-spacing: normal;\n\tword-break: normal;\n\tfont-size: .9em;\n\tline-height: 1.2em;\n\n\t-moz-tab-size: 4;\n\t-o-tab-size: 4;\n\ttab-size: 4;\n\n\t-webkit-hyphens: none;\n\t-moz-hyphens: none;\n\t-ms-hyphens: none;\n\thyphens: none;\n}\n\npre > code[class*="language-"] {\n\tfont-size: 1em;\n}\n\npre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,\ncode[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {\n\tbackground: #b3d4fc;\n}\n\npre[class*="language-"]::selection, pre[class*="language-"] ::selection,\ncode[class*="language-"]::selection, code[class*="language-"] ::selection {\n\tbackground: #b3d4fc;\n}\n\n/* Code blocks */\npre[class*="language-"] {\n\tpadding: 1em;\n\tmargin: .5em 0;\n\toverflow: auto;\n\tborder: 1px solid #dddddd;\n\tbackground-color: white;\n}\n\n/* Inline code */\n:not(pre) > code[class*="language-"] {\n\tpadding: .2em;\n\tpadding-top: 1px;\n\tpadding-bottom: 1px;\n\tbackground: #f8f8f8;\n\tborder: 1px solid #dddddd;\n}\n\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n\tcolor: #999988;\n\tfont-style: italic;\n}\n\n.token.namespace {\n\topacity: .7;\n}\n\n.token.string,\n.token.attr-value {\n\tcolor: #e3116c;\n}\n\n.token.punctuation,\n.token.operator {\n\tcolor: #393A34; /* no highlight */\n}\n\n.token.entity,\n.token.url,\n.token.symbol,\n.token.number,\n.token.boolean,\n.token.variable,\n.token.constant,\n.token.property,\n.token.regex,\n.token.inserted {\n\tcolor: #36acaa;\n}\n\n.token.atrule,\n.token.keyword,\n.token.attr-name,\n.language-autohotkey .token.selector {\n\tcolor: #00a4db;\n}\n\n.token.function,\n.token.deleted,\n.language-autohotkey .token.tag {\n\tcolor: #9a050f;\n}\n\n.token.tag,\n.token.selector,\n.language-autohotkey .token.keyword {\n\tcolor: #00009f;\n}\n\n.token.important,\n.token.function,\n.token.bold {\n\tfont-weight: bold;\n}\n\n.token.italic {\n\tfont-style: italic;\n}\n', ""]) }, function (e, t, n) { n(33); const r = n(21), i = n(148), o = n(203), a = n(471); angular.module("dbt").factory("graph", ["$state", "$window", "$q", "selectorService", "project", "locationService", function (e, t, n, s, l, c) { var u = { vertical: { userPanningEnabled: !1, boxSelectionEnabled: !1, maxZoom: 1.5 }, horizontal: { userPanningEnabled: !0, boxSelectionEnabled: !1, maxZoom: 1, minZoom: .05 } }, d = { none: { name: "null" }, left_right: { name: "dagre", rankDir: "LR", rankSep: 200, edgeSep: 30, nodeSep: 50 }, top_down: { name: "preset", positions: function (t) { var n = e.params.unique_id; if (!n) return { x: 0, y: 0 }; var a = p.graph.pristine.dag, s = r.sortBy(o.ancestorNodes(a, n, 1)), l = r.sortBy(o.descendentNodes(a, n, 1)), c = r.partial(r.includes, s), u = r.partial(r.includes, l), d = a.filterNodes(c), f = a.filterNodes(u); return function (e, t, n, i) { var o, a = 100 / (1 + Math.max(t.length, n.length)); if (e == i) return { x: 0, y: 0 }; if (r.includes(t, i)) o = { set: t, index: r.indexOf(t, i), factor: -1, type: "parent" }; else { if (!r.includes(n, i)) return { x: 0, y: 0 }; o = { set: n, index: r.indexOf(n, i), factor: 1, type: "child" } } var s = o.set.length; if ("parent" == o.type) var l = { x: (0 + o.index) * a, y: -200 - 100 * (s - o.index - 1) }; else l = { x: (0 + o.index) * a, y: 200 + 100 * (s - o.index - 1) }; return l }(n, i.alg.topsort(d), i.alg.topsort(f).reverse(), t.data("id")) } } }, p = { loading: !0, loaded: n.defer(), graph_element: null, orientation: "sidebar", expanded: !1, graph: { options: u.vertical, pristine: { nodes: {}, edges: {}, dag: null }, elements: [], layout: d.none, style: [{ selector: "edge.vertical", style: { "curve-style": "unbundled-bezier", "target-arrow-shape": "triangle-backcurve", "target-arrow-color": "#027599", "arrow-scale": 1.5, "line-color": "#027599", width: 3, "target-distance-from-node": "5px", "source-endpoint": "0% 50%", "target-endpoint": "0deg" } }, { selector: "edge.horizontal", style: { "curve-style": "unbundled-bezier", "target-arrow-shape": "triangle-backcurve", "target-arrow-color": "#006f8a", "arrow-scale": 1.5, "target-distance-from-node": "10px", "source-distance-from-node": "5px", "line-color": "#006f8a", width: 3, "source-endpoint": "50% 0%", "target-endpoint": "270deg" } }, { selector: "edge[selected=1]", style: { "line-color": "#bd6bb6", "target-arrow-color": "#bd6bb6", "z-index": 1 } }, { selector: 'node[display="none"]', style: { display: "none" } }, { selector: "node.vertical", style: { "text-margin-x": "5px", "background-color": "#0094b3", "border-color": "#0094b3", "font-size": "16px", shape: "ellipse", color: "#fff", width: "5px", height: "5px", padding: "5px", content: "data(label)", "font-weight": 300, "text-valign": "center", "text-halign": "right" } }, { selector: "node.horizontal", style: { "background-color": "#0094b3", "border-color": "#0094b3", "font-size": "24px", shape: "roundrectangle", color: "#fff", width: "label", height: "label", padding: "12px", content: "data(label)", "font-weight": 300, "font-family": '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Helvetica, Arial, sans-serif', "text-valign": "center", "text-halign": "center", ghost: "yes", "ghost-offset-x": "2px", "ghost-offset-y": "4px", "ghost-opacity": .5, "text-outline-color": "#000", "text-outline-width": "1px", "text-outline-opacity": .2 } }, { selector: 'node[resource_type="source"]', style: { "background-color": "#5fb825", "border-color": "#5fb825" } }, { selector: 'node[resource_type="exposure"]', style: { "background-color": "#ff694b", "border-color": "#ff694b" } }, { selector: 'node[resource_type="metric"]', style: { "background-color": "#ff5688", "border-color": "#ff5688" } }, { selector: 'node[resource_type="semantic_model"]', style: { "background-color": "#ffa8c2", "border-color": "#ffa8c2" } }, { selector: 'node[resource_type="saved_query"]', style: { "background-color": "#ff7f50", "border-color": "#ff7f50" } }, { selector: 'node[language="python"]', style: { "background-color": "#6a5acd", "border-color": "#6a5acd" } }, { selector: "node[node_color]", style: { "background-color": "data(node_color)", "border-color": "data(node_color)" } }, { selector: "node[selected=1]", style: { "background-color": "#bd6bb6", "border-color": "#bd6bb6" } }, { selector: "node.horizontal[selected=1]", style: { "background-color": "#88447d", "border-color": "#88447d" } }, { selector: "node.horizontal.dirty", style: { "background-color": "#919599", "border-color": "#919599" } }, { selector: "node[hidden=1]", style: { "background-color": "#919599", "border-color": "#919599", "background-opacity": .5 } }, { selector: 'node[access="private"]', style: { "background-opacity": .2, "border-width": 2, ghost: "no" } }], ready: function (e) { console.log("graph ready") } } }; function f(e, t, n) { var i = r.map(e, (function (e) { return p.graph.pristine.nodes[e] })), o = []; r.flatten(r.each(e, (function (t) { var n = p.graph.pristine.edges[t]; r.each(n, (function (t) { r.includes(e, t.data.target) && r.includes(e, t.data.source) && o.push(t) })) }))); var s = r.compact(i).concat(r.compact(o)); return r.each(p.graph.elements, (function (e) { e.data.display = "none", e.data.selected = 0, e.data.hidden = 0, e.classes = n })), r.each(s, (function (e) { e.data.display = "element", e.classes = n, t && r.includes(t, e.data.unique_id) && (e.data.selected = 1), r.get(e, ["data", "docs", "show"], !0) || (e.data.hidden = 1); var i = r.get(e, ["data", "docs", "node_color"]); i && a.isValidColor(i) && (e.data.node_color = i) })), p.graph.elements = r.filter(s, (function (e) { return "element" == e.data.display })), e } function h(e, t, n) { var r = p.graph.pristine.dag; if (r) { var i = p.graph.pristine.nodes, o = s.selectNodes(r, i, e), a = n ? o.matched : []; return f(o.selected, a, t) } } return p.setGraphReady = function (e) { p.loading = !1, p.loaded.resolve(), p.graph_element = e }, p.ready = function (e) { p.loaded.promise.then((function () { e(p) })) }, p.manifest = {}, p.packages = [], p.selected_node = null, p.getCanvasHeight = function () { return .8 * t.innerHeight + "px" }, l.ready((function (e) { p.manifest = e, p.packages = r.uniq(r.map(p.manifest.nodes, "package_name")), r.each(r.filter(p.manifest.nodes, (function (e) { var t = r.includes(["model", "seed", "source", "snapshot", "analysis", "exposure", "metric", "semantic_model", "operation", "saved_query"], e.resource_type), n = "test" === e.resource_type && !e.hasOwnProperty("test_metadata"), i = "unit_test" === e.resource_type; return t || n || i })), (function (e) { var t = { group: "nodes", data: r.assign(e, { parent: e.package_name, id: e.unique_id, is_group: "false" }) }; p.graph.pristine.nodes[e.unique_id] = t })), r.each(p.manifest.parent_map, (function (e, t) { r.each(e, (function (e) { var n = p.manifest.nodes[e], i = p.manifest.nodes[t]; if (r.includes(["model", "source", "seed", "snapshot", "metric", "semantic_model", "saved_query"], n.resource_type) && ("test" != i.resource_type || !i.hasOwnProperty("test_metadata"))) { var o = n.unique_id + "|" + i.unique_id, a = { group: "edges", data: { source: n.unique_id, target: i.unique_id, unique_id: o } }, s = i.unique_id; p.graph.pristine.edges[s] || (p.graph.pristine.edges[s] = []), p.graph.pristine.edges[s].push(a) } })) })); var t = new i.Graph({ directed: !0 }); r.each(p.graph.pristine.nodes, (function (e) { t.setNode(e.data.unique_id, e.data.name) })), r.each(p.graph.pristine.edges, (function (e) { r.each(e, (function (e) { t.setEdge(e.data.source, e.data.target) })) })), p.graph.pristine.dag = t, p.graph.elements = r.flatten(r.values(p.graph.pristine.nodes).concat(r.values(p.graph.pristine.edges))), f(t.nodes()) })), p.hideGraph = function () { p.orientation = "sidebar", p.expanded = !1 }, p.showVerticalGraph = function (e, t) { p.orientation = "sidebar", t && (p.expanded = !0); var n = h(r.assign({}, s.options, { include: "+" + e + "+", exclude: "", hops: 1 }), "vertical", !0); return p.graph.layout = d.top_down, p.graph.options = u.vertical, n }, p.showFullGraph = function (e) { p.orientation = "fullscreen", p.expanded = !0; var t = r.assign({}, s.options); e ? (t.include = "+" + e + "+", t.exclude = "") : (t.include = "", t.exclude = ""); var n = h(t, "horizontal", !0); return p.graph.layout = d.left_right, p.graph.options = u.horizontal, c.setState(t), n }, p.updateGraph = function (e) { p.orientation = "fullscreen", p.expanded = !0; var t = h(e, "horizontal", !1); return p.graph.layout = d.left_right, p.graph.options = u.horizontal, c.setState(e), t }, p.deselectNodes = function () { "fullscreen" == p.orientation && p.graph_element.elements().data("selected", 0) }, p.selectNode = function (e) { if ("fullscreen" == p.orientation) { p.graph.pristine.nodes[e]; var t = p.graph.pristine.dag, n = r.indexBy(o.ancestorNodes(t, e)), i = r.indexBy(o.descendentNodes(t, e)); n[e] = e, i[e] = e; var a = p.graph_element; r.each(p.graph.elements, (function (t) { var r = a.$id(t.data.id); n[t.data.source] && n[t.data.target] || i[t.data.source] && i[t.data.target] || t.data.unique_id == e ? r.data("selected", 1) : r.data("selected", 0) })) } }, p.markDirty = function (e) { p.markAllClean(), r.each(e, (function (e) { p.graph_element.$id(e).addClass("dirty") })) }, p.markAllClean = function () { p.graph_element && p.graph_element.elements().removeClass("dirty") }, p }]) }, function (e, t, n) { "use strict"; n.r(t), n.d(t, "isValidColor", (function () { return i })); const r = new Set(["aliceblue", "antiquewhite", "aqua", "aquamarine", "azure", "beige", "bisque", "black", "blanchedalmond", "blue", "blueviolet", "brown", "burlywood", "cadetblue", "chartreuse", "chocolate", "coral", "cornflowerblue", "cornsilk", "crimson", "cyan", "darkblue", "darkcyan", "darkgoldenrod", "darkgray", "darkgreen", "darkkhaki", "darkmagenta", "darkolivegreen", "darkorange", "darkorchid", "darkred", "darksalmon", "darkseagreen", "darkslateblue", "darkslategray", "darkturquoise", "darkviolet", "deeppink", "deepskyblue", "dimgray", "dodgerblue", "firebrick", "floralwhite", "forestgreen", "fuchsia", "ghostwhite", "gold", "goldenrod", "gray", "green", "greenyellow", "honeydew", "hotpink", "indianred", "indigo", "ivory", "khaki", "lavender", "lavenderblush", "lawngreen", "lemonchiffon", "lightblue", "lightcoral", "lightcyan", "lightgoldenrodyellow", "lightgray", "lightgreen", "lightpink", "lightsalmon", "lightsalmon", "lightseagreen", "lightskyblue", "lightslategray", "lightsteelblue", "lightyellow", "lime", "limegreen", "linen", "magenta", "maroon", "mediumaquamarine", "mediumblue", "mediumorchid", "mediumpurple", "mediumseagreen", "mediumslateblue", "mediumslateblue", "mediumspringgreen", "mediumturquoise", "mediumvioletred", "midnightblue", "mintcream", "mistyrose", "moccasin", "navajowhite", "navy", "oldlace", "olive", "olivedrab", "orange", "orangered", "orchid", "palegoldenrod", "palegreen", "paleturquoise", "palevioletred", "papayawhip", "peachpuff", "peru", "pink", "plum", "powderblue", "purple", "rebeccapurple", "red", "rosybrown", "royalblue", "saddlebrown", "salmon", "sandybrown", "seagreen", "seashell", "sienna", "silver", "skyblue", "slateblue", "slategray", "snow", "springgreen", "steelblue", "tan", "teal", "thistle", "tomato", "turquoise", "violet", "wheat", "white", "whitesmoke", "yellow", "yellowgreen"]); function i(e) { if (!e) return !1; const t = e.trim().toLowerCase(); if ("" === t) return !1; const n = t.match(/^#([A-Fa-f0-9]{3}){1,2}$/), i = r.has(t); return Boolean(n) || i } }, function (e, t, n) { n(33); const r = n(21), i = n(473); angular.module("dbt").factory("selectorService", ["$state", function (e) { var t = { include: "", exclude: "", packages: [], tags: [null], resource_types: ["model", "seed", "snapshot", "source", "test", "unit_test", "analysis", "exposure", "metric", "semantic_model", "saved_query"], depth: 1 }, n = { view_node: null, selection: { clean: r.clone(t), dirty: r.clone(t) }, options: { packages: [], tags: [null], resource_types: ["model", "seed", "snapshot", "source", "test", "analysis", "exposure", "metric", "semantic_model", "unit_test", "saved_query"] }, init: function (e) { r.each(e, (function (e, r) { n.options[r] = e, t[r] = e, n.selection.clean[r] = e, n.selection.dirty[r] = e })) }, resetSelection: function (e) { var i = { include: e && r.includes(["model", "seed", "snapshot"], e.resource_type) ? "+" + e.name + "+" : e && "source" == e.resource_type ? "+source:" + e.source_name + "." + e.name + "+" : e && "exposure" == e.resource_type ? "+exposure:" + e.name : e && "metric" == e.resource_type ? "+metric:" + e.name : e && "semantic_model" == e.resource_type ? "+semantic_model:" + e.name : e && "saved_query" == e.resource_type ? "+saved_query:" + e.name : e && r.includes(["analysis", "test", "unit_test"], e.resource_type) ? "+" + e.name : "" }, o = r.assign({}, t, i); n.selection.clean = r.clone(o), n.selection.dirty = r.clone(o), n.view_node = e }, getViewNode: function () { return n.view_node }, excludeNode: function (e, t) { var r, i = n.selection.dirty.exclude, o = t.parents ? "+" : "", a = t.children ? "+" : "", s = i.length > 0 ? " " : ""; "source" == e.resource_type ? (o += "source:", r = e.source_name + "." + e.name) : ["exposure", "metric", "semantic_model", "saved_query"].indexOf(e.resource_type) > -1 ? (o += e.resource_type + ":", r = e.name) : r = e.name; var l = i + s + o + r + a; return n.selection.dirty.exclude = l, n.updateSelection() }, selectSource: function (e, t) { var r = "source:" + e + (t.children ? "+" : ""); return n.selection.dirty.include = r, n.updateSelection() }, clearViewNode: function () { n.view_node = null }, isDirty: function () { return !r.isEqual(n.selection.clean, n.selection.dirty) }, updateSelection: function () { return n.selection.clean = r.clone(n.selection.dirty), n.selection.clean }, selectNodes: function (e, t, n) { return i.selectNodes(e, t, n) } }; return n }]) }, function (e, t, n) { const r = n(21), i = n(474); function o(e, t) { return t || (t = " "), r.filter(r.uniq(e.split(t)), (function (e) { return e.length > 0 })) } function a(e) { var t = { raw: e, select_at: !1, select_children: !1, children_depth: null, select_parents: !1, parents_depth: null }; const n = new RegExp("" + /^/.source + /(?<childs_parents>(\@))?/.source + /(?<parents>((?<parents_depth>(\d*))\+))?/.source + /((?<method>([\w.]+)):)?/.source + /(?<value>(.*?))/.source + /(?<children>(\+(?<children_depth>(\d*))))?/.source + /$/.source).exec(e).groups; t.select_at = "@" == n.childs_parents, t.select_parents = !!n.parents, t.select_children = !!n.children, n.parents_depth && (t.parents_depth = parseInt(n.parents_depth)), n.children_depth && (t.children_depth = parseInt(n.children_depth)); var r = n.method, i = n.value; return r ? -1 != r.indexOf(".") && ([r, selector_modifier] = r.split(".", 2), i = { config: selector_modifier, value: i }) : r = "implicit", t.selector_type = r, t.selector_value = i, t } function s(e) { var t = o(e, " "); return r.map(t, (function (e) { var t = o(e, ","); return t.length > 1 ? { method: "intersect", selectors: r.map(t, a) } : { method: "none", selectors: r.map([e], a) } })) } function l(e, t) { var n = s(e), i = null, o = null; return r.each(n, (function (e) { var n = "intersect" == e.method ? r.intersection : r.union; r.each(e.selectors, (function (e) { var r = t(e); null === i ? (i = r.matched, o = r.selected) : (i = n(i, r.matched), o = n(o, r.selected)) })) })), { matched: i || [], selected: o || [] } } e.exports = { splitSpecs: o, parseSpec: a, parseSpecs: s, buildSpec: function (e, t, n) { return { include: s(e), exclude: s(t), hops: n } }, applySpec: l, selectNodes: function (e, t, n) { n.include, n.exclude; var o, a = r.partial(i.getNodesFromSpec, e, t, n.hops); r.values(t), o = 0 == n.include.trim().length ? { selected: e.nodes(), matched: [] } : l(n.include, a); var s = l(n.exclude, a), c = o.selected, u = o.matched; c = r.difference(c, s.selected), u = r.difference(u, s.matched); var d = []; return r.each(c, (function (e) { var i = t[e]; i.data.tags || (i.data.tags = []); var o = r.includes(n.packages, i.data.package_name), a = r.intersection(n.tags, i.data.tags).length > 0, s = r.includes(n.tags, null) && 0 == i.data.tags.length, l = r.includes(n.resource_types, i.data.resource_type); o && (a || s) && l || d.push(i.data.unique_id) })), { selected: r.difference(c, d), matched: r.difference(u, d) } } } }, function (e, t, n) { const r = n(21), i = n(203); var o = "fqn", a = "tag", s = "source", l = "exposure", c = "metric", u = "semantic_model", d = "saved_query", p = "group", f = "path", h = "file", g = "package", m = "config", v = "test_name", b = "test_type", y = {}; function x(e, t, n) { var r = e.slice(-1)[0], i = e.slice(-2, -1)[0]; if (t === r) return !0; if (version_options = [i, i + "_" + r, i + "." + r], n && version_options.includes(t)) return !0; var o = e.reduce((e, t) => e.concat(t.split(".")), []), a = t.split("."); if (o.length < a.length) return !1; for (var s = 0; s < a.length; s++) { var l = a[s]; if ("*" == l) return !0; if (o[s] != l) return !1 } return !0 } function w(e, t) { var n = []; return r.each(e, (function (e) { var i = e.data, o = i.fqn, a = null !== i.version; if (o && "source" != i.resource_type && "exposure" != i.resource_type && "metric" != i.resource_type && "semantic_model" != i.resource_type && "saved_query" != i.resource_type) { var s = r.rest(o); (x(o, t, a) || x(s, t, a)) && n.push(i) } })), r.uniq(n) } function k(e, t) { var n = [], i = t.split("/"); return r.each(e, (function (e) { var t = (e.data.original_file_path || "").split("/"), o = !0; r.each(i, (function (e, n) { "*" == e || "" == e || e != t[n] && (o = !1) })), o && n.push(e.data) })), n } function A(e, t) { var n = []; return r.each(e, (function (e) { var i = e.data.original_file_path.split("/"); r.last(i) == t && n.push(e.data) })), n } function E(e, t) { var n = []; return r.each(e, (function (e) { var i = e.data.tags; r.includes(i, t) && n.push(e.data) })), n } function S(e, t) { var n = []; return r.each(e, (function (e) { e.data.package_name == t && n.push(e.data) })), n } function $(e, t) { var n = []; return r.each(e, (function (e) { var r = e.data; r.config && r.config[t.config] == t.value && n.push(r) })), n } function C(e, t) { var n = []; return r.each(e, (function (e) { var r = e.data; r.test_metadata && r.test_metadata.name == t && n.push(r) })), n } function _(e, t) { var n = []; return r.each(e, (function (e) { var r = e.data; if ("test" != r.resource_type) return !1; (r.hasOwnProperty("test_metadata") && ["schema", "generic"].indexOf(t) > -1 || !r.hasOwnProperty("test_metadata") && ["data", "singular"].indexOf(t) > -1) && n.push(r) })), n } function O(e, t) { var n = []; return r.each(e, (function (e) { var r = e.data; if ("source" == r.resource_type) { var i, o, a = r.source_name, s = r.name; -1 != t.indexOf(".") ? [i, o] = t.split(".", 2) : (i = t, o = null), ("*" == i || i == a && "*" === o || i == a && o === s || i == a && null === o) && n.push(e.data) } })), n } y["implicit"] = function (e, t) { var n = w(e, t), i = k(e, t), o = []; t.toLowerCase().endsWith(".sql") && (o = A(e, t)); var a = r.uniq([].concat(r.map(n, "unique_id"), r.map(i, "unique_id"), r.map(o, "unique_id"))); return r.map(a, t => e[t].data) }, y[o] = w, y[a] = E, y[s] = O, y[l] = function (e, t) { var n = []; return r.each(e, (function (e) { var r = e.data; if ("exposure" == r.resource_type) { var i = r.name; ("*" == t || t == i) && n.push(e.data) } })), n }, y[c] = function (e, t) { var n = []; return r.each(e, (function (e) { var r = e.data; if ("metric" == r.resource_type) { var i = r.name; ("*" == t || t == i) && n.push(e.data) } })), n }, y[u] = function (e, t) { var n = []; return r.each(e, (function (e) { var r = e.data; if ("semantic_model" == r.resource_type) { var i = r.name; ("*" == t || t == i) && n.push(e.data) } })), n }, y[d] = function (e, t) { var n = []; return r.each(e, (function (e) { var r = e.data; if ("saved_query" == r.resource_type) { var i = r.name; ("*" == t || t == i) && n.push(e.data) } })), n }, y[p] = function (e, t) { var n = []; return r.each(e, (function (e) { var r = e.data; r.group == t && n.push(r) })), n }, y[f] = k, y[h] = A, y[g] = S, y[m] = $, y[v] = C, y[b] = _, e.exports = { isFQNMatch: x, getNodesByFQN: w, getNodesByTag: E, getNodesBySource: O, getNodesByPath: k, getNodesByPackage: S, getNodesByConfig: $, getNodesByTestName: C, getNodesByTestType: _, getNodesFromSpec: function (e, t, n, o) { const a = y[o.selector_type]; if (!a) return { selected: [], matched: [] }; var s = a(t, o.selector_value), l = [], c = []; return r.each(s, (function (t) { var a = t.unique_id; c.push(t.unique_id); var s = [], u = [], d = []; if (o.select_at && (d = r.union(i.selectAt(e, a))), o.select_parents) { var p = n || o.parents_depth; s = i.ancestorNodes(e, a, p) } if (o.select_children) { p = n || o.children_depth; u = i.descendentNodes(e, a, p) } l = r.union([a], l, u, s, d) })), { selected: l, matched: c } } } }, function (e, t, n) { const r = n(8); n(476); r.module("dbt").factory("trackingService", ["$location", "selectorService", "$rootScope", function (e, t, n) { var r = { initialized: !1, snowplow: null, project_id: null, init: function (e) { r.initialized || (r.initialized = !0, r.project_id = e.project_id, !0 === e.track && r.turn_on_tracking()) }, isHosted: function () { return hostedgetdbt = window.location.hostname.indexOf(".getdbt.com") > -1, hosteddbt = window.location.hostname.indexOf(".dbt.com") > -1, hostedgetdbt || hosteddbt }, turn_on_tracking: function () { var e, t, n, i, o, a; e = window, t = document, n = "script", e[i = "snowplow"] || (e.GlobalSnowplowNamespace = e.GlobalSnowplowNamespace || [], e.GlobalSnowplowNamespace.push(i), e[i] = function () { (e[i].q = e[i].q || []).push(arguments) }, e[i].q = e[i].q || [], o = t.createElement(n), a = t.getElementsByTagName(n)[0], o.async = 1, o.src = "//d1fc8wv8zag5ca.cloudfront.net/2.9.0/sp.js", a.parentNode.insertBefore(o, a)); var s = { appId: "dbt-docs", forceSecureTracker: !0, respectDoNotTrack: !0, userFingerprint: !1, contexts: { webPage: !0 } }; r.isHosted() && (window.location.hostname.indexOf(".getdbt.com") > -1 ? s.cookieDomain = ".getdbt.com" : s.cookieDomain = ".dbt.com"), r.snowplow = window.snowplow, r.snowplow("newTracker", "sp", "fishtownanalytics.sinter-collect.com", s), r.snowplow("enableActivityTracking", 30, 30), r.track_pageview() }, fuzzUrls: function () { r.isHosted() || (r.snowplow("setCustomUrl", "https://fuzzed.getdbt.com/"), r.snowplow("setReferrerUrl", "https://fuzzed.getdbt.com/")) }, getContext: function () { return [{ schema: "iglu:com.dbt/dbt_docs/jsonschema/1-0-0", data: { is_cloud_hosted: r.isHosted(), core_project_id: r.project_id } }] }, track_pageview: function () { if (r.snowplow) { r.fuzzUrls(); r.snowplow("trackPageView", null, r.getContext()) } }, track_event: function (e, t, n, i) { r.snowplow && (r.fuzzUrls(), r.snowplow("trackStructEvent", "dbt-docs", e, t, n, i, r.getContext())) }, track_graph_interaction: function (e, t) { r.snowplow && (r.fuzzUrls(), r.track_event("graph", "interact", e, t)) } }; return r }]) }, function (e, t, n) { var r, i, o, a, s; r = n(477), i = n(204).utf8, o = n(478), a = n(204).bin, (s = function (e, t) { e.constructor == String ? e = t && "binary" === t.encoding ? a.stringToBytes(e) : i.stringToBytes(e) : o(e) ? e = Array.prototype.slice.call(e, 0) : Array.isArray(e) || e.constructor === Uint8Array || (e = e.toString()); for (var n = r.bytesToWords(e), l = 8 * e.length, c = 1732584193, u = -271733879, d = -1732584194, p = 271733878, f = 0; f < n.length; f++)n[f] = 16711935 & (n[f] << 8 | n[f] >>> 24) | 4278255360 & (n[f] << 24 | n[f] >>> 8); n[l >>> 5] |= 128 << l % 32, n[14 + (l + 64 >>> 9 << 4)] = l; var h = s._ff, g = s._gg, m = s._hh, v = s._ii; for (f = 0; f < n.length; f += 16) { var b = c, y = u, x = d, w = p; c = h(c, u, d, p, n[f + 0], 7, -680876936), p = h(p, c, u, d, n[f + 1], 12, -389564586), d = h(d, p, c, u, n[f + 2], 17, 606105819), u = h(u, d, p, c, n[f + 3], 22, -1044525330), c = h(c, u, d, p, n[f + 4], 7, -176418897), p = h(p, c, u, d, n[f + 5], 12, 1200080426), d = h(d, p, c, u, n[f + 6], 17, -1473231341), u = h(u, d, p, c, n[f + 7], 22, -45705983), c = h(c, u, d, p, n[f + 8], 7, 1770035416), p = h(p, c, u, d, n[f + 9], 12, -1958414417), d = h(d, p, c, u, n[f + 10], 17, -42063), u = h(u, d, p, c, n[f + 11], 22, -1990404162), c = h(c, u, d, p, n[f + 12], 7, 1804603682), p = h(p, c, u, d, n[f + 13], 12, -40341101), d = h(d, p, c, u, n[f + 14], 17, -1502002290), c = g(c, u = h(u, d, p, c, n[f + 15], 22, 1236535329), d, p, n[f + 1], 5, -165796510), p = g(p, c, u, d, n[f + 6], 9, -1069501632), d = g(d, p, c, u, n[f + 11], 14, 643717713), u = g(u, d, p, c, n[f + 0], 20, -373897302), c = g(c, u, d, p, n[f + 5], 5, -701558691), p = g(p, c, u, d, n[f + 10], 9, 38016083), d = g(d, p, c, u, n[f + 15], 14, -660478335), u = g(u, d, p, c, n[f + 4], 20, -405537848), c = g(c, u, d, p, n[f + 9], 5, 568446438), p = g(p, c, u, d, n[f + 14], 9, -1019803690), d = g(d, p, c, u, n[f + 3], 14, -187363961), u = g(u, d, p, c, n[f + 8], 20, 1163531501), c = g(c, u, d, p, n[f + 13], 5, -1444681467), p = g(p, c, u, d, n[f + 2], 9, -51403784), d = g(d, p, c, u, n[f + 7], 14, 1735328473), c = m(c, u = g(u, d, p, c, n[f + 12], 20, -1926607734), d, p, n[f + 5], 4, -378558), p = m(p, c, u, d, n[f + 8], 11, -2022574463), d = m(d, p, c, u, n[f + 11], 16, 1839030562), u = m(u, d, p, c, n[f + 14], 23, -35309556), c = m(c, u, d, p, n[f + 1], 4, -1530992060), p = m(p, c, u, d, n[f + 4], 11, 1272893353), d = m(d, p, c, u, n[f + 7], 16, -155497632), u = m(u, d, p, c, n[f + 10], 23, -1094730640), c = m(c, u, d, p, n[f + 13], 4, 681279174), p = m(p, c, u, d, n[f + 0], 11, -358537222), d = m(d, p, c, u, n[f + 3], 16, -722521979), u = m(u, d, p, c, n[f + 6], 23, 76029189), c = m(c, u, d, p, n[f + 9], 4, -640364487), p = m(p, c, u, d, n[f + 12], 11, -421815835), d = m(d, p, c, u, n[f + 15], 16, 530742520), c = v(c, u = m(u, d, p, c, n[f + 2], 23, -995338651), d, p, n[f + 0], 6, -198630844), p = v(p, c, u, d, n[f + 7], 10, 1126891415), d = v(d, p, c, u, n[f + 14], 15, -1416354905), u = v(u, d, p, c, n[f + 5], 21, -57434055), c = v(c, u, d, p, n[f + 12], 6, 1700485571), p = v(p, c, u, d, n[f + 3], 10, -1894986606), d = v(d, p, c, u, n[f + 10], 15, -1051523), u = v(u, d, p, c, n[f + 1], 21, -2054922799), c = v(c, u, d, p, n[f + 8], 6, 1873313359), p = v(p, c, u, d, n[f + 15], 10, -30611744), d = v(d, p, c, u, n[f + 6], 15, -1560198380), u = v(u, d, p, c, n[f + 13], 21, 1309151649), c = v(c, u, d, p, n[f + 4], 6, -145523070), p = v(p, c, u, d, n[f + 11], 10, -1120210379), d = v(d, p, c, u, n[f + 2], 15, 718787259), u = v(u, d, p, c, n[f + 9], 21, -343485551), c = c + b >>> 0, u = u + y >>> 0, d = d + x >>> 0, p = p + w >>> 0 } return r.endian([c, u, d, p]) })._ff = function (e, t, n, r, i, o, a) { var s = e + (t & n | ~t & r) + (i >>> 0) + a; return (s << o | s >>> 32 - o) + t }, s._gg = function (e, t, n, r, i, o, a) { var s = e + (t & r | n & ~r) + (i >>> 0) + a; return (s << o | s >>> 32 - o) + t }, s._hh = function (e, t, n, r, i, o, a) { var s = e + (t ^ n ^ r) + (i >>> 0) + a; return (s << o | s >>> 32 - o) + t }, s._ii = function (e, t, n, r, i, o, a) { var s = e + (n ^ (t | ~r)) + (i >>> 0) + a; return (s << o | s >>> 32 - o) + t }, s._blocksize = 16, s._digestsize = 16, e.exports = function (e, t) { if (null == e) throw new Error("Illegal argument " + e); var n = r.wordsToBytes(s(e, t)); return t && t.asBytes ? n : t && t.asString ? a.bytesToString(n) : r.bytesToHex(n) } }, function (e, t) { var n, r; n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", r = { rotl: function (e, t) { return e << t | e >>> 32 - t }, rotr: function (e, t) { return e << 32 - t | e >>> t }, endian: function (e) { if (e.constructor == Number) return 16711935 & r.rotl(e, 8) | 4278255360 & r.rotl(e, 24); for (var t = 0; t < e.length; t++)e[t] = r.endian(e[t]); return e }, randomBytes: function (e) { for (var t = []; e > 0; e--)t.push(Math.floor(256 * Math.random())); return t }, bytesToWords: function (e) { for (var t = [], n = 0, r = 0; n < e.length; n++, r += 8)t[r >>> 5] |= e[n] << 24 - r % 32; return t }, wordsToBytes: function (e) { for (var t = [], n = 0; n < 32 * e.length; n += 8)t.push(e[n >>> 5] >>> 24 - n % 32 & 255); return t }, bytesToHex: function (e) { for (var t = [], n = 0; n < e.length; n++)t.push((e[n] >>> 4).toString(16)), t.push((15 & e[n]).toString(16)); return t.join("") }, hexToBytes: function (e) { for (var t = [], n = 0; n < e.length; n += 2)t.push(parseInt(e.substr(n, 2), 16)); return t }, bytesToBase64: function (e) { for (var t = [], r = 0; r < e.length; r += 3)for (var i = e[r] << 16 | e[r + 1] << 8 | e[r + 2], o = 0; o < 4; o++)8 * r + 6 * o <= 8 * e.length ? t.push(n.charAt(i >>> 6 * (3 - o) & 63)) : t.push("="); return t.join("") }, base64ToBytes: function (e) { e = e.replace(/[^A-Z0-9+\/]/gi, ""); for (var t = [], r = 0, i = 0; r < e.length; i = ++r % 4)0 != i && t.push((n.indexOf(e.charAt(r - 1)) & Math.pow(2, -2 * i + 8) - 1) << 2 * i | n.indexOf(e.charAt(r)) >>> 6 - 2 * i); return t } }, e.exports = r }, function (e, t) {
238
+ function n(e) { return !!e.constructor && "function" == typeof e.constructor.isBuffer && e.constructor.isBuffer(e) }
239
+ /*!
240
+ * Determine if an object is a Buffer
241
+ *
242
+ * @author Feross Aboukhadijeh <https://feross.org>
243
+ * @license MIT
244
+ */
245
+ e.exports = function (e) { return null != e && (n(e) || function (e) { return "function" == typeof e.readFloatLE && "function" == typeof e.slice && n(e.slice(0, 0)) }(e) || !!e._isBuffer) }
246
+ }, function (e, t, n) { n(8).module("dbt").factory("locationService", ["$state", function (e) { var t = {}; return t.parseState = function (e) { return function (e) { return { selected: { include: e.g_i || "", exclude: e.g_e || "" }, show_graph: !!e.g_v } }(e) }, t.setState = function (t) { var n = function (e) { var t = { g_v: 1 }; return t.g_i = e.include, t.g_e = e.exclude, t }(t), r = e.current.name; e.go(r, n) }, t.clearState = function () { var t = e.current.name; e.go(t, { g_i: null, g_e: null, g_v: null }) }, t }]) }, function (e, t, n) { "use strict"; const r = n(8), i = n(202); r.module("dbt").controller("OverviewCtrl", ["$scope", "$state", "project", function (e, t, n) { e.overview_md = "(loading)", n.ready((function (n) { let r = t.params.project_name ? t.params.project_name : null; var o = n.docs["doc.dbt.__overview__"], a = i.filter(n.docs, { name: "__overview__" }); if (i.each(a, (function (e) { "dbt" != e.package_name && (o = e) })), null !== r) { o = n.docs[`doc.${r}.__${r}__`] || o; let e = i.filter(n.docs, { name: `__${r}__` }); i.each(e, e => { e.package_name !== r && (o = e) }) } e.overview_md = o.block_contents })) }]) }, function (e, t, n) { "use strict"; n(8).module("dbt").controller("SourceListCtrl", ["$scope", "$state", "project", function (e, t, n) { e.source = t.params.source, e.model = {}, e.extra_table_fields = [], e.has_more_info = function (e) { return (e.description || "").length }, e.toggle_source_expanded = function (t) { e.has_more_info(t) && (t.expanded = !t.expanded) }, n.ready((function (t) { var n = _.filter(t.nodes, (function (t) { return t.source_name == e.source })); if (0 != n.length) { n.sort((e, t) => e.name.localeCompare(t.name)); var r = n[0]; e.model = { name: e.source, source_description: r.source_description, sources: n }; var i = _.uniq(_.map(n, "metadata.owner")), o = _.uniq(_.map(n, "database")), a = _.uniq(_.map(n, "schema")); e.extra_table_fields = [{ name: "Loader", value: r.loader }, { name: 1 == i.length ? "Owner" : "Owners", value: i.join(", ") }, { name: 1 == o.length ? "Database" : "Databases", value: o.join(", ") }, { name: 1 == a.length ? "Schema" : "Schemas", value: a.join(", ") }, { name: "Tables", value: n.length }] } })) }]) }, function (e, t, n) { const r = n(8), i = { main: n(483), overview: n(484), graph: n(485), source: n(205), source_list: n(486), model: n(487), source: n(205), snapshot: n(488), seed: n(489), unit_test: n(490), test: n(491), analysis: n(492), macro: n(493), exposure: n(494), metric: n(495), semantic_model: n(496), saved_query: n(497), operation: n(498) }; r.module("dbt").config(["$stateProvider", "$urlRouterProvider", function (e, t) { var n = "g_v&g_i&g_e&g_p&g_n"; t.otherwise("/overview"), e.state("dbt", { url: "/", abstract: !0, controller: "MainController", templateUrl: i.main }).state("dbt.overview", { url: "overview?" + n, controller: "OverviewCtrl", templateUrl: i.overview }).state("dbt.project_overview", { url: "overview/:project_name?" + n, controller: "OverviewCtrl", templateUrl: i.overview, params: { project_name: { type: "string" } } }).state("dbt.graph", { url: "graph", controller: "GraphCtrl", templateUrl: i.graph }).state("dbt.model", { url: "model/:unique_id?section&" + n, controller: "ModelCtrl", templateUrl: i.model, params: { unique_id: { type: "string" } } }).state("dbt.seed", { url: "seed/:unique_id?section&" + n, controller: "SeedCtrl", templateUrl: i.seed, params: { unique_id: { type: "string" } } }).state("dbt.snapshot", { url: "snapshot/:unique_id?section&" + n, controller: "SnapshotCtrl", templateUrl: i.snapshot, params: { unique_id: { type: "string" } } }).state("dbt.unit_test", { url: "unit_test/:unique_id?section&" + n, controller: "TestCtrl", templateUrl: i.unit_test, params: { unique_id: { type: "string" } } }).state("dbt.test", { url: "test/:unique_id?section&" + n, controller: "TestCtrl", templateUrl: i.test, params: { unique_id: { type: "string" } } }).state("dbt.analysis", { url: "analysis/:unique_id?section&" + n, controller: "AnalysisCtrl", templateUrl: i.analysis, params: { unique_id: { type: "string" } } }).state("dbt.source", { url: "source/:unique_id?section&" + n, controller: "SourceCtrl", templateUrl: i.source, params: { unique_id: { type: "string" } } }).state("dbt.source_list", { url: "source_list/:source?section&" + n, controller: "SourceListCtrl", templateUrl: i.source_list, params: { source: { type: "string" } } }).state("dbt.macro", { url: "macro/:unique_id?section", controller: "MacroCtrl", templateUrl: i.macro, params: { unique_id: { type: "string" } } }).state("dbt.exposure", { url: "exposure/:unique_id?section&" + n, controller: "ExposureCtrl", templateUrl: i.exposure, params: { unique_id: { type: "string" } } }).state("dbt.metric", { url: "metric/:unique_id?section&" + n, controller: "MetricCtrl", templateUrl: i.metric, params: { unique_id: { type: "string" } } }).state("dbt.semantic_model", { url: "semantic_model/:unique_id?section&" + n, controller: "SemanticModelCtrl", templateUrl: i.semantic_model, params: { unique_id: { type: "string" } } }).state("dbt.saved_query", { url: "saved_query/:unique_id?section&" + n, controller: "SavedQueryCtrl", templateUrl: i.saved_query, params: { unique_id: { type: "string" } } }).state("dbt.operation", { url: "operation/:unique_id?section&" + n, controller: "OperationCtrl", templateUrl: i.operation, params: { unique_id: { type: "string" } } }) }]) }, function (e, t) { var n = "/main/main.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<style>\n.no-x-overflow {\n overflow-x: hidden;\n}\n\n.logo {\n width: 140px;\n height: 46px ;\n}\n</style>\n\n<div>\n <graph-launcher></graph-launcher>\n\n <div class="app app-row">\n <div class="app-menu app-column">\n <div class="app-overlay" data-toggle=".app-menu"></div>\n <div class="app-header app-navbar app-shadow app-pad">\n <div class="app-row app-middle">\n <div class="app-body">\n <div class="logo">\n <a ui-sref="dbt.overview()">\n <img style="width: 100px; height: 40px" class="logo" ng-src="{{ logo }}" />\n </a>\n </div>\n </div>\n </div>\n </div>\n <div class="app-body">\n <div class="app-scroll app-pad app-flush-right no-x-overflow">\n <model-tree tree="tree"></model-tree>\n </div>\n </div>\n </div>\n <div class="app-content app-column">\n <div class="app-header app-navbar app-shadow">\n <div class="app-frame app-pad app-row app-middle">\n <input\n id="search"\n ng-model="search.query"\n ng-focus="onSearchFocus($event, true)"\n ng-keydown="onSearchKeypress($event)"\n type="text"\n class="form-control"\n placeholder="Search for models..." />\n <div class="app-body">\n </div>\n <div class="app-footer app-icn" ng-show="search.is_focused" ng-click="clearSearch()">\n <svg class="icn icn-md"><use xlink:href="#icn-close"></use></svg>\n </div>\n </div>\n </div>\n <div class=\'app-body\' ng-show=\'!search.is_focused\' ui-view></div>\n <div class="app-body" ng-show="search.is_focused">\n <docs-search query="search.query" results="search.results" on-select="clearSearch()"></docs-search>\n </div>\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t) { var n = "/overview/overview.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<div class="app-details app-scroll app-pad">\n <app-scroll div class="app-frame app-pad">\n <div class="panel panel-default">\n <div class="panel-body">\n <p marked=\'overview_md\'></p>\n </div>\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t) { var n = "/graph/graph.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<div ng-controller="GraphCtrl" id=\'graph-container\' style="width: 100%">\n <div class=\'row viz-container\' style="margin: 0">\n <div class=\'col-md-12\'>\n <div graph-viz\n viz-options="graph.options"\n viz-elements="graph.elements"\n viz-style="graph.style"\n viz-layout="graph.layout"\n viz-ready="graph.ready"\n viz-size="{height: \'800px\', width: \'100%\'}"></div>\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t) { var n = "/sources/source_list.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n <h1>\n <span class="break">{{ source }}</span>\n <small>source</small>\n </h1>\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.source_list({\'#\': \'details\'})">Details</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.source_list({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.source_list({\'#\': \'sources\'})">Sources</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n <section class="section">\n <div class="section-target" id="details"></div>\n <table-details model="model" extras="extra_table_fields"/>\n </section>\n\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="model.source_description" class="model-markdown" marked="model.source_description"></div>\n <div ng-if="!model.source_description">This {{ model.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n\n <section class="section">\n <div class="section-target" id="sources"></div>\n <div class="section-content">\n <h6>Source Tables</h6>\n <div class="panel">\n <div class="panel-body">\n <div class="table-responsive" style="max-height: 800px; overflow-y: scroll;" ng-if="!_.isEmpty(model.sources)">\n <table class="table table-borderless table-hover">\n <thead>\n <tr>\n <th style="background-color: white; position: sticky; top: 0; z-index: 1;">Source</th>\n <th style="background-color: white; position: sticky; top: 0; z-index: 1;">Table</th>\n <th style="background-color: white; position: sticky; top: 0; z-index: 1;">Description</th>\n <th style="background-color: white; position: sticky; top: 0; z-index: 1;">Link</th>\n <th style="width: 1px; background-color: white; position: sticky; top: 0; z-index: 1;" class=\'text-center\'>More?</th>\n </tr>\n </thead>\n <tbody>\n <tr\n ng-repeat-start="source in model.sources track by source.name"\n ng-click="toggle_source_expanded(source)"\n class="column-row"\n ng-class="{\'column-row-selected\': source.expanded}"\n ng-style="{cursor: has_more_info(source) ? \'pointer\' : \'auto\'}">\n <td>\n <div>\n <span class=\'text-dark\'>{{ source.source_name }}</span>\n </div>\n </td>\n <td>\n <span class=\'text-dark\'>{{ source.name }}</p>\n </td>\n <td style="text-overflow: ellipsis; overflow-x: hidden; white-space: nowrap; max-width: 1px;">\n <span ng-show="!column.expanded">{{ source.description }}</span>\n </td>\n <td>\n <a ui-sref="dbt.source({unique_id: source.unique_id})">View docs</a>\n </td>\n <td class=\'text-center\'>\n <span class=\'text-light\' ng-show="has_more_info(source)">\n <span ng-if="source.expanded">\n <svg class="icn"><use xlink:href="#icn-up"></use></svg>\n </span>\n <span ng-if="!source.expanded">\n <svg class="icn"><use xlink:href="#icn-right"></use></svg>\n </span>\n </span>\n </td>\n </tr>\n <tr ng-repeat-end ng-show="source.expanded" style="background-color: white; padding: 10px">\n <td colspan="5" class="column-expanded">\n <div style="padding: 5px 20px">\n <div style="margin-bottom: 15px">\n <h5>Description</h5>\n <span marked="source.description"></span>\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n </div>\n </section>\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t) { var n = "/docs/model.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n <h1 ng-if="model.docs.show === false">\n <small class=\'text-bold text-right\'>\n <i data-icon="eye"></i>\n This model is hidden\n </small>\n </h1>\n <h1>\n <span class="break">{{ model.name }}</span>\n <small>{{ model.config.materialized }}</small>\n </h1>\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.model({\'#\': \'details\'})">Details</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.model({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.model({\'#\': \'columns\'})">Columns</a></li>\n <li ui-sref-active=\'active\' ng-show = "referencesLength != 0"><a ui-sref="dbt.model({\'#\': \'referenced_by\'})">Referenced By</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.model({\'#\': \'depends_on\'})">Depends On</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.model({\'#\': \'code\'})">Code</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n <section class="section">\n <div class="section-target" id="details"></div>\n <table-details model="model"></table-details>\n </section>\n\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="model.description" class="model-markdown" marked="model.description"></div>\n <div ng-if="!model.description">This {{ model.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="columns"></div>\n <div class="section-content">\n <h6>Columns</h6>\n <column-details model="model" />\n </div>\n </section>\n\n <section class="section" ng-show = "referencesLength != 0">\n <div class="section-target" id="referenced_by"></div>\n <div class="section-content">\n <h6>Referenced By</h6>\n <reference-list references="references" node="model" />\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" node="model" />\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="code"></div>\n <div class="section-content">\n <code-block versions="versions" default="default_version" language="language"></code-block>\n </div>\n </section>\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t) { var n = "/docs/snapshot.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n <h1 ng-if="model.docs.show === false">\n <small class=\'text-bold text-right\'>\n <i data-icon="eye"></i>\n This {{ model.resource_type }} is hidden\n </small>\n </h1>\n <h1>\n <span class="break">{{ model.name }}</span>\n <small>{{ model.config.materialized }}</small>\n </h1>\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.snapshot({\'#\': \'details\'})">Details</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.snapshot({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.snapshot({\'#\': \'columns\'})">Columns</a></li>\n <li ui-sref-active=\'active\' ng-show = "referencesLength != 0"><a ui-sref="dbt.snapshot({\'#\': \'referenced_by\'})">Referenced By</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.snapshot({\'#\': \'depends_on\'})">Depends On</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.snapshot({\'#\': \'code\'})">SQL</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n <section class="section">\n <div class="section-target" id="details"></div>\n <table-details model="model" />\n </section>\n\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="model.description" class="model-markdown" marked="model.description"></div>\n <div ng-if="!model.description">This {{ model.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="columns"></div>\n <div class="section-content">\n <h6>Columns</h6>\n <column-details model="model" />\n </div>\n </section>\n\n <section class="section" ng-show = "referencesLength != 0">\n <div class="section-target" id="referenced_by"></div>\n <div class="section-content">\n <h6>Referenced By</h6>\n <reference-list references="references" node="model" />\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" node="model" />\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="code"></div>\n <div class="section-content">\n <code-block versions="versions" default="default_version" language="language"></code-block>\n </div>\n </section>\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t) { var n = "/docs/seed.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n <h1 ng-if="model.docs.show === false">\n <small class=\'text-bold text-right\'>\n <i data-icon="eye"></i>\n This {{ model.resource_type }} is hidden\n </small>\n </h1>\n <h1>\n <span class="break">{{ model.name }}</span>\n <small>{{ model.config.materialized }}</small>\n </h1>\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.seed({\'#\': \'details\'})">Details</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.seed({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.seed({\'#\': \'columns\'})">Columns</a></li>\n <li ui-sref-active=\'active\' ng-show = "referencesLength != 0"><a ui-sref="dbt.seed({\'#\': \'referenced_by\'})">Referenced By</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.seed({\'#\': \'depends_on\'})">Depends On</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.seed({\'#\': \'code\'})">SQL</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n <section class="section">\n <div class="section-target" id="details"></div>\n <table-details model="model" />\n </section>\n\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="model.description" class="model-markdown" marked="model.description"></div>\n <div ng-if="!model.description">This {{ model.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n <section class="section">\n <div class="section-target" id="columns"></div>\n <div class="section-content">\n <h6>Columns</h6>\n <column-details model="model" />\n </div>\n </section>\n\n <section class="section" ng-show = "referencesLength != 0">\n <div class="section-target" id="referenced_by"></div>\n <div class="section-content">\n <h6>Referenced By</h6>\n <reference-list references="references" node="model" />\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" node="model" />\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="code"></div>\n <div class="section-content">\n <code-block versions="versions" default="default_version" language="language"></code-block>\n </div>\n </section>\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t) { var n = "/docs/unit_test.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n <h1>\n <span class="break">{{ model.name }}</span>\n <small>unit test</small>\n </h1>\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.unit_test({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.unit_test({\'#\': \'depends_on\'})">Depends On</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="model.description" class="model-markdown" marked="model.description"></div>\n <div ng-if="!model.description">This {{ model.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" node="model" />\n </div>\n </section>\n\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t) { var n = "/docs/test.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n <h1>\n <span class="break">{{ model.name }}</span>\n <small>test</small>\n </h1>\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.test({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.test({\'#\': \'depends_on\'})">Depends On</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.test({\'#\': \'code\'})">SQL</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="model.description" class="model-markdown" marked="model.description"></div>\n <div ng-if="!model.description">This {{ model.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" node="model" />\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="code"></div>\n <div class="section-content">\n <code-block versions="versions" default="default_version" language="language"></code-block>\n </div>\n </section>\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t) { var n = "/docs/analysis.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n <h1 ng-if="model.docs.show === false">\n <small class=\'text-bold text-right\'>\n <i data-icon="eye"></i>\n This {{ model.resource_type }} is hidden\n </small>\n </h1>\n <h1>\n <span class="break">{{ model.name }}</span>\n <small>Analysis</small>\n </h1>\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.analysis({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.analysis({\'#\': \'depends_on\'})">Depends On</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.analysis({\'#\': \'sql\'})">SQL</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="model.description" class="model-markdown" marked="model.description"></div>\n <div ng-if="!model.description">This {{ model.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" />\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="sql"></div>\n <div class="section-content">\n <code-block versions="versions" default="default_version" language="language"></code-block>\n </div>\n </section>\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t) { var n = "/docs/macro.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n <h1>\n <span class="break">{{ macro.package_name }}.{{ macro.name }}</span>\n <small ng-if="macro.is_adapter_macro">adapter macro</small>\n <small ng-if="!macro.is_adapter_macro">macro</small>\n </h1>\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.macro({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.macro({\'#\': \'arguments\'})">Arguments</a></li>\n <li ui-sref-active=\'active\' ng-show = "referencesLength != 0"><a ui-sref="dbt.macro({\'#\': \'referenced_by\'})">Referenced By</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.macro({\'#\': \'depends_on\'})">Depends On</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.macro({\'#\': \'code\'})">Code</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="macro.description" class="model-markdown" marked="macro.description"></div>\n <div ng-if="!macro.description">This {{ macro.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="arguments"></div>\n <div class="section-content">\n <h6>Arguments</h6>\n <macro-arguments macro="macro"></macro-arguments>\n </div>\n </section>\n\n <section class="section" ng-show = "referencesLength != 0">\n <div class="section-target" id="referenced_by"></div>\n <div class="section-content">\n <h6>Referenced By</h6>\n <reference-list references="references" node="macro" />\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" node="macro" />\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="code"></div>\n <div class="section-content">\n <code-block versions="versions" default="default_version" language="language"></code-block>\n </div>\n </section>\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t) { var n = "/docs/exposure.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n\n <h1>\n <span class="break">{{ exposure.label }}</span>\n <small>exposure</small>\n\n <div class=\'pull-right\' ng-show="exposure.url">\n <a class=\'btn text-white btn-primary btn-sm\' ng-href="{{ exposure.url }}" target="_blank">View this exposure</a>\n </div>\n\n <div class=\'clearfix\'></div>\n </h1>\n\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.exposure({\'#\': \'details\'})">Details</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.exposure({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.exposure({\'#\': \'depends_on\'})">Depends On</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n\n <section class="section">\n <div class="section-target" id="details"></div>\n <table-details model="exposure" extras="extra_table_fields" />\n </section>\n\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="exposure.description" class="model-markdown" marked="exposure.description"></div>\n <div ng-if="!exposure.description">This {{ exposure.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" node="exposure" />\n </div>\n </section>\n\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t) { var n = "/docs/metric.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n\n <h1>\n <span class="break">{{ metric.label }}</span>\n <small>metric</small>\n\n <div class=\'clearfix\'></div>\n </h1>\n\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.metric({\'#\': \'details\'})">Details</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.metric({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.metric({\'#\': \'depends_on\'})">Depends On</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n\n <section class="section">\n <div class="section-target" id="details"></div>\n <table-details model="metric" extras="extra_table_fields" />\n </section>\n\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="metric.description" class="model-markdown" marked="metric.description"></div>\n <div ng-if="!metric.description">This {{ metric.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" node="metric" />\n </div>\n </section>\n\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t) { var n = "/docs/semantic_model.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n\n <h1>\n <span class="break">{{ semantic_model.name }}</span>\n <small>semantic_model</small>\n\n <div class=\'clearfix\'></div>\n </h1>\n\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.semantic_model({\'#\': \'details\'})">Details</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.semantic_model({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.semantic_model({\'#\': \'depends_on\'})">Depends On</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n\n <section class="section">\n <div class="section-target" id="details"></div>\n <table-details model="semantic_model" extras="extra_table_fields" />\n </section>\n\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="semantic_model.description" class="model-markdown" marked="semantic_model.description"></div>\n <div ng-if="!semantic_model.description">This {{ semantic_model.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section" ng-show = "semantic_model.entities.length != 0">\n <div class="section-target" id="entities"></div>\n <div class="section-content">\n <h6>Entities</h6>\n\n <div class="panel">\n <div class="detail-group" style="padding-bottom: 0">\n <div class="detail-body" style="padding-left: 0">\n <dl class="detail" ng-style="{\'padding-left\': $index == 0 ? 0 : \'auto\'}"\n ng-repeat="entity in semantic_model.entities">\n <dt class="detail-label">Name</dt>\n <dd class="detail-value" ng-if="entity.name">{{ entity.name }}</dd>\n <dd class="detail-value" ng-if="!entity.name">None</dd>\n <dt class="detail-label">Type</dt>\n <dd class="detail-value" ng-if="entity.type">{{ entity.type }}</dd>\n <dd class="detail-value" ng-if="!entity.type">None</dd>\n <dt class="detail-label">Expression</dt>\n <dd class="detail-value" ng-if="entity.expr">{{ entity.expr }}</dd>\n <dd class="detail-value" ng-if="!entity.expr">None</dd>\n </dl>\n </div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" node="semantic_model" />\n </div>\n </section>\n\n </div>\n </div>\n</div>\n') }]), e.exports = n }, function (e, t) { var n = "/docs/saved_query.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n\n <h1>\n <span class="break">{{ saved_query.name }}</span>\n <small>saved_query</small>\n\n <div class=\'clearfix\'></div>\n </h1>\n\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.saved_query({\'#\': \'details\'})">Details</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.saved_query({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.saved_query({\'#\': \'depends_on\'})">Depends On</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n\n <section class="section">\n <div class="section-target" id="details"></div>\n <table-details model="saved_query" extras="extra_table_fields" />\n </section>\n\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="saved_query.description" class="model-markdown" marked="saved_query.description"></div>\n <div ng-if="!saved_query.description">This {{ saved_query.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section" ng-show = "saved_query.entities.length != 0">\n <div class="section-target" id="entities"></div>\n <div class="section-content">\n <h6>Entities</h6>\n\n <div class="panel">\n <div class="detail-group" style="padding-bottom: 0">\n <div class="detail-body" style="padding-left: 0">\n <dl class="detail" ng-style="{\'padding-left\': $index == 0 ? 0 : \'auto\'}"\n ng-repeat="entity in saved_query.entities">\n <dt class="detail-label">Name</dt>\n <dd class="detail-value" ng-if="entity.name">{{ entity.name }}</dd>\n <dd class="detail-value" ng-if="!entity.name">None</dd>\n <dt class="detail-label">Type</dt>\n <dd class="detail-value" ng-if="entity.type">{{ entity.type }}</dd>\n <dd class="detail-value" ng-if="!entity.type">None</dd>\n <dt class="detail-label">Expression</dt>\n <dd class="detail-value" ng-if="entity.expr">{{ entity.expr }}</dd>\n <dd class="detail-value" ng-if="!entity.expr">None</dd>\n </dl>\n </div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" node="saved_query" />\n </div>\n </section>\n\n </div>\n </div>\n</div>') }]), e.exports = n }, function (e, t) { var n = "/docs/operation.html"; window.angular.module("ng").run(["$templateCache", function (e) { e.put(n, '<style>\n/* TODO */\n.section-target {\n top: -8em;\n}\n\n.noflex {\n flex: 0 0 160px !important;\n}\n\n.highlight {\n color: #24292e;\n background-color: white;\n}\n\n</style>\n\n<div class=\'app-scroll\'>\n <div class="app-links app-sticky">\n <div class="app-title">\n <div class="app-frame app-pad app-flush-bottom">\n <h1>\n <span class="break">{{ model.name }}</span>\n <small>operation</small>\n </h1>\n </div>\n </div>\n <div class="app-frame app-pad-h">\n <ul class="nav nav-tabs">\n <li ui-sref-active=\'active\'><a ui-sref="dbt.operation({\'#\': \'description\'})">Description</a></li>\n <li ui-sref-active=\'active\' ng-show = "parentsLength != 0"><a ui-sref="dbt.operation({\'#\': \'depends_on\'})">Depends On</a></li>\n <li ui-sref-active=\'active\'><a ui-sref="dbt.operation({\'#\': \'code\'})">SQL</a></li>\n </ul>\n </div>\n </div>\n <div class="app-details">\n <div class="app-frame app-pad">\n <section class="section">\n <div class="section-target" id="description"></div>\n <div class="section-content">\n <h6>Description</h6>\n <div class="panel">\n <div class="panel-body">\n <div ng-if="model.description" class="model-markdown" marked="model.description"></div>\n <div ng-if="!model.description">This {{ model.resource_type }} is not currently documented</div>\n </div>\n </div>\n </div>\n </section>\n\n <section class="section" ng-show = "parentsLength != 0">\n <div class="section-target" id="depends_on"></div>\n <div class="section-content">\n <h6>Depends On</h6>\n <reference-list references="parents" node="model" />\n </div>\n </section>\n\n <section class="section">\n <div class="section-target" id="code"></div>\n <div class="section-content">\n <code-block versions="versions" default="default_version" language="language"></code-block>\n </div>\n </section>\n </div>\n </div>\n</div>\n') }]), e.exports = n }]);
247
+ //# sourceMappingURL=main.js.map</script>
248
+ </body>
249
+
250
+ </html>