@scolladon/tsgit 1.0.0 → 1.2.0
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/README.md +29 -137
- package/dist/cjs/adapters/browser/index.cjs +1 -1
- package/dist/cjs/adapters/browser/index.cjs.map +1 -1
- package/dist/cjs/adapters/memory/index.cjs +1 -1
- package/dist/cjs/adapters/memory/index.cjs.map +1 -1
- package/dist/cjs/adapters/node/index.cjs +1 -1
- package/dist/cjs/adapters/node/index.cjs.map +1 -1
- package/dist/cjs/chunks/browser-http-transport-D4NH-8oJ.cjs +2 -0
- package/dist/cjs/chunks/browser-http-transport-D4NH-8oJ.cjs.map +1 -0
- package/dist/cjs/chunks/context-BcoAzPuU.cjs.map +1 -1
- package/dist/cjs/chunks/error-CDLOBdNU.cjs +2 -0
- package/dist/cjs/chunks/error-CDLOBdNU.cjs.map +1 -0
- package/dist/cjs/chunks/index-BVArBKuk.cjs +2 -0
- package/dist/cjs/chunks/index-BVArBKuk.cjs.map +1 -0
- package/dist/cjs/chunks/index-DE9HSiWf.cjs +2 -0
- package/dist/cjs/chunks/index-DE9HSiWf.cjs.map +1 -0
- package/dist/cjs/chunks/{logger-Cz9r6yt5.cjs → logger-CVG0zcPH.cjs} +2 -2
- package/dist/cjs/chunks/{logger-Cz9r6yt5.cjs.map → logger-CVG0zcPH.cjs.map} +1 -1
- package/dist/cjs/chunks/memory-http-transport-DXwDGKtR.cjs +2 -0
- package/dist/cjs/chunks/memory-http-transport-DXwDGKtR.cjs.map +1 -0
- package/dist/cjs/chunks/node-http-transport-vrbnNEDb.cjs +2 -0
- package/dist/cjs/chunks/node-http-transport-vrbnNEDb.cjs.map +1 -0
- package/dist/cjs/chunks/{progress-CK7CT9vU.cjs → progress-Bj2w-90A.cjs} +2 -2
- package/dist/cjs/chunks/{progress-CK7CT9vU.cjs.map → progress-Bj2w-90A.cjs.map} +1 -1
- package/dist/cjs/chunks/readable-stream-MTA6D0Zh.cjs +2 -0
- package/dist/cjs/chunks/readable-stream-MTA6D0Zh.cjs.map +1 -0
- package/dist/cjs/chunks/repository-BJwTSiGf.cjs +2 -0
- package/dist/cjs/chunks/repository-BJwTSiGf.cjs.map +1 -0
- package/dist/cjs/commands/index.cjs +1 -1
- package/dist/cjs/index.browser.cjs +1 -1
- package/dist/cjs/index.browser.cjs.map +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.default.cjs +1 -1
- package/dist/cjs/index.default.cjs.map +1 -1
- package/dist/cjs/index.node.cjs +1 -1
- package/dist/cjs/index.node.cjs.map +1 -1
- package/dist/cjs/operators/index.cjs +1 -1
- package/dist/cjs/operators/index.cjs.map +1 -1
- package/dist/cjs/primitives/index.cjs +1 -1
- package/dist/cjs/primitives/index.cjs.map +1 -1
- package/dist/cjs/transport/index.cjs.map +1 -1
- package/dist/esm/adapters/browser/index.js +1 -1
- package/dist/esm/adapters/browser/index.js.map +1 -1
- package/dist/esm/adapters/memory/index.js +1 -1
- package/dist/esm/adapters/memory/index.js.map +1 -1
- package/dist/esm/adapters/node/index.js +1 -1
- package/dist/esm/adapters/node/index.js.map +1 -1
- package/dist/esm/chunks/browser-http-transport-DL8bkNdg.js +2 -0
- package/dist/esm/chunks/browser-http-transport-DL8bkNdg.js.map +1 -0
- package/dist/esm/chunks/context-CumKOV7K.js.map +1 -1
- package/dist/esm/chunks/error-MOmSzp9Z.js +2 -0
- package/dist/esm/chunks/error-MOmSzp9Z.js.map +1 -0
- package/dist/esm/chunks/index-BjmofbKE.js +2 -0
- package/dist/esm/chunks/index-BjmofbKE.js.map +1 -0
- package/dist/esm/chunks/index-Jh5R-UmU.js +2 -0
- package/dist/esm/chunks/index-Jh5R-UmU.js.map +1 -0
- package/dist/esm/chunks/{logger-84ixEPbQ.js → logger-DP2cCpvL.js} +2 -2
- package/dist/esm/chunks/{logger-84ixEPbQ.js.map → logger-DP2cCpvL.js.map} +1 -1
- package/dist/esm/chunks/memory-http-transport-COJU6VOL.js +2 -0
- package/dist/esm/chunks/memory-http-transport-COJU6VOL.js.map +1 -0
- package/dist/esm/chunks/node-http-transport-DYCFIJbc.js +2 -0
- package/dist/esm/chunks/node-http-transport-DYCFIJbc.js.map +1 -0
- package/dist/esm/chunks/{progress-OTDhgmPO.js → progress-NePjO3Kd.js} +2 -2
- package/dist/esm/chunks/{progress-OTDhgmPO.js.map → progress-NePjO3Kd.js.map} +1 -1
- package/dist/esm/chunks/readable-stream-CGuf8k1J.js +2 -0
- package/dist/esm/chunks/readable-stream-CGuf8k1J.js.map +1 -0
- package/dist/esm/chunks/repository-Cs-dbHqO.js +2 -0
- package/dist/esm/chunks/repository-Cs-dbHqO.js.map +1 -0
- package/dist/esm/commands/index.js +1 -1
- package/dist/esm/index.browser.js +1 -1
- package/dist/esm/index.browser.js.map +1 -1
- package/dist/esm/index.default.js +1 -1
- package/dist/esm/index.default.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.node.js +1 -1
- package/dist/esm/index.node.js.map +1 -1
- package/dist/esm/operators/index.js +1 -1
- package/dist/esm/operators/index.js.map +1 -1
- package/dist/esm/primitives/index.js +1 -1
- package/dist/esm/primitives/index.js.map +1 -1
- package/dist/esm/transport/index.js.map +1 -1
- package/dist/types/adapters/browser/index.d.cts +2 -1
- package/dist/types/adapters/browser/index.d.ts +2 -1
- package/dist/types/adapters/memory/index.d.cts +23 -2
- package/dist/types/adapters/memory/index.d.ts +23 -2
- package/dist/types/adapters/node/index.d.cts +178 -3
- package/dist/types/adapters/node/index.d.ts +178 -3
- package/dist/types/chunks/{context-CTaXSPiP.d.ts → context-BORy7yXb.d.ts} +133 -20
- package/dist/types/chunks/{context-d36639-i.d.cts → context-CMrHCVwK.d.cts} +133 -20
- package/dist/types/chunks/reflog-entry-BIf-zt__.d.cts +331 -0
- package/dist/types/chunks/reflog-entry-D9P2hCgv.d.ts +331 -0
- package/dist/types/chunks/{repository-CFT9j9H6.d.cts → repository-BqibvTOu.d.cts} +23 -4
- package/dist/types/chunks/{repository-ntg7eXb2.d.ts → repository-C4rN09Am.d.ts} +23 -4
- package/dist/types/chunks/write-tree-B8G6kgTy.d.cts +154 -0
- package/dist/types/chunks/write-tree-BXCDChvv.d.ts +154 -0
- package/dist/types/commands/index.d.cts +229 -37
- package/dist/types/commands/index.d.ts +229 -37
- package/dist/types/index.browser.d.cts +4 -4
- package/dist/types/index.browser.d.ts +4 -4
- package/dist/types/index.d.cts +4 -4
- package/dist/types/index.d.ts +4 -4
- package/dist/types/index.default.d.cts +4 -4
- package/dist/types/index.default.d.ts +4 -4
- package/dist/types/index.node.d.cts +4 -4
- package/dist/types/index.node.d.ts +4 -4
- package/dist/types/operators/index.d.cts +17 -1
- package/dist/types/operators/index.d.ts +17 -1
- package/dist/types/primitives/index.d.cts +393 -171
- package/dist/types/primitives/index.d.ts +393 -171
- package/package.json +76 -10
- package/dist/cjs/chunks/browser-http-transport-BBF8uw-f.cjs +0 -2
- package/dist/cjs/chunks/browser-http-transport-BBF8uw-f.cjs.map +0 -1
- package/dist/cjs/chunks/error-DL4SHCBJ.cjs +0 -2
- package/dist/cjs/chunks/error-DL4SHCBJ.cjs.map +0 -1
- package/dist/cjs/chunks/error-DN8Vnwr4.cjs +0 -2
- package/dist/cjs/chunks/error-DN8Vnwr4.cjs.map +0 -1
- package/dist/cjs/chunks/index-iUd-bwwm.cjs +0 -2
- package/dist/cjs/chunks/index-iUd-bwwm.cjs.map +0 -1
- package/dist/cjs/chunks/memory-http-transport-DGll7Af4.cjs +0 -2
- package/dist/cjs/chunks/memory-http-transport-DGll7Af4.cjs.map +0 -1
- package/dist/cjs/chunks/merge-base-DlGWnkxP.cjs +0 -2
- package/dist/cjs/chunks/merge-base-DlGWnkxP.cjs.map +0 -1
- package/dist/cjs/chunks/node-http-transport-CuOgJlws.cjs +0 -2
- package/dist/cjs/chunks/node-http-transport-CuOgJlws.cjs.map +0 -1
- package/dist/cjs/chunks/repository-Cfo6Bj8T.cjs +0 -2
- package/dist/cjs/chunks/repository-Cfo6Bj8T.cjs.map +0 -1
- package/dist/esm/chunks/browser-http-transport-mZQKkInJ.js +0 -2
- package/dist/esm/chunks/browser-http-transport-mZQKkInJ.js.map +0 -1
- package/dist/esm/chunks/error-CnIcr6IG.js +0 -2
- package/dist/esm/chunks/error-CnIcr6IG.js.map +0 -1
- package/dist/esm/chunks/error-DTEP18A3.js +0 -2
- package/dist/esm/chunks/error-DTEP18A3.js.map +0 -1
- package/dist/esm/chunks/index-CJc-SKMj.js +0 -2
- package/dist/esm/chunks/index-CJc-SKMj.js.map +0 -1
- package/dist/esm/chunks/memory-http-transport-BmHjaEWj.js +0 -2
- package/dist/esm/chunks/memory-http-transport-BmHjaEWj.js.map +0 -1
- package/dist/esm/chunks/merge-base-DmuOYxfP.js +0 -2
- package/dist/esm/chunks/merge-base-DmuOYxfP.js.map +0 -1
- package/dist/esm/chunks/node-http-transport-Bz3noIS3.js +0 -2
- package/dist/esm/chunks/node-http-transport-Bz3noIS3.js.map +0 -1
- package/dist/esm/chunks/repository-qcX3-LkP.js +0 -2
- package/dist/esm/chunks/repository-qcX3-LkP.js.map +0 -1
- package/dist/types/chunks/diff-change-B09vxnxy.d.cts +0 -59
- package/dist/types/chunks/diff-change-D7xSeCn9.d.ts +0 -59
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scolladon/tsgit",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Lightning-fast git, pure TypeScript, everywhere.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -176,14 +176,22 @@
|
|
|
176
176
|
"test": "wireit",
|
|
177
177
|
"test:unit": "wireit",
|
|
178
178
|
"test:integration": "wireit",
|
|
179
|
+
"test:posix-integration": "wireit",
|
|
180
|
+
"test:win-integration": "wireit",
|
|
179
181
|
"test:e2e": "wireit",
|
|
180
182
|
"test:coverage": "wireit",
|
|
181
183
|
"test:mutation": "wireit",
|
|
182
184
|
"test:mutation:incremental": "wireit",
|
|
183
185
|
"test:bench": "wireit",
|
|
184
186
|
"bench:summary": "wireit",
|
|
187
|
+
"bench:fixture": "node --experimental-strip-types scripts/gen-bench-fixture.ts",
|
|
188
|
+
"profile": "npm run build && node --experimental-strip-types scripts/profile.ts",
|
|
185
189
|
"docs": "wireit",
|
|
186
190
|
"docs:check": "wireit",
|
|
191
|
+
"docs:json": "wireit",
|
|
192
|
+
"check:doc-links": "wireit",
|
|
193
|
+
"check:doc-coverage": "wireit",
|
|
194
|
+
"check:doc-typedoc": "wireit",
|
|
187
195
|
"verify:tarball": "wireit",
|
|
188
196
|
"check:size": "wireit",
|
|
189
197
|
"check:exports": "wireit",
|
|
@@ -313,6 +321,30 @@
|
|
|
313
321
|
],
|
|
314
322
|
"output": []
|
|
315
323
|
},
|
|
324
|
+
"test:posix-integration": {
|
|
325
|
+
"command": "vitest run --project posix-integration",
|
|
326
|
+
"dependencies": [
|
|
327
|
+
"check:types"
|
|
328
|
+
],
|
|
329
|
+
"files": [
|
|
330
|
+
"src/**/*.ts",
|
|
331
|
+
"test/integration/posix-only/**/*.ts",
|
|
332
|
+
"vitest.config.ts"
|
|
333
|
+
],
|
|
334
|
+
"output": []
|
|
335
|
+
},
|
|
336
|
+
"test:win-integration": {
|
|
337
|
+
"command": "vitest run --project win-integration",
|
|
338
|
+
"dependencies": [
|
|
339
|
+
"check:types"
|
|
340
|
+
],
|
|
341
|
+
"files": [
|
|
342
|
+
"src/**/*.ts",
|
|
343
|
+
"test/integration/win-only/**/*.ts",
|
|
344
|
+
"vitest.config.ts"
|
|
345
|
+
],
|
|
346
|
+
"output": []
|
|
347
|
+
},
|
|
316
348
|
"test:e2e": {
|
|
317
349
|
"command": "npx playwright test",
|
|
318
350
|
"dependencies": [
|
|
@@ -329,7 +361,7 @@
|
|
|
329
361
|
]
|
|
330
362
|
},
|
|
331
363
|
"test:coverage": {
|
|
332
|
-
"command": "vitest run --coverage",
|
|
364
|
+
"command": "vitest run --project unit --coverage",
|
|
333
365
|
"dependencies": [
|
|
334
366
|
"check:types"
|
|
335
367
|
],
|
|
@@ -421,6 +453,38 @@
|
|
|
421
453
|
],
|
|
422
454
|
"output": []
|
|
423
455
|
},
|
|
456
|
+
"docs:json": {
|
|
457
|
+
"command": "typedoc --json reports/api.json --disableSources --out reports/api-tmp && rm -rf reports/api-tmp",
|
|
458
|
+
"files": [
|
|
459
|
+
"src/**/*.ts",
|
|
460
|
+
"typedoc.json",
|
|
461
|
+
"tsconfig.build.json",
|
|
462
|
+
"README.md"
|
|
463
|
+
],
|
|
464
|
+
"output": [
|
|
465
|
+
"reports/api.json"
|
|
466
|
+
]
|
|
467
|
+
},
|
|
468
|
+
"check:doc-links": {
|
|
469
|
+
"command": "lychee --config .lychee.toml README.md CONTRIBUTING.md RUNBOOK.md SECURITY.md 'docs/**/*.md'"
|
|
470
|
+
},
|
|
471
|
+
"check:doc-coverage": {
|
|
472
|
+
"command": "node --experimental-strip-types scripts/check-doc-coverage.ts",
|
|
473
|
+
"files": [
|
|
474
|
+
"src/repository.ts",
|
|
475
|
+
"scripts/check-doc-coverage.ts",
|
|
476
|
+
"scripts/check-doc-coverage.allowlist.json",
|
|
477
|
+
"docs/use/commands/**/*.md",
|
|
478
|
+
"docs/use/primitives/**/*.md"
|
|
479
|
+
],
|
|
480
|
+
"output": []
|
|
481
|
+
},
|
|
482
|
+
"check:doc-typedoc": {
|
|
483
|
+
"command": "git diff --exit-code -- reports/api.json",
|
|
484
|
+
"dependencies": [
|
|
485
|
+
"docs:json"
|
|
486
|
+
]
|
|
487
|
+
},
|
|
424
488
|
"verify:tarball": {
|
|
425
489
|
"command": "bash scripts/verify-tarball.sh",
|
|
426
490
|
"dependencies": [
|
|
@@ -496,6 +560,8 @@
|
|
|
496
560
|
"check:size",
|
|
497
561
|
"check:exports",
|
|
498
562
|
"check:security",
|
|
563
|
+
"check:doc-coverage",
|
|
564
|
+
"check:doc-typedoc",
|
|
499
565
|
"test:coverage",
|
|
500
566
|
"test:integration"
|
|
501
567
|
]
|
|
@@ -503,8 +569,8 @@
|
|
|
503
569
|
},
|
|
504
570
|
"lint-staged": {
|
|
505
571
|
"*.ts": [
|
|
506
|
-
"biome check --write",
|
|
507
|
-
"vitest related --run"
|
|
572
|
+
"biome check --write --no-errors-on-unmatched",
|
|
573
|
+
"vitest related --run --project unit"
|
|
508
574
|
]
|
|
509
575
|
},
|
|
510
576
|
"devDependencies": {
|
|
@@ -521,15 +587,15 @@
|
|
|
521
587
|
"@stryker-mutator/core": "9.6.1",
|
|
522
588
|
"@stryker-mutator/typescript-checker": "9.6.1",
|
|
523
589
|
"@stryker-mutator/vitest-runner": "9.6.1",
|
|
524
|
-
"@types/node": "25.
|
|
525
|
-
"@vitest/coverage-v8": "4.1.
|
|
590
|
+
"@types/node": "25.9.1",
|
|
591
|
+
"@vitest/coverage-v8": "4.1.7",
|
|
526
592
|
"cspell": "10.0.0",
|
|
527
593
|
"dependency-cruiser": "17.4.0",
|
|
528
594
|
"fast-check": "4.8.0",
|
|
529
595
|
"husky": "9.1.7",
|
|
530
|
-
"isomorphic-git": "1.38.
|
|
531
|
-
"jscpd": "4.2.
|
|
532
|
-
"knip": "6.14.
|
|
596
|
+
"isomorphic-git": "1.38.1",
|
|
597
|
+
"jscpd": "4.2.3",
|
|
598
|
+
"knip": "6.14.2",
|
|
533
599
|
"lint-staged": "17.0.5",
|
|
534
600
|
"rollup": "4.60.4",
|
|
535
601
|
"rollup-plugin-dts": "6.4.1",
|
|
@@ -537,7 +603,7 @@
|
|
|
537
603
|
"size-limit": "12.1.0",
|
|
538
604
|
"typedoc": "0.28.19",
|
|
539
605
|
"typescript": "6.0.3",
|
|
540
|
-
"vitest": "4.1.
|
|
606
|
+
"vitest": "4.1.7",
|
|
541
607
|
"wireit": "0.14.12"
|
|
542
608
|
}
|
|
543
609
|
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var t=require("./error-DL4SHCBJ.cjs");function e(e,r){const a=e[e.length-1];if(void 0===a)throw t.fileNotFound(r);return a}function r(e){return e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code}function a(t,e,r){return{ctimeMs:e,mtimeMs:e,dev:0,ino:0,mode:r?33188:16877,uid:0,gid:0,size:t,isFile:r,isDirectory:!r,isSymbolicLink:!1}}function s(t){let e="";for(const r of t)e+=r.toString(16).padStart(2,"0");return e}exports.BrowserCompressor=class{async deflate(e){try{const t=new Blob([e]).stream().pipeThrough(new CompressionStream("deflate"));return new Uint8Array(await new Response(t).arrayBuffer())}catch(e){throw t.compressFailed(e instanceof Error?e.message:String(e))}}async inflate(e){try{const t=new Blob([e]).stream().pipeThrough(new DecompressionStream("deflate"));return new Uint8Array(await new Response(t).arrayBuffer())}catch(e){throw t.decompressFailed(e instanceof Error?e.message:String(e))}}async streamInflate(e,r){const a=e.subarray(r);if(a.length>65536)throw t.decompressFailed("BrowserCompressor.streamInflate input exceeds 65536 byte safety cap");for(let t=1;t<=a.length;t+=1){const e=a.subarray(0,t);try{const r=new Blob([e]).stream().pipeThrough(new DecompressionStream("deflate"));return{output:new Uint8Array(await new Response(r).arrayBuffer()),bytesConsumed:t}}catch{}}throw t.decompressFailed("no valid zlib stream at offset")}createInflateStream(){return new DecompressionStream("deflate")}},exports.BrowserFileSystem=class{rootHandle;constructor(t){this.rootHandle=t}async read(t){const e=await this.resolveFileHandle(t,!1),r=await e.getFile();return new Uint8Array(await r.arrayBuffer())}async readSlice(e,r,a){if(r<0||a<0)throw t.permissionDenied(e);const s=await this.resolveFileHandle(e,!1),i=(await s.getFile()).slice(r,r+a);return new Uint8Array(await i.arrayBuffer())}async readUtf8(t){const e=await this.resolveFileHandle(t,!1);return(await e.getFile()).text()}async write(t,e){const r=await this.resolveFileHandle(t,!0),a=await r.createWritable();await a.write(e),await a.close()}async writeExclusive(r,a){const s=this.splitPath(r);if(0===s.length)throw t.permissionDenied(r);const i=await this.walkToParent(s,!0),o=e(s,r);await this.assertDoesNotExist(i,o,r);const n=await i.getFileHandle(o,{create:!0}),c=await n.createWritable();await c.write(a),await c.close()}async writeUtf8(t,e){await this.write(t,(new TextEncoder).encode(e))}async exists(t){try{return await this.resolveFileHandle(t,!1),!0}catch(e){if(r(e))try{return await this.resolveDirHandle(t,!1),!0}catch{return!1}throw e}}async stat(t){try{const e=await this.resolveFileHandle(t,!1),r=await e.getFile();return a(r.size,r.lastModified,!0)}catch(e){if(!r(e))throw e;return await this.resolveDirHandle(t,!1),a(0,Date.now(),!1)}}async lstat(t){return this.stat(t)}async readdir(t){const e=[],r=await this.resolveDirHandle(t,!1);for await(const[t,a]of r.entries())e.push({name:t,isFile:"file"===a.kind,isDirectory:"directory"===a.kind,isSymbolicLink:!1});return e}async mkdir(t){const e=this.splitPath(t);let r=this.rootHandle;for(const t of e)r=await r.getDirectoryHandle(t,{create:!0})}async rm(r){const a=this.splitPath(r);if(0===a.length)throw t.permissionDenied(r);const s=await this.walkToParent(a,!1),i=e(a,r);try{await s.removeEntry(i)}catch{throw t.fileNotFound(r)}}async rename(t,e){const r=await this.read(t);await this.write(e,r),await this.rm(t)}async readlink(e){throw t.unsupportedOperation("readlink","OPFS does not support symbolic links")}async symlink(e,r){throw t.unsupportedOperation("symlink","OPFS does not support symbolic links")}async chmod(t,e){try{await this.resolveFileHandle(t,!1)}catch(e){if(!r(e))throw e;await this.resolveDirHandle(t,!1)}}async rmRecursive(a){const s=this.splitPath(a);if(0===s.length)throw t.permissionDenied(a);const i=await this.walkToParent(s,!1).catch(t=>{if(!r(t))throw t});if(void 0===i)return;const o=e(s,a);try{await i.removeEntry(o,{recursive:!0})}catch{}}async openWithNoFollow(e,r){throw t.unsupportedOperation("openWithNoFollow","browser FS does not support O_NOFOLLOW")}splitPath(e){const r=e.replace(/^\/+/,"").split("/").filter(t=>""!==t&&"."!==t);for(const a of r)if(".."===a)throw t.permissionDenied(e);return r}async resolveFileHandle(r,a){const s=this.splitPath(r);if(0===s.length)throw t.fileNotFound(r);const i=await this.walkToParent(s,a),o=e(s,r);try{return await i.getFileHandle(o,{create:a})}catch(e){if(e instanceof t.TsgitError)throw e;throw t.fileNotFound(r)}}async resolveDirHandle(r,a){const s=this.splitPath(r);if(0===s.length)return this.rootHandle;const i=await this.walkToParent(s,a),o=e(s,r);try{return await i.getDirectoryHandle(o,{create:a})}catch(e){if(e instanceof t.TsgitError)throw e;throw t.fileNotFound(r)}}async walkToParent(e,r){let a=this.rootHandle;for(let s=0;s<e.length-1;s++){const i=e[s];if(void 0===i)throw t.fileNotFound(e.join("/"));try{a=await a.getDirectoryHandle(i,{create:r})}catch(r){if(r instanceof t.TsgitError)throw r;throw t.fileNotFound(e.join("/"))}}return a}async assertDoesNotExist(e,r,a){try{await e.getFileHandle(r,{create:!1})}catch(e){if(e instanceof t.TsgitError)throw e;return}throw t.fileExists(a)}},exports.BrowserHashService=class{algorithm;digestLength;constructor(e="sha1"){if(!globalThis.crypto?.subtle)throw t.hashFailed("crypto.subtle unavailable");this.algorithm=e,this.digestLength="sha1"===e?20:32}async hash(t){return new Uint8Array(await crypto.subtle.digest(this.algoName,t))}async hashHex(t){return s(await this.hash(t))}createHasher(){const e=[],r=this.algoName;let a=!1;const i=async()=>{if(a)throw t.hashFailed("cannot digest after digest");a=!0;const s=e.reduce((t,e)=>t+e.length,0),i=new Uint8Array(s);let o=0;for(const t of e)i.set(t,o),o+=t.length;return new Uint8Array(await crypto.subtle.digest(r,i))};return{update(r){if(a)throw t.hashFailed("cannot update after digest");e.push(r.slice())},digest:i,digestHex:async()=>s(await i())}}get algoName(){return"sha1"===this.algorithm?"SHA-1":"SHA-256"}},exports.BrowserHttpTransport=class{async request(e){try{const t={method:e.method,headers:{...e.headers}};void 0!==e.body&&(t.body=e.body),void 0!==e.signal&&(t.signal=e.signal);const r=await fetch(e.url,t),a={};r.headers.forEach((t,e)=>{a[e.toLowerCase()]=t});const s=r.body??new ReadableStream;return{statusCode:r.status,headers:a,body:s}}catch(e){throw t.networkError(e instanceof Error?e.message:String(e))}}};
|
|
2
|
-
//# sourceMappingURL=browser-http-transport-BBF8uw-f.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browser-http-transport-BBF8uw-f.cjs","sources":["../../../src/adapters/browser/browser-file-system.ts","../../../src/adapters/browser/browser-hash-service.ts","../../../src/adapters/browser/browser-compressor.ts","../../../src/adapters/browser/browser-http-transport.ts"],"sourcesContent":[null,null,null,null],"names":["leafSegment","segments","path","leaf","length","undefined","fileNotFound","isFileNotFound","err","TsgitError","data","code","buildFileStat","size","timeMs","isFile","ctimeMs","mtimeMs","dev","ino","mode","uid","gid","isDirectory","isSymbolicLink","toHex","bytes","result","byte","toString","padStart","deflate","stream","Blob","pipeThrough","CompressionStream","Uint8Array","Response","arrayBuffer","compressFailed","Error","message","String","inflate","DecompressionStream","decompressFailed","streamInflate","offset","slice","subarray","end","attempt","output","bytesConsumed","createInflateStream","rootHandle","constructor","this","read","handle","resolveFileHandle","file","getFile","readSlice","permissionDenied","readUtf8","text","write","writable","createWritable","close","writeExclusive","splitPath","dir","walkToParent","assertDoesNotExist","getFileHandle","create","writeUtf8","content","TextEncoder","encode","exists","resolveDirHandle","stat","lastModified","Date","now","lstat","readdir","entries","iterable","name","child","push","kind","mkdir","segment","getDirectoryHandle","rm","removeEntry","rename","src","dst","readlink","_path","unsupportedOperation","symlink","_target","chmod","_mode","rmRecursive","parent","catch","recursive","openWithNoFollow","replace","split","filter","s","i","join","fileExists","algorithm","digestLength","globalThis","crypto","subtle","hashFailed","hash","digest","algoName","hashHex","createHasher","chunks","consumed","finalize","async","total","reduce","sum","chunk","concatenated","set","update","digestHex","request","req","init","method","headers","body","signal","res","fetch","url","forEach","value","key","toLowerCase","ReadableStream","statusCode","status","networkError"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";class e extends Error{data;name="TsgitError";constructor(e){super(`${e.code}: ${function(e){switch(e.code){case"INVALID_OBJECT_ID":case"INVALID_FILE_MODE":return e.value;case"INVALID_OBJECT_HEADER":case"INVALID_TREE_ENTRY":case"INVALID_COMMIT":case"INVALID_TAG":case"INVALID_IDENTITY":case"INVALID_PACK_HEADER":case"INVALID_PACK_INDEX":case"INVALID_PACK_ENTRY":case"INVALID_DELTA":case"INVALID_REF":case"INVALID_PACKED_REFS":case"INVALID_INDEX_HEADER":case"INVALID_INDEX_ENTRY":return e.reason;case"FILE_NOT_FOUND":return`file not found: ${r(e.path)}`;case"FILE_EXISTS":return`file already exists: ${r(e.path)}`;case"NOT_A_DIRECTORY":return`not a directory: ${r(e.path)}`;case"PERMISSION_DENIED":return`permission denied: ${r(e.path)}`;case"UNSUPPORTED_OPERATION":return`unsupported operation: ${e.operation}: ${e.reason}`;case"HASH_FAILED":return`hash computation failed: ${e.reason}`;case"COMPRESS_FAILED":return`compression failed: ${e.reason}`;case"DECOMPRESS_FAILED":return`decompression failed: ${e.reason}`;case"HTTP_ERROR":return`HTTP ${e.statusCode}: ${e.reason}`;case"NETWORK_ERROR":return`network error: ${e.reason}`;case"INVALID_TREE_FOR_DIFF":return`invalid tree for diff: ${e.reason}`;case"INVALID_DIFF_INPUT":return`invalid diff input: ${e.reason}`;case"INVALID_MERGE_TREE":return`invalid merge tree: ${e.reason}`;case"INVALID_MERGE_INPUT":return`invalid merge input: ${e.reason}`;case"OBJECT_NOT_FOUND":return`object not found: ${e.id}`;case"OBJECT_HASH_MISMATCH":return`object hash mismatch: expected=${e.expected} actual=${e.actual}`;case"UNEXPECTED_OBJECT_TYPE":return`unexpected object type: expected=${e.expected} actual=${e.actual} id=${e.id}`;case"TREE_CYCLE_DETECTED":return`tree cycle detected: ${e.id}`;case"TREE_DEPTH_EXCEEDED":return`tree depth exceeded: ${e.depth}`;case"TREE_ENTRY_LIMIT_EXCEEDED":return`tree entry limit exceeded: count=${e.count} limit=${e.limit}`;case"DELTA_CHAIN_TOO_DEEP":return`delta chain too deep: ${e.depth}`;case"REF_NOT_FOUND":return`ref not found: ${e.name}`;case"REF_CHAIN_TOO_DEEP":return`ref chain too deep: depth=${e.depth} chain=${e.chain.join("->")}`;case"REF_CYCLE_DETECTED":return`ref cycle detected: ${e.chain.join("->")}`;case"REF_LOCKED":return`ref locked: ${e.name}`;case"REF_UPDATE_CONFLICT":return`ref update conflict: name=${e.name} expected=${e.expected} actual=${e.actual}`;case"INVALID_WALK_INPUT":return`invalid walk input: ${e.reason}`;case"OPERATION_ABORTED":return"operation aborted";case"INVALID_PKT_LENGTH":return`invalid pkt-line length: ${e.value}`;case"PKT_LENGTH_RESERVED":return`reserved pkt-line length: ${e.value}`;case"PKT_TOO_LARGE":return`pkt-line too large: ${e.value} bytes (max 65520)`;case"PKT_TRUNCATED":return`pkt-line truncated: ${e.remaining} bytes remaining`;case"INVALID_BASE_URL":return`invalid base URL: ${e.reason}`;case"MISSING_SERVICE_HEADER":return`missing service header: expected=${e.expected} actual=${e.actual}`;case"MISSING_CAPABILITIES":return"missing capabilities in advertisement";case"INVALID_REF_LINE":return`invalid ref line: ${e.line}`;case"DUPLICATE_REF":return`duplicate ref: ${e.name}`;case"INVALID_SIDEBAND_CHANNEL":return`invalid sideband channel: ${e.channel}`;case"SIDEBAND_FATAL":return`sideband fatal: ${e.message}`;case"UNKNOWN_ACK_STATUS":return`unknown ack status: ${e.value}`;case"INVALID_REPORT_STATUS":return`invalid report-status line: ${e.line}`;case"EMPTY_WANTS":return"upload-pack request has no wants";case"EMPTY_RECEIVE_UPDATES":return"receive-pack request has no updates";case"RESOURCE_LOCKED":return`${e.resource} locked: ${r(e.path)}`;case"PACK_TOO_LARGE":return`pack contains ${e.objectCount} objects, exceeds limit ${e.limit}`;case"NOT_A_REPOSITORY":return`not a git repository: ${r(e.path)}`;case"BARE_REPOSITORY":return`operation requires a working tree: ${e.operation}`;case"ALREADY_INITIALIZED":return`repository already exists: ${r(e.path)}`;case"WORKING_TREE_DIRTY":return`working tree has uncommitted changes: ${e.paths.length} files`;case"PATHSPEC_NO_MATCH":return`pathspec did not match any files: ${e.pattern}`;case"PATHSPEC_OUTSIDE_REPO":return`pathspec resolves outside repository: ${r(e.path)}`;case"NOTHING_TO_COMMIT":return"nothing to commit (use allowEmpty: true to commit anyway)";case"EMPTY_COMMIT_MESSAGE":return"commit message is empty (use allowEmptyMessage: true to commit anyway)";case"AUTHOR_UNCONFIGURED":return"author identity not configured (set ctx.config.user or pass author/committer)";case"BRANCH_EXISTS":return`branch already exists: ${e.name}`;case"BRANCH_NOT_FOUND":return`branch not found: ${e.name}`;case"TAG_EXISTS":return`tag already exists: ${e.name}`;case"TAG_NOT_FOUND":return`tag not found: ${e.name}`;case"CANNOT_DELETE_CHECKED_OUT_BRANCH":return`cannot delete branch currently checked out: ${e.name}`;case"INVALID_URL":return`invalid URL: ${e.reason}`;case"BLOCKED_HOST":return`host blocked: ${e.host} (${e.reason})`;case"TOO_MANY_REDIRECTS":return`too many redirects: ${e.count}`;case"UNSUPPORTED_SCHEME":return`unsupported URL scheme: ${e.scheme}`;case"TARGET_DIRECTORY_NOT_EMPTY":return`target directory is not empty: ${r(e.path)}`;case"REMOTE_ADVERTISES_NO_REFS":return"remote advertised no refs";case"NON_FAST_FORWARD":return`non-fast-forward update for ${e.ref}: local=${e.local} remote=${e.remote}`;case"PUSH_REJECTED":return`push rejected for ${e.ref}: ${e.reason}`;case"MERGE_HAS_CONFLICTS":return`merge has unresolved conflicts: ${e.count} files`;case"CHECKOUT_OVERWRITE_DIRTY":return`checkout would overwrite uncommitted changes: ${e.paths.length} files`;case"REVPARSE_AMBIGUOUS":return`revision expression "${e.expression}" is ambiguous (${e.candidates.length} candidates)`;case"REVPARSE_UNRESOLVED":return`cannot resolve revision: ${e.expression}`;case"EMPTY_PATHSPEC":return'pathspec is empty (use "." to mean "all paths")';case"OPERATION_IN_PROGRESS":return`${e.operation} in progress; complete or abort it before running this command`;case"MAX_REFSPECS_EXCEEDED":return`${e.count} refspecs exceeds limit ${e.limit}`;case"REMOTE_NOT_CONFIGURED":return`remote not configured: ${e.remote}`;case"REFSPEC_INVALID":return`invalid refspec "${e.raw}": ${e.reason}`;case"INVALID_OPTION":return`invalid option: ${e.option} — ${e.reason}`;case"REPOSITORY_DISPOSED":return"repository has been disposed; create a new one with openRepository()";case"ADAPTER_UNAVAILABLE":return`adapter unavailable for runtime ${e.runtime}: ${e.reason}`;default:return String(e)}}(e)}`),this.data=e}}function r(e){const r=e.split(/[/\\]/);for(let e=r.length-1;e>=0;e--){const t=r[e];if(void 0!==t&&""!==t)return t}return e}exports.TsgitError=e,exports.compressFailed=r=>new e({code:"COMPRESS_FAILED",reason:r}),exports.decompressFailed=r=>new e({code:"DECOMPRESS_FAILED",reason:r}),exports.fileExists=r=>new e({code:"FILE_EXISTS",path:r}),exports.fileNotFound=r=>new e({code:"FILE_NOT_FOUND",path:r}),exports.hashFailed=r=>new e({code:"HASH_FAILED",reason:r}),exports.invalidWalkInput=r=>new e({code:"INVALID_WALK_INPUT",reason:r}),exports.networkError=r=>new e({code:"NETWORK_ERROR",reason:r}),exports.notADirectory=r=>new e({code:"NOT_A_DIRECTORY",path:r}),exports.operationAborted=()=>new e({code:"OPERATION_ABORTED"}),exports.permissionDenied=r=>new e({code:"PERMISSION_DENIED",path:r}),exports.unsupportedOperation=(r,t)=>new e({code:"UNSUPPORTED_OPERATION",operation:r,reason:t});
|
|
2
|
-
//# sourceMappingURL=error-DL4SHCBJ.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-DL4SHCBJ.cjs","sources":["../../../src/domain/error.ts"],"sourcesContent":[null],"names":["TsgitError","Error","data","name","constructor","super","code","value","reason","basename","path","operation","statusCode","id","expected","actual","depth","count","limit","chain","join","remaining","line","channel","message","resource","objectCount","paths","length","pattern","host","scheme","ref","local","remote","expression","candidates","raw","option","runtime","String","extractDetail","this","segments","split","i","segment","undefined"],"mappings":"aAuDM,MAAOA,UAAmBC,MAGTC,KAFHC,KAAO,aAEzB,WAAAC,CAAqBF,GACnBG,MAAM,GAAGH,EAAKI,SAsDlB,SAAuBJ,GACrB,OAAQA,EAAKI,MACX,IAAK,oBACL,IAAK,oBACH,OAAOJ,EAAKK,MACd,IAAK,wBACL,IAAK,qBACL,IAAK,iBACL,IAAK,cACL,IAAK,mBACL,IAAK,sBACL,IAAK,qBACL,IAAK,qBACL,IAAK,gBACL,IAAK,cACL,IAAK,sBACL,IAAK,uBACL,IAAK,sBACH,OAAOL,EAAKM,OACd,IAAK,iBACH,MAAO,mBAAmBC,EAASP,EAAKQ,QAC1C,IAAK,cACH,MAAO,wBAAwBD,EAASP,EAAKQ,QAC/C,IAAK,kBACH,MAAO,oBAAoBD,EAASP,EAAKQ,QAC3C,IAAK,oBACH,MAAO,sBAAsBD,EAASP,EAAKQ,QAC7C,IAAK,wBACH,MAAO,0BAA0BR,EAAKS,cAAcT,EAAKM,SAC3D,IAAK,cACH,MAAO,4BAA4BN,EAAKM,SAC1C,IAAK,kBACH,MAAO,uBAAuBN,EAAKM,SACrC,IAAK,oBACH,MAAO,yBAAyBN,EAAKM,SACvC,IAAK,aACH,MAAO,QAAQN,EAAKU,eAAeV,EAAKM,SAC1C,IAAK,gBACH,MAAO,kBAAkBN,EAAKM,SAChC,IAAK,wBACH,MAAO,0BAA0BN,EAAKM,SACxC,IAAK,qBACH,MAAO,uBAAuBN,EAAKM,SACrC,IAAK,qBACH,MAAO,uBAAuBN,EAAKM,SACrC,IAAK,sBACH,MAAO,wBAAwBN,EAAKM,SACtC,IAAK,mBACH,MAAO,qBAAqBN,EAAKW,KACnC,IAAK,uBACH,MAAO,kCAAkCX,EAAKY,mBAAmBZ,EAAKa,SACxE,IAAK,yBACH,MAAO,oCAAoCb,EAAKY,mBAAmBZ,EAAKa,aAAab,EAAKW,KAC5F,IAAK,sBACH,MAAO,wBAAwBX,EAAKW,KACtC,IAAK,sBACH,MAAO,wBAAwBX,EAAKc,QACtC,IAAK,4BACH,MAAO,oCAAoCd,EAAKe,eAAef,EAAKgB,QACtE,IAAK,uBACH,MAAO,yBAAyBhB,EAAKc,QACvC,IAAK,gBACH,MAAO,kBAAkBd,EAAKC,OAChC,IAAK,qBACH,MAAO,6BAA6BD,EAAKc,eAAed,EAAKiB,MAAMC,KAAK,QAC1E,IAAK,qBACH,MAAO,uBAAuBlB,EAAKiB,MAAMC,KAAK,QAChD,IAAK,aACH,MAAO,eAAelB,EAAKC,OAC7B,IAAK,sBACH,MAAO,6BAA6BD,EAAKC,iBAAiBD,EAAKY,mBAAmBZ,EAAKa,SACzF,IAAK,qBACH,MAAO,uBAAuBb,EAAKM,SACrC,IAAK,oBACH,MAAO,oBACT,IAAK,qBACH,MAAO,4BAA4BN,EAAKK,QAC1C,IAAK,sBACH,MAAO,6BAA6BL,EAAKK,QAC3C,IAAK,gBACH,MAAO,uBAAuBL,EAAKK,0BACrC,IAAK,gBACH,MAAO,uBAAuBL,EAAKmB,4BACrC,IAAK,mBACH,MAAO,qBAAqBnB,EAAKM,SACnC,IAAK,yBACH,MAAO,oCAAoCN,EAAKY,mBAAmBZ,EAAKa,SAC1E,IAAK,uBACH,MAAO,wCACT,IAAK,mBACH,MAAO,qBAAqBb,EAAKoB,OACnC,IAAK,gBACH,MAAO,kBAAkBpB,EAAKC,OAChC,IAAK,2BACH,MAAO,6BAA6BD,EAAKqB,UAC3C,IAAK,iBACH,MAAO,mBAAmBrB,EAAKsB,UACjC,IAAK,qBACH,MAAO,uBAAuBtB,EAAKK,QACrC,IAAK,wBACH,MAAO,+BAA+BL,EAAKoB,OAC7C,IAAK,cACH,MAAO,mCACT,IAAK,wBACH,MAAO,sCACT,IAAK,kBACH,MAAO,GAAGpB,EAAKuB,oBAAoBhB,EAASP,EAAKQ,QACnD,IAAK,iBACH,MAAO,iBAAiBR,EAAKwB,sCAAsCxB,EAAKgB,QAC1E,IAAK,mBACH,MAAO,yBAAyBT,EAASP,EAAKQ,QAChD,IAAK,kBACH,MAAO,sCAAsCR,EAAKS,YACpD,IAAK,sBACH,MAAO,8BAA8BF,EAASP,EAAKQ,QACrD,IAAK,qBACH,MAAO,yCAAyCR,EAAKyB,MAAMC,eAC7D,IAAK,oBACH,MAAO,qCAAqC1B,EAAK2B,UACnD,IAAK,wBACH,MAAO,yCAAyCpB,EAASP,EAAKQ,QAChE,IAAK,oBACH,MAAO,4DACT,IAAK,uBACH,MAAO,yEACT,IAAK,sBACH,MAAO,gFACT,IAAK,gBACH,MAAO,0BAA0BR,EAAKC,OACxC,IAAK,mBACH,MAAO,qBAAqBD,EAAKC,OACnC,IAAK,aACH,MAAO,uBAAuBD,EAAKC,OACrC,IAAK,gBACH,MAAO,kBAAkBD,EAAKC,OAChC,IAAK,mCACH,MAAO,+CAA+CD,EAAKC,OAC7D,IAAK,cACH,MAAO,gBAAgBD,EAAKM,SAC9B,IAAK,eACH,MAAO,iBAAiBN,EAAK4B,SAAS5B,EAAKM,UAC7C,IAAK,qBACH,MAAO,uBAAuBN,EAAKe,QACrC,IAAK,qBACH,MAAO,2BAA2Bf,EAAK6B,SACzC,IAAK,6BACH,MAAO,kCAAkCtB,EAASP,EAAKQ,QACzD,IAAK,4BACH,MAAO,4BACT,IAAK,mBACH,MAAO,+BAA+BR,EAAK8B,cAAc9B,EAAK+B,gBAAgB/B,EAAKgC,SACrF,IAAK,gBACH,MAAO,qBAAqBhC,EAAK8B,QAAQ9B,EAAKM,SAChD,IAAK,sBACH,MAAO,mCAAmCN,EAAKe,cACjD,IAAK,2BACH,MAAO,iDAAiDf,EAAKyB,MAAMC,eACrE,IAAK,qBACH,MAAO,wBAAwB1B,EAAKiC,6BAA6BjC,EAAKkC,WAAWR,qBACnF,IAAK,sBACH,MAAO,4BAA4B1B,EAAKiC,aAC1C,IAAK,iBACH,MAAO,kDACT,IAAK,wBACH,MAAO,GAAGjC,EAAKS,0EACjB,IAAK,wBACH,MAAO,GAAGT,EAAKe,gCAAgCf,EAAKgB,QACtD,IAAK,wBACH,MAAO,0BAA0BhB,EAAKgC,SACxC,IAAK,kBACH,MAAO,oBAAoBhC,EAAKmC,SAASnC,EAAKM,SAChD,IAAK,iBACH,MAAO,mBAAmBN,EAAKoC,YAAYpC,EAAKM,SAClD,IAAK,sBACH,MAAO,uEACT,IAAK,sBACH,MAAO,mCAAmCN,EAAKqC,YAAYrC,EAAKM,SAClE,QAEE,OAAOgC,OADoBtC,GAIjC,CA5O2BuC,CAAcvC,MADlBwC,KAAAxC,KAAAA,CAErB,EAII,SAAUO,EAASC,GACvB,MAAMiC,EAAWjC,EAAKkC,MAAM,SAI5B,IAAK,IAAIC,EAAIF,EAASf,OAAS,EAAGiB,GAAK,EAAGA,IAAK,CAC7C,MAAMC,EAAUH,EAASE,GACzB,QAAgBE,IAAZD,GAAqC,KAAZA,EAC3B,OAAOA,CAEX,CACA,OAAOpC,CACT,6CAoB+BF,GAC7B,IAAIR,EAAW,CAAEM,KAAM,kBAAmBE,oCAEXA,GAC/B,IAAIR,EAAW,CAAEM,KAAM,oBAAqBE,8BAnBnBE,GACzB,IAAIV,EAAW,CAAEM,KAAM,cAAeI,8BAJXA,GAC3B,IAAIV,EAAW,CAAEM,KAAM,iBAAkBI,4BAchBF,GACzB,IAAIR,EAAW,CAAEM,KAAM,cAAeE,oCAcPA,GAC/B,IAAIR,EAAW,CAAEM,KAAM,qBAAsBE,gCAJlBA,GAC3B,IAAIR,EAAW,CAAEM,KAAM,gBAAiBE,iCAtBZE,GAC5B,IAAIV,EAAW,CAAEM,KAAM,kBAAmBI,kCA0BZ,IAAkB,IAAIV,EAAW,CAAEM,KAAM,+CAxBxCI,GAC/B,IAAIV,EAAW,CAAEM,KAAM,oBAAqBI,sCAEV,CAACC,EAAmBH,IACtD,IAAIR,EAAW,CAAEM,KAAM,wBAAyBK,YAAWH"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var r=require("./error-DL4SHCBJ.cjs");const e=r=>{let e="";for(let o=0;o<r.length;o+=1){const t=r.charCodeAt(o);e+=9===t||10===t||t>=32&&t<=126?r[o]:`\\x${t.toString(16).toUpperCase().padStart(2,"0")}`}return e},o=e;exports.adapterUnavailable=(o,t)=>new r.TsgitError({code:"ADAPTER_UNAVAILABLE",runtime:o,reason:e(t)}),exports.authorUnconfigured=()=>new r.TsgitError({code:"AUTHOR_UNCONFIGURED"}),exports.blockedHost=(o,t)=>new r.TsgitError({code:"BLOCKED_HOST",host:e(o),reason:e(t)}),exports.branchExists=e=>new r.TsgitError({code:"BRANCH_EXISTS",name:e}),exports.branchNotFound=e=>new r.TsgitError({code:"BRANCH_NOT_FOUND",name:e}),exports.cannotDeleteCheckedOutBranch=e=>new r.TsgitError({code:"CANNOT_DELETE_CHECKED_OUT_BRANCH",name:e}),exports.checkoutOverwriteDirty=e=>new r.TsgitError({code:"CHECKOUT_OVERWRITE_DIRTY",paths:e}),exports.emptyCommitMessage=()=>new r.TsgitError({code:"EMPTY_COMMIT_MESSAGE"}),exports.emptyPathspec=()=>new r.TsgitError({code:"EMPTY_PATHSPEC"}),exports.invalidOption=(o,t)=>new r.TsgitError({code:"INVALID_OPTION",option:o,reason:e(t)}),exports.invalidUrl=e=>new r.TsgitError({code:"INVALID_URL",reason:e}),exports.nonFastForward=(e,o,t)=>new r.TsgitError({code:"NON_FAST_FORWARD",ref:e,local:o,remote:t}),exports.nothingToCommit=()=>new r.TsgitError({code:"NOTHING_TO_COMMIT"}),exports.operationInProgress=e=>new r.TsgitError({code:"OPERATION_IN_PROGRESS",operation:e}),exports.pathspecNoMatch=e=>new r.TsgitError({code:"PATHSPEC_NO_MATCH",pattern:e}),exports.pathspecOutsideRepo=e=>new r.TsgitError({code:"PATHSPEC_OUTSIDE_REPO",path:e}),exports.remoteAdvertisesNoRefs=()=>new r.TsgitError({code:"REMOTE_ADVERTISES_NO_REFS"}),exports.remoteNotConfigured=e=>new r.TsgitError({code:"REMOTE_NOT_CONFIGURED",remote:e}),exports.repositoryDisposed=()=>new r.TsgitError({code:"REPOSITORY_DISPOSED"}),exports.revparseUnresolved=e=>new r.TsgitError({code:"REVPARSE_UNRESOLVED",expression:e}),exports.sanitize=o,exports.tagExists=e=>new r.TsgitError({code:"TAG_EXISTS",name:e}),exports.tagNotFound=e=>new r.TsgitError({code:"TAG_NOT_FOUND",name:e}),exports.targetDirectoryNotEmpty=e=>new r.TsgitError({code:"TARGET_DIRECTORY_NOT_EMPTY",path:e}),exports.unsupportedScheme=e=>new r.TsgitError({code:"UNSUPPORTED_SCHEME",scheme:e});
|
|
2
|
-
//# sourceMappingURL=error-DN8Vnwr4.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-DN8Vnwr4.cjs","sources":["../../../src/domain/commands/error.ts"],"sourcesContent":[null],"names":["sanitizeForDisplay","s","out","i","length","code","charCodeAt","toString","toUpperCase","padStart","sanitize","runtime","reason","TsgitError","host","name","paths","option","ref","local","remote","operation","pattern","path","expression","scheme"],"mappings":"mDAyDA,MAAMA,EAAsBC,IAC1B,IAAIC,EAAM,GACV,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAEG,OAAQD,GAAK,EAAG,CACpC,MAAME,EAAOJ,EAAEK,WAAWH,GAExBD,GADW,IAATG,GAA0B,KAATA,GAAkBA,GAAQ,IAAQA,GAAQ,IACtDJ,EAAEE,GAEF,MAAME,EAAKE,SAAS,IAAIC,cAAcC,SAAS,EAAG,MAE7D,CACA,OAAOP,GAGIQ,EAAWV,6BA+FU,CAChCW,EACAC,IAEA,IAAIC,EAAAA,WAAW,CACbR,KAAM,sBACNM,UACAC,OAAQZ,EAAmBY,gCAtFG,IAAkB,IAAIC,EAAAA,WAAW,CAAER,KAAM,4CAoBhD,CAACS,EAAcF,IACxC,IAAIC,EAAAA,WAAW,CACbR,KAAM,eACNS,KAAMd,EAAmBc,GACzBF,OAAQZ,EAAmBY,0BAtBFG,GAC3B,IAAIF,EAAAA,WAAW,CAAER,KAAM,gBAAiBU,gCAEXA,GAC7B,IAAIF,EAAAA,WAAW,CAAER,KAAM,mBAAoBU,8CAQAA,GAC3C,IAAIF,EAAAA,WAAW,CAAER,KAAM,mCAAoCU,wCAoCtBC,GACrC,IAAIH,EAAAA,WAAW,CAAER,KAAM,2BAA4BW,qCAvDnB,IAChC,IAAIH,EAAAA,WAAW,CAAER,KAAM,+CAgEI,IAAkB,IAAIQ,EAAAA,WAAW,CAAER,KAAM,yCAYzC,CAACY,EAAgBL,IAC5C,IAAIC,EAAAA,WAAW,CAAER,KAAM,iBAAkBY,SAAQL,OAAQZ,EAAmBY,wBA1DnDA,GACzB,IAAIC,EAAAA,WAAW,CAAER,KAAM,cAAeO,kCAqBV,CAACM,EAAcC,EAAiBC,IAC5D,IAAIP,EAAAA,WAAW,CAAER,KAAM,mBAAoBa,MAAKC,QAAOC,mCA7C1B,IAAkB,IAAIP,EAAAA,WAAW,CAAER,KAAM,kDAsEtEgB,GACe,IAAIR,EAAAA,WAAW,CAAER,KAAM,wBAAyBgB,sCA7EjCC,GAC9B,IAAIT,EAAAA,WAAW,CAAER,KAAM,oBAAqBiB,wCAEVC,GAClC,IAAIV,EAAAA,WAAW,CAAER,KAAM,wBAAyBkB,wCA2CZ,IACpC,IAAIV,EAAAA,WAAW,CAAER,KAAM,0DAkCWe,GAClC,IAAIP,EAAAA,WAAW,CAAER,KAAM,wBAAyBe,sCAKhB,IAAkB,IAAIP,EAAAA,WAAW,CAAER,KAAM,mDAlBxCmB,GACjC,IAAIX,EAAAA,WAAW,CAAER,KAAM,sBAAuBmB,oDApDtBT,GACxB,IAAIF,EAAAA,WAAW,CAAER,KAAM,aAAcU,6BAEXA,GAC1B,IAAIF,EAAAA,WAAW,CAAER,KAAM,gBAAiBU,yCAqBFQ,GACtC,IAAIV,EAAAA,WAAW,CAAER,KAAM,6BAA8BkB,mCAJrBE,GAChC,IAAIZ,EAAAA,WAAW,CAAER,KAAM,qBAAsBoB"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var t=require("./error-DL4SHCBJ.cjs"),e=require("./merge-base-DlGWnkxP.cjs"),r=require("./error-DN8Vnwr4.cjs");function a(t,r,a,i,o){r.setUint32(a,i.ctimeSeconds),r.setUint32(a+4,i.ctimeNanoseconds),r.setUint32(a+8,i.mtimeSeconds),r.setUint32(a+12,i.mtimeNanoseconds),r.setUint32(a+16,i.dev),r.setUint32(a+20,i.ino),r.setUint32(a+24,Number.parseInt(i.mode,8)),r.setUint32(a+28,i.uid),r.setUint32(a+32,i.gid),r.setUint32(a+36,i.fileSize);const n=e.hexToBytes(i.id);t.set(n,a+40);const s=Math.min(o.length,4095);r.setUint16(a+60,(i.flags.assumeValid?32768:0)|i.flags.stage<<12|s),t.set(o,a+62)}const i=(e,r)=>new t.TsgitError(void 0===r?{code:"RESOURCE_LOCKED",resource:"index",path:e}:{code:"RESOURCE_LOCKED",resource:"index",path:e,mtimeMs:r}),o=async(r,a={})=>{const o=`${e.indexPath(r.layout.gitDir)}${e.lockSuffix}`,d=e.indexPath(r.layout.gitDir),f=a.now??(()=>Date.now()),l=a.breakStaleLockMs;try{await r.fs.writeExclusive(o,new Uint8Array)}catch(e){if(!(e instanceof t.TsgitError)||"FILE_EXISTS"!==e.data.code)throw e;if(void 0===l)throw i(o,await n(r,o));await s(r,o,l,f)}return c(r,o,d)},n=async(t,e)=>{try{return(await t.fs.lstat(e)).mtimeMs}catch{return}},s=async(e,r,a,o)=>{const s=await n(e,r);if(void 0===s)return void await e.fs.writeExclusive(r,new Uint8Array);const c=o()-s;if(c<0)throw i(r,s);if(c<a)throw i(r,s);await e.fs.rm(r);try{await e.fs.writeExclusive(r,new Uint8Array)}catch(a){if(a instanceof t.TsgitError&&"FILE_EXISTS"===a.data.code)throw i(r,await n(e,r));throw a}},c=(r,i,o)=>{let n=!1,s=!1;return{release:async()=>{if(!n&&!s){s=!0;try{await r.fs.rm(i)}catch(e){if(!(e instanceof t.TsgitError)||"FILE_NOT_FOUND"!==e.data.code)throw e}}},commit:async t=>{if(n||s)return;const c=function(t){const r=[...t.entries].sort((t,e)=>t.path<e.path?-1:t.path>e.path?1:0),i=r.map(t=>{const r=e.encode(t.path);return{entry:t,pathBytes:r,paddedLength:62+r.length+8&-8}}),o=t.extensions.map(t=>({ext:t,sigBytes:e.encode(t.signature),totalLength:8+t.data.length})),n=12+i.reduce((t,e)=>t+e.paddedLength,0)+o.reduce((t,e)=>t+e.totalLength,0),s=new Uint8Array(n),c=new DataView(s.buffer);c.setUint32(0,1145655875),c.setUint32(4,2),c.setUint32(8,r.length);let d=12;for(const{entry:t,pathBytes:e,paddedLength:r}of i)a(s,c,d,t,e),d+=r;for(const{ext:t,sigBytes:e,totalLength:r}of o)s.set(e,d),c.setUint32(d+4,t.data.length),s.set(t.data,d+8),d+=r;return s}({entries:[...t],extensions:[]}),d=await r.hash.hash(c),f=new Uint8Array(c.length+d.length);f.set(c,0),f.set(d,c.length),await r.fs.write(i,f),await r.fs.rename(i,o),n=!0}}};let d=new WeakMap;const f=t=>{const e=d.get(t);if(void 0!==e)return e;const r=l(t);return d.set(t,r),r},l=async t=>{const e=await u(t);return void 0===e?{}:w(e)},u=async e=>{try{return await e.fs.readUtf8(`${e.layout.gitDir}/config`)}catch(e){if(e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code)return;throw e}},w=t=>{const e=h(t);return b(e)},h=t=>{const e=[];let r;for(const a of m(t.split("\n"))){const t=p(a).trim();if(""===t)continue;const i=y(t);if(void 0!==i){r={section:i.section,subsection:i.subsection,entries:[]},e.push(r);continue}if(void 0===r)continue;const o=v(t);void 0!==o&&r.entries.push(o)}return e},m=t=>{const e=[];let r="";for(const a of t){const t=""===r?a:a.replace(/^\s+/,"");a.endsWith("\\")?r+=t.slice(0,t.length-(a.endsWith("\\")?1:0)):(e.push(`${r}${t}`),r="")}return""!==r&&e.push(r),e},p=t=>{const e=[g(t,"#"),g(t,";")].filter(t=>t>=0);return 0===e.length?t:t.slice(0,Math.min(...e))},g=(t,e)=>{let r=!1;for(let a=0;a<t.length;a+=1){const i=t[a];if('"'===i)r=!r;else if(!r&&i===e)return a}return-1},y=t=>{if(!t.startsWith("[")||!t.endsWith("]"))return;const e=t.slice(1,-1).trim();if(""===e)return;const r=e.indexOf('"');if(-1===r)return{section:e,subsection:void 0};const a=e.slice(0,r).trim(),i=e.lastIndexOf('"');return i<=r?void 0:{section:a,subsection:e.slice(r+1,i)}},v=t=>{const e=t.indexOf("=");if(-1===e)return;const r=t.slice(0,e).trim();return""!==r?{key:r,value:t.slice(e+1).trim()}:void 0},b=t=>{const e={};for(const r of t)"core"===r.section&&void 0===r.subsection?E(e,r):"user"===r.section&&void 0===r.subsection?k(e,r):"remote"===r.section&&void 0!==r.subsection?$(e,r.subsection,r):"branch"===r.section&&void 0!==r.subsection&&D(e,r.subsection,r);return x(e)},E=(t,e)=>{for(const{key:r,value:a}of e.entries)"bare"===r&&(t.core??={},t.core={...t.core,bare:U(a)})},k=(t,e)=>{for(const{key:r,value:a}of e.entries)"name"===r?(t.user??={},t.user={...t.user,name:a}):"email"===r&&(t.user??={},t.user={...t.user,email:a})},$=(t,e,r)=>{t.remote??=new Map;const a=t.remote.get(e)??{},i=a.fetch?[...a.fetch]:[];let o=a.url;for(const{key:t,value:e}of r.entries)"url"===t?o=e:"fetch"===t&&i.push(e);const n={};void 0!==o&&(n.url=o),i.length>0&&(n.fetch=i),t.remote.set(e,n)},D=(t,e,r)=>{t.branch??=new Map;const a={...t.branch.get(e)??{}};for(const{key:t,value:e}of r.entries)"remote"===t?a.remote=e:"merge"===t&&(a.merge=e);t.branch.set(e,a)},x=t=>{const e={};return void 0!==t.core?.bare&&(e.core={bare:t.core.bare}),void 0!==t.user?.name&&void 0!==t.user?.email&&(e.user={name:t.user.name,email:t.user.email}),void 0!==t.remote&&t.remote.size>0&&(e.remote=t.remote),void 0!==t.branch&&t.branch.size>0&&(e.branch=t.branch),e},R=new Set(["true","yes","on","1"]),N=new Set(["false","no","off","0",""]),U=t=>{const e=t.toLowerCase();return!!R.has(e)||(N.has(e),!1)},A=e.RefName.from("HEAD"),I=async e=>{const r=`${e.layout.gitDir}/HEAD`;if(!await e.fs.exists(r))throw new t.TsgitError({code:"NOT_A_REPOSITORY",path:e.layout.workDir});return e.layout.bare?e.layout.gitDir:e.layout.workDir},L=async(e,r)=>{if(await(async t=>{const e=await f(t);return e.core?.bare??!1})(e))throw(e=>new t.TsgitError({code:"BARE_REPOSITORY",operation:e}))(r)},T=async r=>{const a=`${r.layout.gitDir}/HEAD`;let i;try{i=await r.fs.readUtf8(a)}catch(r){if(r instanceof t.TsgitError&&"FILE_NOT_FOUND"===r.data.code)throw e.refNotFound(A);throw r}const o=e.parseLooseRef(i);return"symbolic"===o.type?{kind:"symbolic",target:o.target}:{kind:"direct",id:o.target}},O=[{file:"MERGE_HEAD",operation:"merge"},{file:"CHERRY_PICK_HEAD",operation:"cherry-pick"},{file:"REVERT_HEAD",operation:"revert"},{file:"REBASE_HEAD",operation:"rebase"}],F=async t=>{const e=await Promise.all(O.map(e=>t.fs.exists(`${t.layout.gitDir}/${e.file}`)));for(let t=0;t<O.length;t+=1)if(!0===e[t])throw r.operationInProgress(O[t]?.operation)},_=new TextEncoder,H=new Set([".git"]),M=t=>{""===t&&S(t),P(t)>4096&&S(t),t.startsWith("/")&&S(t),t.includes("\\")&&S(t),t.includes("\0")&&S(t);const e=t.split("/");for(const r of e)C(r,t);return t},S=t=>{throw r.pathspecOutsideRepo(t)},C=(t,e)=>{""===t&&S(e),"."!==t&&".."!==t||S(e),P(t)>255&&S(e),j(t)&&S(e),t.includes(":")&&S(e);for(let r=0;r<t.length;r+=1){const a=t.charCodeAt(r);(a<=31||127===a)&&S(e)}},j=t=>{const e=t.toLowerCase();return!!H.has(e)||".git"===e.replace(/[. ]+$/,"")},P=t=>_.encode(t).length,B=(t,e)=>`${t.layout.workDir}/${e}`,W=async(t,e)=>{const r=M(e);return t.fs.read(B(t,r))},z=async(t,e)=>{const a=M(e),i=B(t,a);let o;try{o=await t.fs.lstat(i)}catch{throw r.checkoutOverwriteDirty([a])}if(!o.isFile&&!o.isSymbolicLink)throw r.checkoutOverwriteDirty([a]);await t.fs.rm(i)},V=new Set(["FILE_NOT_FOUND","INVALID_INDEX_HEADER","INVALID_INDEX_ENTRY"]),X=async(t,r)=>{const a=await t.fs.lstat(`${t.layout.workDir}/${r}`).catch(()=>{});if(void 0===a)return"missing";const i=a.isSymbolicLink?"120000":73&a.mode?"100755":"100644",o=a.isSymbolicLink?(new TextEncoder).encode(await t.fs.readlink(`${t.layout.workDir}/${r}`)):await W(t,r),n=await e.writeObject(t,{type:"blob",id:"",content:o});return Y(a,i,n,r)},Y=(t,e,r,a)=>({ctimeSeconds:Math.floor(t.ctimeMs/1e3),ctimeNanoseconds:0,mtimeSeconds:Math.floor(t.mtimeMs/1e3),mtimeNanoseconds:0,dev:t.dev,ino:t.ino,mode:e,uid:t.uid,gid:t.gid,fileSize:t.size,id:r,flags:{assumeValid:!1,extended:!1,stage:0},path:a}),q="refs/heads/",K=async(t,a)=>{if(/^[0-9a-f]{40}$/.test(a))return a;const i="HEAD"===a?["HEAD"]:[`${q}${a}`,a];for(const r of i)try{return await e.resolveRef(t,r)}catch{}throw r.branchNotFound(a)},G="checkout:materialize",Z=async(t,r)=>{const a=e.validateRefName(r.initialBranch),i=t.layout.gitDir;try{await t.fs.mkdir(i),await t.fs.writeUtf8(`${i}/HEAD`,`ref: refs/heads/${a}\n`),await t.fs.writeUtf8(`${i}/config`,(o=r.bare,`[core]\n\trepositoryformatversion = 0\n\tfilemode = true\n\tbare = ${o?"true":"false"}\n`)),await t.fs.mkdir(`${i}/refs/heads`),await t.fs.mkdir(`${i}/refs/tags`),await t.fs.mkdir(`${i}/objects/info`),await t.fs.mkdir(`${i}/objects/pack`),await t.fs.writeUtf8(`${i}/info/exclude`,"# git ls-files --others --exclude-from=.git/info/exclude\n# Lines that start with '#' are comments.\n# For a project mostly in C, the following would be a good set of\n# exclude patterns (uncomment them if you want to use them):\n# *.[oa]\n# *~\n"),await t.fs.writeUtf8(`${i}/description`,"Unnamed repository; edit this file 'description' to name the repository.\n")}catch(e){throw await t.fs.rmRecursive(i).catch(()=>{}),e}var o;return{gitDir:i,initialBranch:a,bare:r.bare}},J=async(t,e)=>{Q(t);const r=tt(t);et(r,e.allowInsecure??!1),rt(r);const a=await e.resolver(r.hostname);return{url:t,pinnedAddress:at(a,e.allowPrivateNetworks??!1)}},Q=t=>{for(let e=0;e<t.length;e+=1){const a=t.charCodeAt(e);if(10===a||13===a)throw r.invalidUrl("contains forbidden control character")}},tt=t=>{try{return new URL(t)}catch{throw r.invalidUrl("not a valid URL")}},et=(t,e)=>{const a=t.protocol;if("https:"!==a&&("http:"!==a||!e))throw r.unsupportedScheme(a.replace(":",""))},rt=t=>{if(""!==t.hash)throw r.invalidUrl("URL fragment is not allowed")},at=(t,e)=>{for(const r of t)if(e||!it(r))return r;if(0===t.length)throw r.blockedHost("<unresolved>","no DNS records returned");throw r.blockedHost(t[0],"all resolved addresses are in a blocked range")},it=t=>t.includes(":")?nt(t):ot(t),ot=t=>{const e=(t=>{const e=t.split(".");if(4!==e.length)return;const r=[];for(const t of e){if(!/^\d{1,3}$/.test(t))return;const e=Number(t);if(e<0||e>255)return;r.push(e)}return r})(t);if(void 0===e)return!1;const[r,a]=e;return 0===r||10===r||100===r&&a>=64&&a<=127||127===r||169===r&&254===a||172===r&&a>=16&&a<=31||192===r&&168===a||r>=224&&r<=239||r>=240},nt=t=>{const e=t.toLowerCase(),r=e.match(/::ffff:(?:0:)?(\d+\.\d+\.\d+\.\d+)$/);if(void 0!==r?.[1])return ot(r[1]);const a=e.match(/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/);if(void 0!==a?.[1]&&void 0!==a[2]){const t=parseInt(a[1],16),e=parseInt(a[2],16);return ot(`${t>>8}.${255&t}.${e>>8}.${255&e}`)}return!!("::1"===e||"::"===e||e.startsWith("fe80:")||e.startsWith("fe80::")||e.startsWith("ff")||e.startsWith("fc")||e.startsWith("fd"))},st="clone:discover",ct=t=>{if(void 0!==t.explicit)return t.explicit;if(void 0!==t.configUser)return t.configUser;throw r.authorUnconfigured()},dt=t=>{if(void 0!==t.explicit)return t.explicit;if(void 0!==t.author)return t.author;if(void 0!==t.configUser)return t.configUser;throw r.authorUnconfigured()},ft=(t,e)=>{const a=t.trim();if(""===a&&!e.allowEmpty)throw r.emptyCommitMessage();return a},lt=(t,e,r)=>{if(1===e.length)return void t.files.set(e[0],{id:r.id,mode:r.mode});const[a,...i]=e,o=a;let n=t.subdirs.get(o);void 0===n&&(n={files:new Map,subdirs:new Map},t.subdirs.set(o,n)),lt(n,i,r)},ut=async(t,r)=>{const a=[];for(const[t,e]of r.files)a.push({mode:e.mode,name:t,id:e.id});const i=await Promise.all(Array.from(r.subdirs).map(async([e,r])=>({name:e,id:await ut(t,r)})));for(const{name:t,id:e}of i)a.push({mode:"40000",name:t,id:e});return e.writeTree(t,a)},wt=async(t,r)=>{const a=/^[0-9a-f]{40}$/.test(r)?r:await e.resolveRef(t,"HEAD"===r?"HEAD":e.validateRefName(r)),i=await e.readObject(t,a);return"commit"===i.type?i.data.tree:a},ht="fetch:negotiate",mt="merge:write-files",pt=async(t,r)=>{const a=await e.readObject(t,r);if("commit"!==a.type)throw e.unexpectedObjectType("commit",a.type,r);return a.data.tree},gt="push:enumerate-objects",yt=new Set(["commit","tree","blob","tag"]),vt=/^:(\d):(.+)$/,bt=/^[0-9a-f]{1,6}$/,Et=t=>{throw r.revparseUnresolved(t)},kt=t=>{for(let e=0;e<t.length;e+=1){const r=t[e];if("~"===r||"^"===r)return e}return-1},$t=(t,e)=>{const r=[];let a=e;for(;a<t.length;){const e=t[a];if("~"===e){const e=Dt(t,a);r.push(e.op),a=e.next}else if("^"===e){const e=xt(t,a);r.push(e.op),a=e.next}else Et(t)}return r},Dt=(t,e)=>{let r=e+1;for(;r<t.length&&Rt(t.charCodeAt(r));)r+=1;return r===e+1&&Et(t),{op:{kind:"ancestor",n:Number(t.slice(e+1,r))},next:r}},xt=(t,e)=>{if("{"===t[e+1]){const r=t.indexOf("}",e+2);-1===r&&Et(t);const a=t.slice(e+2,r);return yt.has(a)||Et(t),{op:{kind:"peel",target:a},next:r+1}}let r=e+1;for(;r<t.length&&Rt(t.charCodeAt(r));)r+=1;const a=t.slice(e+1,r);return{op:{kind:"parent",n:""===a?1:Number(a)},next:r}},Rt=t=>t>=48&&t<=57,Nt=async(t,r)=>{if(/^[0-9a-f]{40}$/.test(r))return e.ObjectId.from(r);const a="HEAD"===r?["HEAD"]:[r,`refs/heads/${r}`,`refs/tags/${r}`,`refs/remotes/${r}`];for(const r of a)try{return await e.resolveRef(t,r)}catch{}throw e.objectNotFound(r)},Ut=async(t,e,r)=>{if("parent"===r.kind)return At(t,e,r.n);if("ancestor"===r.kind){let a=e;for(let e=0;e<r.n;e+=1)a=await At(t,a,1);return a}return It(t,e,r.target)},At=async(t,r,a)=>{const i=await e.readObject(t,r);if("commit"!==i.type)throw e.objectNotFound(r);const o=i.data.parents[a-1];if(void 0===o)throw e.objectNotFound(r);return o},It=async(t,r,a)=>{let i=r;for(let r=0;r<5;r+=1){const r=await e.readObject(t,i);if(r.type===a)return i;if("tag"!==r.type){if("tree"===a&&"commit"===r.type)return r.data.tree;throw e.objectNotFound(i)}i=r.data.object}throw e.objectNotFound(i)},Lt=async(t,r)=>{const a=await e.readIndex(t);for(const t of a.entries)if(t.path===r.path&&t.flags.stage===r.stage)return t.id;throw e.objectNotFound(`${r.stage}:${r.path}`)},Tt=new Set(["FILE_NOT_FOUND","INVALID_INDEX_HEADER","INVALID_INDEX_ENTRY"]),Ot="status:scan",Ft=new TextEncoder,_t=async(t,e,r)=>{try{const a=await W(t,M(e)),i=Ft.encode(`blob ${a.byteLength}\0`),o=new Uint8Array(i.byteLength+a.byteLength);return o.set(i,0),o.set(a,i.byteLength),await t.hash.hashHex(o)!==r.id}catch{return!0}},Ht="refs/tags/",Mt=async t=>{const r=await T(t);return"direct"===r.kind?r.id:e.resolveRef(t,r.target)};exports.add=async(a,i,n={})=>{if(await I(a),await L(a,"add"),await F(a),0===i.length)throw r.emptyPathspec();const s=i.map(M),c=await o(a,void 0!==n.breakStaleLockMs?{breakStaleLockMs:n.breakStaleLockMs}:{});try{const i=await(async r=>{try{const t=await e.readIndex(r),a=new Map;for(const e of t.entries)a.set(e.path,e);return a}catch(e){if(e instanceof t.TsgitError&&V.has(e.data.code))return new Map;throw e}})(a),o=new Map(i),n=[],d=[];for(const t of s){const e=await X(a,t);if("missing"===e)throw r.pathspecNoMatch(t);const s=i.get(t);o.set(t,e),void 0===s?n.push(t):s.id===e.id&&s.mode===e.mode||d.push(t)}return await c.commit(Array.from(o.values())),{added:n,modified:d,removed:[]}}finally{await c.release()}},exports.branch=async(a,i)=>(await I(a),"list"===i.kind?(async t=>{const r=`${t.layout.gitDir}/refs/heads`;if(!await t.fs.exists(r))return{kind:"list",branches:[]};const a=await T(t),i="symbolic"===a.kind&&a.target.startsWith(q)?a.target:void 0,o=await t.fs.readdir(r),n=[];for(const r of o){if(!r.isFile)continue;const a=`${q}${r.name}`,o=await e.resolveRef(t,a);n.push({name:a,id:o,current:a===i})}return n.sort((t,e)=>t.name<e.name?-1:t.name>e.name?1:0),{kind:"list",branches:n}})(a):"create"===i.kind?(async(a,i)=>{const o=e.validateRefName(`${q}${i.name}`),n=i.startPoint??"HEAD",s=await K(a,n);try{await e.updateRef(a,o,s,!0===i.force?{}:{expected:"absent"})}catch(e){if(e instanceof t.TsgitError&&"REF_UPDATE_CONFLICT"===e.data.code)throw r.branchExists(o);throw e}return{kind:"create",name:o,id:s}})(a,i):"delete"===i.kind?(async(t,a)=>{const i=e.validateRefName(`${q}${a.name}`),o=await T(t);if("symbolic"===o.kind&&o.target===i)throw r.cannotDeleteCheckedOutBranch(i);if(!await t.fs.exists(`${t.layout.gitDir}/${i}`))throw r.branchNotFound(i);return await e.updateRef(t,i,"0".repeat(40),{delete:!0}),{kind:"delete",name:i}})(a,i):(async(a,i)=>{const o=e.validateRefName(`${q}${i.from}`),n=e.validateRefName(`${q}${i.to}`),s=await e.resolveRef(a,o);try{await e.updateRef(a,n,s,!0===i.force?{}:{expected:"absent"})}catch(e){if(e instanceof t.TsgitError&&"REF_UPDATE_CONFLICT"===e.data.code)throw r.branchExists(n);throw e}await e.updateRef(a,o,"0".repeat(40),{delete:!0});const c=await T(a);return"symbolic"===c.kind&&c.target===o&&await e.writeSymbolicRef(a,"HEAD",n),{kind:"rename",from:o,to:n}})(a,i)),exports.checkout=async(t,a)=>{await I(t),await L(t,"checkout"),await F(t),t.progress.start(G);try{if(a.detach||/^[0-9a-f]{40}$/.test(a.target)){const r=await(async(t,r)=>/^[0-9a-f]{40}$/.test(r)?r:e.resolveRef(t,r))(t,a.target);return await t.fs.writeUtf8(`${t.layout.gitDir}/HEAD`,`${r}\n`),{branch:void 0,id:r,detached:!0}}const i=e.validateRefName(`refs/heads/${a.target}`);if(!await t.fs.exists(`${t.layout.gitDir}/${i}`))throw r.branchNotFound(i);const o=await e.resolveRef(t,i);return await e.writeSymbolicRef(t,"HEAD",i),{branch:i,id:o,detached:!1}}finally{t.progress.end(G)}},exports.clone=async(t,e)=>{if(await t.fs.exists(`${t.layout.gitDir}/HEAD`))throw r.targetDirectoryNotEmpty(t.layout.workDir);if(""===e.url)throw r.remoteAdvertisesNoRefs();t.progress.start(st);try{void 0!==e.resolver&&await J(e.url,{resolver:e.resolver,...void 0!==e.allowInsecure?{allowInsecure:e.allowInsecure}:{},...void 0!==e.allowPrivateNetworks?{allowPrivateNetworks:e.allowPrivateNetworks}:{}});const r=await Z(t,{initialBranch:e.initialBranch??"main",bare:e.bare??!1});return{path:r.gitDir,head:r.initialBranch,fetchedRefs:[]}}finally{t.progress.end(st)}},exports.commit=async(t,a)=>{await I(t),await L(t,"commit"),await F(t);const i=ft(a.message,{allowEmpty:a.allowEmptyMessage??!1}),o=(t=>{if(void 0!==t)return{name:t.name,email:t.email,timestamp:Math.floor(Date.now()/1e3),timezoneOffset:"+0000"}})((await f(t)).user),n=ct(((t,e)=>{const r={};return void 0!==t&&(r.explicit=t),void 0!==e&&(r.configUser=e),r})(a.author,o)),s=dt(((t,e,r)=>{const a={};return void 0!==t&&(a.explicit=t),void 0!==e&&(a.author=e),void 0!==r&&(a.configUser=r),a})(a.committer,n,o)),c=await e.readIndex(t),d=await(async(t,e)=>{const r={files:new Map,subdirs:new Map};for(const t of e)lt(r,t.path.split("/"),t);return ut(t,r)})(t,c.entries),l=await T(t),u="symbolic"===l.kind?await(async(t,r)=>{try{return await e.resolveRef(t,r)}catch{return}})(t,l.target):l.id,w=void 0!==u?[u]:[];if(!a.allowEmpty&&void 0!==u&&await(async(t,r)=>{const a=await e.readObject(t,r);return"commit"!==a.type?e.ObjectId.from("0".repeat(40)):a.data.tree})(t,u)===d)throw r.nothingToCommit();const h={tree:d,parents:w,author:n,committer:s,message:i,extraHeaders:[]},m=await e.createCommit(t,h),p="symbolic"===l.kind?l.target:void 0;return void 0!==p?await e.updateRef(t,p,m,void 0!==u?{expected:u}:{}):await t.fs.writeUtf8(`${t.layout.gitDir}/HEAD`,`${m}\n`),{id:m,tree:d,branch:p,parents:w}},exports.diff=async(t,r={})=>{await I(t);const a=await wt(t,r.from??"HEAD"),i=void 0!==r.to?await wt(t,r.to):void 0;return e.diffTrees(t,a,i,!0===r.detectRenames?{detectRenames:!0}:{})},exports.fetch=async(t,e={})=>{await I(t),t.progress.start(ht);try{const a=e.remote??"origin",i=await f(t),o=i.remote?.get(a);if(void 0===o?.url)throw r.remoteNotConfigured(a);return{remote:a,url:o.url,updatedRefs:[]}}finally{t.progress.end(ht)}},exports.init=async(e,r={})=>{const a=r.initialBranch??"main",i=r.bare??!1;if(await e.fs.exists(`${e.layout.gitDir}/HEAD`))throw new t.TsgitError({code:"ALREADY_INITIALIZED",path:e.layout.gitDir});const o=await Z(e,{initialBranch:a,bare:i});return{path:o.gitDir,initialBranch:o.initialBranch,bare:o.bare}},exports.log=async(t,r={})=>{await I(t);const a=await(async(t,r)=>{if(/^[0-9a-f]{40}$/.test(r))return r;if("HEAD"===r)return e.resolveRef(t,"HEAD");const a=[r,`refs/heads/${r}`,`refs/tags/${r}`];for(const r of a)try{return await e.resolveRef(t,e.validateRefName(r))}catch{}return e.resolveRef(t,e.validateRefName(r))})(t,r.from??"HEAD"),i=await(async(t,r)=>{const a=[];for(const i of r)if(/^[0-9a-f]{40}$/.test(i))a.push(i);else try{a.push(await e.resolveRef(t,e.validateRefName(i)))}catch{}return a})(t,r.excluding??[]),o=r.before,n=[];let s=0;for await(const c of e.walkCommits(t,{from:[a],until:i,order:"first-parent"}))if(!(void 0!==o&&c.data.committer.timestamp>=o.getTime()/1e3)&&(n.push({id:c.id,tree:c.data.tree,parents:c.data.parents,author:c.data.author,committer:c.data.committer,message:c.data.message}),s+=1,void 0!==r.limit&&s>=r.limit))break;return n},exports.merge=async(a,i)=>{await I(a),await L(a,"merge"),await F(a);const o=await T(a);if("symbolic"!==o.kind)throw t.unsupportedOperation("merge","cannot merge with detached HEAD");const n=await e.resolveRef(a,o.target),s=await(async(t,r)=>/^[0-9a-f]{40}$/.test(r)?r:e.resolveRef(t,`refs/heads/${r}`))(a,i.target);if(n===s)return{kind:"up-to-date",id:n};const c=await e.mergeBase(a,n,s);if(c===s)return{kind:"up-to-date",id:n};if(c===n&&!0!==i.noFastForward)return await e.updateRef(a,o.target,s,{expected:n}),{kind:"fast-forward",id:s,branch:o.target};if(!0===i.fastForwardOnly)throw r.nonFastForward(o.target,n,s);return(async(t,r,a,i,o)=>{t.progress.start(mt);try{const n=await f(t),s=n.user?{name:n.user.name,email:n.user.email,timestamp:Math.floor(Date.now()/1e3),timezoneOffset:"+0000"}:void 0,c={};void 0!==r.author&&(c.explicit=r.author),void 0!==s&&(c.configUser=s);const d=ct(c),l={author:d};void 0!==r.committer&&(l.explicit=r.committer),void 0!==s&&(l.configUser=s);const u=dt(l),w={tree:await pt(t,i),parents:[i,o],author:d,committer:u,message:ft(r.message??`Merge ${r.target}`,{allowEmpty:!1}),extraHeaders:[]},h=await e.createCommit(t,w);return await e.updateRef(t,a,h,{expected:i}),{kind:"merge",id:h,branch:a,parents:[i,o]}}finally{t.progress.end(mt)}})(a,i,o.target,n,s)},exports.push=async(t,e={})=>{await I(t),t.progress.start(gt);try{const a=e.remote??"origin",i=await f(t),o=i.remote?.get(a);if(void 0===o?.url)throw r.remoteNotConfigured(a);return{remote:a,url:o.url,pushedRefs:[]}}finally{t.progress.end(gt)}},exports.reset=async(t,a)=>{await I(t),"hard"===a.mode&&await L(t,"reset --hard"),await F(t);const i=await(async(t,a)=>{if(/^[0-9a-f]{40}$/.test(a))return a;const i="HEAD"===a?["HEAD"]:[a,`refs/heads/${a}`,`refs/tags/${a}`];for(const r of i)try{return await e.resolveRef(t,r)}catch{}throw r.revparseUnresolved(a)})(t,a.target),o=await T(t),n="symbolic"===o.kind?o.target:void 0;return void 0!==n?await e.updateRef(t,n,i,{}):await t.fs.writeUtf8(`${t.layout.gitDir}/HEAD`,`${i}\n`),{mode:a.mode,id:i,branch:n}},exports.revParse=async(t,e)=>{await I(t);var r;return(async(t,e)=>{if("index-stage"===e.kind)return Lt(t,e);let r=await Nt(t,e.base);for(const a of e.operations)r=await Ut(t,r,a);return r})(t,(""===(r=e)&&Et(r),r.startsWith(":")?(t=>{const e=vt.exec(t);null===e&&Et(t);const r=e[2],a=Number(e[1]);return(a<0||a>3)&&Et(t),""===r&&Et(t),{kind:"index-stage",stage:a,path:r}})(r):(r.includes("@{")&&Et(r),(t=>{const e=kt(t),r=-1===e?t:t.slice(0,e);return""===r&&Et(t),bt.test(r)&&-1===e&&Et(t),{kind:"ref-or-hex",base:r,operations:-1===e?[]:$t(t,e)}})(r))))},exports.rm=async(a,i,n={})=>{if(await I(a),await L(a,"rm"),await F(a),0===i.length)throw r.emptyPathspec();const s=i.map(M),c=await o(a,void 0!==n.breakStaleLockMs?{breakStaleLockMs:n.breakStaleLockMs}:{});try{const i=await e.readIndex(a).catch(e=>{if(e instanceof t.TsgitError&&Tt.has(e.data.code))return{entries:[]};throw e}),o=new Map;for(const t of i.entries)o.set(t.path,t);const d=[];for(const t of s){if(!o.has(t))throw r.pathspecNoMatch(t);o.delete(t),d.push(t)}if(!n.cached)for(const e of d)await z(a,e).catch(e=>{if(!(e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code))throw e});return await c.commit(Array.from(o.values())),{removed:d}}finally{await c.release()}},exports.status=async t=>{await I(t);const r=await T(t),a="symbolic"===r.kind?r.target:void 0,i="direct"===r.kind,o=await e.readIndex(t).catch(()=>({entries:[]})),n=new Map;for(const t of o.entries)n.set(t.path,t);t.progress.start(Ot);try{const e=((t,e)=>{let r=0,a=0;return{tick:()=>{r+=1;const i=Math.floor(r/100);i>a&&(a=i,t.update(e,r))}}})(t.progress,Ot),r=(await Promise.all(Array.from(n).map(async([r,a])=>{const i=await(async(t,e,r)=>void 0===await t.fs.lstat(`${t.layout.workDir}/${e}`).catch(()=>{})?{kind:"deleted",path:e}:await _t(t,e,r)?{kind:"modified",path:e}:void 0)(t,r,a);return e.tick(),i}))).filter(t=>void 0!==t);return{branch:a,detached:i,indexChanges:[],workingTreeChanges:r,clean:0===r.length}}finally{t.progress.end(Ot)}},exports.tag=async(a,i)=>(await I(a),"list"===i.kind?(async t=>{const r=`${t.layout.gitDir}/refs/tags`;if(!await t.fs.exists(r))return{kind:"list",tags:[]};const a=await t.fs.readdir(r),i=[];for(const r of a){if(!r.isFile)continue;const a=`${Ht}${r.name}`,o=await e.resolveRef(t,a);i.push({name:a,id:o})}return i.sort((t,e)=>t.name<e.name?-1:t.name>e.name?1:0),{kind:"list",tags:i}})(a):"create"===i.kind?(async(a,i)=>{const o=e.validateRefName(`${Ht}${i.name}`),n=void 0!==i.target?i.target:await Mt(a),s=/^[0-9a-f]{40}$/.test(n)?n:await e.resolveRef(a,n);try{await e.updateRef(a,o,s,!0===i.force?{}:{expected:"absent"})}catch(e){if(e instanceof t.TsgitError&&"REF_UPDATE_CONFLICT"===e.data.code)throw r.tagExists(o);throw e}return{kind:"create",name:o,id:s}})(a,i):(async(t,a)=>{const i=e.validateRefName(`${Ht}${a.name}`);if(!await t.fs.exists(`${t.layout.gitDir}/${i}`))throw r.tagNotFound(i);return await e.updateRef(t,i,"0".repeat(40),{delete:!0}),{kind:"delete",name:i}})(a,i)),exports.validateUrl=J;
|
|
2
|
-
//# sourceMappingURL=index-iUd-bwwm.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-iUd-bwwm.cjs","sources":["../../../src/domain/git-index/index-writer.ts","../../../src/domain/repository/error.ts","../../../src/application/commands/internal/index-update.ts","../../../src/application/commands/internal/config-read.ts","../../../src/application/commands/internal/repo-state.ts","../../../src/application/commands/internal/working-tree.ts","../../../src/application/commands/add.ts","../../../src/application/commands/branch.ts","../../../src/application/commands/checkout.ts","../../../src/application/commands/internal/bootstrap.ts","../../../src/application/commands/internal/url-validate.ts","../../../src/application/commands/clone.ts","../../../src/application/commands/internal/commit-message.ts","../../../src/application/commands/commit.ts","../../../src/application/commands/diff.ts","../../../src/application/commands/fetch.ts","../../../src/application/commands/merge.ts","../../../src/application/commands/push.ts","../../../src/application/commands/internal/rev-parse-grammar.ts","../../../src/application/commands/rev-parse.ts","../../../src/application/commands/rm.ts","../../../src/application/commands/status.ts","../../../src/application/commands/tag.ts","../../../src/application/commands/init.ts","../../../src/application/commands/log.ts","../../../src/application/commands/reset.ts","../../../src/application/commands/internal/progress-tracker.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["writeEntry","buf","view","offset","entry","pathBytes","setUint32","ctimeSeconds","ctimeNanoseconds","mtimeSeconds","mtimeNanoseconds","dev","ino","Number","parseInt","mode","uid","gid","fileSize","shaBytes","hexToBytes","id","set","nameLength","Math","min","length","setUint16","flags","assumeValid","stage","resourceLocked","path","mtimeMs","TsgitError","undefined","code","resource","acquireIndexLock","async","ctx","opts","lockPath","indexPath","layout","gitDir","lockSuffix","indexFile","now","Date","breakStaleLockMs","fs","writeExclusive","Uint8Array","err","data","readLockMtime","maybeBreakStaleLock","makeLock","lstat","age","rm","committed","released","release","commit","entries","body","index","sortedEntries","sort","a","b","entryMetas","map","encode","paddedLength","extensionMetas","extensions","ext","sigBytes","signature","totalLength","totalSize","reduce","sum","m","result","DataView","buffer","serializeIndex","checksum","hash","bytes","write","rename","cache","WeakMap","readConfig","existing","get","pending","loadConfig","raw","readRawConfig","parseConfigText","readUtf8","text","sections","collectSections","assembleParsed","current","line","joinContinuations","split","trimmed","stripInlineComment","trim","header","parseSectionHeader","section","subsection","push","kv","parseKeyValue","lines","out","piece","replace","endsWith","slice","cuts","indexOfUnquoted","filter","n","ch","inQuotes","i","c","startsWith","inner","quoteAt","indexOf","sectionPart","lastQuote","lastIndexOf","eqAt","key","value","acc","sec","mergeCore","mergeUser","mergeRemote","mergeBranch","finalize","core","bare","parseGitBoolean","user","name","email","remote","Map","fetch","url","merged","branch","next","merge","size","TRUE_VALUES","Set","FALSE_VALUES","lowered","toLowerCase","has","HEAD_REF","RefName","from","assertRepository","headPath","exists","workDir","assertNotBare","operation","config","isBare","bareRepository","readHeadRaw","content","refNotFound","parsed","parseLooseRef","type","kind","target","PENDING_MARKERS","file","assertNoPendingOperation","Promise","all","operationInProgress","PATH_ENCODER","TextEncoder","GIT_FORBIDDEN","validatePath","input","reject","byteLength","includes","components","component","rejectComponent","pathspecOutsideRepo","original","isForbiddenGitComponent","charCodeAt","s","repoPath","readFile","rawPath","read","removeFile","full","stat","checkoutOverwriteDirty","isFile","isSymbolicLink","INDEX_MISSING_CODES","stageOne","catch","readlink","writeObject","makeEntry","floor","ctimeMs","extended","HEADS_PREFIX","resolveBranchTarget","startPoint","test","candidates","candidate","resolveRef","branchNotFound","CHECKOUT_MATERIALIZE_OP","bootstrapRepository","validateRefName","initialBranch","mkdir","writeUtf8","rmRecursive","validateUrl","rejectControlChars","parseUrl","enforceScheme","allowInsecure","rejectFragment","addresses","resolver","hostname","pinnedAddress","pickPinnedAddress","allowPrivateNetworks","invalidUrl","URL","proto","protocol","unsupportedScheme","addr","isBlockedAddress","blockedHost","isBlockedIpv6","isBlockedIpv4","octets","parts","part","parseIpv4","lower","dotted","match","hex","high","low","CLONE_DISCOVER_OP","resolveAuthor","explicit","configUser","authorUnconfigured","resolveCommitter","author","sanitizeMessage","allowEmpty","emptyCommitMessage","insertEntry","node","files","head","rest","child","subdirs","writeSubtree","treeEntries","leaf","Array","writeTree","resolveTreeId","obj","readObject","tree","FETCH_NEGOTIATE_OP","MERGE_WRITE_FILES_OP","getTree","commitId","unexpectedObjectType","PUSH_ENUMERATE_OBJECTS_OP","VALID_PEEL_TARGETS","INDEX_STAGE_PATTERN","SHORT_HEX_PATTERN","fail","revparseUnresolved","findOperatorStart","parseOperations","start","parseTilde","op","parseCaret","j","isDigit","closeIdx","targetStr","digitsStr","resolveBase","base","ObjectIdFactory","objectNotFound","applyOperation","getNthParent","cur","peel","parent","parents","object","resolveIndexStage","expr","readIndex","STATUS_SCAN_OP","HEADER_ENCODER","isModified","hashHex","TAGS_PREFIX","currentHeadId","paths","emptyPathspec","validated","lock","readExistingEntries","newEntries","added","modified","pathspecNoMatch","previous","values","removed","action","headsDir","branches","currentTarget","readdir","listBranches","updateRef","force","expected","branchExists","createBranch","cannotDeleteCheckedOutBranch","repeat","delete","deleteBranch","to","writeSymbolicRef","renameBranch","progress","detach","resolveTargetOid","detached","branchName","end","targetDirectoryNotEmpty","remoteAdvertisesNoRefs","fetchedRefs","message","allowEmptyMessage","timestamp","timezoneOffset","toAuthor","buildResolverInput","committer","buildCommitterInput","treeId","root","buildTreeFromIndex","parentId","tryResolve","getParentTree","nothingToCommit","commitData","extraHeaders","createCommit","diffTrees","detectRenames","remoteName","remoteNotConfigured","updatedRefs","startId","resolveStart","exclude","refs","r","resolveExcluding","excluding","before","yielded","walkCommits","until","order","getTime","limit","unsupportedOperation","ourId","theirId","resolveTarget","mergeBase","noFastForward","fastForwardOnly","nonFastForward","cfgUser","authorInput","committerInput","mergeCommit","pushedRefs","expression","operations","evaluate","exec","parseIndexStage","opStart","parseRefOrHex","byPath","cached","indexByPath","tracker","reporter","count","lastEmittedBucket","tick","bucket","update","createGranularityTracker","workingTreeChanges","classifyEntry","indexChanges","clean","dir","tags","listTags","tagExists","createTag","tagNotFound","deleteTag"],"mappings":"4HAkDA,SAASA,EACPC,EACAC,EACAC,EACAC,EACAC,GAEAH,EAAKI,UAAUH,EAAQC,EAAMG,cAC7BL,EAAKI,UAAUH,EAAS,EAAGC,EAAMI,kBACjCN,EAAKI,UAAUH,EAAS,EAAGC,EAAMK,cACjCP,EAAKI,UAAUH,EAAS,GAAIC,EAAMM,kBAClCR,EAAKI,UAAUH,EAAS,GAAIC,EAAMO,KAClCT,EAAKI,UAAUH,EAAS,GAAIC,EAAMQ,KAClCV,EAAKI,UAAUH,EAAS,GAAIU,OAAOC,SAASV,EAAMW,KAAM,IACxDb,EAAKI,UAAUH,EAAS,GAAIC,EAAMY,KAClCd,EAAKI,UAAUH,EAAS,GAAIC,EAAMa,KAClCf,EAAKI,UAAUH,EAAS,GAAIC,EAAMc,UAElC,MAAMC,EAAWC,EAAAA,WAAWhB,EAAMiB,IAClCpB,EAAIqB,IAAIH,EAAUhB,EAAS,IAE3B,MAAMoB,EAAaC,KAAKC,IAAIpB,EAAUqB,OAAQ,MAE9CxB,EAAKyB,UAAUxB,EAAS,IADNC,EAAMwB,MAAMC,YAAc,MAAS,GAAMzB,EAAMwB,MAAME,OAAS,GAAMP,GAGtFtB,EAAIqB,IAAIjB,EAAWF,EAvEK,GAwE1B,CCpEO,MCcD4B,EAAiB,CAACC,EAAcC,IAE3B,IAAIC,EAAAA,gBADGC,IAAZF,EACoB,CAAEG,KAAM,kBAAmBC,SAAU,QAASL,QAEhD,CAAEI,KAAM,kBAAmBC,SAAU,QAASL,OAAMC,YAc/DK,EAAmBC,MAC9BC,EACAC,EAAuB,MAEvB,MAAMC,EAAW,GAAGC,YAAUH,EAAII,OAAOC,UAAUC,EAAAA,aAC7CC,EAAYJ,EAAAA,UAAUH,EAAII,OAAOC,QACjCG,EAAMP,EAAKO,KAAG,KAAWC,KAAKD,OAC9BE,EAAmBT,EAAKS,iBAE9B,UACQV,EAAIW,GAAGC,eAAeV,EAAU,IAAIW,WAC5C,CAAE,MAAOC,GACP,KAAMA,aAAepB,EAAAA,aAAiC,gBAAlBoB,EAAIC,KAAKnB,KAAwB,MAAMkB,EAC3E,QAAyBnB,IAArBe,EACF,MAAMnB,EAAeW,QAAgBc,EAAchB,EAAKE,UAEpDe,EAAoBjB,EAAKE,EAAUQ,EAAkBF,EAC7D,CACA,OAAOU,EAASlB,EAAKE,EAAUK,IAG3BS,EAAgBjB,MAAOC,EAAcE,KACzC,IAEE,aADmBF,EAAIW,GAAGQ,MAAMjB,IACpBT,OACd,CAAE,MACA,MACF,GAGIwB,EAAsBlB,MAC1BC,EACAE,EACAQ,EACAF,KAEA,MAAMf,QAAgBuB,EAAchB,EAAKE,GACzC,QAAgBP,IAAZF,EAGF,kBADMO,EAAIW,GAAGC,eAAeV,EAAU,IAAIW,YAG5C,MAAMO,EAAMZ,IAAQf,EACpB,GAAI2B,EAAM,EAER,MAAM7B,EAAeW,EAAUT,GAEjC,GAAI2B,EAAMV,EACR,MAAMnB,EAAeW,EAAUT,SAE3BO,EAAIW,GAAGU,GAAGnB,GAEhB,UACQF,EAAIW,GAAGC,eAAeV,EAAU,IAAIW,WAC5C,CAAE,MAAOC,GACP,GAAIA,aAAepB,EAAAA,YAAgC,gBAAlBoB,EAAIC,KAAKnB,KACxC,MAAML,EAAeW,QAAgBc,EAAchB,EAAKE,IAE1D,MAAMY,CACR,GAGII,EAAW,CAAClB,EAAcE,EAAkBK,KAChD,IAAIe,GAAY,EACZC,GAAW,EACf,MAAO,CACLC,QAASzB,UACP,IAAIuB,IAAaC,EAAjB,CACAA,GAAW,EACX,UACQvB,EAAIW,GAAGU,GAAGnB,EAClB,CAAE,MAAOY,GAEP,KAAMA,aAAepB,EAAAA,aAAiC,mBAAlBoB,EAAIC,KAAKnB,KAA2B,MAAMkB,CAChF,CAP2B,GAS7BW,OAAQ1B,MAAO2B,IACb,GAAIJ,GAAaC,EAAU,OAC3B,MACMI,EFjHN,SAAyBC,GAC7B,MAAMC,EAAgB,IAAID,EAAMF,SAASI,KAAK,CAACC,EAAGC,IAC/CD,EAAEvC,KAAmBwC,EAAExC,MAAkB,EAAMuC,EAAEvC,KAAmBwC,EAAExC,KAAkB,EAAI,GAGzFyC,EAAaJ,EAAcK,IAAKtE,IACpC,MAAMC,EAAYsE,EAAAA,OAAOvE,EAAM4B,MAG/B,MAAO,CAAE5B,QAAOC,YAAWuE,aAXL,GASkBvE,EAAUqB,OACd,GAAK,KAIrCmD,EAAiBT,EAAMU,WAAWJ,IAAKK,IAEpC,CAAEA,MAAKC,SADGL,EAAAA,OAAOI,EAAIE,WACJC,YAAa,EAAIH,EAAIxB,KAAK7B,UAG9CyD,EACJ,GACAV,EAAWW,OAAO,CAACC,EAAKC,IAAMD,EAAMC,EAAEV,aAAc,GACpDC,EAAeO,OAAO,CAACC,EAAKC,IAAMD,EAAMC,EAAEJ,YAAa,GAEnDK,EAAS,IAAIlC,WAAW8B,GACxBjF,EAAO,IAAIsF,SAASD,EAAOE,QAEjCvF,EAAKI,UAAU,EA5BM,YA6BrBJ,EAAKI,UAAU,EAAG,GAClBJ,EAAKI,UAAU,EAAG+D,EAAc3C,QAEhC,IAAIvB,EAAS,GACb,IAAK,MAAMC,MAAEA,EAAKC,UAAEA,EAASuE,aAAEA,KAAkBH,EAC/CzE,EAAWuF,EAAQrF,EAAMC,EAAQC,EAAOC,GACxCF,GAAUyE,EAEZ,IAAK,MAAMG,IAAEA,EAAGC,SAAEA,EAAQE,YAAEA,KAAiBL,EAC3CU,EAAOjE,IAAI0D,EAAU7E,GACrBD,EAAKI,UAAUH,EAAS,EAAG4E,EAAIxB,KAAK7B,QACpC6D,EAAOjE,IAAIyD,EAAIxB,KAAMpD,EAAS,GAC9BA,GAAU+E,EAGZ,OAAOK,CACT,CEuEmBG,CADW,CAAcxB,QAAS,IAAIA,GAAUY,WAAY,KAEnEa,QAAiBnD,EAAIoD,KAAKA,KAAKzB,GAC/B0B,EAAQ,IAAIxC,WAAWc,EAAKzC,OAASiE,EAASjE,QACpDmE,EAAMvE,IAAI6C,EAAM,GAChB0B,EAAMvE,IAAIqE,EAAUxB,EAAKzC,cACnBc,EAAIW,GAAG2C,MAAMpD,EAAUmD,SACvBrD,EAAIW,GAAG4C,OAAOrD,EAAUK,GAC9Be,GAAY,KC1GlB,IAAIkC,EAAiD,IAAIC,QASlD,MAAMC,EAAc1D,IACzB,MAAM2D,EAAWH,EAAMI,IAAI5D,GAC3B,QAAiBL,IAAbgE,EAAwB,OAAOA,EACnC,MAAME,EAAUC,EAAW9D,GAE3B,OADAwD,EAAM1E,IAAIkB,EAAK6D,GACRA,GAQHC,EAAa/D,MAAOC,IACxB,MAAM+D,QAAYC,EAAchE,GAChC,YAAYL,IAARoE,EAA0B,CAAA,EACvBE,EAAgBF,IAGnBC,EAAgBjE,MAAOC,IAC3B,IACE,aAAaA,EAAIW,GAAGuD,SAAS,GAAGlE,EAAII,OAAOC,gBAC7C,CAAE,MAAOS,GACP,GAAIA,aAAepB,EAAAA,YAAgC,mBAAlBoB,EAAIC,KAAKnB,KAA2B,OACrE,MAAMkB,CACR,GASImD,EAAmBE,IACvB,MAAMC,EAAWC,EAAgBF,GACjC,OAAOG,EAAeF,IAGlBC,EAAmBF,IACvB,MAAMC,EAA6B,GACnC,IAAIG,EACJ,IAAK,MAAMC,KAAQC,EAAkBN,EAAKO,MAAM,OAAQ,CACtD,MAAMC,EAAUC,EAAmBJ,GAAMK,OACzC,GAAgB,KAAZF,EAAgB,SACpB,MAAMG,EAASC,EAAmBJ,GAClC,QAAehF,IAAXmF,EAAsB,CACxBP,EAAU,CAAES,QAASF,EAAOE,QAASC,WAAYH,EAAOG,WAAYvD,QAAS,IAC7E0C,EAASc,KAAKX,GACd,QACF,CACA,QAAgB5E,IAAZ4E,EAAuB,SAC3B,MAAMY,EAAKC,EAAcT,QACdhF,IAAPwF,GACJZ,EAAQ7C,QAAQwD,KAAKC,EACvB,CACA,OAAOf,GAGHK,EAAqBY,IACzB,MAAMC,EAAgB,GACtB,IAAIzB,EAAU,GACd,IAAK,MAAMW,KAAQa,EAAO,CAGxB,MAAME,EAAoB,KAAZ1B,EAAiBW,EAAOA,EAAKgB,QAAQ,OAAQ,IACvDhB,EAAKiB,SAAS,MAChB5B,GAAW0B,EAAMG,MAAM,EAAGH,EAAMrG,QAAUsF,EAAKiB,SAAS,MAAQ,EAAI,KAGtEH,EAAIJ,KAAK,GAAGrB,IAAU0B,KACtB1B,EAAU,GACZ,CAEA,MADgB,KAAZA,GAAgByB,EAAIJ,KAAKrB,GACtByB,GAGHV,EAAsBJ,IAC1B,MAEMmB,EAAO,CAFEC,EAAgBpB,EAAM,KACtBoB,EAAgBpB,EAAM,MACPqB,OAAQC,GAAmBA,GAAK,GAC9D,OAAoB,IAAhBH,EAAKzG,OAAqBsF,EACvBA,EAAKkB,MAAM,EAAG1G,KAAKC,OAAO0G,KAG7BC,EAAkB,CAACpB,EAAcuB,KACrC,IAAIC,GAAW,EACf,IAAK,IAAIC,EAAI,EAAGA,EAAIzB,EAAKtF,OAAQ+G,GAAK,EAAG,CACvC,MAAMC,EAAI1B,EAAKyB,GACf,GAAU,MAANC,EAAWF,GAAYA,OACtB,IAAKA,GAAYE,IAAMH,EAAI,OAAOE,CACzC,CACA,OAAO,GAGHlB,EACJP,IAEA,IAAKA,EAAK2B,WAAW,OAAS3B,EAAKiB,SAAS,KAAM,OAClD,MAAMW,EAAQ5B,EAAKkB,MAAM,GAAG,GAAIb,OAChC,GAAc,KAAVuB,EAAc,OAClB,MAAMC,EAAUD,EAAME,QAAQ,KAC9B,IAAgB,IAAZD,EAAgB,MAAO,CAAErB,QAASoB,EAAOnB,gBAAYtF,GACzD,MAAM4G,EAAcH,EAAMV,MAAM,EAAGW,GAASxB,OACtC2B,EAAYJ,EAAMK,YAAY,KACpC,OAAID,GAAaH,OAAjB,EAEO,CAAErB,QAASuB,EAAatB,WADZmB,EAAMV,MAAMW,EAAU,EAAGG,KAIxCpB,EACJZ,IAEA,MAAMkC,EAAOlC,EAAK8B,QAAQ,KAC1B,IAAa,IAATI,EAAa,OACjB,MAAMC,EAAMnC,EAAKkB,MAAM,EAAGgB,GAAM7B,OAChC,MAAY,KAAR8B,EAEG,CAAEA,MAAKC,MADApC,EAAKkB,MAAMgB,EAAO,GAAG7B,aADnC,GAKIP,EAAkBF,IACtB,MAAMyC,EAKF,CAAA,EACJ,IAAK,MAAMC,KAAO1C,EACI,SAAhB0C,EAAI9B,cAAyCrF,IAAnBmH,EAAI7B,WAChC8B,EAAUF,EAAKC,GACU,SAAhBA,EAAI9B,cAAyCrF,IAAnBmH,EAAI7B,WACvC+B,EAAUH,EAAKC,GACU,WAAhBA,EAAI9B,cAA2CrF,IAAnBmH,EAAI7B,WACzCgC,EAAYJ,EAAKC,EAAI7B,WAAY6B,GACR,WAAhBA,EAAI9B,cAA2CrF,IAAnBmH,EAAI7B,YACzCiC,EAAYL,EAAKC,EAAI7B,WAAY6B,GAGrC,OAAOK,EAASN,IAGZE,EAAY,CAACF,EAAoCC,KACrD,IAAK,MAAMH,IAAEA,EAAGC,MAAEA,KAAWE,EAAIpF,QACnB,SAARiF,IACFE,EAAIO,OAAS,CAAA,EACbP,EAAIO,KAAO,IAAKP,EAAIO,KAAMC,KAAMC,EAAgBV,MAKhDI,EAAY,CAChBH,EACAC,KAEA,IAAK,MAAMH,IAAEA,EAAGC,MAAEA,KAAWE,EAAIpF,QACnB,SAARiF,GACFE,EAAIU,OAAS,CAAA,EACbV,EAAIU,KAAO,IAAKV,EAAIU,KAAMC,KAAMZ,IACf,UAARD,IACTE,EAAIU,OAAS,CAAA,EACbV,EAAIU,KAAO,IAAKV,EAAIU,KAAME,MAAOb,KAKjCK,EAAc,CAClBJ,EACAW,EACAV,KAEAD,EAAIa,SAAW,IAAIC,IACnB,MAAMpD,EAAUsC,EAAIa,OAAO9D,IAAI4D,IAAS,CAAA,EAClCI,EAAQrD,EAAQqD,MAAQ,IAAIrD,EAAQqD,OAAS,GACnD,IAAIC,EAAMtD,EAAQsD,IAClB,IAAK,MAAMlB,IAAEA,EAAGC,MAAEA,KAAWE,EAAIpF,QACnB,QAARiF,EAAekB,EAAMjB,EACR,UAARD,GAAiBiB,EAAM1C,KAAK0B,GAEvC,MAAMkB,EAA6C,CAAA,OACvCnI,IAARkI,IAAmBC,EAAOD,IAAMA,GAChCD,EAAM1I,OAAS,IAAG4I,EAAOF,MAAQA,GACrCf,EAAIa,OAAO5I,IAAI0I,EAAMM,IAGjBZ,EAAc,CAClBL,EACAW,EACAV,KAEAD,EAAIkB,SAAW,IAAIJ,IACnB,MACMK,EAA4C,IADlCnB,EAAIkB,OAAOnE,IAAI4D,IAAS,CAAA,GAExC,IAAK,MAAMb,IAAEA,EAAGC,MAAEA,KAAWE,EAAIpF,QACnB,WAARiF,EAAkBqB,EAAKN,OAASd,EACnB,UAARD,IAAiBqB,EAAKC,MAAQrB,GAEzCC,EAAIkB,OAAOjJ,IAAI0I,EAAMQ,IAGjBb,EAAYN,IAMhB,MAAMvB,EAKF,CAAA,EAOJ,YANuB3F,IAAnBkH,EAAIO,MAAMC,OAAoB/B,EAAI8B,KAAO,CAAEC,KAAMR,EAAIO,KAAKC,YACvC1H,IAAnBkH,EAAIU,MAAMC,WAA0C7H,IAApBkH,EAAIU,MAAME,QAC5CnC,EAAIiC,KAAO,CAAEC,KAAMX,EAAIU,KAAKC,KAAMC,MAAOZ,EAAIU,KAAKE,aAEjC9H,IAAfkH,EAAIa,QAAwBb,EAAIa,OAAOQ,KAAO,IAAG5C,EAAIoC,OAASb,EAAIa,aACnD/H,IAAfkH,EAAIkB,QAAwBlB,EAAIkB,OAAOG,KAAO,IAAG5C,EAAIyC,OAASlB,EAAIkB,QAC/DzC,GAGH6C,EAAc,IAAIC,IAAI,CAAC,OAAQ,MAAO,KAAM,MAC5CC,EAAe,IAAID,IAAI,CAAC,QAAS,KAAM,MAAO,IAAK,KAEnDd,EAAmBV,IACvB,MAAM0B,EAAU1B,EAAM2B,cACtB,QAAIJ,EAAYK,IAAIF,KAChBD,EAAaG,IAAIF,IAAiB,ICtPlCG,EAAWC,EAAAA,QAAQC,KAAK,QAYjBC,EAAmB7I,MAAOC,IACrC,MAAM6I,EAAW,GAAG7I,EAAII,OAAOC,cAC/B,UAAYL,EAAIW,GAAGmI,OAAOD,GACxB,MHhBF,IAAInJ,EAAAA,WAAW,CAAEE,KAAM,mBAAoBJ,KGgBpBQ,EAAII,OAAO2I,UAGlC,OADa/I,EAAII,OAAOiH,KAAOrH,EAAII,OAAOC,OAASL,EAAII,OAAO2I,SAcnDC,EAAgBjJ,MAAOC,EAAciJ,KAChD,QAVoBlJ,OAAOC,IAC3B,MAAMkJ,QAAexF,EAAW1D,GAChC,OAAOkJ,EAAO9B,MAAMC,OAAQ,GAQlB8B,CAAOnJ,GACf,KHhC0B,CAACiJ,GAC7B,IAAIvJ,EAAAA,WAAW,CAAEE,KAAM,kBAAmBqJ,cG+BlCG,CAAeH,IAKZI,EAActJ,MAAOC,IAChC,MAAMR,EAAO,GAAGQ,EAAII,OAAOC,cAC3B,IAAIiJ,EACJ,IACEA,QAAgBtJ,EAAIW,GAAGuD,SAAS1E,EAClC,CAAE,MAAOsB,GACP,GAAIA,aAAepB,EAAAA,YAAgC,mBAAlBoB,EAAIC,KAAKnB,KACxC,MAAM2J,EAAAA,YAAYd,GAEpB,MAAM3H,CACR,CACA,MAAM0I,EAASC,EAAAA,cAAcH,GAC7B,MAAoB,aAAhBE,EAAOE,KACF,CAAEC,KAAM,WAAYC,OAAQJ,EAAOI,QAErC,CAAED,KAAM,SAAU9K,GAAI2K,EAAOI,SAGhCC,EAGD,CACH,CAAEC,KAAM,aAAcb,UAAW,SACjC,CAAEa,KAAM,mBAAoBb,UAAW,eACvC,CAAEa,KAAM,cAAeb,UAAW,UAClC,CAAEa,KAAM,cAAeb,UAAW,WAQvBc,EAA2BhK,MAAOC,IAC7C,MAAMZ,QAAc4K,QAAQC,IAC1BJ,EAAgB3H,IAAKY,GAAM9C,EAAIW,GAAGmI,OAAO,GAAG9I,EAAII,OAAOC,UAAUyC,EAAEgH,UAErE,IAAK,IAAI7D,EAAI,EAAGA,EAAI4D,EAAgB3K,OAAQ+G,GAAK,EAC/C,IAAiB,IAAb7G,EAAM6G,GAAa,MAAMiE,sBAAoBL,EAAgB5D,IAAIgD,YC7EnEkB,EAAe,IAAIC,YAInBC,EAAqC,IAAIjC,IAAI,CAAC,SAkBvCkC,EAAgBC,IACb,KAAVA,GAAcC,EAAOD,GACrBE,EAAWF,GA1BM,MA0BmBC,EAAOD,GAC3CA,EAAMpE,WAAW,MAAMqE,EAAOD,GAC9BA,EAAMG,SAAS,OAAOF,EAAOD,GAC7BA,EAAMG,SAAS,OAAOF,EAAOD,GACjC,MAAMI,EAAaJ,EAAM7F,MAAM,KAC/B,IAAK,MAAMkG,KAAaD,EACtBE,EAAgBD,EAAWL,GAE7B,OAAOA,GAGHC,EAAUD,IACd,MAAMO,EAAAA,oBAAoBP,IAGtBM,EAAkB,CAACD,EAAmBG,KACxB,KAAdH,GAAkBJ,EAAOO,GACX,MAAdH,GAAmC,OAAdA,GAAoBJ,EAAOO,GAChDN,EAAWG,GA3CW,KA2CuBJ,EAAOO,GACpDC,EAAwBJ,IAAYJ,EAAOO,GAG3CH,EAAUF,SAAS,MAAMF,EAAOO,GACpC,IAAK,IAAI9E,EAAI,EAAGA,EAAI2E,EAAU1L,OAAQ+G,GAAK,EAAG,CAC5C,MAAMrG,EAAOgL,EAAUK,WAAWhF,IAC9BrG,GAAQ,IAAiB,MAATA,IAAe4K,EAAOO,EAC5C,GAGIC,EAA2BJ,IAC/B,MAAMtC,EAAUsC,EAAUrC,cAC1B,QAAI8B,EAAc7B,IAAIF,IAIH,SADHA,EAAQ9C,QAAQ,SAAU,KAItCiF,EAAcS,GAAsBf,EAAahI,OAAO+I,GAAGhM,OAE3DiM,EAAW,CAACnL,EAAcR,IAA2B,GAAGQ,EAAII,OAAO2I,WAAWvJ,IAuDvE4L,EAAWrL,MAAOC,EAAcqL,KAC3C,MAAM7L,EAAO8K,EAAae,GAC1B,OAAOrL,EAAIW,GAAG2K,KAAKH,EAASnL,EAAKR,KAQtB+L,EAAaxL,MAAOC,EAAcqL,KAC7C,MAAM7L,EAAO8K,EAAae,GACpBG,EAAOL,EAASnL,EAAKR,GAC3B,IAAIiM,EACJ,IACEA,QAAazL,EAAIW,GAAGQ,MAAMqK,EAC5B,CAAE,MACA,MAAME,EAAAA,uBAAuB,CAAClM,GAChC,CACA,IAAKiM,EAAKE,SAAWF,EAAKG,eACxB,MAAMF,EAAAA,uBAAuB,CAAClM,UAE1BQ,EAAIW,GAAGU,GAAGmK,ICtIZK,EAAsB,IAAIzD,IAAI,CAClC,iBACA,uBACA,wBA2EI0D,EAAW/L,MAAOC,EAAcR,KACpC,MAAMiM,QAAazL,EAAIW,GAAGQ,MAAM,GAAGnB,EAAII,OAAO2I,WAAWvJ,KAAQuM,MAAM,QACvE,QAAapM,IAAT8L,EAAoB,MAAO,UAC/B,MAAMlN,EAAiBkN,EAAKG,eACxB,SACa,GAAZH,EAAKlN,KACJ,SACA,SACA8E,EAAQoI,EAAKG,gBACf,IAAIxB,aAAcjI,aAAanC,EAAIW,GAAGqL,SAAS,GAAGhM,EAAII,OAAO2I,WAAWvJ,YAClE4L,EAASpL,EAAKR,GAClBX,QAAYoN,EAAAA,YAAYjM,EAAK,CACjC0J,KAAM,OACN7K,GAAI,GACJyK,QAASjG,IAEX,OAAO6I,EAAUT,EAAMlN,EAAMM,EAAIW,IAG7B0M,EAAY,CAChBT,EACAlN,EACAM,EACAW,KAAc,CAEdzB,aAAciB,KAAKmN,MAAMV,EAAKW,QAAU,KACxCpO,iBAAkB,EAClBC,aAAce,KAAKmN,MAAMV,EAAKhM,QAAU,KACxCvB,iBAAkB,EAClBC,IAAKsN,EAAKtN,IACVC,IAAKqN,EAAKrN,IACVG,OACAC,IAAKiN,EAAKjN,IACVC,IAAKgN,EAAKhN,IACVC,SAAU+M,EAAKvD,KACfrJ,KACAO,MAAO,CAAEC,aAAa,EAAOgN,UAAU,EAAO/M,MAAO,GACrDE,SC7FI8M,EAAe,cAqFfC,EAAsBxM,MAAOC,EAAcwM,KAC/C,GAAI,iBAAiBC,KAAKD,GAAa,OAAOA,EAC9C,MAAME,EACW,SAAfF,EACI,CAAC,QACD,CAAC,GAAGF,IAAeE,IAAyBA,GAClD,IAAK,MAAMG,KAAaD,EACtB,IACE,aAAaE,EAAAA,WAAW5M,EAAK2M,EAC/B,CAAE,MAEF,CAEF,MAAME,EAAAA,eAAeL,ICpGjBM,EAA0B,uBCGnBC,EAAsBhN,MACjCC,EACAC,KAEA,MAAM8H,EAASiF,EAAAA,gBAAgB/M,EAAKgN,eAC9B5M,EAASL,EAAII,OAAOC,OAC1B,UACQL,EAAIW,GAAGuM,MAAM7M,SACbL,EAAIW,GAAGwM,UAAU,GAAG9M,SAAe,mBAAmB0H,aACtD/H,EAAIW,GAAGwM,UAAU,GAAG9M,YAtBRgH,EAsBsCpH,EAAKoH,KArB/D,sEAAsEA,EAAO,OAAS,oBAsB9ErH,EAAIW,GAAGuM,MAAM,GAAG7M,sBAChBL,EAAIW,GAAGuM,MAAM,GAAG7M,qBAChBL,EAAIW,GAAGuM,MAAM,GAAG7M,wBAChBL,EAAIW,GAAGuM,MAAM,GAAG7M,wBAChBL,EAAIW,GAAGwM,UAAU,GAAG9M,iBArCT,gQAsCXL,EAAIW,GAAGwM,UAAU,GAAG9M,gBA9BV,6EA+BlB,CAAE,MAAOS,GAGP,YADMd,EAAIW,GAAGyM,YAAY/M,GAAQ0L,MAAM,QACjCjL,CACR,CAjCmB,IAACuG,EAkCpB,MAAO,CACLhH,OAAQA,EACR4M,cAAelF,EACfV,KAAMpH,EAAKoH,OCpCFgG,EAActN,MAAOgE,EAAa9D,KAC7CqN,EAAmBvJ,GACnB,MAAMyF,EAAS+D,GAASxJ,GACxByJ,GAAchE,EAAQvJ,EAAKwN,gBAAiB,GAC5CC,GAAelE,GACf,MAAMmE,QAAkB1N,EAAK2N,SAASpE,EAAOqE,UAE7C,MAAO,CAAEhG,IAAK9D,EAAK+J,cADJC,GAAkBJ,EAAW1N,EAAK+N,uBAAwB,KAIrEV,EAAsBvJ,IAC1B,IAAK,IAAIkC,EAAI,EAAGA,EAAIlC,EAAI7E,OAAQ+G,GAAK,EAAG,CACtC,MAAMrG,EAAOmE,EAAIkH,WAAWhF,GAC5B,GAAa,KAATrG,GAA0B,KAATA,EACnB,MAAMqO,EAAAA,WAAW,uCAErB,GAGIV,GAAYxJ,IAChB,IACE,OAAO,IAAImK,IAAInK,EACjB,CAAE,MACA,MAAMkK,EAAAA,WAAW,kBACnB,GAGIT,GAAgB,CAAC3F,EAAU4F,KAC/B,MAAMU,EAAQtG,EAAIuG,SAClB,GAAc,WAAVD,IACU,UAAVA,IAAqBV,GACzB,MAAMY,EAAAA,kBAAkBF,EAAM3I,QAAQ,IAAK,MAGvCkI,GAAkB7F,IACtB,GAAiB,KAAbA,EAAIzE,KAAa,MAAM6K,EAAAA,WAAW,gCAGlCF,GAAoB,CACxBJ,EACAK,KAEA,IAAK,MAAMM,KAAQX,EACjB,GAAIK,IAAyBO,GAAiBD,GAAO,OAAOA,EAE9D,GAAyB,IAArBX,EAAUzO,OAAc,MAAMsP,EAAAA,YAAY,eAAgB,2BAC9D,MAAMA,cAAYb,EAAU,GAAc,kDAGtCY,GAAoBD,GACpBA,EAAK5D,SAAS,KAAa+D,GAAcH,GACtCI,GAAcJ,GAgBjBI,GAAiBJ,IACrB,MAAMK,EAdU,CAACL,IACjB,MAAMM,EAAQN,EAAK5J,MAAM,KACzB,GAAqB,IAAjBkK,EAAM1P,OAAc,OACxB,MAAMoG,EAAgB,GACtB,IAAK,MAAMuJ,KAAQD,EAAO,CACxB,IAAK,YAAYnC,KAAKoC,GAAO,OAC7B,MAAM/I,EAAIzH,OAAOwQ,GACjB,GAAI/I,EAAI,GAAKA,EAAI,IAAK,OACtBR,EAAIJ,KAAKY,EACX,CACA,OAAOR,GAIQwJ,CAAUR,GACzB,QAAe3O,IAAXgP,EAAsB,OAAO,EACjC,MAAO5M,EAAGC,GAAK2M,EACf,OAAU,IAAN5M,GACM,KAANA,GACM,MAANA,GAAaC,GAAK,IAAMA,GAAK,KACvB,MAAND,GACM,MAANA,GAAmB,MAANC,GACP,MAAND,GAAaC,GAAK,IAAMA,GAAK,IACvB,MAAND,GAAmB,MAANC,GACbD,GAAK,KAAOA,GAAK,KACjBA,GAAK,KAIL0M,GAAiBH,IACrB,MAAMS,EAAQT,EAAK/F,cAEbyG,EAASD,EAAME,MAAM,uCAC3B,QAAoBtP,IAAhBqP,IAAS,GAAkB,OAAON,GAAcM,EAAO,IAI3D,MAAME,EAAMH,EAAME,MAAM,4CACxB,QAAiBtP,IAAbuP,IAAM,SAA+BvP,IAAXuP,EAAI,GAAkB,CAClD,MAAMC,EAAO7Q,SAAS4Q,EAAI,GAAI,IACxBE,EAAM9Q,SAAS4Q,EAAI,GAAI,IAE7B,OAAOR,GADe,GAAGS,GAAQ,KAAY,IAAPA,KAAeC,GAAO,KAAW,IAANA,IAEnE,CACA,SAAc,QAAVL,GAA6B,OAAVA,GACnBA,EAAM5I,WAAW,UAAY4I,EAAM5I,WAAW,WAC9C4I,EAAM5I,WAAW,OACjB4I,EAAM5I,WAAW,OAAS4I,EAAM5I,WAAW,QC5F3CkJ,GAAoB,iBChBbC,GAAiB/E,IAC5B,QAAuB5K,IAAnB4K,EAAMgF,SAAwB,OAAOhF,EAAMgF,SAC/C,QAAyB5P,IAArB4K,EAAMiF,WAA0B,OAAOjF,EAAMiF,WACjD,MAAMC,wBAQKC,GAAoBnF,IAC/B,QAAuB5K,IAAnB4K,EAAMgF,SAAwB,OAAOhF,EAAMgF,SAC/C,QAAqB5P,IAAjB4K,EAAMoF,OAAsB,OAAOpF,EAAMoF,OAC7C,QAAyBhQ,IAArB4K,EAAMiF,WAA0B,OAAOjF,EAAMiF,WACjD,MAAMC,wBAQKG,GAAkB,CAAC7L,EAAa9D,KAC3C,MAAM0E,EAAUZ,EAAIc,OACpB,GAAgB,KAAZF,IAAmB1E,EAAK4P,WAAY,MAAMC,uBAC9C,OAAOnL,GC4GHoL,GAAc,CAACC,EAAmBpB,EAA8BhR,KACpE,GAAqB,IAAjBgR,EAAM1P,OAER,YADA8Q,EAAKC,MAAMnR,IAAI8P,EAAM,GAAc,CAAE/P,GAAIjB,EAAMiB,GAAIN,KAAMX,EAAMW,OAGjE,MAAO2R,KAASC,GAAQvB,EAClBjI,EAAMuJ,EACZ,IAAIE,EAAQJ,EAAKK,QAAQzM,IAAI+C,QACfhH,IAAVyQ,IACFA,EAAQ,CAAEH,MAAO,IAAItI,IAAO0I,QAAS,IAAI1I,KACzCqI,EAAKK,QAAQvR,IAAI6H,EAAKyJ,IAExBL,GAAYK,EAAOD,EAAMvS,IAGrB0S,GAAevQ,MAAOC,EAAcgQ,KACxC,MAAMO,EAA2B,GACjC,IAAK,MAAO/I,EAAMgJ,KAASR,EAAKC,MAC9BM,EAAYrL,KAAK,CAAE3G,KAAMiS,EAAKjS,KAA2BiJ,OAAM3I,GAAI2R,EAAK3R,KAG1E,MAAMwR,QAAgBrG,QAAQC,IAC5BwG,MAAM9H,KAAKqH,EAAKK,SAASnO,IAAInC,OAAQyH,EAAM4I,MAAM,CAC/C5I,OACA3I,SAAUyR,GAAatQ,EAAKoQ,OAGhC,IAAK,MAAM5I,KAAEA,EAAI3I,GAAEA,KAAQwR,EACzBE,EAAYrL,KAAK,CAAE3G,KAAM,QAASiJ,OAAM3I,OAK1C,OAAO6R,EAAAA,UAAU1Q,EAAKuQ,IC/JlBI,GAAgB5Q,MAAOC,EAAc4J,KACzC,MAAM/K,EAAK,iBAAiB4N,KAAK7C,GAC5BA,QACKgD,EAAAA,WAAW5M,EAAgB,SAAX4J,EAAoB,OAASoD,EAAAA,gBAAgBpD,IACjEgH,QAAYC,aAAW7Q,EAAKnB,GAClC,MAAiB,WAAb+R,EAAIlH,KAA0BkH,EAAI7P,KAAK+P,KACXjS,GCJ5BkS,GAAqB,kBC0CrBC,GAAuB,oBA4DvBC,GAAUlR,MAAOC,EAAckR,KACnC,MAAMN,QAAYC,aAAW7Q,EAAKkR,GAClC,GAAiB,WAAbN,EAAIlH,KAAmB,MAAMyH,EAAAA,qBAAqB,SAAUP,EAAIlH,KAAMwH,GAC1E,OAAON,EAAI7P,KAAK+P,MCxGZM,GAA4B,yBCY5BC,GAAqB,IAAIjJ,IAAY,CAAC,SAAU,OAAQ,OAAQ,QAChEkJ,GAAsB,eACtBC,GAAoB,kBAEpBC,GAAQzN,IACZ,MAAM0N,EAAAA,mBAAmB1N,IA+BrB2N,GAAqB3N,IACzB,IAAK,IAAIkC,EAAI,EAAGA,EAAIlC,EAAI7E,OAAQ+G,GAAK,EAAG,CACtC,MAAMF,EAAKhC,EAAIkC,GACf,GAAW,MAAPF,GAAqB,MAAPA,EAAY,OAAOE,CACvC,CACA,OAAO,GAGH0L,GAAkB,CAAC5N,EAAa6N,KACpC,MAAMtM,EAAsB,GAC5B,IAAIW,EAAI2L,EACR,KAAO3L,EAAIlC,EAAI7E,QAAQ,CACrB,MAAM6G,EAAKhC,EAAIkC,GACf,GAAW,MAAPF,EAAY,CACd,MAAMhD,EAAS8O,GAAW9N,EAAKkC,GAC/BX,EAAIJ,KAAKnC,EAAO+O,IAChB7L,EAAIlD,EAAOiF,IACb,MAAO,GAAW,MAAPjC,EAAY,CACrB,MAAMhD,EAASgP,GAAWhO,EAAKkC,GAC/BX,EAAIJ,KAAKnC,EAAO+O,IAChB7L,EAAIlD,EAAOiF,IACb,MACEwJ,GAAKzN,EAET,CACA,OAAOuB,GAGHuM,GAAa,CACjB9N,EACAkC,KAEA,IAAI+L,EAAI/L,EAAI,EACZ,KAAO+L,EAAIjO,EAAI7E,QAAU+S,GAAQlO,EAAIkH,WAAW+G,KAAKA,GAAK,EAG1D,OAFIA,IAAM/L,EAAI,GAAGuL,GAAKzN,GAEf,CAAE+N,GAAI,CAAEnI,KAAM,WAAY7D,EADvBzH,OAAO0F,EAAI2B,MAAMO,EAAI,EAAG+L,KACIhK,KAAMgK,IAGxCD,GAAa,CACjBhO,EACAkC,KAEA,GAAmB,MAAflC,EAAIkC,EAAI,GAAY,CACtB,MAAMiM,EAAWnO,EAAIuC,QAAQ,IAAKL,EAAI,IACrB,IAAbiM,GAAiBV,GAAKzN,GAC1B,MAAMoO,EAAYpO,EAAI2B,MAAMO,EAAI,EAAGiM,GAEnC,OADKb,GAAmB7I,IAAI2J,IAAYX,GAAKzN,GACtC,CACL+N,GAAI,CAAEnI,KAAM,OAAQC,OAAQuI,GAC5BnK,KAAMkK,EAAW,EAErB,CACA,IAAIF,EAAI/L,EAAI,EACZ,KAAO+L,EAAIjO,EAAI7E,QAAU+S,GAAQlO,EAAIkH,WAAW+G,KAAKA,GAAK,EAC1D,MAAMI,EAAYrO,EAAI2B,MAAMO,EAAI,EAAG+L,GAEnC,MAAO,CAAEF,GAAI,CAAEnI,KAAM,SAAU7D,EADP,KAAdsM,EAAmB,EAAI/T,OAAO+T,IACJpK,KAAMgK,IAGtCC,GAAWrS,GAA0BA,GAAQ,IAAQA,GAAQ,GCzG7DyS,GAActS,MAAOC,EAAcsS,KACvC,GAAI,iBAAiB7F,KAAK6F,GAAO,OAAOC,EAAAA,SAAgB5J,KAAK2J,GAE7D,MAAM5F,EACK,SAAT4F,EACI,CAAC,QACD,CACEA,EACA,cAAcA,IACd,aAAaA,IACb,gBAAgBA,KAExB,IAAK,MAAM3F,KAAaD,EACtB,IACE,aAAaE,EAAAA,WAAW5M,EAAK2M,EAC/B,CAAE,MAEF,CAEF,MAAM6F,EAAAA,eAAeF,IAGjBG,GAAiB1S,MAAOC,EAAcnB,EAAciT,KACxD,GAAgB,WAAZA,EAAGnI,KAAmB,OAAO+I,GAAa1S,EAAKnB,EAAIiT,EAAGhM,GAC1D,GAAgB,aAAZgM,EAAGnI,KAAqB,CAC1B,IAAIgJ,EAAM9T,EACV,IAAK,IAAIoH,EAAI,EAAGA,EAAI6L,EAAGhM,EAAGG,GAAK,EAAG0M,QAAYD,GAAa1S,EAAK2S,EAAK,GACrE,OAAOA,CACT,CACA,OAAOC,GAAK5S,EAAKnB,EAAIiT,EAAGlI,SAGpB8I,GAAe3S,MAAOC,EAAcnB,EAAciH,KACtD,MAAM8K,QAAYC,aAAW7Q,EAAKnB,GAClC,GAAiB,WAAb+R,EAAIlH,KAAmB,MAAM8I,EAAAA,eAAe3T,GAChD,MACMgU,EADUjC,EAAI7P,KAAK+R,QACFhN,EAAI,GAC3B,QAAenG,IAAXkT,EAAsB,MAAML,EAAAA,eAAe3T,GAC/C,OAAOgU,GAGHD,GAAO7S,MACXC,EACAnB,EACA+K,KAEA,IAAIrF,EAAoB1F,EACxB,IAAK,IAAIoH,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAAG,CAC7B,MAAM2K,QAAYC,aAAW7Q,EAAKuE,GAClC,GAAIqM,EAAIlH,OAASE,EAAQ,OAAOrF,EAChC,GAAiB,QAAbqM,EAAIlH,KAAR,CAIA,GAAe,SAAXE,GAAkC,WAAbgH,EAAIlH,KAAmB,OAAOkH,EAAI7P,KAAK+P,KAChE,MAAM0B,EAAAA,eAAejO,EAFrB,CAFEA,EAAUqM,EAAI7P,KAAKgS,MAKvB,CACA,MAAMP,EAAAA,eAAejO,IAGjByO,GAAoBjT,MACxBC,EACAiT,KAEA,MAAMrR,QAAcsR,EAAAA,UAAUlT,GAC9B,IAAK,MAAMpC,KAASgE,EAAMF,QACxB,GAAI9D,EAAM4B,OAASyT,EAAKzT,MAAQ5B,EAAMwB,MAAME,QAAU2T,EAAK3T,MAAO,OAAO1B,EAAMiB,GAEjF,MAAM2T,EAAAA,eAAe,GAAGS,EAAK3T,SAAS2T,EAAKzT,SC9FvCqM,GAAsB,IAAIzD,IAAI,CAClC,iBACA,uBACA,wBCaI+K,GAAiB,cA6DjBC,GAAiB,IAAIhJ,YAErBiJ,GAAatT,MAAOC,EAAcR,EAAgB5B,KACtD,IACE,MAAMyF,QAAc+H,EAASpL,EAAKsK,EAAa9K,IAEzCsF,EAASsO,GAAejR,OAAO,QAAQkB,EAAMoH,gBAC7ChN,EAAM,IAAIoD,WAAWiE,EAAO2F,WAAapH,EAAMoH,YAIrD,OAHAhN,EAAIqB,IAAIgG,EAAQ,GAChBrH,EAAIqB,IAAIuE,EAAOyB,EAAO2F,kBACAzK,EAAIoD,KAAKkQ,QAAQ7V,KACrBG,EAAMiB,EAC1B,CAAE,MACA,OAAO,CACT,GCtEI0U,GAAc,aAqDdC,GAAgBzT,MAAOC,IAC3B,MAAMkQ,QAAa7G,EAAYrJ,GAC/B,MAAkB,WAAdkQ,EAAKvG,KAA0BuG,EAAKrR,GACjC+N,aAAW5M,EAAKkQ,EAAKtG,qBhBzCX7J,MACjBC,EACAyT,EACAxT,EAAmB,CAAA,KAKnB,SAHM2I,EAAiB5I,SACjBgJ,EAAchJ,EAAK,aACnB+J,EAAyB/J,GACV,IAAjByT,EAAMvU,OAAc,MAAMwU,kBAC9B,MAAMC,EAAYF,EAAMvR,IAAIoI,GACtBsJ,QAAa9T,EACjBE,OAC0BL,IAA1BM,EAAKS,iBAAiC,CAAEA,iBAAkBT,EAAKS,kBAAqB,CAAA,GAEtF,IACE,MAAMiD,OAmBkB5D,OAAOC,IACjC,IACE,MAAM4B,QAAcsR,EAAAA,UAAUlT,GACxBsF,EAAM,IAAIqC,IAChB,IAAK,MAAM/J,KAASgE,EAAMF,QAAS4D,EAAIxG,IAAIlB,EAAM4B,KAAM5B,GACvD,OAAO0H,CACT,CAAE,MAAOxE,GAGP,GAAIA,aAAepB,EAAAA,YAAcmM,EAAoBrD,IAAI1H,EAAIC,KAAKnB,MAChE,OAAO,IAAI+H,IAEb,MAAM7G,CACR,GAhCyB+S,CAAoB7T,GACrC8T,EAAa,IAAInM,IAA0BhE,GAC3CoQ,EAAoB,GACpBC,EAAuB,GAC7B,IAAK,MAAMxU,KAAQmU,EAAW,CAC5B,MAAM5Q,QAAe+I,EAAS9L,EAAKR,GACnC,GAAe,YAAXuD,EAAsB,MAAMkR,EAAAA,gBAAgBzU,GAChD,MAAM0U,EAAWvQ,EAASC,IAAIpE,GAC9BsU,EAAWhV,IAAIU,EAAMuD,QACJpD,IAAbuU,EAAwBH,EAAM7O,KAAK1F,GAC9B0U,EAASrV,KAAOkE,EAAOlE,IAAMqV,EAAS3V,OAASwE,EAAOxE,MAAMyV,EAAS9O,KAAK1F,EACrF,CAEA,aADMoU,EAAKnS,OAAOgP,MAAM9H,KAAKmL,EAAWK,WACjC,CAAEJ,QAAOC,WAAUI,QAAS,GACrC,eACQR,EAAKpS,SACb,kBCnCoBzB,MAAOC,EAAcqU,WACnCzL,EAAiB5I,GACH,SAAhBqU,EAAO1K,KAMQ5J,OAAOC,IAC1B,MAAMsU,EAAW,GAAGtU,EAAII,OAAOC,oBAC/B,UAAYL,EAAIW,GAAGmI,OAAOwL,GAAY,MAAO,CAAE3K,KAAM,OAAQ4K,SAAU,IACvE,MAAMrE,QAAa7G,EAAYrJ,GACzBwU,EACU,aAAdtE,EAAKvG,MAAuBuG,EAAKtG,OAAOzD,WAAWmG,GAAgB4D,EAAKtG,YAASjK,EAC7E+B,QAAgB1B,EAAIW,GAAG8T,QAAQH,GAC/BC,EAAyB,GAC/B,IAAK,MAAM3W,KAAS8D,EAAS,CAC3B,IAAK9D,EAAM+N,OAAQ,SACnB,MAAMnE,EAAO,GAAG8E,IAAe1O,EAAM4J,OAC/B3I,QAAW+N,aAAW5M,EAAKwH,GACjC+M,EAASrP,KAAK,CAAEsC,OAAM3I,KAAI0F,QAASiD,IAASgN,GAC9C,CAEA,OADAD,EAASzS,KAAK,CAACC,EAAGC,IAAOD,EAAEyF,KAAOxF,EAAEwF,MAAO,EAAKzF,EAAEyF,KAAOxF,EAAEwF,KAAO,EAAI,GAC/D,CAAEmC,KAAM,OAAQ4K,aArBYG,CAAa1U,GAC5B,WAAhBqU,EAAO1K,KAuBQ5J,OACnBC,EACAqU,KAEA,MAAM7M,EAAOwF,EAAAA,gBAAgB,GAAGV,IAAe+H,EAAO7M,QAChDgF,EAAa6H,EAAO7H,YAAc,OAClC5C,QAAe2C,EAAoBvM,EAAKwM,GAC9C,UACQmI,YAAU3U,EAAKwH,EAAMoC,GAAyB,IAAjByK,EAAOO,MAAiB,CAAA,EAAK,CAAEC,SAAU,UAC9E,CAAE,MAAO/T,GACP,GAAIA,aAAepB,EAAAA,YAAgC,wBAAlBoB,EAAIC,KAAKnB,KACxC,MAAMkV,EAAAA,aAAatN,GAErB,MAAM1G,CACR,CACA,MAAO,CAAE6I,KAAM,SAAUnC,OAAM3I,GAAI+K,IAtCEmL,CAAa/U,EAAKqU,GACnC,WAAhBA,EAAO1K,KAwCQ5J,OACnBC,EACAqU,KAEA,MAAM7M,EAAOwF,EAAAA,gBAAgB,GAAGV,IAAe+H,EAAO7M,QAChD0I,QAAa7G,EAAYrJ,GAC/B,GAAkB,aAAdkQ,EAAKvG,MAAuBuG,EAAKtG,SAAWpC,EAC9C,MAAMwN,EAAAA,6BAA6BxN,GAErC,UAAYxH,EAAIW,GAAGmI,OAAO,GAAG9I,EAAII,OAAOC,UAAUmH,KAChD,MAAMqF,EAAAA,eAAerF,GAGvB,aADMmN,EAAAA,UAAU3U,EAAKwH,EAAM,IAAIyN,OAAO,IAAiB,CAAEC,QAAQ,IAC1D,CAAEvL,KAAM,SAAUnC,SArDY2N,CAAanV,EAAKqU,GAwDpCtU,OACnBC,EACAqU,KAEA,MAAM1L,EAAOqE,EAAAA,gBAAgB,GAAGV,IAAe+H,EAAO1L,QAChDyM,EAAKpI,EAAAA,gBAAgB,GAAGV,IAAe+H,EAAOe,MAC9CvW,QAAW+N,aAAW5M,EAAK2I,GACjC,UACQgM,YAAU3U,EAAKoV,EAAIvW,GAAqB,IAAjBwV,EAAOO,MAAiB,CAAA,EAAK,CAAEC,SAAU,UACxE,CAAE,MAAO/T,GACP,GAAIA,aAAepB,EAAAA,YAAgC,wBAAlBoB,EAAIC,KAAKnB,KACxC,MAAMkV,EAAAA,aAAaM,GAErB,MAAMtU,CACR,OACM6T,EAAAA,UAAU3U,EAAK2I,EAAM,IAAIsM,OAAO,IAAiB,CAAEC,QAAQ,IACjE,MAAMhF,QAAa7G,EAAYrJ,GAI/B,MAHkB,aAAdkQ,EAAKvG,MAAuBuG,EAAKtG,SAAWjB,SACxC0M,mBAAiBrV,EAAK,OAAmBoV,GAE1C,CAAEzL,KAAM,SAAUhB,OAAMyM,OA3ExBE,CAAatV,EAAKqU,qBCPHtU,MAAOC,EAAcC,WACrC2I,EAAiB5I,SACjBgJ,EAAchJ,EAAK,kBACnB+J,EAAyB/J,GAI/BA,EAAIuV,SAAS3D,MAAM9E,GACnB,IACE,GAAI7M,EAAKuV,QAAU,iBAAiB/I,KAAKxM,EAAK2J,QAAS,CACrD,MAAM/K,OAgBakB,OAAOC,EAAc4J,IACxC,iBAAiB6C,KAAK7C,GAAgBA,EACnCgD,EAAAA,WAAW5M,EAAK4J,GAlBF6L,CAAiBzV,EAAKC,EAAK2J,QAE5C,aADM5J,EAAIW,GAAGwM,UAAU,GAAGnN,EAAII,OAAOC,cAAe,GAAGxB,OAChD,CAAEkJ,YAAQpI,EAAWd,KAAI6W,UAAU,EAC5C,CACA,MAAMC,EAAa3I,EAAAA,gBAAgB,cAAkB/M,EAAK2J,UAC1D,UAAY5J,EAAIW,GAAGmI,OAAO,GAAG9I,EAAII,OAAOC,UAAUsV,KAChD,MAAM9I,EAAAA,eAAe8I,GAEvB,MAAM9W,QAAW+N,aAAW5M,EAAK2V,GAEjC,aADMN,mBAAiBrV,EAAK,OAAmB2V,GACxC,CAAE5N,OAAQ4N,EAAY9W,KAAI6W,UAAU,EAC7C,SACE1V,EAAIuV,SAASK,IAAI9I,EACnB,iBGvBmB/M,MAAOC,EAAcC,KACxC,SAAUD,EAAIW,GAAGmI,OAAO,GAAG9I,EAAII,OAAOC,eACpC,MAAMwV,0BAAwB7V,EAAII,OAAO2I,SAE3C,GAAiB,KAAb9I,EAAK4H,IAAY,MAAMiO,2BAK3B9V,EAAIuV,SAAS3D,MAAMvC,IACnB,SAKwB1P,IAAlBM,EAAK2N,gBACDP,EAAYpN,EAAK4H,IAAK,CAC1B+F,SAAU3N,EAAK2N,iBACYjO,IAAvBM,EAAKwN,cAA8B,CAAEA,cAAexN,EAAKwN,eAAkB,WAC7C9N,IAA9BM,EAAK+N,qBACL,CAAEA,qBAAsB/N,EAAK+N,sBAC7B,KAGR,MAAMjL,QAAegK,EAAoB/M,EAAK,CAC5CiN,cAAehN,EAAKgN,eAAiB,OACrC5F,KAAMpH,EAAKoH,OAAQ,IAGrB,MAAO,CACL7H,KAAMuD,EAAO1C,OACb6P,KAAMnN,EAAOkK,cACb8I,YAAa,GAEjB,SACE/V,EAAIuV,SAASK,IAAIvG,GACnB,kBE5BoBtP,MAAOC,EAAcC,WACnC2I,EAAiB5I,SACjBgJ,EAAchJ,EAAK,gBACnB+J,EAAyB/J,GAC/B,MAAMgW,EAAUpG,GAAgB3P,EAAK+V,QAAS,CAAEnG,WAAY5P,EAAKgW,oBAAqB,IAEhFzG,EA8BS,CACfjI,IAEA,QAAa5H,IAAT4H,EACJ,MAAO,CACLC,KAAMD,EAAKC,KACXC,MAAOF,EAAKE,MACZyO,UAAWlX,KAAKmN,MAAM1L,KAAKD,MAAQ,KACnC2V,eAAgB,UAtCCC,QADE1S,EAAW1D,IACGuH,MAC7BoI,EAASL,GAyCU,EACzBC,EACAC,KAEA,MAAMlK,EAAkE,CAAA,EAGxE,YAFiB3F,IAAb4P,IAAwBjK,EAAIiK,SAAWA,QACxB5P,IAAf6P,IAA0BlK,EAAIkK,WAAaA,GACxClK,GAhDsB+Q,CAAmBpW,EAAK0P,OAAQH,IACvD8G,EAAY5G,GAkDQ,EAC1BH,EACAI,EACAH,KAMA,MAAMlK,EAIF,CAAA,EAIJ,YAHiB3F,IAAb4P,IAAwBjK,EAAIiK,SAAWA,QAC5B5P,IAAXgQ,IAAsBrK,EAAIqK,OAASA,QACpBhQ,IAAf6P,IAA0BlK,EAAIkK,WAAaA,GACxClK,GAnE4BiR,CAAoBtW,EAAKqW,UAAW3G,EAAQH,IACzE5N,QAAcsR,EAAAA,UAAUlT,GACxBwW,OAuFmBzW,OACzBC,EACA0B,KAEA,MAAM+U,EAAoB,CAAExG,MAAO,IAAItI,IAAO0I,QAAS,IAAI1I,KAC3D,IAAK,MAAM/J,KAAS8D,EAClBqO,GAAY0G,EAAM7Y,EAAM4B,KAAKkF,MAAM,KAAM9G,GAE3C,OAAO0S,GAAatQ,EAAKyW,IA/FJC,CAAmB1W,EAAK4B,EAAMF,SAC7CwO,QAAa7G,EAAYrJ,GACzB2W,EAAyB,aAAdzG,EAAKvG,UAkEL5J,OAAOC,EAAcwH,KACtC,IACE,aAAaoF,EAAAA,WAAW5M,EAAKwH,EAC/B,CAAE,MACA,MACF,GAvEkDoP,CAAW5W,EAAKkQ,EAAKtG,QAAUsG,EAAKrR,GAChFiU,OAAuBnT,IAAbgX,EAAyB,CAACA,GAAY,GACtD,IAAK1W,EAAK4P,iBAA2BlQ,IAAbgX,QAwEJ5W,OAAOC,EAAc2W,KACzC,MAAM/F,QAAYC,aAAW7Q,EAAK2W,GAClC,MAAiB,WAAb/F,EAAIlH,KAA0B6I,EAAAA,SAAgB5J,KAAK,IAAIsM,OAAO,KAC3DrE,EAAI7P,KAAK+P,MA1EW+F,CAAc7W,EAAK2W,KACzBH,EAAQ,MAAMM,oBAEnC,MAAMC,EAAyB,CAC7BjG,KAAM0F,EACN1D,UACAnD,SACA2G,YACAN,UACAgB,aAAc,IAEVnY,QAAWoY,eAAajX,EAAK+W,GAC7BhP,EAAuB,aAAdmI,EAAKvG,KAAsBuG,EAAKtG,YAASjK,EAMxD,YALeA,IAAXoI,QACI4M,YAAU3U,EAAK+H,EAAQlJ,OAAiBc,IAAbgX,EAAyB,CAAE9B,SAAU8B,GAAa,UAE7E3W,EAAIW,GAAGwM,UAAU,GAAGnN,EAAII,OAAOC,cAAe,GAAGxB,OAElD,CAAEA,KAAIiS,KAAM0F,EAAQzO,SAAQ+K,yBC1DjB/S,MAAOC,EAAcC,EAAoB,YACrD2I,EAAiB5I,GACvB,MAAM2I,QAAagI,GAAc3Q,EAAKC,EAAK0I,MAAQ,QAC7CyM,OAAiBzV,IAAZM,EAAKmV,SAAyBzE,GAAc3Q,EAAKC,EAAKmV,SAAMzV,EACvE,OAAOuX,YAAUlX,EAAK2I,EAAMyM,GAA2B,IAAvBnV,EAAKkX,cAAyB,CAAEA,eAAe,GAAS,CAAA,kBCOrEpX,MAAOC,EAAcC,EAAqB,YACvD2I,EAAiB5I,GAIvBA,EAAIuV,SAAS3D,MAAMb,IACnB,IACE,MAAMqG,EAAanX,EAAKyH,QAAU,SAC5BwB,QAAexF,EAAW1D,GAC1B0H,EAASwB,EAAOxB,QAAQ9D,IAAIwT,GAClC,QAAoBzX,IAAhB+H,GAAQG,IAAmB,MAAMwP,EAAAA,oBAAoBD,GACzD,MAAO,CAAE1P,OAAQ0P,EAAYvP,IAAKH,EAAOG,IAAKyP,YAAa,GAC7D,SACEtX,EAAIuV,SAASK,IAAI7E,GACnB,gBQrBkBhR,MAAOC,EAAcC,EAAoB,MAC3D,MAAMgN,EAAgBhN,EAAKgN,eAAiB,OACtC5F,EAAOpH,EAAKoH,OAAQ,EAC1B,SAAUrH,EAAIW,GAAGmI,OAAO,GAAG9I,EAAII,OAAOC,eACpC,MtBdF,IAAIX,EAAAA,WAAW,CAAEE,KAAM,sBAAuBJ,KsBcnBQ,EAAII,OAAOC,SAEtC,MAAM0C,QAAegK,EAAoB/M,EAAK,CAAEiN,gBAAe5F,SAC/D,MAAO,CAAE7H,KAAMuD,EAAO1C,OAAQ4M,cAAelK,EAAOkK,cAAe5F,KAAMtE,EAAOsE,mBCJ/DtH,MACjBC,EACAC,EAAmB,YAEb2I,EAAiB5I,GACvB,MAAMuX,OA2BaxX,OAAOC,EAAc2I,KACxC,GAAI,iBAAiB8D,KAAK9D,GAAO,OAAOA,EACxC,GAAa,SAATA,EAAiB,OAAOiE,EAAAA,WAAW5M,EAAK,QAE5C,MAAM0M,EAAa,CAAC/D,EAAM,cAAcA,IAAQ,aAAaA,KAC7D,IAAK,MAAMgE,KAAaD,EACtB,IACE,aAAaE,EAAAA,WAAW5M,EAAKgN,EAAAA,gBAAgBL,GAC/C,CAAE,MAEF,CAEF,OAAOC,aAAW5M,EAAKgN,EAAAA,gBAAgBrE,KAvCjB6O,CAAaxX,EAAKC,EAAK0I,MAAQ,QAC/C8O,OAyCiB1X,OACvBC,EACA0X,KAEA,MAAMpS,EAAkB,GACxB,IAAK,MAAMqS,KAAKD,EACd,GAAI,iBAAiBjL,KAAKkL,GACxBrS,EAAIJ,KAAKyS,QAGX,IACErS,EAAIJ,WAAW0H,EAAAA,WAAW5M,EAAKgN,EAAAA,gBAAgB2K,IACjD,CAAE,MAEF,CAEF,OAAOrS,GAzDesS,CAAiB5X,EAAKC,EAAK4X,WAAa,IACxDC,EAAS7X,EAAK6X,OACdxS,EAAkB,GACxB,IAAIyS,EAAU,EACd,UAAW,MAAMnR,KAASoR,EAAAA,YAAYhY,EAAK,CACzC2I,KAAM,CAAC4O,GACPU,MAAOR,EACPS,MAAO,iBAEP,UAAevY,IAAXmY,GAAwBlR,EAAM7F,KAAKuV,UAAUJ,WAAa4B,EAAOK,UAAY,OAGjF7S,EAAIJ,KAAK,CACPrG,GAAI+H,EAAM/H,GACViS,KAAMlK,EAAM7F,KAAK+P,KACjBgC,QAASlM,EAAM7F,KAAK+R,QACpBnD,OAAQ/I,EAAM7F,KAAK4O,OACnB2G,UAAW1P,EAAM7F,KAAKuV,UACtBN,QAASpP,EAAM7F,KAAKiV,UAEtB+B,GAAW,OACQpY,IAAfM,EAAKmY,OAAuBL,GAAW9X,EAAKmY,OAAO,MAEzD,OAAO9S,iBRVYvF,MAAOC,EAAcC,WAClC2I,EAAiB5I,SACjBgJ,EAAchJ,EAAK,eACnB+J,EAAyB/J,GAC/B,MAAMkQ,QAAa7G,EAAYrJ,GAC/B,GAAkB,aAAdkQ,EAAKvG,KACP,MAAM0O,EAAAA,qBAAqB,QAAS,mCAEtC,MAAMC,QAAc1L,EAAAA,WAAW5M,EAAKkQ,EAAKtG,QACnC2O,OAuEcxY,OAAOC,EAAc4J,IACrC,iBAAiB6C,KAAK7C,GAAgBA,EACnCgD,EAAAA,WAAW5M,EAAK,cAAc4J,KAzEf4O,CAAcxY,EAAKC,EAAK2J,QAC9C,GAAI0O,IAAUC,EAAS,MAAO,CAAE5O,KAAM,aAAc9K,GAAIyZ,GACxD,MAAMhG,QAAamG,EAAAA,UAAUzY,EAAKsY,EAAOC,GACzC,GAAIjG,IAASiG,EAAS,MAAO,CAAE5O,KAAM,aAAc9K,GAAIyZ,GACvD,GAAIhG,IAASgG,IACgB,IAAvBrY,EAAKyY,cAEP,aADM/D,EAAAA,UAAU3U,EAAKkQ,EAAKtG,OAAQ2O,EAAS,CAAE1D,SAAUyD,IAChD,CAAE3O,KAAM,eAAgB9K,GAAI0Z,EAASxQ,OAAQmI,EAAKtG,QAG7D,IAA6B,IAAzB3J,EAAK0Y,gBACP,MAAMC,EAAAA,eAAe1I,EAAKtG,OAAQ0O,EAAOC,GAE3C,MAKkBxY,OAClBC,EACAC,EACA0V,EACA2C,EACAC,KAOAvY,EAAIuV,SAAS3D,MAAMZ,IACnB,IACE,MAAM9H,QAAexF,EAAW1D,GAC1B6Y,EAAU3P,EAAO3B,KACnB,CACEC,KAAM0B,EAAO3B,KAAKC,KAClBC,MAAOyB,EAAO3B,KAAKE,MACnByO,UAAWlX,KAAKmN,MAAM1L,KAAKD,MAAQ,KACnC2V,eAAgB,cAElBxW,EACEmZ,EAA0E,CAAA,OAC5DnZ,IAAhBM,EAAK0P,SAAsBmJ,EAAYvJ,SAAWtP,EAAK0P,aAC3ChQ,IAAZkZ,IAAuBC,EAAYtJ,WAAaqJ,GACpD,MAAMlJ,EAASL,GAAcwJ,GACvBC,EAIF,CAAEpJ,eACiBhQ,IAAnBM,EAAKqW,YAAyByC,EAAexJ,SAAWtP,EAAKqW,gBACjD3W,IAAZkZ,IAAuBE,EAAevJ,WAAaqJ,GACvD,MAAMvC,EAAY5G,GAAiBqJ,GAG7BhC,EAAyB,CAC7BjG,WAHoBG,GAAQjR,EAAKsY,GAIjCxF,QAAS,CAACwF,EAAOC,GACjB5I,SACA2G,YACAN,QANcpG,GAAgB3P,EAAK+V,SAAW,SAAS/V,EAAK2J,SAAU,CAAEiG,YAAY,IAOpFmH,aAAc,IAEVnY,QAAWoY,eAAajX,EAAK+W,GAEnC,aADMpC,EAAAA,UAAU3U,EAAK2V,EAAY9W,EAAI,CAAEgW,SAAUyD,IAC1C,CAAE3O,KAAM,QAAS9K,KAAIkJ,OAAQ4N,EAAY7C,QAAS,CAACwF,EAAOC,GACnE,SACEvY,EAAIuV,SAASK,IAAI5E,GACnB,GAvDOgI,CAAYhZ,EAAKC,EAAMiQ,EAAKtG,OAAQ0O,EAAOC,iBCpChCxY,MAAOC,EAAcC,EAAoB,YACrD2I,EAAiB5I,GAKvBA,EAAIuV,SAAS3D,MAAMR,IACnB,IACE,MAAMgG,EAAanX,EAAKyH,QAAU,SAC5BwB,QAAexF,EAAW1D,GAC1B0H,EAASwB,EAAOxB,QAAQ9D,IAAIwT,GAClC,QAAoBzX,IAAhB+H,GAAQG,IAAmB,MAAMwP,EAAAA,oBAAoBD,GACzD,MAAO,CAAE1P,OAAQ0P,EAAYvP,IAAKH,EAAOG,IAAKoR,WAAY,GAC5D,SACEjZ,EAAIuV,SAASK,IAAIxE,GACnB,iBQZmBrR,MAAOC,EAAcC,WAClC2I,EAAiB5I,GACL,SAAdC,EAAK1B,YAAuByK,EAAchJ,EAAK,sBAC7C+J,EAAyB/J,GAC/B,MAAMnB,OAWckB,OAAOC,EAAc4J,KACzC,GAAI,iBAAiB6C,KAAK7C,GAAS,OAAOA,EAC1C,MAAM8C,EACO,SAAX9C,EACI,CAAC,QACD,CAACA,EAAmB,cAAcA,IAAqB,aAAaA,KAC1E,IAAK,MAAM1D,KAAKwG,EACd,IACE,aAAaE,EAAAA,WAAW5M,EAAKkG,EAC/B,CAAE,MAEF,CAEF,MAAMuL,EAAAA,mBAAmB7H,IAxBR4O,CAAcxY,EAAKC,EAAK2J,QACnCsG,QAAa7G,EAAYrJ,GACzB+H,EAAuB,aAAdmI,EAAKvG,KAAsBuG,EAAKtG,YAASjK,EAMxD,YALeA,IAAXoI,QACI4M,EAAAA,UAAU3U,EAAK+H,EAAQlJ,EAAI,CAAA,SAE3BmB,EAAIW,GAAGwM,UAAU,GAAGnN,EAAII,OAAOC,cAAe,GAAGxB,OAElD,CAAEN,KAAM0B,EAAK1B,KAAMM,KAAIkJ,4BN/BRhI,MAAOC,EAAckZ,WACrCtQ,EAAiB5I,GDiCM,IAAC+D,EC/B9B,MAGehE,OAAOC,EAAciT,KACpC,GAAkB,gBAAdA,EAAKtJ,KACP,OAAOqJ,GAAkBhT,EAAKiT,GAEhC,IAAIpU,QAAWwT,GAAYrS,EAAKiT,EAAKX,MACrC,IAAK,MAAMR,KAAMmB,EAAKkG,WACpBta,QAAW4T,GAAezS,EAAKnB,EAAIiT,GAErC,OAAOjT,GAXAua,CAASpZ,GDgCJ,MADkB+D,EChCDmV,IDiCb1H,GAAKzN,GACjBA,EAAIoC,WAAW,KAKG,CAACpC,IACvB,MAAMkL,EAAQqC,GAAoB+H,KAAKtV,GACzB,OAAVkL,GAAgBuC,GAAKzN,GACzB,MACMvE,EAAQyP,EAA2B,GACnC3P,EAAQjB,OAFI4Q,EAA2B,IAK7C,OAFI3P,EAAQ,GAAKA,EAAQ,IAAGkS,GAAKzN,GACpB,KAATvE,GAAagS,GAAKzN,GACf,CAAE4F,KAAM,cAAerK,MAAOA,EAAwBE,SAb7B8Z,CAAgBvV,IAC5CA,EAAI2G,SAAS,OAAO8G,GAAKzN,GAeT,CAACA,IACrB,MAAMwV,EAAU7H,GAAkB3N,GAC5BuO,OAAOiH,EAAiBxV,EAAMA,EAAI2B,MAAM,EAAG6T,GAIjD,MAHa,KAATjH,GAAad,GAAKzN,GAClBwN,GAAkB9E,KAAK6F,KAAqB,IAAZiH,GAAgB/H,GAAKzN,GAElD,CAAE4F,KAAM,aAAc2I,OAAM6G,YADJ,IAAZI,EAAiB,GAAK5H,GAAgB5N,EAAKwV,KAnBvDC,CAAczV,kBErBLhE,MAChBC,EACAyT,EACAxT,EAAkB,CAAA,KAKlB,SAHM2I,EAAiB5I,SACjBgJ,EAAchJ,EAAK,YACnB+J,EAAyB/J,GACV,IAAjByT,EAAMvU,OAAc,MAAMwU,kBAC9B,MAAMC,EAAYF,EAAMvR,IAAIoI,GACtBsJ,QAAa9T,EACjBE,OAC0BL,IAA1BM,EAAKS,iBAAiC,CAAEA,iBAAkBT,EAAKS,kBAAqB,CAAA,GAEtF,IACE,MAAMkB,QAAcsR,EAAAA,UAAUlT,GAAK+L,MAAOjL,IACxC,GAAIA,aAAepB,EAAAA,YAAcmM,GAAoBrD,IAAI1H,EAAIC,KAAKnB,MAChE,MAAO,CAAE8B,QAAS,IAEpB,MAAMZ,IAEF2Y,EAAS,IAAI9R,IACnB,IAAK,MAAM/J,KAASgE,EAAMF,QAAS+X,EAAO3a,IAAIlB,EAAM4B,KAAM5B,GAC1D,MAAMwW,EAAsB,GAC5B,IAAK,MAAM5U,KAAQmU,EAAW,CAC5B,IAAK8F,EAAOjR,IAAIhJ,GAAO,MAAMyU,EAAAA,gBAAgBzU,GAC7Cia,EAAOvE,OAAO1V,GACd4U,EAAQlP,KAAK1F,EACf,CACA,IAAKS,EAAKyZ,OACR,IAAK,MAAMla,KAAQ4U,QAEX7I,EAAWvL,EAAKR,GAAMuM,MAAOjL,IACjC,KAAIA,aAAepB,EAAAA,YAAgC,mBAAlBoB,EAAIC,KAAKnB,MAC1C,MAAMkB,IAKZ,aADM8S,EAAKnS,OAAOgP,MAAM9H,KAAK8Q,EAAOtF,WAC7B,CAAEC,UACX,eACQR,EAAKpS,SACb,kBCrCoBzB,MAAOC,UACrB4I,EAAiB5I,GACvB,MAAMkQ,QAAa7G,EAAYrJ,GACzB+H,EAAuB,aAAdmI,EAAKvG,KAAsBuG,EAAKtG,YAASjK,EAClD+V,EAAyB,WAAdxF,EAAKvG,KAChB/H,QAAcsR,EAAAA,UAAUlT,GAAK+L,MAAM,MAASrK,QAAS,MACrDiY,EAAc,IAAIhS,IACxB,IAAK,MAAM/J,KAASgE,EAAMF,QAASiY,EAAY7a,IAAIlB,EAAM4B,KAAM5B,GAC/DoC,EAAIuV,SAAS3D,MAAMuB,IACnB,IACE,MAAMyG,EK9B8B,EACtCC,EACA/H,KAIA,IAAIgI,EAAQ,EACRC,EAAoB,EACxB,MAAO,CACLC,KAAM,KACJF,GAAS,EACT,MAAMG,EAASjb,KAAKmN,MAAM2N,ELLA,KKMtBG,EAASF,IACXA,EAAoBE,EAEfJ,EAASK,OAAOpI,EAAIgI,OLebK,CAAyBna,EAAIuV,SAAUpC,IAWjDiH,SATgBpQ,QAAQC,IAC5BwG,MAAM9H,KAAKgR,GAAazX,IAAInC,OAAQP,EAAM5B,MACxC,MAAMmF,OAqBQhD,OACpBC,EACAR,EACA5B,SAGa+B,UADMK,EAAIW,GAAGQ,MAAM,GAAGnB,EAAII,OAAO2I,WAAWvJ,KAAQuM,MAAM,QACxC,CAAEpC,KAAM,UAAWnK,cACxC6T,GAAWrT,EAAKR,EAAM5B,GAAe,CAAE+L,KAAM,WAAYnK,aAAnE,EA5B2B6a,CAAcra,EAAKR,EAAM5B,GAE9C,OADAgc,EAAQI,OACDjX,MAKwB8C,OAAQK,QAA8BvG,IAANuG,GAEnE,MAAO,CACL6B,SACA2N,WACA4E,aAAc,GACdF,qBACAG,MAN0C,IAA9BH,EAAmBlb,OAQnC,SACEc,EAAIuV,SAASK,IAAIzC,GACnB,eCxCiBpT,MAAOC,EAAcqU,WAChCzL,EAAiB5I,GACH,SAAhBqU,EAAO1K,KAKI5J,OAAOC,IACtB,MAAMwa,EAAM,GAAGxa,EAAII,OAAOC,mBAC1B,UAAYL,EAAIW,GAAGmI,OAAO0R,GAAO,MAAO,CAAE7Q,KAAM,OAAQ8Q,KAAM,IAC9D,MAAM/Y,QAAgB1B,EAAIW,GAAG8T,QAAQ+F,GAC/BC,EAAkB,GACxB,IAAK,MAAM7c,KAAS8D,EAAS,CAC3B,IAAK9D,EAAM+N,OAAQ,SACnB,MAAMnE,EAAO,GAAG+L,KAAc3V,EAAM4J,OAC9B3I,QAAW+N,aAAW5M,EAAKwH,GACjCiT,EAAKvV,KAAK,CAAEsC,OAAM3I,MACpB,CAEA,OADA4b,EAAK3Y,KAAK,CAACC,EAAGC,IAAOD,EAAEyF,KAAOxF,EAAEwF,MAAO,EAAKzF,EAAEyF,KAAOxF,EAAEwF,KAAO,EAAI,GAC3D,CAAEmC,KAAM,OAAQ8Q,SAjBYC,CAAS1a,GACxB,WAAhBqU,EAAO1K,KAmBK5J,OAChBC,EACAqU,KAEA,MAAM7M,EAAOwF,EAAAA,gBAAgB,GAAGuG,KAAcc,EAAO7M,QAC/CoC,OAA2BjK,IAAlB0U,EAAOzK,OAAuByK,EAAOzK,aAAe4J,GAAcxT,GAC3EnB,EAAK,iBAAiB4N,KAAK7C,GAC5BA,QACKgD,EAAAA,WAAW5M,EAAK4J,GAC1B,UACQ+K,YAAU3U,EAAKwH,EAAM3I,GAAqB,IAAjBwV,EAAOO,MAAiB,CAAA,EAAK,CAAEC,SAAU,UAC1E,CAAE,MAAO/T,GACP,GAAIA,aAAepB,EAAAA,YAAgC,wBAAlBoB,EAAIC,KAAKnB,KACxC,MAAM+a,EAAAA,UAAUnT,GAElB,MAAM1G,CACR,CACA,MAAO,CAAE6I,KAAM,SAAUnC,OAAM3I,OApCM+b,CAAU5a,EAAKqU,GAuCpCtU,OAAOC,EAAcqU,KACrC,MAAM7M,EAAOwF,EAAAA,gBAAgB,GAAGuG,KAAcc,EAAO7M,QACrD,UAAYxH,EAAIW,GAAGmI,OAAO,GAAG9I,EAAII,OAAOC,UAAUmH,KAChD,MAAMqT,EAAAA,YAAYrT,GAGpB,aADMmN,EAAAA,UAAU3U,EAAKwH,EAAM,IAAIyN,OAAO,IAAiB,CAAEC,QAAQ,IAC1D,CAAEvL,KAAM,SAAUnC,SA5ClBsT,CAAU9a,EAAKqU"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var t=require("./error-DL4SHCBJ.cjs");async function s(t,s){const e=new ReadableStream({start(s){s.enqueue(t),s.close()}}).pipeThrough(s).getReader(),i=[];let r=0;for(;;){const{done:t,value:s}=await e.read();if(t)break;i.push(s),r+=s.length}const o=new Uint8Array(r);let n=0;for(const t of i)o.set(t,n),n+=t.length;return o}function e(t){return t instanceof Error?t.message:String(t)}class i{files=new Map;directories=new Set;symlinks=new Map;times=new Map;rootDir;constructor(t){this.rootDir=t.rootDir,this.directories.add(this.rootDir);for(const[s,e]of Object.entries(t.files??{})){const t=this.resolve(s);this.files.set(t,e.slice()),this.touch(t),this.ensureParentDirs(t)}}read=async s=>{const e=this.resolve(s),i=this.files.get(e);if(void 0===i)throw t.fileNotFound(s);return i.slice()};readSlice=async(s,e,i)=>{if(e<0||i<0)throw t.permissionDenied(s);const r=this.resolve(s),o=this.files.get(r);if(void 0===o)throw t.fileNotFound(s);const n=Math.min(e+i,o.length);return o.slice(e,n)};readUtf8=async t=>{const s=await this.read(t);return(new TextDecoder).decode(s)};write=async(t,s)=>{const e=this.resolve(t);this.ensureParentDirs(e),this.files.set(e,s.slice()),this.touch(e)};writeExclusive=async(s,e)=>{const i=this.resolve(s);if(this.files.has(i)||this.symlinks.has(i))throw t.fileExists(s);this.ensureParentDirs(i),this.files.set(i,e.slice()),this.touch(i)};writeUtf8=async(t,s)=>{await this.write(t,(new TextEncoder).encode(s))};exists=async t=>{const s=this.resolve(t);return this.files.has(s)||this.directories.has(s)||this.symlinks.has(s)};static SYMLINK_FOLLOW_LIMIT=40;stat=async t=>this.statFollowing(t,t,0);async statFollowing(s,e,r){if(r>=i.SYMLINK_FOLLOW_LIMIT)throw t.unsupportedOperation("stat",`symlink loop: ${e}`);const o=this.resolve(s),n=this.symlinks.get(o);return void 0!==n?this.statFollowing(n,e,r+1):this.buildStat(o,e)}lstat=async t=>{const s=this.resolve(t),e=this.symlinks.get(s);return void 0!==e?this.makeStatRecord({size:e.length,isFile:!1,isDirectory:!1,isSymbolicLink:!0,times:this.times.get(s)}):this.buildStat(s,t)};readdir=async s=>{const e=this.resolve(s);if(this.files.has(e))throw t.notADirectory(s);if(!this.directories.has(e))throw t.notADirectory(s);const i=`${e}/`,r=new Map;for(const t of this.files.keys())this.addDirectEntry(t,i,r,"file");for(const t of this.symlinks.keys())this.addDirectEntry(t,i,r,"symlink");for(const t of this.directories)t!==e&&this.addDirectEntry(t,i,r,"directory");return Array.from(r.values())};mkdir=async s=>{const e=this.resolve(s);if(this.files.has(e)||this.symlinks.has(e))throw t.notADirectory(s);this.addDirectoryRecursive(e)};rm=async s=>{const e=this.resolve(s);if(this.files.has(e))return this.files.delete(e),void this.times.delete(e);if(this.symlinks.has(e))return this.symlinks.delete(e),void this.times.delete(e);if(this.directories.has(e)){if(this.hasChildren(e))throw t.notADirectory(s);return this.directories.delete(e),void this.times.delete(e)}throw t.fileNotFound(s)};rename=async(s,e)=>{const i=this.resolve(s),r=this.resolve(e),o=this.files.get(i),n=this.symlinks.get(i);if(void 0===o&&void 0===n)throw t.fileNotFound(s);const h=this.times.get(i);this.ensureParentDirs(r),this.files.delete(r),this.symlinks.delete(r),this.times.delete(r),void 0!==o&&(this.files.delete(i),this.files.set(r,o)),void 0!==n&&(this.symlinks.delete(i),this.symlinks.set(r,n)),this.times.delete(i),this.times.set(r,h)};readlink=async s=>{const e=this.resolve(s),i=this.symlinks.get(e);if(void 0===i)throw t.fileNotFound(s);return i};symlink=async(s,e)=>{const i=this.resolve(e);if(this.files.has(i)||this.symlinks.has(i)||this.directories.has(i))throw t.fileExists(e);this.ensureParentDirs(i),this.symlinks.set(i,s),this.touch(i)};chmod=async(t,s)=>{this.resolve(t)};rmRecursive=async t=>{const s=this.resolve(t);this.removeLeafEntry(s)||this.directories.has(s)&&this.removeSubtree(s)};removeLeafEntry(t){return this.files.has(t)?(this.files.delete(t),this.times.delete(t),!0):!!this.symlinks.has(t)&&(this.symlinks.delete(t),this.times.delete(t),!0)}removeSubtree(t){const s=`${t}/`,e=o(this.files.keys(),s),i=o(this.symlinks.keys(),s),r=function(t,s,e){const i=[];for(const r of t)(r===s||r.startsWith(e))&&i.push(r);return i}(this.directories,t,s);n(e,this.files,this.times),n(i,this.symlinks,this.times),function(t,s,e){for(const i of t)s.delete(i),e.delete(i)}(r,this.directories,this.times)}openWithNoFollow=async(s,e)=>{const i=this.resolve(s);if(this.symlinks.has(i))throw t.permissionDenied(s);if(!this.files.has(i))throw t.fileNotFound(s);return this.makeMemoryHandle(i)};makeMemoryHandle(t){return{read:async(s,e,i,r)=>{const o=this.files.get(t),n=r??0,h=Math.min(n+i,o.length),a=o.subarray(n,Math.max(n,h));return s.set(a,e),a.length},write:async s=>{this.files.set(t,s.slice()),this.touch(t)},stat:async()=>this.buildStat(t,t),close:async()=>{}}}resolve(s){const e=function(t,s){const e=(s.startsWith("/")?s:`${t}/${s}`).split("/"),i=[];for(const t of e)""!==t&&"."!==t&&(".."!==t?i.push(t):i.pop());return`/${i.join("/")}`}(this.rootDir,s);if(e!==this.rootDir&&!e.startsWith(`${this.rootDir}/`))throw t.permissionDenied(s);return e}ensureParentDirs(t){this.addDirectoryRecursive(r(t))}addDirectoryRecursive(s){let e=s;for(;e.length>=this.rootDir.length;){if(this.files.has(e)||this.symlinks.has(e))throw t.notADirectory(e);if(this.directories.add(e),e===this.rootDir)break;e=r(e)}}touch(t){const s=Date.now();this.times.set(t,{ctimeMs:s,mtimeMs:s})}buildStat(s,e){const i=this.files.get(s);if(void 0!==i)return this.makeStatRecord({size:i.byteLength,isFile:!0,isDirectory:!1,isSymbolicLink:!1,times:this.times.get(s)});if(this.directories.has(s))return this.makeStatRecord({size:0,isFile:!1,isDirectory:!0,isSymbolicLink:!1,times:this.times.get(s)});throw t.fileNotFound(e)}makeStatRecord(t){const s=t.times??{ctimeMs:0,mtimeMs:0};return{ctimeMs:s.ctimeMs,mtimeMs:s.mtimeMs,dev:0,ino:0,mode:33188,uid:0,gid:0,size:t.size,isFile:t.isFile,isDirectory:t.isDirectory,isSymbolicLink:t.isSymbolicLink}}hasChildren(t){const s=`${t}/`;for(const t of this.files.keys())if(t.startsWith(s))return!0;for(const t of this.symlinks.keys())if(t.startsWith(s))return!0;for(const e of this.directories)if(e!==t&&e.startsWith(s))return!0;return!1}addDirectEntry(t,s,e,i){if(!t.startsWith(s))return;const r=t.slice(s.length),o=r.indexOf("/"),n=-1===o?r:r.slice(0,o);e.has(n)||e.set(n,-1!==o?{name:n,isFile:!1,isDirectory:!0,isSymbolicLink:!1}:{name:n,isFile:"file"===i,isDirectory:"directory"===i,isSymbolicLink:"symlink"===i})}}function r(t){return t.slice(0,t.lastIndexOf("/"))}function o(t,s){const e=[];for(const i of t)i.startsWith(s)&&e.push(i);return e}function n(t,s,e){for(const i of t)s.delete(i),e.delete(i)}const h={sha1:"SHA-1",sha256:"SHA-256"},a={sha1:20,sha256:32};function c(t){let s="";for(const e of t)s+=e.toString(16).padStart(2,"0");return s}function l(t,s){return`${t}:${s}`}exports.MemoryCompressor=class{constructor(){if("undefined"==typeof CompressionStream||"undefined"==typeof DecompressionStream)throw t.compressFailed("CompressionStream/DecompressionStream unavailable")}deflate=async i=>{try{return await s(i,new CompressionStream("deflate"))}catch(s){throw t.compressFailed(e(s))}};inflate=async i=>{try{return await s(i,new DecompressionStream("deflate"))}catch(s){throw t.decompressFailed(e(s))}};streamInflate=async(e,i)=>{const r=e.subarray(i);if(r.length>65536)throw t.decompressFailed("MemoryCompressor.streamInflate input exceeds 65536 byte safety cap; use NodeCompressor for real pack files");for(let t=1;t<=r.length;t+=1){const e=r.subarray(0,t);try{return{output:await s(e,new DecompressionStream("deflate")),bytesConsumed:t}}catch{}}throw t.decompressFailed("no valid zlib stream at offset")};createInflateStream=()=>new DecompressionStream("deflate")},exports.MemoryFileSystem=i,exports.MemoryHashService=class{algorithm;digestLength;subtleAlgo;subtle;constructor(s="sha1"){const e=globalThis.crypto?.subtle;if(void 0===e)throw t.hashFailed("crypto.subtle unavailable");this.subtle=e,this.algorithm=s,this.digestLength=a[s],this.subtleAlgo=h[s]}hash=async t=>{const s=await this.subtle.digest(this.subtleAlgo,t);return new Uint8Array(s)};hashHex=async t=>c(await this.hash(t));createHasher=()=>{const s=[],e=this.subtle,i=this.subtleAlgo;let r=!1;const o=async()=>{if(r)throw t.hashFailed("cannot digest after digest");r=!0;const o=s.reduce((t,s)=>t+s.length,0),n=new Uint8Array(o);let h=0;for(const t of s)n.set(t,h),h+=t.length;const a=await e.digest(i,n);return new Uint8Array(a)};return{update:e=>{if(r)throw t.hashFailed("cannot update after digest");s.push(e.slice())},digest:o,digestHex:async()=>c(await o())}}},exports.MemoryHttpTransport=class{mocks=new Map;request=async s=>{const e=l(s.method,s.url),i=this.mocks.get(e);if(void 0===i)throw t.networkError(`no mock for ${s.url}`);const r=i.body.slice();return{statusCode:i.statusCode,headers:i.headers,body:new ReadableStream({start(t){t.enqueue(r),t.close()}})}};addMockResponse(t){const s={};for(const[e,i]of Object.entries(t.response.headers))s[e.toLowerCase()]=i;this.mocks.set(l(t.method,t.url),{statusCode:t.response.statusCode,headers:s,body:t.response.body.slice()})}clearMocks(){this.mocks.clear()}};
|
|
2
|
-
//# sourceMappingURL=memory-http-transport-DGll7Af4.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory-http-transport-DGll7Af4.cjs","sources":["../../../src/adapters/memory/memory-compressor.ts","../../../src/adapters/memory/memory-file-system.ts","../../../src/adapters/memory/memory-hash-service.ts","../../../src/adapters/memory/memory-http-transport.ts"],"sourcesContent":[null,null,null,null],"names":["async","runTransform","data","transform","reader","ReadableStream","start","controller","enqueue","close","pipeThrough","getReader","chunks","total","done","value","read","push","length","out","Uint8Array","offset","chunk","set","describeError","err","Error","message","String","MemoryFileSystem","files","Map","directories","Set","symlinks","times","rootDir","constructor","options","this","add","key","Object","entries","normalized","resolve","slice","touch","ensureParentDirs","path","stored","get","undefined","fileNotFound","readSlice","permissionDenied","end","Math","min","readUtf8","bytes","TextDecoder","decode","write","writeExclusive","has","fileExists","writeUtf8","content","TextEncoder","encode","exists","static","stat","statFollowing","currentPath","originalPath","hops","SYMLINK_FOLLOW_LIMIT","unsupportedOperation","target","buildStat","lstat","makeStatRecord","size","isFile","isDirectory","isSymbolicLink","readdir","notADirectory","prefix","seen","filePath","keys","addDirectEntry","linkPath","dirPath","Array","from","values","mkdir","addDirectoryRecursive","rm","delete","hasChildren","rename","src","dst","normalizedSrc","normalizedDst","fileBytes","linkTarget","timestamp","readlink","symlink","chmod","_mode","rmRecursive","removeLeafEntry","removeSubtree","matchingFiles","collectStartsWith","matchingLinks","matchingDirs","dirs","exact","startsWith","collectMatchingDirs","deleteAll","deleteAllFromSet","openWithNoFollow","makeMemoryHandle","buffer","position","subarray","max","segments","split","resolved","segment","pop","join","normalizePath","normalizedPath","parentOf","current","now","Date","ctimeMs","mtimeMs","byteLength","parts","timestamps","dev","ino","mode","uid","gid","fullPath","kind","remainder","slashIndex","indexOf","name","lastIndexOf","map","SUBTLE_ALGO","sha1","sha256","DIGEST_LENGTH","bytesToHex","byte","toString","padStart","buildKey","method","url","CompressionStream","DecompressionStream","compressFailed","deflate","inflate","decompressFailed","streamInflate","attempt","output","bytesConsumed","createInflateStream","algorithm","digestLength","subtleAlgo","subtle","globalThis","crypto","hashFailed","hash","digest","hashHex","createHasher","algo","consumed","doDigest","reduce","sum","concatenated","result","update","digestHex","mocks","request","req","mock","networkError","bodyBytes","body","statusCode","headers","addMockResponse","lowercasedHeaders","response","toLowerCase","clearMocks","clear"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var t=require("./error-DL4SHCBJ.cjs");const e=1e6;function n(t){switch(t.type){case"add":case"rename":return t.newPath;case"delete":return t.oldPath;case"modify":case"type-change":return t.path}}const r=e=>new t.TsgitError({code:"INVALID_OBJECT_ID",value:e}),o=e=>new t.TsgitError({code:"INVALID_OBJECT_HEADER",reason:e}),i=(e,n)=>new t.TsgitError({code:"INVALID_TREE_ENTRY",offset:e,reason:n}),s=e=>new t.TsgitError({code:"INVALID_COMMIT",reason:e}),a=e=>new t.TsgitError({code:"INVALID_TAG",reason:e}),c=(e,n)=>new t.TsgitError({code:"INVALID_IDENTITY",line:e,reason:n}),f=e=>new t.TsgitError({code:"OBJECT_NOT_FOUND",id:e}),u=(e,n)=>new t.TsgitError({code:"OBJECT_HASH_MISMATCH",expected:e,actual:n}),d=(e,n,r)=>new t.TsgitError({code:"UNEXPECTED_OBJECT_TYPE",expected:e,actual:n,id:r}),h=(e,n)=>new t.TsgitError({code:"TREE_ENTRY_LIMIT_EXCEEDED",count:e,limit:n});function l(t){const e=t.lastIndexOf(">");if(-1===e)throw c(t,"missing closing angle bracket");const n=t.lastIndexOf("<",e);if(-1===n)throw c(t,"missing opening angle bracket");const r=t.slice(0,n),o=r.endsWith(" ")?r.slice(0,-1):r,i=t.slice(n+1,e),s=t.slice(e+1).trim().split(/\s+/);if(s.length<2)throw c(t,"missing timestamp or timezone");const a=Number(s[0]);if(!Number.isSafeInteger(a))throw c(t,"invalid timestamp");const f=s[1];if(!/^[+-]\d{4}$/.test(f))throw c(t,"invalid timezone offset");return{name:o,email:i,timestamp:a,timezoneOffset:f}}const g=/[\n\r\0]/;function w(t){const e=`${t.name} <${t.email}>`;if(g.test(t.name))throw c(e,"name contains forbidden control character");if(g.test(t.email))throw c(e,"email contains forbidden control character");if(g.test(t.timezoneOffset))throw c(e,"timezoneOffset contains forbidden control character");if(t.name.includes("<")||t.name.includes(">"))throw c(e,"invalid identity fields");if(t.email.includes("<")||t.email.includes(">"))throw c(e,"invalid identity fields");if(!/^[+-]\d{4}$/.test(t.timezoneOffset))throw c(e,"invalid identity fields");return`${t.name} <${t.email}> ${t.timestamp} ${t.timezoneOffset}`}const m=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function p(t){const e=new Array(t.length);for(let n=0;n<t.length;n++)e[n]=m[t[n]];return e.join("")}function y(t){if(t.length%2!=0)throw new Error("Hex string must have even length");const e=new Uint8Array(t.length/2);for(let n=0;n<t.length;n+=2){const r=x(t.charCodeAt(n)),o=x(t.charCodeAt(n+1));if(-1===r||-1===o)throw new Error(`Invalid hex character at position ${n}`);e[n/2]=r<<4|o}return e}function x(t){return t>=48&&t<=57?t-48:t>=97&&t<=102?t-87:-1}function b(t,e){const n=Math.min(t.length,e.length);for(let r=0;r<n;r++)if(t[r]!==e[r])return t[r]-e[r];return t.length-e.length}function E(t,e,n){for(let r=n;r<t.length;r++)if(t[r]===e)return r;return-1}const v=new TextEncoder,T=new TextDecoder;function $(t){return v.encode(t)}function I(t){return T.decode(t)}function D(t){const e=t.indexOf("\n\n");return-1===e?{headerPart:t,message:""}:{headerPart:t.slice(0,e),message:t.slice(e+2)}}function O(t,e){if(t.includes("\n")||t.includes(" ")||""===t)throw new Error(`invalid header key: ${t}`);const n=e.split("\n");return[`${t} ${n[0]}`,...n.slice(1).map(t=>` ${t}`)].join("\n")}function k(t){const e=t.indexOf(" ");return-1===e?{key:t,value:""}:{key:t.slice(0,e),value:t.slice(e+1)}}function _(t,e,n,r){let o;const i=[];let s=e;for(;s<t.length;){const{key:e,value:a}=k(t[s]);""===e&&n("unexpected continuation line without preceding header");const c=[a];let f=s;for(let e=s+1;e<t.length;e++){const n=t[e];if(!n.startsWith(" "))break;c.push(n.slice(1)),f=e}s=f+1;const u=c.join("\n");"gpgsig"===e?(void 0!==o&&r("duplicate gpgsig header"),o=u):i.push({key:e,value:u})}return{gpgSignature:o,extraHeaders:i}}const N=/^[0-9a-f]{40}$/,S=/^[0-9a-f]{64}$/,C={from(t){if(!N.test(t)&&!S.test(t))throw r(t);return t},fromRaw(t){if(20!==t.length&&32!==t.length)throw r(`raw bytes length ${t.length} is not 20 or 32`);return C.from(p(t))}};C.from("0000000000000000000000000000000000000000"),C.from("4b825dc642cb6eb9a060e54bf8d69288fbee4904");const A={from(t){if(""===t)throw new Error("RefName must not be empty");return t}},L={from(t){if(""===t)throw new Error("FilePath must not be empty");return t}};const R={REGULAR:"100644",EXECUTABLE:"100755",SYMLINK:"120000",DIRECTORY:"40000",GITLINK:"160000"},U=new Set(Object.values(R)),P=new Map([["040000",R.DIRECTORY]]);function j(e){return function(e){if(!U.has(e))throw new t.TsgitError({code:"INVALID_FILE_MODE",value:e});return e}(P.get(e)??e)}function z(t){return t===R.DIRECTORY}const H=new Set(["blob","tree","commit","tag"]),M=new Set(["blob","tree","commit","tag"]);function W(t){const e=t.map(t=>({entry:t,sortKey:V(t.name,z(t.mode))}));return e.sort((t,e)=>b(t.sortKey,e.sortKey)),e.map(t=>t.entry)}function F(t,e){return b(V(t.name,z(t.mode)),V(e.name,z(e.mode)))}function V(t,e){const n=$(t);if(!e)return n;const r=new Uint8Array(n.length+1);return r.set(n),r[n.length]=47,r}function Y(t,e,n){const{type:r,size:c,contentOffset:f}=function(t){const e=E(t,0,0);if(-1===e)throw o("missing null terminator");const n=I(t.subarray(0,e)),r=n.indexOf(" ");if(-1===r)throw o("missing space between type and size");const i=n.slice(0,r);if(!H.has(i))throw o(`unknown object type: ${i}`);const s=n.slice(r+1),a=Number(s);if(!Number.isFinite(a)||a<0||s!==String(a))throw o(`invalid size: ${s}`);return{type:i,size:a,contentOffset:e+1}}(e),u=e.subarray(f);if(u.length!==c)throw o(`size mismatch: header says ${c}, actual content is ${u.length}`);switch(r){case"blob":return function(t,e){return{type:"blob",id:t,content:e}}(t,u);case"tree":return function(t,e,n){const r=[],o=new Set;let s=0;for(;s<e.length;){const t=E(e,32,s);if(-1===t)throw i(s,"missing space after mode");const a=I(e.subarray(s,t)),c=E(e,0,t+1);if(-1===c)throw i(s,"missing null after name");const f=I(e.subarray(t+1,c));if(""===f||"."===f||".."===f||f.includes("/"))throw i(s,`invalid entry name: ${f}`);const u=c+1,d=u+n.digestLength;if(d>e.length)throw i(s,"truncated hash");const h=e.subarray(u,d),l=C.fromRaw(h),g=j(a);if(o.has(f))throw i(s,`duplicate entry name: ${f}`);o.add(f),r.push({mode:g,name:f,id:l}),s=d}return{type:"tree",id:t,entries:r}}(t,u,n);case"commit":return function(t,e){const{headerPart:n,message:r}=D(I(e)),o=n.split("\n"),{tree:i,parents:a,author:c,committer:f,nextIndex:u}=function(t){if(!t[0].startsWith("tree "))throw s("first line must be tree");const e=C.from(t[0].slice(5)),n=[];let r=1;for(;r<t.length&&t[r].startsWith("parent ");)n.push(C.from(t[r].slice(7))),r++;if(r>=t.length||!t[r].startsWith("author "))throw s("missing author");const o=l(t[r].slice(7));if(r++,r>=t.length||!t[r].startsWith("committer "))throw s("missing committer");const i=l(t[r].slice(10));return r++,{tree:e,parents:n,author:o,committer:i,nextIndex:r}}(o),{gpgSignature:d,extraHeaders:h}=function(t,e){return _(t,e,t=>{throw s(t)},t=>{throw s(t)})}(o,u);return{type:"commit",id:t,data:{tree:i,parents:a,author:c,committer:f,message:r,...void 0!==d?{gpgSignature:d}:{},extraHeaders:h}}}(t,u);case"tag":return function(t,e){const{headerPart:n,message:r}=D(I(e)),o=n.split("\n"),{object:i,objectType:s,tagName:c,nextIndex:f}=function(t){if(!t[0].startsWith("object "))throw a("first line must be object");const e=C.from(t[0].slice(7));if(t.length<2||!t[1].startsWith("type "))throw a("second line must be type");const n=t[1].slice(5);if(!M.has(n))throw a(`invalid object type: ${n}`);if(t.length<3||!t[2].startsWith("tag "))throw a("third line must be tag name");const r=t[2].slice(4);if(""===r||r.includes("\0")||r.includes("\n"))throw a(`invalid tag name: ${r}`);return{object:e,objectType:n,tagName:r,nextIndex:3}}(o),{tagger:u,nextIndex:d}=function(t,e){return e<t.length&&t[e].startsWith("tagger ")?{tagger:l(t[e].slice(7)),nextIndex:e+1}:{tagger:void 0,nextIndex:e}}(o,f),{gpgSignature:h,extraHeaders:g}=function(t,e){return _(t,e,t=>{throw a(t)},t=>{throw a(t)})}(o,d);return{type:"tag",id:t,data:{object:i,objectType:s,tagName:c,...void 0!==u?{tagger:u}:{},message:r,...void 0!==h?{gpgSignature:h}:{},extraHeaders:g}}}(t,u)}}function B(t,e){let n;switch(t.type){case"blob":n=t.content;break;case"tree":n=function(t,e){const n=W(t.entries).map(t=>({mode:$(t.mode),name:$(t.name),hash:y(t.id)})),r=n.reduce((t,n)=>t+n.mode.length+1+n.name.length+1+e.digestLength,0),o=new Uint8Array(r);let i=0;for(const t of n)o.set(t.mode,i),i+=t.mode.length,o[i++]=32,o.set(t.name,i),i+=t.name.length,o[i++]=0,o.set(t.hash,i),i+=t.hash.length;return o}(t,e);break;case"commit":n=function(t){const e=[],{data:n}=t;e.push(`tree ${n.tree}`);for(const t of n.parents)e.push(`parent ${t}`);e.push(`author ${w(n.author)}`),e.push(`committer ${w(n.committer)}`),void 0!==n.gpgSignature&&e.push(O("gpgsig",n.gpgSignature));for(const t of n.extraHeaders)e.push(O(t.key,t.value));return $(`${e.join("\n")}\n\n${n.message}`)}(t);break;case"tag":n=function(t){const e=[],{data:n}=t;if(e.push(`object ${n.object}`),e.push(`type ${n.objectType}`),""===n.tagName||n.tagName.includes("\n")||n.tagName.includes("\0"))throw a(`invalid tag name: ${n.tagName}`);e.push(`tag ${n.tagName}`),void 0!==n.tagger&&e.push(`tagger ${w(n.tagger)}`),void 0!==n.gpgSignature&&e.push(O("gpgsig",n.gpgSignature));for(const t of n.extraHeaders)e.push(O(t.key,t.value));return $(`${e.join("\n")}\n\n${n.message}`)}(t)}const r=$(`${t.type} ${n.length}\0`),o=new Uint8Array(r.length+n.length);return o.set(r,0),o.set(n,r.length),o}function K(t){return t===R.REGULAR||t===R.EXECUTABLE?"file":t===R.SYMLINK?"symlink":t===R.DIRECTORY?"directory":"gitlink"}const X=new TextEncoder;function q(t,e){const n=t.map(t=>({item:t,key:X.encode(e(t))}));return n.sort((t,e)=>b(t.key,e.key)),n.map(t=>t.item)}function J(t,e){const n=e.get(t.newId);if(void 0===n||1!==n.length)return;const r=n[0];return{rename:{type:"rename",oldPath:r.oldPath,newPath:t.newPath,id:t.newId,mode:t.newMode},consumedDelete:r}}function G(t){return{type:"add",newPath:t.name,newId:t.id,newMode:t.mode}}function Q(t){return{type:"delete",oldPath:t.name,oldId:t.id,oldMode:t.mode}}function Z(t,e){var n;if(t.id!==e.id||t.mode!==e.mode)return n=e.mode,K(t.mode)!==K(n)?{type:"type-change",path:t.name,oldId:t.id,newId:e.id,oldMode:t.mode,newMode:e.mode}:{type:"modify",path:t.name,oldId:t.id,newId:e.id,oldMode:t.mode,newMode:e.mode}}function tt(t){return void 0===t?[]:W(t.entries)}const et=e=>new t.TsgitError({code:"INVALID_INDEX_HEADER",reason:e}),nt=(e,n)=>new t.TsgitError({code:"INVALID_INDEX_ENTRY",offset:e,reason:n});function rt(t,e){const n=!!(32768&t);if(16384&t)throw nt(e,"extended flag not supported in v2");return{assumeValid:n,extended:!1,stage:t>>>12&3}}function ot(t,e){for(let n=e;n<t.length;n++)if(0===t[n])return n;return-1}const it=e=>new t.TsgitError({code:"INVALID_REF",reason:e}),st=e=>new t.TsgitError({code:"INVALID_PACKED_REFS",reason:e}),at=e=>new t.TsgitError({code:"REF_NOT_FOUND",name:e}),ct=(e,n)=>new t.TsgitError({code:"REF_CHAIN_TOO_DEEP",depth:e,chain:n}),ft=e=>new t.TsgitError({code:"REF_CYCLE_DETECTED",chain:e}),ut=e=>new t.TsgitError({code:"REF_LOCKED",name:e}),dt=new Set(["~","^",":","?","*","[","\\"," "]);function ht(t){if(""===t)throw it("ref name must not be empty");if(t.startsWith("/")||t.endsWith("/"))throw it("ref name must not start or end with /");if(t.startsWith("-"))throw it("ref name must not start with -");if("@"===t)throw it("ref name must not be single @");if(t.includes(".."))throw it("ref name must not contain ..");if(t.includes("//"))throw it("ref name must not contain consecutive slashes");if(t.includes("@{"))throw it("ref name must not contain @{");if(t.endsWith("."))throw it("ref name must not end with .");!function(t){for(let e=0;e<t.length;e++){const n=t.charCodeAt(e);if(n<=31||127===n)throw it("ref name contains forbidden character");const r=t[e];if(void 0!==r&&dt.has(r))throw it("ref name contains forbidden character");if(n>=8234&&n<=8238||n>=8294&&n<=8297)throw it("ref name contains forbidden Unicode override")}}(t);const e=t.split("/");for(const t of e){if(t.startsWith("."))throw it("ref name component must not start with .");if(t.endsWith(".lock"))throw it("ref name component must not end with .lock")}return t}function lt(t){const e=t.replace(/[\r\n]+$/,"");if(""===e)throw it("empty ref content");if(e.startsWith("ref: ")){const t=e.slice(5);if(""===t)throw it("empty symbolic ref target");return{type:"symbolic",target:ht(t)}}return{type:"direct",target:C.from(e)}}const gt=e=>new t.TsgitError({code:"INVALID_PACK_INDEX",reason:e}),wt=(e,n)=>new t.TsgitError({code:"INVALID_PACK_ENTRY",offset:e,reason:n}),mt=e=>new t.TsgitError({code:"INVALID_DELTA",reason:e}),pt=e=>new t.TsgitError({code:"DELTA_CHAIN_TOO_DEEP",depth:e});function yt(t,e){if(e>=t.length)throw mt("truncated variable-length integer");let n=0,r=0,o=e,i=0,s=t[o];for(n=(127&s)<<r>>>0,r+=7,i+=1;128&s;){if(i>=5)throw mt("variable-length integer too long");if(o+=1,o>=t.length)throw mt("truncated variable-length integer");s=t[o],n=(n|(127&s)<<r)>>>0,r+=7,i+=1}return{value:n,nextOffset:o+1}}function xt(t,e,n){const r=function(t){let e=0;return 1&t&&(e+=1),2&t&&(e+=1),4&t&&(e+=1),8&t&&(e+=1),16&t&&(e+=1),32&t&&(e+=1),64&t&&(e+=1),e}(n);if(e+r>t.length)throw mt(`COPY instruction truncated: needs ${r} bytes at position ${e}`);let o=e,i=0,s=0;return 1&n&&(i|=t[o],o+=1),2&n&&(i|=t[o]<<8,o+=1),4&n&&(i|=t[o]<<16,o+=1),8&n&&(i=(i|16777216*t[o])>>>0,o+=1),16&n&&(s|=t[o],o+=1),32&n&&(s|=t[o]<<8,o+=1),64&n&&(s|=t[o]<<16,o+=1),0===s&&(s=65536),{offset:i,size:s,nextPos:o}}function bt(t,e,n,r,o){if(t+e>n)throw mt(`COPY out of bounds: offset=${t} size=${e} exceeds base length ${n}`);if(r+e>o)throw mt(`COPY overflows target: position=${r} size=${e} exceeds target length ${o}`)}function Et(t,e,n,r,o,i){if(0===n)throw mt("INSERT with N=0 is reserved");if(e+n>t.length)throw mt(`INSERT data truncated: needs ${n} bytes at position ${e}`);if(o+n>i)throw mt(`INSERT overflows target: position=${o} size=${n} exceeds target length ${i}`);return r.set(t.subarray(e,e+n),o),{nextPos:e+n,nextResultPos:o+n}}function vt(t,e){const{value:n,nextOffset:r}=yt(e,0),{value:o,nextOffset:i}=yt(e,r);if(function(t,e,n){if(t.length!==e)throw mt(`source length mismatch: expected ${e}, got ${t.length}`);if(n>2147483648)throw mt(`target length ${n} exceeds maximum allowed size`)}(t,n,o),0===n&&0===o&&i===e.length)return new Uint8Array(0);const s=new Uint8Array(o);let a=0,c=i;for(;c<e.length;){const n=e[c];if(c+=1,128&n){const{offset:r,size:i,nextPos:f}=xt(e,c,n);c=f,bt(r,i,t.length,a,o),s.set(t.subarray(r,r+i),a),a+=i}else{const t=Et(e,c,n,s,a,o);c=t.nextPos,a=t.nextResultPos}}if(a!==o)throw mt(`underfill: produced ${a} bytes but target length is ${o}`);return s}const Tt=1032;function $t(t,e){return t._view.getUint32(8+4*e)}function It(t,e,n){const r=Tt+20*e;return b(t._bytes.subarray(r,r+20),n)}function Dt(t,e){const n=t._view.getUint32(t.smallOffsetsTableOffset+4*e);if(2147483648&n){const e=2147483647&n,r=t.largeOffsetsTableOffset+8*e;if(r+8>t.trailerOffset)throw gt(`large offset index ${e} out of range`);const o=t._view.getUint32(r),i=t._view.getUint32(r+4);if(o>2097151)throw gt(`pack offset exceeds safe JavaScript number range: high word=${o}`);return 4294967296*o+i}return n}function Ot(t,e){const n=y(e),r=n[0];let o=0===r?0:$t(t,r-1),i=$t(t,r);for(;o<i;){const e=o+i>>>1,r=It(t,e,n);if(r<0)o=e+1;else{if(!(r>0))return Dt(t,e);i=e}}}const kt=(t,e)=>`${t}/objects/${function(t){return`${t.slice(0,2)}/${t.slice(2)}`}(e)}`,_t=(t,e)=>`${t}/${e}`,Nt=t=>`${t}/index`,St=".lock";function Ct(t){return!!(t.includes("\0")||t.includes("\r")||t.includes("\n\n")||t.startsWith("\n")||t.endsWith("\n"))}function At(t){return 0===t.length||!!(t.includes("\0")||t.includes("\r")||t.includes("\n"))||!(!t.includes(" ")&&!t.includes("\t"))}const Lt="index file exceeds 256 MiB",Rt="pack .idx file exceeds 64 MiB";function Ut(t){return t>268435456}function Pt(t){return t>67108864}function jt(t,e=5){return t>e}function zt(t,e=5){return t>e}const Ht=/^[0-9a-f]{40}$/,Mt=/^[0-9a-f]{64}$/;async function Wt(e,n){if(e.signal?.aborted)throw t.operationAborted();const r=B(n,e.hashConfig),o=await e.hash.hashHex(r),i=n.id;if(""!==i&&i!==o)throw u(n.id,o);if(e.signal?.aborted)throw t.operationAborted();const s=o.slice(0,2);await e.fs.mkdir(((t,e)=>`${t}/objects/${e}`)(e.layout.gitDir,s));const a=kt(e.layout.gitDir,o),c=await e.compressor.deflate(r);try{await e.fs.writeExclusive(a,c)}catch(t){if(Ft(t))return o;throw t}return o}function Ft(e){return e instanceof t.TsgitError&&"FILE_EXISTS"===e.data.code}async function Vt(t,e,n,r){Yt(t);const o=await async function(t,e){const n=kt(t.layout.gitDir,e);if(!await t.fs.exists(n))return;const r=await t.fs.read(n);return t.compressor.inflate(r)}(t,n);if(void 0!==o)return Yt(t),Bt(t,n,o,r);Yt(t);const i=await e.lookup(n);if(void 0===i)throw f(n);Yt(t);const s=await async function(t,e,n,r){const o=await async function(t,e,n,r){const o=[];let i=n,s=0;for(;;){Yt(t);const{header:n,chunk:a,headerEndInChunk:c}=await Xt(t,i);if(Kt(n))return{deltas:o,baseContent:(await t.compressor.streamInflate(a,c)).output,baseType:n.type};if(s+=1,s>50)throw pt(s);const{output:u}=await t.compressor.streamInflate(a,c);if(6===n.type){const t=i.offset-n.baseDistance;if(t<0)throw f(r);o.push({instructions:u,resolvedBaseId:void 0}),i={pack:i.pack,offset:t};continue}if(7===n.type){const r=n.baseId;o.push({instructions:u,resolvedBaseId:r});const i=await qt(t,e,r);return{deltas:o,baseContent:i.content,baseType:i.type}}throw f(r)}}(t,e,n,r);let i=o.baseContent;for(let t=o.deltas.length-1;t>=0;t-=1){const e=o.deltas[t];if(void 0===e)break;i=vt(i,e.instructions)}const s=function(t,e,n){const r=function(t,e){switch(t){case 1:return"commit";case 2:return"tree";case 3:return"blob";case 4:return"tag";default:throw f(e)}}(e,n),o=`${r} ${t.length}\0`,i=(new TextEncoder).encode(o),s=new Uint8Array(i.length+t.length);return s.set(i,0),s.set(t,i.length),s}(i,o.baseType,r);return Qt(t.deltaCache,r,s),s}(t,e,i,n);return Yt(t),Bt(t,n,s,r)}function Yt(e){if(!0===e.signal?.aborted)throw t.operationAborted()}async function Bt(t,e,n,r){if(r){const r=await t.hash.hashHex(n);if(Yt(t),r!==e)throw u(e,r)}return Y(e,n,t.hashConfig)}function Kt(t){return 1===t.type||2===t.type||3===t.type||4===t.type}async function Xt(t,e){const n=await t.fs.readSlice(e.pack.packPath,e.offset,65536),r=function(t,e,n){const{type:r,size:o,nextPos:i}=function(t,e){if(e>=t.length)throw wt(e,"unexpected end of header");let n=e;const r=t[n],o=r>>4&7;let i=15&r,s=4,a=0;for(;128&t[n];){if(a+=1,a>5)throw wt(e,"size encoding too long");if(n+=1,n>=t.length)throw wt(e,"unexpected end of header");i|=(127&t[n])<<s,s+=7}return{type:o,size:i,nextPos:n+1}}(t,e);if(function(t,e){if(5===t)throw wt(e,"reserved type 5");if(t<1||t>7)throw wt(e,`unknown type ${t}`)}(r,e),6===r){const{distance:n,nextPos:r}=function(t,e,n){if(e>=t.length)throw wt(n,"unexpected end of OFS_DELTA distance");let r=e,o=127&t[r],i=0;for(;128&t[r];){if(i+=1,i>4)throw wt(n,"OFS_DELTA distance encoding too long");if(r+=1,r>=t.length)throw wt(n,"unexpected end of OFS_DELTA distance");o=o+1<<7|127&t[r]}return{distance:o,nextPos:r+1}}(t,i,e);return{type:6,size:o,dataOffset:r,baseDistance:n}}if(7===r){const r=i+n.digestLength;if(r>t.length)throw wt(e,"unexpected end of REF_DELTA base id");return{type:7,size:o,dataOffset:r,baseId:p(t.subarray(i,r))}}return{type:r,size:o,dataOffset:i}}(n,0,t.hashConfig);return{header:r,chunk:n,headerEndInChunk:r.dataOffset}}async function qt(t,e,n){const r=t.deltaCache.get(n);if(void 0!==r)return Jt(r,n);const o=B(await Vt(t,e,n,!1),t.hashConfig);return Qt(t.deltaCache,n,o),Jt(o,n)}function Jt(t,e){const n=t.indexOf(0);if(n<0)throw f(e);const r=t.subarray(0,n).indexOf(32);if(r<0)throw f(e);const o=(new TextDecoder).decode(t.subarray(0,r));return{content:t.subarray(n+1),type:Gt(o,e)}}function Gt(t,e){switch(t){case"commit":return 1;case"tree":return 2;case"blob":return 3;case"tag":return 4;default:throw f(e)}}function Qt(t,e,n){t.set(e,n,n.length)}function Zt(t){return t.isFile&&t.name.endsWith(".idx")&&!(e=t.name).includes("/")&&!e.includes("\\")&&!e.includes("..");var e}async function te(t,e,n){const r=`${e}/${n}`,o=await async function(t,e){if(Pt((await t.fs.stat(e)).size))throw gt(Rt);const n=await t.fs.read(e);if(Pt(n.length))throw gt(Rt);return n}(t,r),i=function(t){if(t.length<1032)throw gt("truncated: file too short for header and fanout");const e=new DataView(t.buffer,t.byteOffset,t.byteLength),n=e.getUint32(0);if(4285812579!==n)throw gt(`invalid magic: expected 0xff744f63, got 0x${n.toString(16).padStart(8,"0")}`);const r=e.getUint32(4);if(2!==r)throw gt(`unsupported version: expected 2, got ${r}`);!function(t){let e=0;for(let n=0;n<256;n++){const r=t.getUint32(8+4*n);if(r<e)throw gt(`non-monotonic fanout at index ${n}: ${e} > ${r}`);e=r}}(e);const o=e.getUint32(1028),i=Tt+20*o,s=i+4*o,a=s+4*o,c=t.length-40,f=Tt+20*o+4*o+4*o+40;if(t.length<f)throw gt(`truncated: expected at least ${f} bytes for ${o} objects, got ${t.length}`);return{objectCount:o,crc32TableOffset:i,smallOffsetsTableOffset:s,largeOffsetsTableOffset:a,trailerOffset:c,_bytes:t,_view:e}}(o),s=n.slice(0,-4);return{name:s,index:i,packPath:`${e}/${s}.pack`,idxPath:r}}const ee=new WeakMap;async function ne(t,e,n){const r=n?.verifyHash??!0;return Vt(t,function(t){let e=ee.get(t);return void 0===e&&(e=function(t){let e;async function n(){if(void 0!==e)return e;const n=`${t.layout.gitDir}/objects/pack`;if(!await t.fs.exists(n))return e=[],e;const r=await t.fs.readdir(n),o=[];for(const e of r)Zt(e)&&o.push(await te(t,n,e.name));return e=o,e}return{all:n,async lookup(t){const e=await n();for(const n of e){const e=Ot(n.index,t);if(void 0!==e)return{pack:n,offset:e}}}}}(t),ee.set(t,e)),e}(t),e,r)}const re=new WeakMap;function oe(t){let e=re.get(t);return void 0===e&&(e=function(t){let e;async function n(){const n=`${t.layout.gitDir}/packed-refs`;if(!await t.fs.exists(n))return{entries:[],peeling:"none",sorted:!1};const r=await t.fs.stat(n),o=`${r.mtimeMs}:${r.size}`;if(void 0!==e&&e.mtimeKey===o)return e.parsed;const i=function(t){if(""===t)return{entries:[],peeling:"none",sorted:!1};const e=t.split("\n"),{peeling:n,sorted:r,startIndex:o}=function(t){const e=t[0];if(e?.startsWith("# pack-refs with:")){const t=e.slice(17).trim(),n=""===t?[]:t.split(/\s+/),r=n.includes("peeled");return{peeling:n.includes("fully-peeled")?"fully":r?"tags":"none",sorted:n.includes("sorted"),startIndex:1}}return{peeling:"none",sorted:!1,startIndex:0}}(e);return{entries:function(t,e){const n=[];for(let r=e;r<t.length;r++){const e=t[r];if(void 0===e||""===e||e.startsWith("#"))continue;if(e.startsWith("^")){if(0===n.length)throw st("peel line without preceding ref entry");const t=C.from(e.slice(1)),r=n.length-1;n[r]={...n[r],peeled:t};continue}const o=e.indexOf(" ");if(-1===o)throw st(`invalid ref line format: ${e.slice(0,80)}`);const i=e.slice(0,o),s=e.slice(o+1),a=C.from(i);n.push({name:A.from(s),id:a})}return n}(e,o),peeling:n,sorted:r}}(await t.fs.readUtf8(n));return e={parsed:i,mtimeKey:o},i}async function r(e){const n=_t(t.layout.gitDir,e);if(await t.fs.exists(n))return t.fs.readUtf8(n)}return{async resolveDirect(t){const e=await r(t);if(void 0!==e){const t=lt(e);return"symbolic"===t.type?{kind:"symbolic",target:t.target}:{kind:"direct",id:t.target}}const o=await n();for(const e of o.entries)if(e.name===t)return{kind:"direct",id:e.id};return{kind:"missing"}},async writeLoose(e,n){const r=_t(t.layout.gitDir,e);await t.fs.writeUtf8(r,function(t){return`${t}\n`}(n))},async removeLoose(e){const n=_t(t.layout.gitDir,e);await t.fs.exists(n)&&await t.fs.rm(n)},isLoose:async e=>t.fs.exists(_t(t.layout.gitDir,e)),readLooseRaw:async t=>r(t),getPackedRefs:n}}(t),re.set(t,e)),e}async function ie(t,e,n){const r=n?.maxSymbolicDepth??5,o=n?.maxPeelDepth??5,i=n?.peel??!1,s=oe(t),a=await async function(t,e,n,r){const o=[];let i=n,s=0;for(;;){if("HEAD"!==i&&(ht(i),se(0,i)),o.includes(i))throw ft([...o,i]);o.push(i);const t=await e.resolveDirect(i);if("missing"===t.kind)throw at(i);if("direct"===t.kind)return t.id;if(s+=1,jt(s,r))throw ct(s,o);i=t.target}}(0,s,e,r);return i?async function(t,e,n){let r=e,o=0;for(;;){const e=await ne(t,r);if("tag"!==e.type)return r;if(o+=1,zt(o,n))throw ct(o,[]);r=e.data.object}}(t,a,o):a}function se(t,e){if(!function(t){return!(t.startsWith("/")||t.includes("\\")||t.includes(":")||t.includes(".."))}(e))throw it("target escapes gitDir")}async function ae(t,e,n,r){const o=`${n}${St}`;try{await t.fs.writeExclusive(o,r)}catch(t){if(ce(t))throw ut(e);throw t}try{await t.fs.rename(o,n)}catch(e){try{await t.fs.rm(o)}catch(t){if(!fe(t))throw t}throw e}}function ce(e){return e instanceof t.TsgitError&&"FILE_EXISTS"===e.data.code}function fe(e){return e instanceof t.TsgitError&&"FILE_NOT_FOUND"===e.data.code}const ue=new TextEncoder;async function de(t,e){var n;let r=Ht.test(n=e)||Mt.test(n)?e:await ie(t,e),o=await ne(t,r),i=0;for(;"commit"===o.type||"tag"===o.type;){if(i+=1,i>5)throw ct(i,[]);r="commit"===o.type?o.data.tree:o.data.object,o=await ne(t,r)}if("tree"!==o.type)throw d("tree",o.type,r);return o}async function he(t,e){if(void 0!==e)return"string"==typeof e?de(t,e):e}async function le(t,e,n,r,o){try{const r=await ne(t,e,{verifyHash:n});if("commit"!==r.type)return;return r}catch(t){if(r&&me(t))return void o.add(e);throw t}}function ge(e,n,r){const o="first-parent"===r&&n.data.parents.length>0?[n.data.parents[0]]:n.data.parents;for(const n of o)if(!(e.visited.has(n)||e.missing.has(n)||e.until.has(n))){if(e.queue.length>=65536)throw t.invalidWalkInput("walk queue exceeds bound");e.queue.push(n)}}function we(t,e){return t.shift()}function me(e){return e instanceof t.TsgitError&&"OBJECT_NOT_FOUND"===e.data.code}const pe=async(t,e,n)=>{if(0===e.length)return!1;const r=[];for(const o of e){const e=await ne(t,o);if("commit"===e.type)for(const t of e.data.parents)n.has(t)||(n.add(t),r.push(t))}e.length=0;for(const t of r)e.push(t);return e.length>0},ye=(t,e)=>{const n=[];for(const r of t)e.has(r)&&n.push(r);return n};exports.MAX_FLAT_TREE_ENTRIES=e,exports.ObjectId=C,exports.RefName=A,exports.createCommit=async function(t,e){if(e.message.includes("\0"))throw s("message contains NUL");if(n=e.message,(new TextEncoder).encode(n).byteLength>16777216)throw s("message exceeds 16 MiB");var n;if(void 0!==e.gpgSignature&&Ct(e.gpgSignature))throw s("gpgSignature contains header-boundary chars");if(void 0!==e.extraHeaders)for(const t of e.extraHeaders){if(At(t.key))throw s("extraHeader key contains forbidden characters");if(Ct(t.value))throw s("extraHeader value contains header-boundary chars")}return w(e.author),w(e.committer),Wt(t,{type:"commit",id:"",data:{tree:e.tree,parents:e.parents,author:e.author,committer:e.committer,message:e.message,...void 0!==e.gpgSignature?{gpgSignature:e.gpgSignature}:{},extraHeaders:e.extraHeaders??[]}})},exports.diffTrees=async function(t,e,r,o){const[i,s]=await Promise.all([he(t,e),he(t,r)]),a=function(t,e){const n=tt(t),r=tt(e),o=[];let i=0,s=0;for(;i<n.length&&s<r.length;){const t=n[i],e=r[s],a=F(t,e);if(a<0)o.push(Q(t)),i++;else if(a>0)o.push(G(e)),s++;else{const n=Z(t,e);void 0!==n&&o.push(n),i++,s++}}for(;i<n.length;)o.push(Q(n[i])),i++;for(;s<r.length;)o.push(G(r[s])),s++;return{changes:o}}(i,s);return!0===o?.detectRenames?function(t,e={}){const r=e.limit??1e3,o=e.maxSameIdDeletes??100,{adds:i,deletes:s,other:a}=function(t){const e=[],n=[],r=[];for(const o of t)"add"===o.type?e.push(o):"delete"===o.type?n.push(o):r.push(o);return{adds:e,deletes:n,other:r}}(t.changes);if(i.length*s.length>r)return t;const c=function(t,e){const n=new Map;for(const e of t){const t=n.get(e.oldId);void 0===t?n.set(e.oldId,[e]):t.push(e)}const r=new Map;for(const[t,o]of n)o.length<=e&&r.set(t,o);return r}(s,o),f=new Set,u=[],d=[];for(const t of i){const e=J(t,c);void 0===e?d.push(t):(u.push(e.rename),f.add(e.consumedDelete))}const h=s.filter(t=>!f.has(t));return{changes:q([...d,...h,...u,...a],n)}}(a,o.renameOptions):a},exports.encode=$,exports.exceedsMaxTreeDepth=function(t,e){return t>e},exports.exceedsMaxTreeEntries=function(t,e){return t>e},exports.getRepoRoot=t=>t.layout.workDir,exports.hexToBytes=y,exports.indexPath=Nt,exports.isDirectory=z,exports.isGitlink=function(t){return"160000"===t},exports.lockSuffix=St,exports.mergeBase=async(t,e,n)=>{if(e===n)return e;const r=new Set([e]),o=new Set([n]),i=[e],s=[n],a=ye(r,o);if(a.length>0)return[...a].sort()[0];for(;i.length>0||s.length>0;){const e=await pe(t,i,r),n=await pe(t,s,o),a=ye(r,o);if(a.length>0)return[...a].sort()[0];if(!e&&!n)break}},exports.objectNotFound=f,exports.parseLooseRef=lt,exports.readIndex=async function(t){const e=Nt(t.layout.gitDir);if(!await t.fs.exists(e))return{version:2,entries:[],extensions:[]};if(Ut((await t.fs.stat(e)).size))throw et(Lt);const n=await t.fs.read(e);if(Ut(n.length))throw et(Lt);const r=t.hashConfig.digestLength;if(n.length<r)throw et("file is shorter than the hash trailer");const o=n.subarray(0,n.length-r),i=p(n.subarray(n.length-r));if(await t.hash.hashHex(o)!==i)throw et("index trailer checksum mismatch");return function(t){if(t.length<12)throw et("truncated header");const e=new DataView(t.buffer,t.byteOffset,t.byteLength);if(1145655875!==e.getUint32(0))throw et("invalid signature: expected DIRC");const n=e.getUint32(4);if(2!==n)throw et(`unsupported version: ${n}`);const r=e.getUint32(8);if(62*r>t.length-12-20)throw et(`entry count ${r} exceeds file capacity`);let o=12;const i=[];for(let n=0;n<r;n++){const n=o;if(o+62>t.length-20)throw nt(o,"truncated entry");const r=e.getUint32(o),s=e.getUint32(o+4),a=e.getUint32(o+8),c=e.getUint32(o+12),f=e.getUint32(o+16),u=e.getUint32(o+20),d=e.getUint32(o+24),h=e.getUint32(o+28),l=e.getUint32(o+32),g=e.getUint32(o+36),w=p(t.subarray(o+40,o+60)),m=e.getUint16(o+60),y=rt(m,o),x=j(d.toString(8));o+=62;const b=ot(t,o);if(-1===b)throw nt(n,"missing NUL terminator");const E=4095&m,v=I(t.subarray(o,4095===E?b:o+E));o=b+1,o=n+(o-n+7&-8),i.push({ctimeSeconds:r,ctimeNanoseconds:s,mtimeSeconds:a,mtimeNanoseconds:c,dev:f,ino:u,mode:x,uid:h,gid:l,fileSize:g,id:w,flags:y,path:L.from(v)})}const s=function(t,e,n){const r=[],o=t.length-20;for(;e+8<=o;){const i=I(t.subarray(e,e+4)),s=n.getUint32(e+4);if(e+8+s>o)throw nt(e,"extension size exceeds remaining bytes");const a=i.charCodeAt(0);if(a>=97&&a<=122){const t=i.replace(/[^\x20-\x7e]/g,"?");throw nt(e,`mandatory extension '${t}' not supported`)}const c=t.slice(e+8,e+8+s);r.push({signature:i,data:c}),e+=8+s}return r}(t,o,e);return{version:2,entries:i,extensions:s}}(n)},exports.readObject=ne,exports.readTree=de,exports.refNotFound=at,exports.resolveRef=ie,exports.treeCycleDetected=e=>new t.TsgitError({code:"TREE_CYCLE_DETECTED",id:e}),exports.treeDepthExceeded=e=>new t.TsgitError({code:"TREE_DEPTH_EXCEEDED",depth:e}),exports.treeEntryLimitExceeded=h,exports.unexpectedObjectType=d,exports.updateRef=async function(e,n,r,o){ht(n);const i=_t(e.layout.gitDir,n),s=oe(e);if(void 0!==o?.expected){const e=await s.resolveDirect(n),r="direct"===e.kind?e.id:"absent";if(o.expected!==r)throw((e,n,r)=>new t.TsgitError({code:"REF_UPDATE_CONFLICT",name:e,expected:n,actual:r}))(n,o.expected,r)}if(!0===o?.delete){if(await s.isLoose(n))return void await s.removeLoose(n);if("direct"===(await s.resolveDirect(n)).kind)throw t.unsupportedOperation("delete-packed-ref","deleting packed-only refs requires packed-refs rewrite (Phase 9)");throw at(n)}const a=(new TextEncoder).encode(`${r}\n`);await ae(e,n,i,a)},exports.validateRefName=ht,exports.walkCommits=async function*(e,n){!function(e){if(0===e.from.length)throw t.invalidWalkInput("empty from");if(function(t){return t.length>1024}(e.from))throw t.invalidWalkInput("too many seeds")}(n);const r=n.order??"topo",o=n.ignoreMissing??!1,i=n.verifyHash??!0,s={queue:[...n.from],visited:new Set,missing:new Set,until:new Set(n.until??[])};for(;s.queue.length>0;){if(e.signal?.aborted)throw t.operationAborted();const n=we(s.queue);if(s.visited.has(n)||s.until.has(n))continue;const a=await le(e,n,i,o,s.missing);void 0!==a&&(s.visited.add(n),yield a,ge(s,a,r))}},exports.writeObject=Wt,exports.writeSymbolicRef=async(t,e,n)=>{const r=ht(e),o=ht(n),i=_t(t.layout.gitDir,r),s=ue.encode(function(t){return`ref: ${t}\n`}(o));await ae(t,r,i,s)},exports.writeTree=async function(t,n){if(n.length>e)throw h(n.length,e);return Wt(t,{type:"tree",id:"",entries:n})};
|
|
2
|
-
//# sourceMappingURL=merge-base-DlGWnkxP.cjs.map
|