@sourcegraph/code-host-integration 0.0.81 → 0.0.83
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.
- package/css/inject.bundle.css +7 -7
- package/css/style.bundle.css +2 -2
- package/extensions/revision.txt +1 -0
- package/extensions/sourcegraph-apex/extension.js +528 -0
- package/extensions/sourcegraph-apex/package.json +137 -0
- package/extensions/sourcegraph-clojure/extension.js +528 -0
- package/extensions/sourcegraph-clojure/package.json +137 -0
- package/extensions/sourcegraph-cobol/extension.js +528 -0
- package/extensions/sourcegraph-cobol/package.json +137 -0
- package/extensions/sourcegraph-cpp/extension.js +528 -0
- package/extensions/sourcegraph-cpp/package.json +137 -0
- package/extensions/sourcegraph-csharp/extension.js +528 -0
- package/extensions/sourcegraph-csharp/package.json +137 -0
- package/extensions/sourcegraph-cuda/extension.js +528 -0
- package/extensions/sourcegraph-cuda/package.json +137 -0
- package/extensions/sourcegraph-dart/extension.js +528 -0
- package/extensions/sourcegraph-dart/package.json +137 -0
- package/extensions/sourcegraph-elixir/extension.js +528 -0
- package/extensions/sourcegraph-elixir/package.json +137 -0
- package/extensions/sourcegraph-erlang/extension.js +528 -0
- package/extensions/sourcegraph-erlang/package.json +137 -0
- package/extensions/sourcegraph-go/extension.js +528 -0
- package/extensions/sourcegraph-go/package.json +137 -0
- package/extensions/sourcegraph-graphql/extension.js +528 -0
- package/extensions/sourcegraph-graphql/package.json +137 -0
- package/extensions/sourcegraph-groovy/extension.js +528 -0
- package/extensions/sourcegraph-groovy/package.json +137 -0
- package/extensions/sourcegraph-haskell/extension.js +528 -0
- package/extensions/sourcegraph-haskell/package.json +137 -0
- package/extensions/sourcegraph-java/extension.js +528 -0
- package/extensions/sourcegraph-java/package.json +137 -0
- package/extensions/sourcegraph-jsonnet/extension.js +528 -0
- package/extensions/sourcegraph-jsonnet/package.json +137 -0
- package/extensions/sourcegraph-kotlin/extension.js +528 -0
- package/extensions/sourcegraph-kotlin/package.json +137 -0
- package/extensions/sourcegraph-lisp/extension.js +528 -0
- package/extensions/sourcegraph-lisp/package.json +137 -0
- package/extensions/sourcegraph-lua/extension.js +528 -0
- package/extensions/sourcegraph-lua/package.json +137 -0
- package/extensions/sourcegraph-ocaml/extension.js +528 -0
- package/extensions/sourcegraph-ocaml/package.json +137 -0
- package/extensions/sourcegraph-pascal/extension.js +528 -0
- package/extensions/sourcegraph-pascal/package.json +137 -0
- package/extensions/sourcegraph-perl/extension.js +528 -0
- package/extensions/sourcegraph-perl/package.json +137 -0
- package/extensions/sourcegraph-php/extension.js +528 -0
- package/extensions/sourcegraph-php/package.json +137 -0
- package/extensions/sourcegraph-powershell/extension.js +528 -0
- package/extensions/sourcegraph-powershell/package.json +137 -0
- package/extensions/sourcegraph-protobuf/extension.js +528 -0
- package/extensions/sourcegraph-protobuf/package.json +137 -0
- package/extensions/sourcegraph-python/extension.js +528 -0
- package/extensions/sourcegraph-python/package.json +137 -0
- package/extensions/sourcegraph-r/extension.js +528 -0
- package/extensions/sourcegraph-r/package.json +137 -0
- package/extensions/sourcegraph-ruby/extension.js +528 -0
- package/extensions/sourcegraph-ruby/package.json +137 -0
- package/extensions/sourcegraph-rust/extension.js +528 -0
- package/extensions/sourcegraph-rust/package.json +137 -0
- package/extensions/sourcegraph-scala/extension.js +528 -0
- package/extensions/sourcegraph-scala/package.json +137 -0
- package/extensions/sourcegraph-shell/extension.js +528 -0
- package/extensions/sourcegraph-shell/package.json +137 -0
- package/extensions/sourcegraph-starlark/extension.js +528 -0
- package/extensions/sourcegraph-starlark/package.json +137 -0
- package/extensions/sourcegraph-strato/extension.js +528 -0
- package/extensions/sourcegraph-strato/package.json +137 -0
- package/extensions/sourcegraph-swift/extension.js +528 -0
- package/extensions/sourcegraph-swift/package.json +137 -0
- package/extensions/sourcegraph-tcl/extension.js +528 -0
- package/extensions/sourcegraph-tcl/package.json +137 -0
- package/extensions/sourcegraph-thrift/extension.js +528 -0
- package/extensions/sourcegraph-thrift/package.json +137 -0
- package/extensions/sourcegraph-typescript/extension.js +528 -0
- package/extensions/sourcegraph-typescript/package.json +138 -0
- package/extensions/sourcegraph-verilog/extension.js +528 -0
- package/extensions/sourcegraph-verilog/package.json +137 -0
- package/extensions/sourcegraph-vhdl/extension.js +528 -0
- package/extensions/sourcegraph-vhdl/package.json +137 -0
- package/package.json +1 -1
- package/scripts/extensionHostWorker.bundle.js +1 -1
- package/scripts/integration.bundle.js +34 -29
- package/scripts/phabricator.bundle.js +34 -29
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/sourcegraph/sourcegraph/master/shared/src/schema/extension.schema.json",
|
|
3
|
+
"name": "cuda",
|
|
4
|
+
"description": "Provides search-based code intelligence for CUDA using the Sourcegraph search API",
|
|
5
|
+
"private": true,
|
|
6
|
+
"sideEffects": false,
|
|
7
|
+
"publisher": "sourcegraph",
|
|
8
|
+
"version": "0.0.0-DEVELOPMENT",
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "github:sourcegraph/code-intel-extensions",
|
|
13
|
+
"directory": "template"
|
|
14
|
+
},
|
|
15
|
+
"categories": [
|
|
16
|
+
"Programming languages"
|
|
17
|
+
],
|
|
18
|
+
"tags": [
|
|
19
|
+
"fuzzy"
|
|
20
|
+
],
|
|
21
|
+
"main": "dist/extension.js",
|
|
22
|
+
"files": [
|
|
23
|
+
"dist"
|
|
24
|
+
],
|
|
25
|
+
"engines": {
|
|
26
|
+
"node": ">=v14.19.3"
|
|
27
|
+
},
|
|
28
|
+
"browserslist": [
|
|
29
|
+
"last 1 Chrome versions",
|
|
30
|
+
"last 1 Firefox versions",
|
|
31
|
+
"last 1 Edge versions",
|
|
32
|
+
"last 1 Safari versions"
|
|
33
|
+
],
|
|
34
|
+
"activationEvents": [
|
|
35
|
+
"onLanguage:cuda"
|
|
36
|
+
],
|
|
37
|
+
"scripts": {
|
|
38
|
+
"build": "../node_modules/.bin/tsc -b . && ../node_modules/.bin/parcel build --out-file extension.js src/extension.ts",
|
|
39
|
+
"test": "../node_modules/.bin/nyc --reporter=lcov mocha '**/*.test.ts'",
|
|
40
|
+
"symlink-package": "../node_modules/.bin/mkdirp dist && ../node_modules/.bin/lnfs ./package.json ./dist/package.json",
|
|
41
|
+
"serve": "yarn run symlink-package && ../node_modules/.bin/parcel serve --no-hmr --out-file dist/extension.js src/extension.ts",
|
|
42
|
+
"sourcegraph:prepublish": "yarn run build",
|
|
43
|
+
"publish": "yarn -s && src -config \"${SRC_CONFIG}\" ext publish -git-head \"${BUILDKITE_COMMIT}\""
|
|
44
|
+
},
|
|
45
|
+
"contributes": {
|
|
46
|
+
"menus": {
|
|
47
|
+
"panel/toolbar": [
|
|
48
|
+
{
|
|
49
|
+
"action": "mixPreciseAndSearchBasedReferences.toggle",
|
|
50
|
+
"when": "panel.activeView.id == 'references' && !config.codeIntel.disableSearchBased"
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"hover": [
|
|
54
|
+
{
|
|
55
|
+
"action": "findImplementations",
|
|
56
|
+
"when": "resource.language == 'cuda' && get(context, `implementations_${resource.language}`) && (goToDefinition.showLoading || goToDefinition.url || goToDefinition.error)"
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
"actions": [
|
|
61
|
+
{
|
|
62
|
+
"id": "mixPreciseAndSearchBasedReferences.toggle",
|
|
63
|
+
"command": "updateConfiguration",
|
|
64
|
+
"title": "${!!config.codeIntel.mixPreciseAndSearchBasedReferences && \"Hide search-based results when precise results are available\" || \"Mix precise and search-based results\"}",
|
|
65
|
+
"commandArguments": [
|
|
66
|
+
[
|
|
67
|
+
"codeIntel.mixPreciseAndSearchBasedReferences"
|
|
68
|
+
],
|
|
69
|
+
"${!config.codeIntel.mixPreciseAndSearchBasedReferences}",
|
|
70
|
+
null,
|
|
71
|
+
"json"
|
|
72
|
+
],
|
|
73
|
+
"actionItem": {
|
|
74
|
+
"label": "${!!config.codeIntel.mixPreciseAndSearchBasedReferences && \"Hide search-based results when precise results are available\" || \"Mix precise and search-based results\"}"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"id": "findImplementations",
|
|
79
|
+
"title": "Find implementations",
|
|
80
|
+
"command": "open",
|
|
81
|
+
"commandArguments": [
|
|
82
|
+
"${get(context, 'implementations_cuda') && get(context, 'panel.url') && sub(get(context, 'panel.url'), 'panelID', 'implementations_cuda') || 'noop'}"
|
|
83
|
+
],
|
|
84
|
+
"actionItem": {
|
|
85
|
+
"label": "Find implementations"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"configuration": {
|
|
90
|
+
"title": "Search-based code intelligence settings",
|
|
91
|
+
"properties": {
|
|
92
|
+
"codeIntel.lsif": {
|
|
93
|
+
"description": "Whether to use pre-computed LSIF data for code intelligence (such as hovers, definitions, and references). See https://docs.sourcegraph.com/code_intelligence/explanations/precise_code_intelligence.",
|
|
94
|
+
"type": "boolean"
|
|
95
|
+
},
|
|
96
|
+
"codeIntel.disableSearchBased": {
|
|
97
|
+
"description": "Never fall back to search-based code intelligence.",
|
|
98
|
+
"type": "boolean"
|
|
99
|
+
},
|
|
100
|
+
"codeIntel.traceExtension": {
|
|
101
|
+
"description": "Whether to enable trace logging on the extension.",
|
|
102
|
+
"type": "boolean"
|
|
103
|
+
},
|
|
104
|
+
"codeIntel.disableRangeQueries": {
|
|
105
|
+
"description": "Whether to fetch multiple precise definitions and references on hover.",
|
|
106
|
+
"type": "boolean"
|
|
107
|
+
},
|
|
108
|
+
"codeIntel.mixPreciseAndSearchBasedReferences": {
|
|
109
|
+
"description": "Whether to supplement precise references with search-based results.",
|
|
110
|
+
"type": "boolean"
|
|
111
|
+
},
|
|
112
|
+
"basicCodeIntel.includeForks": {
|
|
113
|
+
"description": "Whether to include forked repositories in search results.",
|
|
114
|
+
"type": "boolean"
|
|
115
|
+
},
|
|
116
|
+
"basicCodeIntel.includeArchives": {
|
|
117
|
+
"description": "Whether to include archived repositories in search results.",
|
|
118
|
+
"type": "boolean"
|
|
119
|
+
},
|
|
120
|
+
"basicCodeIntel.globalSearchesEnabled": {
|
|
121
|
+
"description": "Whether to run global searches over all repositories. On instances with many repositories, this can lead to issues such as: low quality results, slow response times, or significant load on the Sourcegraph instance. Defaults to true.",
|
|
122
|
+
"type": "boolean"
|
|
123
|
+
},
|
|
124
|
+
"basicCodeIntel.indexOnly": {
|
|
125
|
+
"description": "Whether to use only indexed requests to the search API.",
|
|
126
|
+
"type": "boolean"
|
|
127
|
+
},
|
|
128
|
+
"basicCodeIntel.unindexedSearchTimeout": {
|
|
129
|
+
"description": "The timeout (in milliseconds) for un-indexed search requests.",
|
|
130
|
+
"type": "number"
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"title": "CUDA code intelligence",
|
|
136
|
+
"icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAABBK2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMjEgNzkuMTU0OTExLCAyMDEzLzEwLzI5LTExOjQ3OjE2ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxNy0xMS0xOVQxOToyNDozNyswMTowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTctMTEtMTlUMTk6MjQ6NDUrMDE6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE3LTExLTE5VDE5OjI0OjQ1KzAxOjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDphNGU2NTdhYi04NTNiLWVkNDItODYwOC00ZjI4YmU1MWQ5Y2U8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPnhtcC5kaWQ6MGVhMTVmYzUtYmUyNi0yOTQzLWI4MjItZTU0N2U1MTZhODhhPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6MGVhMTVmYzUtYmUyNi0yOTQzLWI4MjItZTU0N2U1MTZhODhhPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjBlYTE1ZmM1LWJlMjYtMjk0My1iODIyLWU1NDdlNTE2YTg4YTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNy0xMS0xOVQxOToyNDozNyswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6Y2IwN2UyYjEtMGQ2NS04MTRmLWJmYjUtNzFkM2EwNjk3ZTBiPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE3LTExLTE5VDE5OjI0OjQ1KzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y29udmVydGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpwYXJhbWV0ZXJzPmZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5kZXJpdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpwYXJhbWV0ZXJzPmNvbnZlcnRlZCBmcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nPC9zdEV2dDpwYXJhbWV0ZXJzPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDphNGU2NTdhYi04NTNiLWVkNDItODYwOC00ZjI4YmU1MWQ5Y2U8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTctMTEtMTlUMTk6MjQ6NDUrMDE6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHhtcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgPHN0UmVmOmluc3RhbmNlSUQ+eG1wLmlpZDpjYjA3ZTJiMS0wZDY1LTgxNGYtYmZiNS03MWQzYTA2OTdlMGI8L3N0UmVmOmluc3RhbmNlSUQ+CiAgICAgICAgICAgIDxzdFJlZjpkb2N1bWVudElEPnhtcC5kaWQ6MGVhMTVmYzUtYmUyNi0yOTQzLWI4MjItZTU0N2U1MTZhODhhPC9zdFJlZjpkb2N1bWVudElEPgogICAgICAgICAgICA8c3RSZWY6b3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6MGVhMTVmYzUtYmUyNi0yOTQzLWI4MjItZTU0N2U1MTZhODhhPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDxwaG90b3Nob3A6VGV4dExheWVycz4KICAgICAgICAgICAgPHJkZjpCYWc+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8cGhvdG9zaG9wOkxheWVyTmFtZT5DPC9waG90b3Nob3A6TGF5ZXJOYW1lPgogICAgICAgICAgICAgICAgICA8cGhvdG9zaG9wOkxheWVyVGV4dD5DPC9waG90b3Nob3A6TGF5ZXJUZXh0PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxwaG90b3Nob3A6TGF5ZXJOYW1lPnU8L3Bob3Rvc2hvcDpMYXllck5hbWU+CiAgICAgICAgICAgICAgICAgIDxwaG90b3Nob3A6TGF5ZXJUZXh0PnU8L3Bob3Rvc2hvcDpMYXllclRleHQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpCYWc+CiAgICAgICAgIDwvcGhvdG9zaG9wOlRleHRMYXllcnM+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4xMjg8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTI4PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz6vMu7xAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAmuSURBVHja7J19kJV1Fcc/97qg4sSim7wUViouCqRmC0OB5V5B0XxXbIqycojM0rEyWYu83V6I1alBx5dSnMnaXkilHHRMWS4WaIQuZjmIRUsh4CjKi4rkwt7tj/PbAZa77HOffe49v+e55zvz/AG7e+95nvN9zu+c8zu/c1JdXV0YqhdpewRGAIMRwGAEMBgBDEYAQ5Whpr8fkMt7xaGBwInASUA98D53DQXqgMHAEfvc9x5gJ7AdeAXYDKwD1gJ/B54DOsopcDZTiDcBlPFuoBH4ODABOBUYUOL917rr/UV+3gGsBlrdtQLoNAugi3HAxcCFwGlAqswWZaK75gCvAw8BvwKeAApGgMpgOPAZ4HOOAFqoA65013+Ae4C7gdfMCSwPJgK/BjYAtygrvyc+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"
|
|
137
|
+
}
|