@citolab/qti-components 6.9.1-beta.9 → 7.0.2

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/package.json CHANGED
@@ -21,127 +21,218 @@
21
21
  "engines": {
22
22
  "node": ">=20.0.0"
23
23
  },
24
- "version": "6.9.1-beta.9",
24
+ "version": "7.0.2",
25
+ "main": "dist/index.js",
25
26
  "type": "module",
26
27
  "exports": {
27
- "./qti-components": "./dist/qti-components/index.js",
28
- "./qti-transformers": "./dist/qti-transformers/index.js",
29
- "./qti-item": "./dist/qti-item/index.js",
30
- "./qti-loader": "./dist/qti-loader/index.js",
31
- "./item.css": "./dist/item.css"
28
+ ".": {
29
+ "import": "./dist/index.js"
30
+ },
31
+ "./transformers": {
32
+ "import": "./dist/transformers/index.js"
33
+ },
34
+ "./loader": {
35
+ "import": "./dist/loader/index.js"
36
+ },
37
+ "./item.css": "./dist/item.css",
38
+ "./cdn/index.js": "./cdn/index.js",
39
+ "./cdn/index.global.js": "./cdn/index.global.js"
32
40
  },
33
41
  "types": "./dist/qti-components/index.d.ts",
34
42
  "typesVersions": {
35
43
  "*": {
36
- "qti-components": [
37
- "./dist/qti-components/index.d.ts"
38
- ],
39
- "qti-transformers": [
40
- "./dist/qti-transformers/index.d.ts"
44
+ ".": [
45
+ "./dist/index.d.ts"
41
46
  ],
42
- "qti-item": [
43
- "./dist/qti-item/index.d.ts"
47
+ "transformers": [
48
+ "./dist/transformers/index.d.ts"
44
49
  ],
45
- "qti-loader": [
46
- "./dist/qti-loader/index.d.ts"
50
+ "loader": [
51
+ "./dist/loader/index.d.ts"
47
52
  ]
48
53
  }
49
54
  },
50
55
  "files": [
51
56
  "dist",
52
- "types",
53
- "./dist/item.css"
57
+ "cdn"
54
58
  ],
55
59
  "scripts": {
56
- "test": "vitest",
57
- "dev": "vite",
60
+ "storybook": "wireit",
61
+ "storybook:docs": "wireit",
62
+ "build:watch": "npm run build --watch",
63
+ "npm:publish": "np",
64
+ "---": "-",
58
65
  "build": "wireit",
59
- "build-lib": "tsx scripts/build.ts",
60
- "watch-lib": "nodemon --watch \"src/**\" --ext \"ts,json,css\" --ignore \"src/**/*.spec.ts\" --exec \"tsx scripts/build.ts\" watch",
61
- "storybook": "storybook dev -p 6006",
66
+ "test": "wireit",
67
+ "attw": "wireit",
68
+ "lint": "eslint src/**/*.ts",
69
+ "cem": "wireit",
70
+ "css": "wireit",
71
+ "act": "act",
72
+ "vite": "vite",
73
+ "stylelint": "stylelint \"src/**/*.css\"",
62
74
  "build-storybook": "storybook build",
63
- "test-storybook": "test-storybook",
64
- "cem": "cem analyze --watch",
65
- "lint": "eslint src/lib/**",
66
- "arethetypeswrong": "wireit",
75
+ "storybook:test": "test-storybook",
76
+ "storybook:docs:build": "wireit",
77
+ "chromatic": "node chromatic-runner.cjs",
67
78
  "----hooks----": "-",
68
- "prepublishOnly": "echo 'calling prepublishOnly as npm lifecycle hook to build-lib!' && npm run build-lib",
69
- "postpublish": "echo 'posthook for prosperity, does nothing for now!'",
70
- "test:browser": "vitest",
71
- "chromatic": "node chromatic-runner.cjs"
79
+ "prepublishOnly": "npm run build",
80
+ "prepare": "husky"
72
81
  },
73
82
  "wireit": {
83
+ "storybook": {
84
+ "command": "storybook dev -p 6006",
85
+ "dependencies": [
86
+ "storybook:cem:watch"
87
+ ]
88
+ },
74
89
  "build": {
75
- "command": "tsc"
90
+ "env": {
91
+ "NODE_ENV": "production"
92
+ },
93
+ "command": "tsup",
94
+ "dependencies": [
95
+ "cem",
96
+ "css"
97
+ ],
98
+ "files": [
99
+ "src/**/*.{ts}",
100
+ "tsconfig.json",
101
+ "!src/**/*.{test,spec,stories}.ts"
102
+ ]
103
+ },
104
+ "cem": {
105
+ "command": "cem analyze",
106
+ "files": [
107
+ "src/**/*.ts",
108
+ "!src/**/*.{test,spec,stories}.ts"
109
+ ]
110
+ },
111
+ "css": {
112
+ "command": "postcss src/item.css -d dist -m",
113
+ "files": [
114
+ "src/**/*.css"
115
+ ]
76
116
  },
77
- "arethetypeswrong": {
78
- "command": "attw --pack",
117
+ "test": {
118
+ "command": "vitest run",
79
119
  "dependencies": [
80
- "build-lib"
120
+ "build"
121
+ ]
122
+ },
123
+ "storybook:docs": {
124
+ "command": "storybook dev --docs -c .storybook-docs",
125
+ "dependencies": [
126
+ "storybook:cem:watch"
127
+ ]
128
+ },
129
+ "storybook:docs:build": {
130
+ "command": "storybook build --docs -c .storybook-docs --output-dir docs",
131
+ "dependencies": [
132
+ "cem"
133
+ ]
134
+ },
135
+ "storybook:cem:watch": {
136
+ "command": "cem analyze --watch",
137
+ "service": {
138
+ "readyWhen": {
139
+ "lineMatches": "Created new manifest."
140
+ }
141
+ }
142
+ },
143
+ "attw": {
144
+ "command": "attw --profile esm-only --pack --exclude-entrypoints ./item.css ./cdn/index.js ./cdn/index.global.js ./cdn/index.min.js",
145
+ "dependencies": [
146
+ "build"
81
147
  ]
82
148
  }
83
149
  },
84
150
  "peerDependencies": {
85
- "@lit/context": "^1.1.0",
86
- "lit": "^3.1.1"
151
+ "@lit/context": "^1.1.2",
152
+ "lit": "^3.2.1",
153
+ "stampino": "^0.8.3"
154
+ },
155
+ "dependencies": {
156
+ "@lit/context": "^1.1.2",
157
+ "lit": "^3.2.1",
158
+ "stampino": "^0.8.3"
87
159
  },
88
160
  "devDependencies": {
89
- "@arethetypeswrong/cli": "^0.15.4",
161
+ "@arethetypeswrong/cli": "^0.17.1",
162
+ "@chromatic-com/storybook": "^3.2.2",
163
+ "@commitlint/cli": "^19.6.0",
164
+ "@commitlint/config-conventional": "^19.6.0",
90
165
  "@custom-elements-manifest/analyzer": "^0.10.3",
91
- "@lit-labs/preact-signals": "^1.0.2",
92
- "@lit/context": "^1.1.2",
93
- "@storybook/addon-a11y": "^8.3.5",
94
- "@storybook/addon-essentials": "^8.3.5",
95
- "@storybook/addon-interactions": "^8.3.5",
96
- "@storybook/addon-links": "^8.3.5",
97
- "@storybook/blocks": "^8.3.5",
98
- "@storybook/preview-api": "^8.3.5",
99
- "@storybook/test": "^8.3.5",
100
- "@storybook/test-runner": "^0.19.1",
101
- "@storybook/testing-library": "^0.2.2",
102
- "@storybook/web-components": "^8.3.5",
103
- "@storybook/web-components-vite": "^8.3.5",
166
+ "@eslint/js": "^9.16.0",
167
+ "@lit/context": "^1.1.3",
168
+ "@storybook/addon-a11y": "^8.4.7",
169
+ "@storybook/addon-essentials": "^8.4.7",
170
+ "@storybook/addon-interactions": "^8.4.7",
171
+ "@storybook/addon-links": "^8.4.7",
172
+ "@storybook/addon-storysource": "^8.4.7",
173
+ "@storybook/blocks": "^8.4.7",
174
+ "@storybook/preview-api": "^8.4.7",
175
+ "@storybook/test": "^8.4.7",
176
+ "@storybook/test-runner": "^0.20.1",
177
+ "@storybook/web-components": "^8.4.7",
178
+ "@storybook/web-components-vite": "^8.4.7",
179
+ "@swc/core": "^1.10.1",
104
180
  "@testing-library/dom": "^10.4.0",
105
181
  "@types/dom-view-transitions": "^1.0.5",
106
- "@types/node": "^22.5.0",
107
- "@typescript-eslint/eslint-plugin": "^8.2.0",
108
- "@vitest/browser": "^2.0.5",
109
- "@wdio/cli": "^9.0.7",
182
+ "@types/node": "^22.10.1",
183
+ "@typescript-eslint/eslint-plugin": "^8.17.0",
184
+ "@typescript-eslint/parser": "^8.17.0",
185
+ "@vitest/browser": "^2.1.8",
110
186
  "autoprefixer": "^10.4.20",
111
- "chromatic": "^11.11.0",
187
+ "cem-plugin-expanded-types": "^1.3.3",
188
+ "chromatic": "^11.20.0",
189
+ "custom-element-eslint-rule-generator": "^1.0.1",
190
+ "custom-element-jsx-integration": "^1.5.4",
191
+ "custom-element-react-wrappers": "^1.6.8",
112
192
  "custom-element-vs-code-integration": "^1.4.1",
113
- "dotenv": "^16.4.5",
114
- "eslint": "^8.57.0",
115
- "eslint-plugin-import": "^2.29.1",
116
- "eslint-plugin-lit": "^1.14.0",
193
+ "dotenv": "^16.4.7",
194
+ "eslint": "^9.16.0",
195
+ "eslint-import-resolver-typescript": "^3.7.0",
196
+ "eslint-plugin-import": "^2.31.0",
197
+ "eslint-plugin-lit": "^1.15.0",
117
198
  "eslint-plugin-lit-a11y": "^4.1.4",
199
+ "eslint-plugin-react": "^7.37.2",
118
200
  "eslint-plugin-sort-imports-es6-autofix": "^0.6.0",
119
- "eslint-plugin-storybook": "^0.9.0",
120
- "eslint-plugin-wc": "^2.1.1",
121
- "lit": "^3.2.0",
122
- "nodemon": "^3.1.4",
123
- "np": "^10.0.7",
201
+ "eslint-plugin-storybook": "^0.11.1",
202
+ "eslint-plugin-wc": "^2.2.0",
203
+ "fast-xml-parser": "^4.5.0",
204
+ "globals": "^15.13.0",
205
+ "husky": "^9.1.7",
206
+ "np": "^10.1.0",
207
+ "npm": "^10.9.2",
124
208
  "path-browserify": "^1.0.1",
125
- "playwright": "^1.46.1",
126
- "postcss": "^8.4.47",
209
+ "pkg-pr-new": "^0.0.37",
210
+ "playwright": "^1.49.0",
211
+ "postcss": "^8.4.49",
127
212
  "postcss-class-apply": "^4.0.1",
213
+ "postcss-cli": "^11.0.0",
128
214
  "postcss-import": "^16.1.0",
129
- "postcss-nesting": "^13.0.0",
130
- "prettier": "3.3.3",
215
+ "postcss-nesting": "^13.0.1",
216
+ "prettier": "3.4.2",
131
217
  "remark-gfm": "^4.0.0",
132
- "storybook": "^8.3.5",
133
- "tsup": "^8.2.4",
134
- "tsx": "^4.17.0",
135
- "typescript": "^5.5.4",
136
- "vite": "^5.4.2",
137
- "vite-tsconfig-paths": "^5.0.1",
138
- "vitest": "^2.0.5",
139
- "wireit": "^0.14.8"
218
+ "shadow-dom-testing-library": "^1.11.3",
219
+ "storybook": "^8.4.7",
220
+ "stylelint": "^16.11.0",
221
+ "stylelint-config-standard": "^36.0.1",
222
+ "stylelint-prettier": "^5.0.2",
223
+ "tsup": "^8.3.5",
224
+ "typescript": "^5.7.2",
225
+ "typescript-eslint": "^8.18.0",
226
+ "vite": "^6.0.3",
227
+ "vite-tsconfig-paths": "^5.1.4",
228
+ "vitest": "^2.1.8",
229
+ "wc-storybook-helpers": "^2.0.4",
230
+ "wireit": "^0.14.9"
140
231
  },
141
232
  "optionalDependencies": {
142
- "@rollup/rollup-linux-x64-gnu": "^4.21.0"
233
+ "@rollup/rollup-linux-x64-gnu": "^4.28.1"
143
234
  },
144
- "customElements": "custom-elements.json",
235
+ "customElements": "dist/custom-elements.json",
145
236
  "bugs": {
146
237
  "url": "https://github.com/Citolab/qti-components/issues"
147
238
  },
@@ -1,24 +0,0 @@
1
- var g=String.raw,b=()=>{let e,r={async load(t,s=!1){return new Promise((n,o)=>{u(t,s).then(i=>(e=i,n(r)))})},parse(t){return e=p(t),r},path:t=>(x(e,t),r),fn(t){return t(e),r},pciHooks(t){let s=["hook","module"],n=t.substring(0,t.lastIndexOf("/"));for(let o of s)e.querySelectorAll("["+o+"]").forEach(c=>{let a=c.getAttribute(o);!a.startsWith("data:")&&!a.startsWith("http")&&(c.setAttribute("base-url",t),c.setAttribute("module",n+"/"+encodeURIComponent(a+(a.endsWith(".js")?"":".js"))))});return r},customInteraction(t,s){let n=e.querySelector("qti-custom-interaction"),o=n.querySelector("object");return n.setAttribute("data-base-ref",t),n.setAttribute("data-base-item",t+s),n.setAttribute("data",o.getAttribute("data")),n.setAttribute("width",o.getAttribute("width")),n.setAttribute("height",o.getAttribute("height")),n.removeChild(o),r},convertCDATAtoComment(){return d(e),r},stripStyleSheets(){return y(e),r},html(){return new XMLSerializer().serializeToString(m(e))},xml(){return new XMLSerializer().serializeToString(e)},htmldoc(){return m(e)},xmldoc(){return e}};return r},A=()=>{let e,r={async load(t){return new Promise((s,n)=>{u(t).then(o=>(e=o,s(r)))})},parse(t){e=p(t)},assessmentTest(){let t=e.querySelector('resource[type="imsqti_test_xmlv3p0"]');return{href:t.getAttribute("href"),identifier:t.getAttribute("identifier")}}};return r},L=()=>{let e,r={async load(t){return new Promise((s,n)=>{u(t).then(o=>(e=o,s(r)))})},parse(t){return e=p(t),r},fn(t){return t(e),r},items(){return h(e)},html(){return new XMLSerializer().serializeToString(m(e))},xml(){return new XMLSerializer().serializeToString(e)},htmldoc(){return m(e)},xmldoc(){return e}};return r},f=g`<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
2
- <xsl:output method="html" version="5.0" encoding="UTF-8" indent="yes" />
3
- <xsl:template match="@*|node()">
4
- <xsl:copy>
5
- <xsl:apply-templates select="@*|node()"/>
6
- </xsl:copy>
7
- </xsl:template>
8
-
9
- <!-- remove existing namespaces -->
10
- <xsl:template match="*">
11
- <!-- remove element prefix -->
12
- <xsl:element name="{local-name()}">
13
- <!-- process attributes -->
14
- <xsl:for-each select="@*">
15
- <!-- remove attribute prefix -->
16
- <xsl:attribute name="{local-name()}">
17
- <xsl:value-of select="."/>
18
- </xsl:attribute>
19
- </xsl:for-each>
20
- <xsl:apply-templates/>
21
- </xsl:element>
22
- </xsl:template>
23
- </xsl:stylesheet>`;function h(e){let r=[];return e.querySelectorAll("qti-assessment-item-ref").forEach(t=>{let s=t.getAttribute("identifier"),n=t.getAttribute("href"),o=t.getAttribute("category");r.push({identifier:s,href:n,category:o})}),r}var l=null;function u(e,r=!0){return r&&l!==null&&l.abort(),new Promise((t,s)=>{let n=new XMLHttpRequest;l=n,n.open("GET",e,!0),n.responseType="document",n.onload=()=>{n.status>=200&&n.status<300?t(n.responseXML):s(n.statusText)},n.onerror=()=>{s(n.statusText)},n.send()})}function p(e){return new DOMParser().parseFromString(e,"text/xml")}function m(e){let r=new XSLTProcessor,t=new DOMParser().parseFromString(f,"text/xml");return r.importStylesheet(t),r.transformToFragment(e,document)}function x(e,r){r.endsWith("/")||(r+="/"),e.querySelectorAll("[src],[href],[primary-path]").forEach(t=>{var o;let s="";t.getAttribute("src")&&(s="src"),t.getAttribute("href")&&(s="href"),t.getAttribute("primary-path")&&(s="primary-path");let n=(o=t.getAttribute(s))==null?void 0:o.trim();if(!n.startsWith("data:")&&!n.startsWith("http")){let i=r+encodeURI(n);t.setAttribute(s,i)}})}function d(e){e.querySelectorAll('qti-custom-operator[class="js.org"] > qti-base-value').forEach(t=>{let s=document.createComment(t.textContent);t.replaceChild(s,t.firstChild)})}function y(e){e.querySelectorAll("qti-stylesheet").forEach(r=>r.remove())}export{b as a,A as b,L as c};
24
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2xpYi9xdGktdHJhbnNmb3JtZXJzL3F0aS10cmFuc2Zvcm1lcnMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IHhtbCA9IFN0cmluZy5yYXc7XG5cbi8qKlxuICogQnJvd3NlciBiYXNlZCBRVEktWE1MIHRvIEhUTUwgdHJhbnNmb3JtZXIuXG4gKiBSZXR1cm5zIGFuIG9iamVjdCB3aXRoIG1ldGhvZHMgdG8gbG9hZCwgcGFyc2UsIHRyYW5zZm9ybSBhbmQgc2VyaWFsaXplIFFUSSBYTUwgaXRlbXMuXG4gKiBAcmV0dXJucyBBbiBvYmplY3Qgd2l0aCBtZXRob2RzIHRvIGxvYWQsIHBhcnNlLCB0cmFuc2Zvcm0gYW5kIHNlcmlhbGl6ZSBRVEkgWE1MIGl0ZW1zLlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IHF0aVRyYW5zZm9ybWVyID0gcXRpVHJhbnNmb3JtSXRlbSgpO1xuICogYXdhaXQgcXRpVHJhbnNmb3JtZXIubG9hZCgncGF0aC90by94bWwvZmlsZS54bWwnKTtcbiAqIHF0aVRyYW5zZm9ybWVyLnBhdGgoJy9hc3Nlc3NtZW50SXRlbS9pdGVtQm9keScpO1xuICogY29uc3QgaHRtbCA9IHF0aVRyYW5zZm9ybWVyLmh0bWwoKTtcbiAqIGNvbnN0IHhtbCA9IHF0aVRyYW5zZm9ybWVyLnhtbCgpO1xuICogY29uc3QgaHRtbGRvYyA9IHF0aVRyYW5zZm9ybWVyLmh0bWxkb2MoKTtcbiAqIGNvbnN0IHhtbGRvYyA9IHF0aVRyYW5zZm9ybWVyLnhtbGRvYygpO1xuICpcbiAqIHF0aVRyYW5zZm9ybUl0ZW0oKS5wYXJzZShzdG9yeVhNTCkuaHRtbCgpXG4gKi9cblxuZXhwb3J0IGNvbnN0IHF0aVRyYW5zZm9ybUl0ZW0gPSAoKToge1xuICBsb2FkOiAodXJpOiBzdHJpbmcsIGNhbmNlbFByZXZpb3VzUmVxdWVzdD86IGJvb2xlYW4pID0+IFByb21pc2U8dHlwZW9mIGFwaT47XG4gIHBhcnNlOiAoeG1sU3RyaW5nOiBzdHJpbmcpID0+IHR5cGVvZiBhcGk7XG4gIHBhdGg6IChsb2NhdGlvbjogc3RyaW5nKSA9PiB0eXBlb2YgYXBpO1xuICBmbjogKGZuOiAoeG1sRnJhZ21lbnQ6IFhNTERvY3VtZW50KSA9PiB2b2lkKSA9PiB0eXBlb2YgYXBpO1xuICBjdXN0b21JbnRlcmFjdGlvbjogKGJhc2VSZWY6IHN0cmluZywgYmFzZUl0ZW06IHN0cmluZykgPT4gdHlwZW9mIGFwaTtcbiAgaHRtbDogKCkgPT4gc3RyaW5nO1xuICB4bWw6ICgpID0+IHN0cmluZztcbiAgaHRtbGRvYzogKCkgPT4gRG9jdW1lbnRGcmFnbWVudDtcbiAgeG1sZG9jOiAoKSA9PiBYTUxEb2N1bWVudDtcbn0gPT4ge1xuICBsZXQgeG1sRnJhZ21lbnQ6IFhNTERvY3VtZW50O1xuXG4gIGNvbnN0IGFwaSA9IHtcbiAgICBhc3luYyBsb2FkKHVyaTogc3RyaW5nLCBjYW5jZWxQcmV2aW91c1JlcXVlc3QgPSBmYWxzZSkge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHR5cGVvZiBhcGk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgbG9hZFhNTCh1cmksIGNhbmNlbFByZXZpb3VzUmVxdWVzdCkudGhlbih4bWwgPT4ge1xuICAgICAgICAgIHhtbEZyYWdtZW50ID0geG1sO1xuICAgICAgICAgIHJldHVybiByZXNvbHZlKGFwaSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBwYXJzZSh4bWxTdHJpbmc6IHN0cmluZykge1xuICAgICAgeG1sRnJhZ21lbnQgPSBwYXJzZVhNTCh4bWxTdHJpbmcpO1xuICAgICAgcmV0dXJuIGFwaTtcbiAgICB9LFxuICAgIHBhdGg6IChsb2NhdGlvbjogc3RyaW5nKSA9PiB7XG4gICAgICBzZXRMb2NhdGlvbih4bWxGcmFnbWVudCwgbG9jYXRpb24pO1xuICAgICAgcmV0dXJuIGFwaTtcbiAgICB9LFxuICAgIGZuKGZuOiAoeG1sRnJhZ21lbnQ6IFhNTERvY3VtZW50KSA9PiB2b2lkKSB7XG4gICAgICBmbih4bWxGcmFnbWVudCk7XG4gICAgICByZXR1cm4gYXBpO1xuICAgIH0sXG4gICAgcGNpSG9va3ModXJpOiBzdHJpbmcpIHtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBbJ2hvb2snLCAnbW9kdWxlJ107XG4gICAgICBjb25zdCBkb2N1bWVudFBhdGggPSB1cmkuc3Vic3RyaW5nKDAsIHVyaS5sYXN0SW5kZXhPZignLycpKTtcbiAgICAgIGZvciAoY29uc3QgYXR0cmlidXRlIG9mIGF0dHJpYnV0ZXMpIHtcbiAgICAgICAgY29uc3Qgc3JjQXR0cmlidXRlcyA9IHhtbEZyYWdtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1snICsgYXR0cmlidXRlICsgJ10nKTtcbiAgICAgICAgc3JjQXR0cmlidXRlcy5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgICAgIGNvbnN0IHNyY1ZhbHVlID0gbm9kZS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSE7XG4gICAgICAgICAgaWYgKCFzcmNWYWx1ZS5zdGFydHNXaXRoKCdkYXRhOicpICYmICFzcmNWYWx1ZS5zdGFydHNXaXRoKCdodHRwJykpIHtcbiAgICAgICAgICAgIC8vIEp1c3QgcGFzdGUgdGhlIHJlbGF0aXZlIHBhdGggb2YgdGhlIHNyYyBsb2NhdGlvbiBhZnRlciB0aGUgZG9jdW1lbnRyb290UGF0aFxuICAgICAgICAgICAgLy8gb2xkIHBjaXMgY2FuIGhhdmUgYSAuanMsIG5ldyBwY2kncyBkb24ndFxuICAgICAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoJ2Jhc2UtdXJsJywgdXJpKTtcbiAgICAgICAgICAgIG5vZGUuc2V0QXR0cmlidXRlKFxuICAgICAgICAgICAgICAnbW9kdWxlJyxcbiAgICAgICAgICAgICAgZG9jdW1lbnRQYXRoICsgJy8nICsgZW5jb2RlVVJJQ29tcG9uZW50KHNyY1ZhbHVlICsgKHNyY1ZhbHVlLmVuZHNXaXRoKCcuanMnKSA/ICcnIDogJy5qcycpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFwaTtcbiAgICB9LFxuICAgIGN1c3RvbUludGVyYWN0aW9uKGJhc2VSZWY6IHN0cmluZywgYmFzZUl0ZW06IHN0cmluZykge1xuICAgICAgY29uc3QgcXRpQ3VzdG9tSW50ZXJhY3Rpb24gPSB4bWxGcmFnbWVudC5xdWVyeVNlbGVjdG9yKCdxdGktY3VzdG9tLWludGVyYWN0aW9uJyk7XG4gICAgICBjb25zdCBxdGlDdXN0b21JbnRlcmFjdGlvbk9iamVjdCA9IHF0aUN1c3RvbUludGVyYWN0aW9uLnF1ZXJ5U2VsZWN0b3IoJ29iamVjdCcpO1xuXG4gICAgICBxdGlDdXN0b21JbnRlcmFjdGlvbi5zZXRBdHRyaWJ1dGUoJ2RhdGEtYmFzZS1yZWYnLCBiYXNlUmVmKTtcbiAgICAgIHF0aUN1c3RvbUludGVyYWN0aW9uLnNldEF0dHJpYnV0ZSgnZGF0YS1iYXNlLWl0ZW0nLCBiYXNlUmVmICsgYmFzZUl0ZW0pO1xuICAgICAgcXRpQ3VzdG9tSW50ZXJhY3Rpb24uc2V0QXR0cmlidXRlKCdkYXRhJywgcXRpQ3VzdG9tSW50ZXJhY3Rpb25PYmplY3QuZ2V0QXR0cmlidXRlKCdkYXRhJykpO1xuICAgICAgcXRpQ3VzdG9tSW50ZXJhY3Rpb24uc2V0QXR0cmlidXRlKCd3aWR0aCcsIHF0aUN1c3RvbUludGVyYWN0aW9uT2JqZWN0LmdldEF0dHJpYnV0ZSgnd2lkdGgnKSk7XG4gICAgICBxdGlDdXN0b21JbnRlcmFjdGlvbi5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIHF0aUN1c3RvbUludGVyYWN0aW9uT2JqZWN0LmdldEF0dHJpYnV0ZSgnaGVpZ2h0JykpO1xuXG4gICAgICBxdGlDdXN0b21JbnRlcmFjdGlvbi5yZW1vdmVDaGlsZChxdGlDdXN0b21JbnRlcmFjdGlvbk9iamVjdCk7XG4gICAgICByZXR1cm4gYXBpO1xuICAgIH0sXG4gICAgY29udmVydENEQVRBdG9Db21tZW50KCkge1xuICAgICAgY29udmVydENEQVRBdG9Db21tZW50KHhtbEZyYWdtZW50KTtcbiAgICAgIHJldHVybiBhcGk7XG4gICAgfSxcbiAgICBzdHJpcFN0eWxlU2hlZXRzKCkge1xuICAgICAgc3RyaXBTdHlsZVNoZWV0cyh4bWxGcmFnbWVudCk7XG4gICAgICByZXR1cm4gYXBpO1xuICAgIH0sXG4gICAgaHRtbCgpIHtcbiAgICAgIHJldHVybiBuZXcgWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKHRvSFRNTCh4bWxGcmFnbWVudCkpO1xuICAgIH0sXG4gICAgeG1sKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gbmV3IFhNTFNlcmlhbGl6ZXIoKS5zZXJpYWxpemVUb1N0cmluZyh4bWxGcmFnbWVudCk7XG4gICAgfSxcbiAgICBodG1sZG9jKCkge1xuICAgICAgcmV0dXJuIHRvSFRNTCh4bWxGcmFnbWVudCk7XG4gICAgfSxcbiAgICB4bWxkb2MoKTogWE1MRG9jdW1lbnQge1xuICAgICAgcmV0dXJuIHhtbEZyYWdtZW50OyAvLyBuZXcgWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKHhtbEZyYWdtZW50KTtcbiAgICB9XG4gIH07XG4gIHJldHVybiBhcGk7XG59O1xuXG5leHBvcnQgY29uc3QgcXRpVHJhbnNmb3JtTWFuaWZlc3QgPSAoKToge1xuICBsb2FkOiAodXJpOiBzdHJpbmcpID0+IFByb21pc2U8dHlwZW9mIGFwaT47XG4gIGFzc2Vzc21lbnRUZXN0OiAoKSA9PiB7IGhyZWY6IHN0cmluZzsgaWRlbnRpZmllcjogc3RyaW5nIH07XG59ID0+IHtcbiAgbGV0IHhtbEZyYWdtZW50OiBYTUxEb2N1bWVudDtcblxuICBjb25zdCBhcGkgPSB7XG4gICAgYXN5bmMgbG9hZCh1cmkpIHtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx0eXBlb2YgYXBpPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGxvYWRYTUwodXJpKS50aGVuKHhtbCA9PiB7XG4gICAgICAgICAgeG1sRnJhZ21lbnQgPSB4bWw7XG4gICAgICAgICAgcmV0dXJuIHJlc29sdmUoYXBpKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIHBhcnNlKHhtbFN0cmluZzogc3RyaW5nKSB7XG4gICAgICB4bWxGcmFnbWVudCA9IHBhcnNlWE1MKHhtbFN0cmluZyk7XG4gICAgfSxcbiAgICBhc3Nlc3NtZW50VGVzdCgpIHtcbiAgICAgIGNvbnN0IGVsID0geG1sRnJhZ21lbnQucXVlcnlTZWxlY3RvcigncmVzb3VyY2VbdHlwZT1cImltc3F0aV90ZXN0X3htbHYzcDBcIl0nKTtcbiAgICAgIHJldHVybiB7IGhyZWY6IGVsLmdldEF0dHJpYnV0ZSgnaHJlZicpLCBpZGVudGlmaWVyOiBlbC5nZXRBdHRyaWJ1dGUoJ2lkZW50aWZpZXInKSB9O1xuICAgIH1cbiAgfTtcbiAgcmV0dXJuIGFwaTtcbn07XG5cbi8qKlxuICogUmV0dXJucyBhbiBvYmplY3Qgd2l0aCBtZXRob2RzIHRvIGxvYWQsIHBhcnNlIGFuZCB0cmFuc2Zvcm0gUVRJIHRlc3RzLlxuICogQHJldHVybnMgQW4gb2JqZWN0IHdpdGggbWV0aG9kcyB0byBsb2FkLCBwYXJzZSBhbmQgdHJhbnNmb3JtIFFUSSB0ZXN0cy5cbiAqIEBleGFtcGxlXG4gKiBjb25zdCBxdGlUcmFuc2Zvcm1lciA9IHF0aVRyYW5zZm9ybVRlc3QoKTtcbiAqIGF3YWl0IHF0aVRyYW5zZm9ybWVyLmxvYWQoJ2h0dHBzOi8vZXhhbXBsZS5jb20vdGVzdC54bWwnKTtcbiAqIGNvbnN0IGl0ZW1zID0gcXRpVHJhbnNmb3JtZXIuaXRlbXMoKTtcbiAqIGNvbnN0IGh0bWwgPSBxdGlUcmFuc2Zvcm1lci5odG1sKCk7XG4gKiBjb25zdCB4bWwgPSBxdGlUcmFuc2Zvcm1lci54bWwoKTtcbiAqL1xuZXhwb3J0IGNvbnN0IHF0aVRyYW5zZm9ybVRlc3QgPSAoKToge1xuICBsb2FkOiAodXJpOiBzdHJpbmcpID0+IFByb21pc2U8dHlwZW9mIGFwaT47XG4gIHBhcnNlOiAoeG1sU3RyaW5nOiBzdHJpbmcpID0+IHR5cGVvZiBhcGk7XG4gIGZuOiAoZm46ICh4bWxGcmFnbWVudDogWE1MRG9jdW1lbnQpID0+IHZvaWQpID0+IHR5cGVvZiBhcGk7XG4gIGl0ZW1zOiAoKSA9PiB7IGlkZW50aWZpZXI6IHN0cmluZzsgaHJlZjogc3RyaW5nOyBjYXRlZ29yeTogc3RyaW5nIH1bXTtcbiAgaHRtbDogKCkgPT4gc3RyaW5nO1xuICB4bWw6ICgpID0+IHN0cmluZztcbiAgaHRtbGRvYzogKCkgPT4gRG9jdW1lbnRGcmFnbWVudDtcbiAgeG1sZG9jOiAoKSA9PiBYTUxEb2N1bWVudDtcbn0gPT4ge1xuICBsZXQgeG1sRnJhZ21lbnQ6IFhNTERvY3VtZW50O1xuXG4gIGNvbnN0IGFwaSA9IHtcbiAgICBhc3luYyBsb2FkKHVyaSkge1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHR5cGVvZiBhcGk+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgbG9hZFhNTCh1cmkpLnRoZW4oeG1sID0+IHtcbiAgICAgICAgICB4bWxGcmFnbWVudCA9IHhtbDtcbiAgICAgICAgICByZXR1cm4gcmVzb2x2ZShhcGkpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgcGFyc2UoeG1sU3RyaW5nOiBzdHJpbmcpIHtcbiAgICAgIHhtbEZyYWdtZW50ID0gcGFyc2VYTUwoeG1sU3RyaW5nKTtcbiAgICAgIHJldHVybiBhcGk7XG4gICAgfSxcbiAgICBmbihmbjogKHhtbEZyYWdtZW50OiBYTUxEb2N1bWVudCkgPT4gdm9pZCkge1xuICAgICAgZm4oeG1sRnJhZ21lbnQpO1xuICAgICAgcmV0dXJuIGFwaTtcbiAgICB9LFxuICAgIGl0ZW1zKCkge1xuICAgICAgcmV0dXJuIGl0ZW1zRnJvbVRlc3QoeG1sRnJhZ21lbnQpO1xuICAgIH0sXG4gICAgaHRtbCgpIHtcbiAgICAgIHJldHVybiBuZXcgWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKHRvSFRNTCh4bWxGcmFnbWVudCkpO1xuICAgIH0sXG4gICAgeG1sKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gbmV3IFhNTFNlcmlhbGl6ZXIoKS5zZXJpYWxpemVUb1N0cmluZyh4bWxGcmFnbWVudCk7XG4gICAgfSxcbiAgICBodG1sZG9jKCkge1xuICAgICAgcmV0dXJuIHRvSFRNTCh4bWxGcmFnbWVudCk7XG4gICAgfSxcbiAgICB4bWxkb2MoKTogWE1MRG9jdW1lbnQge1xuICAgICAgcmV0dXJuIHhtbEZyYWdtZW50O1xuICAgIH1cbiAgfTtcbiAgcmV0dXJuIGFwaTtcbn07XG5cbi8qICAgPCEtLSBjb252ZXJ0IENEQVRBIHRvIGNvbW1lbnRzIC0tPlxuICA8eHNsOnRlbXBsYXRlIG1hdGNoPVwidGV4dCgpW2NvbnRhaW5zKC4sICdDREFUQScpXVwiPlxuICA8eHNsOmNvbW1lbnQ+XG4gICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9XCIuXCIvPlxuICA8L3hzbDpjb21tZW50PlxuPC94c2w6dGVtcGxhdGU+XG4qL1xuXG4vKlxuICA8IS0tIHJlbW92ZSB4bWwgY29tbWVudHMgLS0+XG4gIDx4c2w6dGVtcGxhdGUgbWF0Y2g9XCJjb21tZW50KClcIiAvPlxuICAqL1xuXG5jb25zdCB4bWxUb0hUTUwgPSB4bWxgPHhzbDpzdHlsZXNoZWV0IHZlcnNpb249XCIxLjBcIiB4bWxuczp4c2w9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm1cIj5cbjx4c2w6b3V0cHV0IG1ldGhvZD1cImh0bWxcIiB2ZXJzaW9uPVwiNS4wXCIgZW5jb2Rpbmc9XCJVVEYtOFwiIGluZGVudD1cInllc1wiIC8+XG4gIDx4c2w6dGVtcGxhdGUgbWF0Y2g9XCJAKnxub2RlKClcIj5cbiAgICA8eHNsOmNvcHk+XG4gICAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcyBzZWxlY3Q9XCJAKnxub2RlKClcIi8+XG4gICAgPC94c2w6Y29weT5cbiAgPC94c2w6dGVtcGxhdGU+XG5cbiAgPCEtLSByZW1vdmUgZXhpc3RpbmcgbmFtZXNwYWNlcyAtLT5cbiAgPHhzbDp0ZW1wbGF0ZSBtYXRjaD1cIipcIj5cbiAgICA8IS0tIHJlbW92ZSBlbGVtZW50IHByZWZpeCAtLT5cbiAgICA8eHNsOmVsZW1lbnQgbmFtZT1cIntsb2NhbC1uYW1lKCl9XCI+XG4gICAgICA8IS0tIHByb2Nlc3MgYXR0cmlidXRlcyAtLT5cbiAgICAgIDx4c2w6Zm9yLWVhY2ggc2VsZWN0PVwiQCpcIj5cbiAgICAgICAgPCEtLSByZW1vdmUgYXR0cmlidXRlIHByZWZpeCAtLT5cbiAgICAgICAgPHhzbDphdHRyaWJ1dGUgbmFtZT1cIntsb2NhbC1uYW1lKCl9XCI+XG4gICAgICAgICAgPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9XCIuXCIvPlxuICAgICAgICA8L3hzbDphdHRyaWJ1dGU+XG4gICAgICA8L3hzbDpmb3ItZWFjaD5cbiAgICA8eHNsOmFwcGx5LXRlbXBsYXRlcy8+XG4gIDwveHNsOmVsZW1lbnQ+XG48L3hzbDp0ZW1wbGF0ZT5cbjwveHNsOnN0eWxlc2hlZXQ+YDtcblxuZnVuY3Rpb24gaXRlbXNGcm9tVGVzdCh4bWxGcmFnbWVudDogRG9jdW1lbnRGcmFnbWVudCkge1xuICBjb25zdCBpdGVtczogeyBpZGVudGlmaWVyOiBzdHJpbmc7IGhyZWY6IHN0cmluZzsgY2F0ZWdvcnk6IHN0cmluZyB9W10gPSBbXTtcbiAgeG1sRnJhZ21lbnQucXVlcnlTZWxlY3RvckFsbCgncXRpLWFzc2Vzc21lbnQtaXRlbS1yZWYnKS5mb3JFYWNoKGVsID0+IHtcbiAgICBjb25zdCBpZGVudGlmaWVyID0gZWwuZ2V0QXR0cmlidXRlKCdpZGVudGlmaWVyJyk7XG4gICAgY29uc3QgaHJlZiA9IGVsLmdldEF0dHJpYnV0ZSgnaHJlZicpO1xuICAgIGNvbnN0IGNhdGVnb3J5ID0gZWwuZ2V0QXR0cmlidXRlKCdjYXRlZ29yeScpO1xuICAgIGl0ZW1zLnB1c2goeyBpZGVudGlmaWVyLCBocmVmLCBjYXRlZ29yeSB9KTtcbiAgfSk7XG4gIHJldHVybiBpdGVtcztcbn1cblxubGV0IGN1cnJlbnRSZXF1ZXN0OiBYTUxIdHRwUmVxdWVzdCB8IG51bGwgPSBudWxsO1xuXG5mdW5jdGlvbiBsb2FkWE1MKHVybCwgY2FuY2VsUHJldmlvdXNSZXF1ZXN0ID0gdHJ1ZSkge1xuICBpZiAoY2FuY2VsUHJldmlvdXNSZXF1ZXN0ICYmIGN1cnJlbnRSZXF1ZXN0ICE9PSBudWxsKSB7XG4gICAgY3VycmVudFJlcXVlc3QuYWJvcnQoKTsgLy8gQWJvcnQgdGhlIG9uZ29pbmcgcmVxdWVzdCBpZiB0aGVyZSBpcyBvbmVcbiAgfVxuXG4gIHJldHVybiBuZXcgUHJvbWlzZTxYTUxEb2N1bWVudCB8IG51bGw+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcbiAgICBjdXJyZW50UmVxdWVzdCA9IHhocjsgLy8gU3RvcmUgdGhlIGN1cnJlbnQgcmVxdWVzdFxuXG4gICAgeGhyLm9wZW4oJ0dFVCcsIHVybCwgdHJ1ZSk7XG4gICAgeGhyLnJlc3BvbnNlVHlwZSA9ICdkb2N1bWVudCc7XG5cbiAgICB4aHIub25sb2FkID0gKCkgPT4ge1xuICAgICAgaWYgKHhoci5zdGF0dXMgPj0gMjAwICYmIHhoci5zdGF0dXMgPCAzMDApIHtcbiAgICAgICAgcmVzb2x2ZSh4aHIucmVzcG9uc2VYTUwpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVqZWN0KHhoci5zdGF0dXNUZXh0KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgeGhyLm9uZXJyb3IgPSAoKSA9PiB7XG4gICAgICByZWplY3QoeGhyLnN0YXR1c1RleHQpO1xuICAgIH07XG5cbiAgICB4aHIuc2VuZCgpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcGFyc2VYTUwoeG1sRG9jdW1lbnQ6IHN0cmluZykge1xuICBjb25zdCBwYXJzZXIgPSBuZXcgRE9NUGFyc2VyKCk7XG4gIGNvbnN0IHhtbEZyYWdtZW50ID0gcGFyc2VyLnBhcnNlRnJvbVN0cmluZyh4bWxEb2N1bWVudCwgJ3RleHQveG1sJyk7XG4gIHJldHVybiB4bWxGcmFnbWVudDtcbn1cblxuZnVuY3Rpb24gdG9IVE1MKHhtbEZyYWdtZW50OiBEb2N1bWVudCk6IERvY3VtZW50RnJhZ21lbnQge1xuICBjb25zdCBwcm9jZXNzb3IgPSBuZXcgWFNMVFByb2Nlc3NvcigpO1xuICBjb25zdCB4c2x0RG9jdW1lbnQgPSBuZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKHhtbFRvSFRNTCwgJ3RleHQveG1sJyk7XG4gIHByb2Nlc3Nvci5pbXBvcnRTdHlsZXNoZWV0KHhzbHREb2N1bWVudCk7XG4gIGNvbnN0IGl0ZW1IVE1MRnJhZ21lbnQgPSBwcm9jZXNzb3IudHJhbnNmb3JtVG9GcmFnbWVudCh4bWxGcmFnbWVudCwgZG9jdW1lbnQpO1xuICByZXR1cm4gaXRlbUhUTUxGcmFnbWVudDtcbn1cblxuZnVuY3Rpb24gc2V0TG9jYXRpb24oeG1sRnJhZ21lbnQ6IERvY3VtZW50RnJhZ21lbnQsIGxvY2F0aW9uOiBzdHJpbmcpIHtcbiAgaWYgKCFsb2NhdGlvbi5lbmRzV2l0aCgnLycpKSB7XG4gICAgbG9jYXRpb24gKz0gJy8nO1xuICB9XG5cbiAgeG1sRnJhZ21lbnQucXVlcnlTZWxlY3RvckFsbCgnW3NyY10sW2hyZWZdLFtwcmltYXJ5LXBhdGhdJykuZm9yRWFjaChlbFdpdGhTcmMgPT4ge1xuICAgIGxldCBhdHRyOiAnc3JjJyB8ICdocmVmJyB8ICdwcmltYXJ5LXBhdGgnIHwgJycgPSAnJztcblxuICAgIGlmIChlbFdpdGhTcmMuZ2V0QXR0cmlidXRlKCdzcmMnKSkge1xuICAgICAgYXR0ciA9ICdzcmMnO1xuICAgIH1cbiAgICBpZiAoZWxXaXRoU3JjLmdldEF0dHJpYnV0ZSgnaHJlZicpKSB7XG4gICAgICBhdHRyID0gJ2hyZWYnO1xuICAgIH1cbiAgICBpZiAoZWxXaXRoU3JjLmdldEF0dHJpYnV0ZSgncHJpbWFyeS1wYXRoJykpIHtcbiAgICAgIGF0dHIgPSAncHJpbWFyeS1wYXRoJztcbiAgICB9XG4gICAgY29uc3QgYXR0clZhbHVlID0gZWxXaXRoU3JjLmdldEF0dHJpYnV0ZShhdHRyKT8udHJpbSgpO1xuXG4gICAgaWYgKCFhdHRyVmFsdWUuc3RhcnRzV2l0aCgnZGF0YTonKSAmJiAhYXR0clZhbHVlLnN0YXJ0c1dpdGgoJ2h0dHAnKSkge1xuICAgICAgY29uc3QgbmV3U3JjVmFsdWUgPSBsb2NhdGlvbiArIGVuY29kZVVSSShhdHRyVmFsdWUpO1xuICAgICAgZWxXaXRoU3JjLnNldEF0dHJpYnV0ZShhdHRyLCBuZXdTcmNWYWx1ZSk7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gY29udmVydENEQVRBdG9Db21tZW50KHhtbEZyYWdtZW50OiBEb2N1bWVudEZyYWdtZW50KSB7XG4gIGNvbnN0IGNkYXRhRWxlbWVudHMgPSB4bWxGcmFnbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdxdGktY3VzdG9tLW9wZXJhdG9yW2NsYXNzPVwianMub3JnXCJdID4gcXRpLWJhc2UtdmFsdWUnKTtcbiAgY2RhdGFFbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgIGNvbnN0IGNvbW1lbnRUZXh0ID0gZG9jdW1lbnQuY3JlYXRlQ29tbWVudChlbGVtZW50LnRleHRDb250ZW50KTtcbiAgICBlbGVtZW50LnJlcGxhY2VDaGlsZChjb21tZW50VGV4dCwgZWxlbWVudC5maXJzdENoaWxkKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHN0cmlwU3R5bGVTaGVldHMoeG1sRnJhZ21lbnQ6IERvY3VtZW50RnJhZ21lbnQpIHtcbiAgLy8gcmVtb3ZlIHF0aS1zdHlsZXNoZWV0IHRhZ1xuICB4bWxGcmFnbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdxdGktc3R5bGVzaGVldCcpLmZvckVhY2goc3R5bGVzaGVldCA9PiBzdHlsZXNoZWV0LnJlbW92ZSgpKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBLElBQU1BLEVBQU0sT0FBTyxJQWtCTkMsRUFBbUIsSUFVM0IsQ0FDSCxJQUFJQyxFQUVFQyxFQUFNLENBQ1YsTUFBTSxLQUFLQyxFQUFhQyxFQUF3QixHQUFPLENBQ3JELE9BQU8sSUFBSSxR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QVcsTUFBTSxFQUFHLENBQ25FLElBQU1DLEVBQWNsQyxFQUFXLFVBQVVpQyxDQUFTLEVBQ2xESCxFQUFVLGFBQWFFLEVBQU1FLENBQVcsQ0FDMUMsQ0FDRixDQUFDLENBQ0gsQ0FFQSxTQUFTdEIsRUFBc0JyQixFQUErQixDQUN0Q0EsRUFBWSxpQkFBaUIsc0RBQXNELEVBQzNGLFFBQVE0QyxHQUFXLENBQy9CLElBQU1DLEVBQWMsU0FBUyxjQUFjRCxFQUFRLFdBQVcsRUFDOURBLEVBQVEsYUFBYUMsRUFBYUQsRUFBUSxVQUFVLENBQ3RELENBQUMsQ0FDSCxDQUVBLFNBQVN0QixFQUFpQnRCLEVBQStCLENBRXZEQSxFQUFZLGlCQUFpQixnQkFBZ0IsRUFBRSxRQUFROEMsR0FBY0EsRUFBVyxPQUFPLENBQUMsQ0FDMUYiLAogICJuYW1lcyI6IFsieG1sIiwgInF0aVRyYW5zZm9ybUl0ZW0iLCAieG1sRnJhZ21lbnQiLCAiYXBpIiwgInVyaSIsICJjYW5jZWxQcmV2aW91c1JlcXVlc3QiLCAicmVzb2x2ZSIsICJyZWplY3QiLCAibG9hZFhNTCIsICJ4bWxTdHJpbmciLCAicGFyc2VYTUwiLCAibG9jYXRpb24iLCAic2V0TG9jYXRpb24iLCAiZm4iLCAiYXR0cmlidXRlcyIsICJkb2N1bWVudFBhdGgiLCAiYXR0cmlidXRlIiwgIm5vZGUiLCAic3JjVmFsdWUiLCAiYmFzZVJlZiIsICJiYXNlSXRlbSIsICJxdGlDdXN0b21JbnRlcmFjdGlvbiIsICJxdGlDdXN0b21JbnRlcmFjdGlvbk9iamVjdCIsICJjb252ZXJ0Q0RBVEF0b0NvbW1lbnQiLCAic3RyaXBTdHlsZVNoZWV0cyIsICJ0b0hUTUwiLCAicXRpVHJhbnNmb3JtTWFuaWZlc3QiLCAiZWwiLCAicXRpVHJhbnNmb3JtVGVzdCIsICJpdGVtc0Zyb21UZXN0IiwgInhtbFRvSFRNTCIsICJpdGVtcyIsICJpZGVudGlmaWVyIiwgImhyZWYiLCAiY2F0ZWdvcnkiLCAiY3VycmVudFJlcXVlc3QiLCAidXJsIiwgInhociIsICJ4bWxEb2N1bWVudCIsICJwcm9jZXNzb3IiLCAieHNsdERvY3VtZW50IiwgImVsV2l0aFNyYyIsICJfYSIsICJhdHRyIiwgImF0dHJWYWx1ZSIsICJuZXdTcmNWYWx1ZSIsICJlbGVtZW50IiwgImNvbW1lbnRUZXh0IiwgInN0eWxlc2hlZXQiXQp9Cg==
@@ -1,2 +0,0 @@
1
- var j=Object.defineProperty,m=Object.defineProperties,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyDescriptors;var h=Object.getOwnPropertySymbols;var p=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable;var k=b=>{throw TypeError(b)};var i=(b,a,c)=>a in b?j(b,a,{enumerable:!0,configurable:!0,writable:!0,value:c}):b[a]=c,r=(b,a)=>{for(var c in a||(a={}))p.call(a,c)&&i(b,c,a[c]);if(h)for(var c of h(a))q.call(a,c)&&i(b,c,a[c]);return b},s=(b,a)=>m(b,o(a));var t=(b,a,c,d)=>{for(var e=d>1?void 0:d?n(a,c):a,f=b.length-1,g;f>=0;f--)(g=b[f])&&(e=(d?g(a,c,e):g(e))||e);return d&&e&&j(a,c,e),e};var l=(b,a,c)=>a.has(b)||k("Cannot "+c);var u=(b,a,c)=>(l(b,a,"read from private field"),c?c.call(b):a.get(b)),v=(b,a,c)=>a.has(b)?k("Cannot add the same private member more than once"):a instanceof WeakSet?a.add(b):a.set(b,c),w=(b,a,c,d)=>(l(b,a,"write to private field"),d?d.call(b,c):a.set(b,c),c);export{r as a,s as b,t as c,u as d,v as e,w as f};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFtdLAogICJzb3VyY2VzQ29udGVudCI6IFtdLAogICJtYXBwaW5ncyI6ICIiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,150 +0,0 @@
1
- import { Q as QtiRule, a as QtiRuleBase, b as QtiExpressionBase, c as QtiExpression, B as BaseType, d as QtiConditionExpression, R as ResponseVariable, V as VariableDeclaration, I as ItemContext } from '../qti-simple-choice-CafJuhnH.js';
2
- export { C as Calculate, m as Cardinality, ad as Interaction, e as InteractionChangedDetails, T as MockQtiExpression, M as Multiple, l as Ordered, O as OutcomeChangedDetails, o as OutcomeVariable, S as QtiAnd, p as QtiAssessmentItem, q as QtiAssessmentStimulusRef, ae as QtiAssociableHotspot, Y as QtiAssociateInteraction, r as QtiChoice, J as QtiChoiceInteraction, w as QtiCompanionMaterialsInfo, x as QtiContentBody, Z as QtiCustomInteraction, ac as QtiCustomOperator, _ as QtiEndAttemptInteraction, E as QtiExtendedTextInteraction, z as QtiFeedbackBlock, A as QtiFeedbackInline, af as QtiGap, ag as QtiGapImg, $ as QtiGapMatchInteraction, ah as QtiGapText, a0 as QtiGraphicAssociateInteraction, a1 as QtiGraphicGapMatchInteraction, a2 as QtiGraphicOrderInteraction, ai as QtiHotspotChoice, a3 as QtiHotspotInteraction, aj as QtiHottext, G as QtiHottextInteraction, ak as QtiInlineChoice, H as QtiInlineChoiceInteraction, f as QtiInteractionChanged, P as QtiLookupOutcomeValue, W as QtiMapping, a4 as QtiMatchInteraction, a5 as QtiMediaInteraction, D as QtiModalFeedback, a6 as QtiOrderInteraction, g as QtiOutcomeChanged, u as QtiOutcomeDeclaration, K as QtiOutcomeProcessing, L as QtiOutcomeProcessingProcessor, X as QtiPortableCustomInteraction, a7 as QtiPositionObjectStage, s as QtiPrompt, v as QtiResponseDeclaration, N as QtiResponseProcessing, y as QtiRubricBlock, a8 as QtiSelectPointInteraction, al as QtiSimpleAssociableChoice, am as QtiSimpleChoice, a9 as QtiSliderInteraction, t as QtiStylesheet, F as QtiTextEntryInteraction, i as ResponseInteraction, n as VariableValue, h as directedPair, j as float, k as integer, ab as itemContext, aa as itemContextVariables, U as qtiAndMixin } from '../qti-simple-choice-CafJuhnH.js';
3
- import * as lit_html from 'lit-html';
4
- import * as lit from 'lit';
5
- import { LitElement } from 'lit';
6
- import 'lit-html/directives/ref.js';
7
-
8
- declare class QtiResponseCondition extends QtiRule {
9
- render(): lit_html.TemplateResult<1>;
10
- process(): void;
11
- }
12
-
13
- declare class QtiSetOutcomeValue extends QtiRule {
14
- process(): void;
15
- }
16
- declare class QtiSetOutcomeValueRule<T> implements QtiRuleBase {
17
- private expression;
18
- constructor(expression: QtiExpressionBase<T>);
19
- process(): any;
20
- }
21
-
22
- declare class QtiResponseElse extends LitElement {
23
- render(): lit_html.TemplateResult<1>;
24
- calculate(): boolean;
25
- getSubRules(): QtiRule[];
26
- process(): void;
27
- }
28
-
29
- declare class QtiResponseIf extends QtiResponseElse {
30
- calculate(): boolean;
31
- getSubRules(): QtiRule[];
32
- }
33
-
34
- declare class QtiResponseElseIf extends QtiResponseIf {
35
- render(): lit_html.TemplateResult<1>;
36
- }
37
-
38
- declare class QtiBaseValue extends QtiExpression<string> {
39
- baseType: BaseType;
40
- getResult(): string;
41
- }
42
-
43
- declare class QtiContains extends QtiConditionExpression {
44
- getResult(): boolean;
45
- }
46
-
47
- declare class QtiCorrect extends QtiExpression<string | string[]> {
48
- get interpretation(): string;
49
- getResult(): string | string[];
50
- }
51
-
52
- declare class QtiEqualRounded extends QtiExpression<boolean> {
53
- roundingMode: 'decimalPlaces' | 'significantFigures';
54
- get figures(): number;
55
- getResult(): boolean;
56
- }
57
-
58
- declare class QtiEqual extends QtiExpression<boolean> {
59
- toleranceMode: 'exact' | 'relative' | 'absolute';
60
- getResult(): boolean;
61
- }
62
-
63
- declare class QtiGt extends QtiExpression<boolean> {
64
- getResult(): boolean;
65
- }
66
-
67
- declare class QtiGte extends QtiConditionExpression {
68
- getResult(): boolean;
69
- }
70
-
71
- declare class QtiIsNull extends QtiExpression<boolean> {
72
- getResult(): boolean;
73
- }
74
-
75
- declare class QtiLt extends QtiExpression<boolean> {
76
- getResult(): boolean;
77
- }
78
-
79
- declare class QtiLte extends QtiConditionExpression {
80
- getResult(): boolean;
81
- }
82
-
83
- declare class QtiMapResponse extends QtiExpression<number> {
84
- identifier: string;
85
- getResult(): number;
86
- }
87
-
88
- declare class QtiMatch extends QtiExpression<boolean> {
89
- getResult(): boolean;
90
- static match(valueToMap: ResponseVariable, correctValueInfo: ResponseVariable): boolean;
91
- }
92
-
93
- declare class QtiMember extends QtiExpression<boolean | null> {
94
- getResult(): boolean;
95
- }
96
-
97
- declare class QtiMultiple extends QtiExpression<VariableDeclaration<string | string[]>[]> {
98
- getResult(): ResponseVariable[];
99
- }
100
-
101
- declare class QtiNot extends QtiExpression<boolean> {
102
- render(): lit_html.TemplateResult<1>;
103
- getResult(): boolean;
104
- }
105
-
106
- declare class QtiOr extends QtiConditionExpression {
107
- getResult(): boolean;
108
- }
109
-
110
- declare class QtiOrdered extends QtiExpression<ResponseVariable[]> {
111
- getResult(): ResponseVariable[];
112
- }
113
-
114
- declare class QtPrintedVariable extends LitElement {
115
- identifier: string;
116
- itemContext?: ItemContext;
117
- render(): lit_html.TemplateResult<1>;
118
- calculate(): Readonly<string | string[]>;
119
- }
120
-
121
- declare class QtiProduct extends QtiExpression<number> {
122
- getResult(): number;
123
- }
124
-
125
- declare class QtiStringMatch extends QtiExpression<boolean> {
126
- caseSensitive: string;
127
- getResult(): boolean;
128
- }
129
-
130
- declare class QtiSum extends QtiExpression<number> {
131
- private _expression;
132
- constructor();
133
- getResult(): number;
134
- }
135
- declare class QtiSumExpression implements QtiExpressionBase<number> {
136
- private expressions;
137
- constructor(expressions: QtiExpressionBase<number>[]);
138
- calculate(): number;
139
- }
140
-
141
- declare class QtiVariable extends QtiExpression<string | string[]> {
142
- getResult(): Readonly<string | string[]>;
143
- }
144
-
145
- declare class QtiSPositionObjectInteraction extends LitElement {
146
- render(): lit_html.TemplateResult<1>;
147
- static styles: lit.CSSResult[];
148
- }
149
-
150
- export { BaseType, ItemContext, QtPrintedVariable, QtiBaseValue, QtiConditionExpression, QtiContains, QtiCorrect, QtiEqual, QtiEqualRounded, QtiExpression, QtiExpressionBase, QtiGt, QtiGte, QtiIsNull, QtiLt, QtiLte, QtiMapResponse, QtiMatch, QtiMember, QtiMultiple, QtiNot, QtiOr, QtiOrdered, QtiProduct, QtiResponseCondition, QtiResponseElse, QtiResponseElseIf, QtiResponseIf, QtiRule, QtiRuleBase, QtiSPositionObjectInteraction, QtiSetOutcomeValue, QtiSetOutcomeValueRule, QtiStringMatch, QtiSum, QtiSumExpression, QtiVariable, ResponseVariable, VariableDeclaration };