init tool

This commit is contained in:
wangxinfei
2025-05-09 16:55:09 +08:00
commit 7a31266d21
1300 changed files with 878894 additions and 0 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 254 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 40 40"><path fill="#000" fill-rule="evenodd" d="M30.235 39.884a2.491 2.491 0 0 1-1.781-.73L12.7 24.78l-3.46 2.624-3.406 2.582a1.665 1.665 0 0 1-1.082.338 1.664 1.664 0 0 1-1.046-.431l-2.2-2a1.666 1.666 0 0 1 0-2.463L7.458 20 4.67 17.453 1.507 14.57a1.665 1.665 0 0 1 0-2.463l2.2-2a1.665 1.665 0 0 1 2.13-.097l6.863 5.209L28.452.844a2.488 2.488 0 0 1 1.841-.729c.351.009.699.091 1.019.245l8.236 3.961a2.5 2.5 0 0 1 1.415 2.253v.099-.045V33.37v-.045.095a2.501 2.501 0 0 1-1.416 2.257l-8.235 3.961a2.492 2.492 0 0 1-1.077.246Zm.716-28.947-11.948 9.062 11.952 9.065-.004-18.127Z" clip-rule="evenodd" opacity=".3"/></svg>

After

Width:  |  Height:  |  Size: 681 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 40 40"><path fill="#3C3C3C" fill-rule="evenodd" d="M30.235 39.884a2.491 2.491 0 0 1-1.781-.73L12.7 24.78l-3.46 2.624-3.406 2.582a1.665 1.665 0 0 1-1.082.338 1.664 1.664 0 0 1-1.046-.431l-2.2-2a1.666 1.666 0 0 1 0-2.463L7.458 20 4.67 17.453 1.507 14.57a1.665 1.665 0 0 1 0-2.463l2.2-2a1.665 1.665 0 0 1 2.13-.097l6.863 5.209L28.452.844a2.488 2.488 0 0 1 1.841-.729c.351.009.699.091 1.019.245l8.236 3.961a2.5 2.5 0 0 1 1.415 2.253v.099-.045V33.37v-.045.095a2.501 2.501 0 0 1-1.416 2.257l-8.235 3.961a2.492 2.492 0 0 1-1.077.246Zm.716-28.947-11.948 9.062 11.952 9.065-.004-18.127Z" clip-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 671 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 40 40"><path fill="#d9d9d9" fill-rule="evenodd" d="M30.235 39.884a2.491 2.491 0 0 1-1.781-.73L12.7 24.78l-3.46 2.624-3.406 2.582a1.665 1.665 0 0 1-1.082.338 1.664 1.664 0 0 1-1.046-.431l-2.2-2a1.666 1.666 0 0 1 0-2.463L7.458 20 4.67 17.453 1.507 14.57a1.665 1.665 0 0 1 0-2.463l2.2-2a1.665 1.665 0 0 1 2.13-.097l6.863 5.209L28.452.844a2.488 2.488 0 0 1 1.841-.729c.351.009.699.091 1.019.245l8.236 3.961a2.5 2.5 0 0 1 1.415 2.253v.099-.045V33.37v-.045.095a2.501 2.501 0 0 1-1.416 2.257l-8.235 3.961a2.492 2.492 0 0 1-1.077.246Zm.716-28.947-11.948 9.062 11.952 9.065-.004-18.127Z" clip-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 671 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 40 40"><path fill="#000" fill-rule="evenodd" d="M30.235 39.884a2.491 2.491 0 0 1-1.781-.73L12.7 24.78l-3.46 2.624-3.406 2.582a1.665 1.665 0 0 1-1.082.338 1.664 1.664 0 0 1-1.046-.431l-2.2-2a1.666 1.666 0 0 1 0-2.463L7.458 20 4.67 17.453 1.507 14.57a1.665 1.665 0 0 1 0-2.463l2.2-2a1.665 1.665 0 0 1 2.13-.097l6.863 5.209L28.452.844a2.488 2.488 0 0 1 1.841-.729c.351.009.699.091 1.019.245l8.236 3.961a2.5 2.5 0 0 1 1.415 2.253v.099-.045V33.37v-.045.095a2.501 2.501 0 0 1-1.416 2.257l-8.235 3.961a2.492 2.492 0 0 1-1.077.246Zm.716-28.947-11.948 9.062 11.952 9.065-.004-18.127Z" clip-rule="evenodd" opacity=".05"/></svg>

After

Width:  |  Height:  |  Size: 682 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 668 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 700 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 701 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 914 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 B

File diff suppressed because one or more lines are too long
@@ -0,0 +1,5 @@
/*!--------------------------------------------------------
* Copyright (C) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------*/define("vs/workbench/contrib/debug/node/telemetryApp.nls",{"vs/base/common/platform":["_"]});
//# sourceMappingURL=https://ticino.blob.core.windows.net/sourcemaps/5235c6bb189b60b01b1f49062f4ffa42384f8c91/core/vs/workbench/contrib/debug/node/telemetryApp.nls.js.map
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M14.315 11H1.685a6.912 6.912 0 0 1 0-6h12.63a6.912 6.912 0 0 1 0 6Z" fill="#fff"/><path d="M8 0a8 8 0 1 0 8 8 8.009 8.009 0 0 0-8-8Zm0 1a6.993 6.993 0 0 1 5.736 3H2.264A6.991 6.991 0 0 1 8 1Zm0 14a6.991 6.991 0 0 1-5.736-3h11.472A6.993 6.993 0 0 1 8 15Zm6.315-4H1.685a6.912 6.912 0 0 1 0-6h12.63a6.912 6.912 0 0 1 0 6Z" fill="#2b2b2b"/><path d="M8 1a6.993 6.993 0 0 1 5.736 3H2.264A6.991 6.991 0 0 1 8 1Zm0 14a6.991 6.991 0 0 1-5.736-3h11.472A6.993 6.993 0 0 1 8 15Z" fill="#ff8c00"/><path d="M8 0a8 8 0 1 0 8 8 8.009 8.009 0 0 0-8-8Zm0 1a6.993 6.993 0 0 1 5.736 3H2.264A6.991 6.991 0 0 1 8 1Zm0 14a6.991 6.991 0 0 1-5.736-3h11.472A6.993 6.993 0 0 1 8 15Zm6.315-4H1.685a6.912 6.912 0 0 1 0-6h12.63a6.912 6.912 0 0 1 0 6Z" fill="#2b2b2b"/><path d="M8 1a6.993 6.993 0 0 1 5.736 3H2.264A6.991 6.991 0 0 1 8 1Zm0 14a6.991 6.991 0 0 1-5.736-3h11.472A6.993 6.993 0 0 1 8 15Z" fill="#767676"/><path d="M5.783 6.783 4.565 8l1.218 1.217-.566.566L3.435 8l1.782-1.783Zm5-.566-.566.566L11.435 8l-1.218 1.217.566.566L12.565 8Zm-4.14 3.6.714.358 2-4-.714-.358Z" fill="#2b2b2b"/></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

@@ -0,0 +1,37 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1002" height="651" viewBox="-0.5 -0.5 1002 651"><path fill="none" stroke="#000" pointer-events="all" d="M581 310h220v340H581z"/><rect x="601" y="350" width="180" height="198" rx="10.8" ry="10.8" fill="none" stroke="#000" pointer-events="all"/><rect x="601" y="590" width="180" height="45" rx="9" ry="9" fill="none" stroke="#000" pointer-events="all"/><path fill="none" pointer-events="all" d="M611 360h150v30H611z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:148px;height:1px;padding-top:375px;margin-left:612px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:14px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Notebook Editor Widget</div></div></div></foreignObject><text x="686" y="379" font-family="Helvetica" font-size="14" text-anchor="middle">
Notebook Editor Widget
</text></switch><path fill="none" pointer-events="all" d="M611 600h130v30H611z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:128px;height:1px;padding-top:615px;margin-left:612px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:14px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Code Editor Widget</div></div></div></foreignObject><text x="676" y="619" font-family="Helvetica" font-size="14" text-anchor="middle">
Code Editor Widget
</text></switch><path fill="none" pointer-events="all" d="M581 310h120v30H581z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:118px;height:1px;padding-top:325px;margin-left:582px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:14px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Interactive Editor</div></div></div></foreignObject><text x="641" y="329" font-family="Helvetica" font-size="14" text-anchor="middle">
Interactive Editor
</text></switch><rect x="1" y="380" width="170" height="50" rx="7.5" ry="7.5" fill="none" pointer-events="all"/><path d="M8.5 380c34.5-1.84 64.23-1.44 155 0m-155 0c34.03-.13 67.28 1.13 155 0m0 0c5.45-.6 8.01 1.45 7.5 7.5m-7.5-7.5c6.52-.85 5.37 1.07 7.5 7.5m0 0c1.18 10.63 1.11 22.67 0 35m0-35c-.32 9.91.6 20.03 0 35m0 0c-1.16 3.07-1.33 5.58-7.5 7.5m7.5-7.5c-1.97 2.99-2.95 6.42-7.5 7.5m0 0c-40.75-.5-82.77-.84-155 0m155 0c-38.05-.6-74.83-.25-155 0m0 0c-4.63.43-8.32-3.05-7.5-7.5m7.5 7.5c-3.89 1.49-6.39-2.71-7.5-7.5m0 0c-.14-11.4-1.29-22.34 0-35m0 35c-.22-7.45-.8-14.81 0-35m0 0c-.7-3.99 3.61-5.74 7.5-7.5M1 387.5c-1.43-3.02 1.38-5.88 7.5-7.5" fill="none" stroke="#000" stroke-width="2" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="all"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:168px;height:1px;padding-top:405px;margin-left:2px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:14px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">NotebookService</div></div></div></foreignObject><text x="86" y="409" font-family="Helvetica" font-size="14" text-anchor="middle">
NotebookService
</text></switch><rect x="13.5" y="587.5" width="185" height="55" rx="8.25" ry="8.25" fill="none" pointer-events="all"/><path d="M21.75 587.5c35.07 2.65 69.3-.56 168.5 0m-168.5 0c61.61-1.69 121.19-2 168.5 0m0 0c7.36.46 6.52.95 8.25 8.25m-8.25-8.25c7.41.28 8.05 4.78 8.25 8.25m0 0c.65 13.52-.3 25.91 0 38.5m0-38.5c.94 9.45-.65 19.2 0 38.5m0 0c.04 4.38-4.61 6.89-8.25 8.25m8.25-8.25c-.75 3.62-1.33 8.79-8.25 8.25m0 0c-51.53-.99-102.48-1.29-168.5 0m168.5 0c-45.05.65-92.48-.29-168.5 0m0 0c-4.9-.15-9.42-2.24-8.25-8.25m8.25 8.25c-5.33 1.46-7.42-2.77-8.25-8.25m0 0c-1.4-12.05 1.41-21.56 0-38.5m0 38.5c.51-14.79.37-27.4 0-38.5m0 0c.17-4.5.76-9.1 8.25-8.25m-8.25 8.25c1.93-7.67 3.66-6.69 8.25-8.25" fill="none" stroke="#000" stroke-width="2" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="all"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:183px;height:1px;padding-top:615px;margin-left:15px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:14px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">TextModelResolverService</div></div></div></foreignObject><text x="106" y="619" font-family="Helvetica" font-size="14" text-anchor="middle">
TextModelResolverService
</text></switch><path fill="none" stroke="#000" pointer-events="all" d="M238.5 310h240v340h-240z"/><path d="M258.5 405h-81.13" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m172.12 405 7-3.5-1.75 3.5 1.75 3.5Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><rect x="258.5" y="350" width="200" height="220" rx="12" ry="12" fill="none" stroke="#000" pointer-events="all"/><path d="M258.5 615h-53.63" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m199.62 615 7-3.5-1.75 3.5 1.75 3.5Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><rect x="258.5" y="590" width="200" height="50" rx="10" ry="10" fill="none" stroke="#000" pointer-events="all"/><path fill="none" pointer-events="all" d="M268.5 360h150v30h-150z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:148px;height:1px;padding-top:375px;margin-left:270px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:14px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">NotebookTextModel</div></div></div></foreignObject><text x="344" y="379" font-family="Helvetica" font-size="14" text-anchor="middle">
NotebookTextModel
</text></switch><path fill="none" pointer-events="all" d="M268.5 600h130v30h-130z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:128px;height:1px;padding-top:615px;margin-left:270px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:14px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">ITextModel</div></div></div></foreignObject><text x="334" y="619" font-family="Helvetica" font-size="14" text-anchor="middle">
ITextModel
</text></switch><path fill="none" pointer-events="all" d="M238.5 310h150v30h-150z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:148px;height:1px;padding-top:325px;margin-left:240px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:14px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Interactive Editor Input</div></div></div></foreignObject><text x="314" y="329" font-family="Helvetica" font-size="14" text-anchor="middle">
Interactive Editor In...
</text></switch><path fill="none" pointer-events="all" d="M581 280h70v20h-70z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:1px;height:1px;padding-top:290px;margin-left:616px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:nowrap">EditorPane</div></div></div></foreignObject><text x="616" y="294" font-family="Helvetica" font-size="12" text-anchor="middle">
EditorPane
</text></switch><path fill="none" pointer-events="all" d="M238.5 280h70v20h-70z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:1px;height:1px;padding-top:290px;margin-left:274px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:nowrap">EditorInput</div></div></div></foreignObject><text x="274" y="294" font-family="Helvetica" font-size="12" text-anchor="middle">
EditorInput
</text></switch><path d="m458.5 405 142.5-5.5M458.5 620l142.5-3" fill="none" stroke="#000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><rect x="238.5" width="222.5" height="60" rx="3.6" ry="3.6" fill="none" stroke="#000" pointer-events="all"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:221px;height:1px;padding-top:30px;margin-left:240px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Editor Resolver Service</div></div></div></foreignObject><text x="350" y="34" font-family="Helvetica" font-size="12" text-anchor="middle">
Editor Resolver Service
</text></switch><rect x="589.75" width="222.5" height="60" rx="3.6" ry="3.6" fill="none" stroke="#000" pointer-events="all"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:221px;height:1px;padding-top:30px;margin-left:591px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">EditorPane Registry</div></div></div></foreignObject><text x="701" y="34" font-family="Helvetica" font-size="12" text-anchor="middle">
EditorPane Registry
</text></switch><path d="m691 280-.66-211.71" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m690.32 63.04 3.53 6.99-3.51-1.74-3.49 1.76Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path fill="none" pointer-events="all" d="M635 150h130v20H635z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:1px;height:1px;padding-top:160px;margin-left:700px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:nowrap">Registry Editor Pane</div></div></div></foreignObject><text x="700" y="164" font-family="Helvetica" font-size="12" text-anchor="middle">
Registry Editor Pane
</text></switch><path d="M301 200h390M300.49 280l.51-80M268.5 280l.04-213.09" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m268.54 61.66 3.5 7-3.5-1.75-3.5 1.75Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path fill="none" pointer-events="all" d="M218.5 150h90v10h-90z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:1px;height:1px;padding-top:155px;margin-left:264px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:6px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:nowrap"><font style="font-size:12px">registerEditor</font></div></div></div></foreignObject><text x="264" y="157" font-family="Helvetica" font-size="6" text-anchor="middle">
registerEditor
</text></switch><path d="M801 380h43.63" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m849.88 380-7 3.5 1.75-3.5-1.75-3.5Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path fill="none" pointer-events="all" d="M851 370h110v20H851z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:1px;height:1px;padding-top:380px;margin-left:906px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:nowrap">input: EditorInput</div></div></div></foreignObject><text x="906" y="384" font-family="Helvetica" font-size="12" text-anchor="middle">
input: EditorInput
</text></switch><path d="M801 430h43.63" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m849.88 430-7 3.5 1.75-3.5-1.75-3.5Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path fill="none" pointer-events="all" d="M851 420h120v20H851z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:1px;height:1px;padding-top:430px;margin-left:911px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:nowrap">group: IEditorGroup</div></div></div></foreignObject><text x="911" y="434" font-family="Helvetica" font-size="12" text-anchor="middle">
group: IEditorGroup
</text></switch><path d="M801 480h43.63" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m849.88 480-7 3.5 1.75-3.5-1.75-3.5Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path fill="none" pointer-events="all" d="M851 470h150v20H851z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:1px;height:1px;padding-top:480px;margin-left:926px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:nowrap">getControl: IEditorControl</div></div></div></foreignObject><text x="926" y="484" font-family="Helvetica" font-size="12" text-anchor="middle">
getControl: IEditorControl
</text></switch><switch><a transform="translate(0 -5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10" x="50%" y="100%">
Viewer does not support full SVG 1.1
</text></a></switch></svg>

After

Width:  |  Height:  |  Size: 19 KiB

@@ -0,0 +1,27 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="762" height="723" viewBox="-0.5 -0.5 762 723"><path d="M481 720V0" fill="none" stroke="#000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path fill="none" pointer-events="all" d="M361 0h60v30h-60z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:58px;height:1px;padding-top:15px;margin-left:362px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal"><font style="font-size:14px">Ext Host</font></div></div></div></foreignObject><text x="391" y="19" font-family="Helvetica" font-size="12" text-anchor="middle">
Ext Host
</text></switch><path fill="none" pointer-events="all" d="M521 0h60v30h-60z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:58px;height:1px;padding-top:15px;margin-left:522px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal"><font style="font-size:14px">UI</font></div></div></div></foreignObject><text x="551" y="19" font-family="Helvetica" font-size="12" text-anchor="middle">
UI
</text></switch><path fill="none" stroke="#000" pointer-events="all" d="M521 220h240v340H521z"/><rect x="541" y="260" width="200" height="220" rx="12" ry="12" fill="none" stroke="#000" pointer-events="all"/><rect x="541" y="500" width="200" height="50" rx="10" ry="10" fill="none" stroke="#000" pointer-events="all"/><path fill="none" pointer-events="all" d="M551 270h120v30H551z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:118px;height:1px;padding-top:285px;margin-left:552px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:14px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Notebook Editor</div></div></div></foreignObject><text x="611" y="289" font-family="Helvetica" font-size="14" text-anchor="middle">
Notebook Editor
</text></switch><path fill="none" pointer-events="all" d="M551 510h90v30h-90z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:88px;height:1px;padding-top:525px;margin-left:552px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:14px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Text Editor</div></div></div></foreignObject><text x="596" y="529" font-family="Helvetica" font-size="14" text-anchor="middle">
Text Editor
</text></switch><path fill="none" pointer-events="all" d="M521 220h120v30H521z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:118px;height:1px;padding-top:235px;margin-left:522px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:14px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Interactive Editor</div></div></div></foreignObject><text x="581" y="239" font-family="Helvetica" font-size="14" text-anchor="middle">
Interactive Editor
</text></switch><rect x="556" y="100" width="170" height="50" rx="7.5" ry="7.5" fill="none" pointer-events="all"/><path d="M563.5 100c34.5-1.84 64.23-1.44 155 0m-155 0c34.03-.13 67.28 1.13 155 0m0 0c5.45-.6 8.01 1.45 7.5 7.5m-7.5-7.5c6.52-.85 5.37 1.07 7.5 7.5m0 0c1.18 10.63 1.11 22.67 0 35m0-35c-.32 9.91.6 20.03 0 35m0 0c-1.16 3.07-1.33 5.58-7.5 7.5m7.5-7.5c-1.97 2.99-2.95 6.42-7.5 7.5m0 0c-40.75-.5-82.77-.84-155 0m155 0c-38.05-.6-74.83-.25-155 0m0 0c-4.63.43-8.32-3.05-7.5-7.5m7.5 7.5c-3.89 1.49-6.39-2.71-7.5-7.5m0 0c-.14-11.4-1.29-22.34 0-35m0 35c-.22-7.45-.8-14.81 0-35m0 0c-.7-3.99 3.61-5.74 7.5-7.5m-7.5 7.5c-1.43-3.02 1.38-5.88 7.5-7.5" fill="none" stroke="#000" stroke-width="2" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="all"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:168px;height:1px;padding-top:125px;margin-left:557px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:14px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">NotebookService</div></div></div></foreignObject><text x="641" y="129" font-family="Helvetica" font-size="14" text-anchor="middle">
NotebookService
</text></switch><path d="M641 270V156.37" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m641 151.12 3.5 7-3.5-1.75-3.5 1.75Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><rect x="548.5" y="630" width="185" height="50" rx="7.5" ry="7.5" fill="none" pointer-events="all"/><path d="M556 630c35.38 2.66 69.94-.55 170 0m-170 0c62.15-1.71 122.27-2.02 170 0m0 0c6.86.46 5.77.7 7.5 7.5M726 630c6.91.28 7.3 4.53 7.5 7.5m0 0c.63 12.35-.31 23.58 0 35m0-35c.94 8.54-.65 17.38 0 35m0 0c.04 3.88-4.36 6.14-7.5 7.5m7.5-7.5c-.75 3.12-1.08 8.04-7.5 7.5m0 0c-51.98-1-103.38-1.29-170 0m170 0c-45.45.65-93.3-.29-170 0m0 0c-4.4-.15-8.67-1.99-7.5-7.5m7.5 7.5c-4.83 1.46-6.67-2.52-7.5-7.5m0 0c-1.39-11.04 1.42-19.55 0-35m0 35c.51-13.52.37-24.86 0-35m0 0c.17-4 .51-8.35 7.5-7.5m-7.5 7.5c1.93-7.17 3.41-5.94 7.5-7.5" fill="none" stroke="#000" stroke-width="2" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="all"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:183px;height:1px;padding-top:655px;margin-left:550px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:14px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">TextModelResolverService</div></div></div></foreignObject><text x="641" y="659" font-family="Helvetica" font-size="14" text-anchor="middle">
TextModelResolverService
</text></switch><path d="M641 525v98.63" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m641 628.88-3.5-7 3.5 1.75 3.5-1.75Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><rect x="221" y="100" width="160" height="50" rx="7.5" ry="7.5" fill="none" pointer-events="all"/><path d="M228.5 100c31.82-.17 62.73 1.02 145 0m-145 0c43.41.1 87.55.23 145 0m0 0c4.27 1.51 7.52 3.96 7.5 7.5m-7.5-7.5c2.71 1.4 9.23 3.39 7.5 7.5m0 0c-.62 14.08 1.56 24.49 0 35m0-35c.2 9.17.11 16.73 0 35m0 0c1.23 4.68-3.4 6.7-7.5 7.5m7.5-7.5c.47 3.25-3.8 9.66-7.5 7.5m0 0c-46.96-1.4-95.49-1.66-145 0m145 0c-43.62-.04-89.3-.27-145 0m0 0c-4.17-.72-9.02-.94-7.5-7.5m7.5 7.5c-5.77 1.42-6.95-2.33-7.5-7.5m0 0c1.36-10.68.14-16.76 0-35m0 35c-.76-10.59-.47-22.9 0-35m0 0c1.04-4.01 1.4-6.97 7.5-7.5m-7.5 7.5c.69-6.71.84-5.99 7.5-7.5" fill="none" stroke="#000" stroke-width="2" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="all"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:158px;height:1px;padding-top:125px;margin-left:222px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:14px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">ExthostNotebook</div></div></div></foreignObject><text x="301" y="129" font-family="Helvetica" font-size="14" text-anchor="middle">
ExthostNotebook
</text></switch><path d="M556 125H387.37" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m382.12 125 7-3.5-1.75 3.5 1.75 3.5Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><rect x="221" y="630" width="160" height="50" rx="7.5" ry="7.5" fill="none" pointer-events="all"/><path d="M228.5 630c29.53 1.17 62.09-1.24 145 0m-145 0c35.68 1.68 72.85.24 145 0m0 0c5.67-1.43 9.28 3.21 7.5 7.5m-7.5-7.5c3.11-2.08 6.56 2.26 7.5 7.5m0 0c-1.17 8.8.14 15.4 0 35m0-35c-.55 7.81.86 16.08 0 35m0 0c-1.58 5.48-2.43 7.26-7.5 7.5m7.5-7.5c1.69 3.37-1.93 6.68-7.5 7.5m0 0c-53.4-1.86-106.51-2.08-145 0m145 0c-48.62-.76-96.95-.28-145 0m0 0c-3.95-1.3-9.37-3.88-7.5-7.5m7.5 7.5c-6.71 1.39-7.23-2.13-7.5-7.5m0 0c.11-6.32-1.15-17.97 0-35m0 35c-.03-9.67.7-18.94 0-35m0 0c1.91-4.02 2.3-5.58 7.5-7.5m-7.5 7.5c-.55-6.25 2.87-6.05 7.5-7.5" fill="none" stroke="#000" stroke-width="2" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="all"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:158px;height:1px;padding-top:655px;margin-left:222px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:14px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">ExthostEditors</div></div></div></foreignObject><text x="301" y="659" font-family="Helvetica" font-size="14" text-anchor="middle">
ExthostEditors
</text></switch><path d="M548.5 655H387.37" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m382.12 655 7-3.5-1.75 3.5 1.75 3.5Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><rect x="1" y="270" width="190" height="160" rx="24" ry="24" fill="none" pointer-events="all"/><path d="M25 270c30.63 1.83 59.5 0 142 0m-142 0c42.38.75 86.97 1.33 142 0m0 0c16.83.74 24 8.14 24 24m-24-24c16.38-.67 22.26 8.48 24 24m0 0c1.07 22.51.31 45.58 0 112m0-112c1.11 42.09 1.75 84.59 0 112m0 0c-1.89 17.72-6.79 22.2-24 24m24-24c1.94 18.12-6.61 25.71-24 24m0 0c-44.49-1.11-91.42-.86-142 0m142 0c-42.12-.11-85.13-.46-142 0m0 0c-16.34-1.91-23.91-7.25-24-24m24 24c-14.71-1.32-22.36-7.72-24-24m0 0c.27-24.53.58-50.59 0-112m0 112c-.11-25.97.64-51.35 0-112m0 0c1.94-15.1 6.11-22.17 24-24M1 294c1.28-16.59 6.38-23.18 24-24" fill="none" stroke="#000" stroke-width="2" stroke-linejoin="round" stroke-linecap="round" stroke-miterlimit="10" pointer-events="all"/><path fill="none" pointer-events="all" d="M21 280h110v30H21z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:108px;height:1px;padding-top:295px;margin-left:22px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:14px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">ExthostInteractive</div></div></div></foreignObject><text x="76" y="299" font-family="Helvetica" font-size="14" text-anchor="middle">
ExthostInteracti...
</text></switch><path d="M131 350h160q10 0 10-10V156.37" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m301 151.12 3.5 7-3.5-1.75-3.5 1.75Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path fill="none" pointer-events="all" d="M21 335h60v30H21z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe flex-start;width:58px;height:1px;padding-top:350px;margin-left:23px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:left"><div style="display:inline-block;font-size:14px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">NotebookEditor</div></div></div></foreignObject><text x="23" y="354" font-family="Helvetica" font-size="14">
Notebook...
</text></switch><path d="M81 385h220q10 0 10 10v228.63" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m311 628.88-3.5-7 3.5 1.75 3.5-1.75Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path fill="none" pointer-events="all" d="M21 370h60v30H21z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe flex-start;width:58px;height:1px;padding-top:385px;margin-left:23px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:left"><div style="display:inline-block;font-size:14px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Input</div></div></div></foreignObject><text x="23" y="389" font-family="Helvetica" font-size="14">
Input
</text></switch><switch><a transform="translate(0 -5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10" x="50%" y="100%">
Viewer does not support full SVG 1.1
</text></a></switch></svg>

After

Width:  |  Height:  |  Size: 16 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 92 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 46 KiB

@@ -0,0 +1,57 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="724" height="1001" viewBox="-0.5 -0.5 724 1001" style="background-color:#fff"><path d="m70 60 40 40-40 40-40-40Z" fill="#FFF" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path d="M170 110v63.63" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m170 178.88-3.5-7 3.5 1.75 3.5-1.75Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path fill="none" pointer-events="all" d="M120 90h100v20H120z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:1px;height:1px;padding-top:100px;margin-left:170px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:nowrap">Render Viewport</div></div></div></foreignObject><text x="170" y="104" font-family="Helvetica" font-size="12" text-anchor="middle">
Render Viewport
</text></switch><path fill="none" pointer-events="all" d="M10 0h120v20H10z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:1px;height:1px;padding-top:10px;margin-left:70px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:nowrap">Notebook List View</div></div></div></foreignObject><text x="70" y="14" font-family="Helvetica" font-size="12" text-anchor="middle">
Notebook List View
</text></switch><path d="M170 260v73.63" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m170 338.88-3.5-7 3.5 1.75 3.5-1.75Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path d="M210 220h183.63" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m398.88 220-7 3.5 1.75-3.5-1.75-3.5Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path d="m170 180 40 40-40 40-40-40Z" fill="#FFF" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path fill="none" pointer-events="all" d="M200 180h110v20H200z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:1px;height:1px;padding-top:190px;margin-left:255px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:nowrap">Render Template</div></div></div></foreignObject><text x="255" y="194" font-family="Helvetica" font-size="12" text-anchor="middle">
Render Template
</text></switch><path d="M170 420v113.63" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m170 538.88-3.5-7 3.5 1.75 3.5-1.75Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path d="M210 380h183.63" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m398.88 380-7 3.5 1.75-3.5-1.75-3.5Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path d="m170 340 40 40-40 40-40-40Z" fill="#FFF" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path fill="none" pointer-events="all" d="M200 340h100v20H200z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:1px;height:1px;padding-top:350px;margin-left:250px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:nowrap">Render Element</div></div></div></foreignObject><text x="250" y="354" font-family="Helvetica" font-size="12" text-anchor="middle">
Render Element
</text></switch><path d="m170 540 40 40-40 40-40-40Z" fill="#FFF" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path fill="none" pointer-events="all" d="M210 540h120v20H210z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:1px;height:1px;padding-top:550px;margin-left:270px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:nowrap">Get Dynamic Height</div></div></div></foreignObject><text x="270" y="554" font-family="Helvetica" font-size="12" text-anchor="middle">
Get Dynamic Height
</text></switch><path d="M170 660v-40M80 660h90M80 660V380M80 380h43.63" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m128.88 380-7 3.5 1.75-3.5-1.75-3.5Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path fill="none" stroke="#000" stroke-dasharray="3 3" pointer-events="all" d="M400 140h280v160H400z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:278px;height:1px;padding-top:220px;margin-left:401px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Create Cell Templates/Parts</div></div></div></foreignObject><text x="540" y="224" font-family="Helvetica" font-size="12" text-anchor="middle">
Create Cell Templates/Parts
</text></switch><path fill="#60a917" stroke="#2d7600" pointer-events="all" d="M430 250h70v30h-70z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:68px;height:1px;padding-top:265px;margin-left:431px"><div data-drawio-colors="color: #ffffff;" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#fff;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Toolbar</div></div></div></foreignObject><text x="465" y="269" fill="#fff" font-family="Helvetica" font-size="12" text-anchor="middle">
Toolbar
</text></switch><path fill="#60a917" stroke="#2d7600" pointer-events="all" d="M510 250h70v30h-70z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:68px;height:1px;padding-top:265px;margin-left:511px"><div data-drawio-colors="color: #ffffff;" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#fff;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Editor</div></div></div></foreignObject><text x="545" y="269" fill="#fff" font-family="Helvetica" font-size="12" text-anchor="middle">
Editor
</text></switch><path fill="#60a917" stroke="#2d7600" pointer-events="all" d="M590 250h70v30h-70z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:68px;height:1px;padding-top:265px;margin-left:591px"><div data-drawio-colors="color: #ffffff;" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#fff;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Statusbar</div></div></div></foreignObject><text x="625" y="269" fill="#fff" font-family="Helvetica" font-size="12" text-anchor="middle">
Statusbar
</text></switch><path fill="none" stroke="#000" stroke-dasharray="3 3" pointer-events="all" d="M400 340h280v160H400z"/><path d="M465 390v13.63" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m465 408.88-3.5-7 3.5 1.75 3.5-1.75Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path fill="none" pointer-events="all" d="M420 370h90v20h-90z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:88px;height:1px;padding-top:380px;margin-left:421px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Code Cell</div></div></div></foreignObject><text x="465" y="384" font-family="Helvetica" font-size="12" text-anchor="middle">
Code Cell
</text></switch><path d="m465 410 15 15-15 15-15-15Z" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path fill="none" pointer-events="all" d="M490 415h100v20H490z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:98px;height:1px;padding-top:425px;margin-left:491px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Render Cell Parts</div></div></div></foreignObject><text x="540" y="429" font-family="Helvetica" font-size="12" text-anchor="middle">
Render Cell Parts
</text></switch><path d="M210 580h183.63" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m398.88 580-7 3.5 1.75-3.5-1.75-3.5Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path fill="none" stroke="#000" stroke-dasharray="3 3" pointer-events="all" d="M400 540h280v160H400z"/><path d="M460 600v43.63" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m460 648.88-3.5-7 3.5 1.75 3.5-1.75Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path d="m460 560 20 20-20 20-20-20ZM460 650l20 20-20 20-20-20Z" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path fill="none" pointer-events="all" d="M480 570h110v20H480z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:108px;height:1px;padding-top:580px;margin-left:481px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">CellPart read DOM</div></div></div></foreignObject><text x="535" y="584" font-family="Helvetica" font-size="12" text-anchor="middle">
CellPart read DOM
</text></switch><path fill="none" pointer-events="all" d="M490 660h110v20H490z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:108px;height:1px;padding-top:670px;margin-left:491px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Update layout info</div></div></div></foreignObject><text x="545" y="674" font-family="Helvetica" font-size="12" text-anchor="middle">
Update layout info
</text></switch><path d="M240 670h200M240 670v-83.63" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m240 581.12 3.5 7-3.5-1.75-3.5 1.75Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path fill="#60a917" stroke="#2d7600" pointer-events="all" d="M490 440h120v32.73H490z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:118px;height:1px;padding-top:456px;margin-left:491px"><div data-drawio-colors="color: #ffffff;" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#fff;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Toolbar.renderCell</div></div></div></foreignObject><text x="550" y="460" fill="#fff" font-family="Helvetica" font-size="12" text-anchor="middle">
Toolbar.renderCell
</text></switch><path fill="#60a917" stroke="#2d7600" pointer-events="all" d="M499 450h131v35.73H499z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:129px;height:1px;padding-top:468px;margin-left:500px"><div data-drawio-colors="color: #ffffff;" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#fff;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Toolbar.renderCell</div></div></div></foreignObject><text x="565" y="471" fill="#fff" font-family="Helvetica" font-size="12" text-anchor="middle">
Toolbar.renderCell
</text></switch><path fill="#60a917" stroke="#2d7600" pointer-events="all" d="M508 460h132v36H508z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:130px;height:1px;padding-top:478px;margin-left:509px"><div data-drawio-colors="color: #ffffff;" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#fff;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Toolbar.didRenderCell</div></div></div></foreignObject><text x="574" y="482" fill="#fff" font-family="Helvetica" font-size="12" text-anchor="middle">
Toolbar.didRenderCell
</text></switch><path fill="#60a917" stroke="#2d7600" pointer-events="all" d="M490 590h110v30H490z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:108px;height:1px;padding-top:605px;margin-left:491px"><div data-drawio-colors="color: #ffffff;" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#fff;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Toolbar.renderCell</div></div></div></foreignObject><text x="545" y="609" fill="#fff" font-family="Helvetica" font-size="12" text-anchor="middle">
Toolbar.renderCell
</text></switch><path fill="#60a917" stroke="#2d7600" pointer-events="all" d="M499 600h110v30H499z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:108px;height:1px;padding-top:615px;margin-left:500px"><div data-drawio-colors="color: #ffffff;" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#fff;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Toolbar.renderCell</div></div></div></foreignObject><text x="554" y="619" fill="#fff" font-family="Helvetica" font-size="12" text-anchor="middle">
Toolbar.renderCell
</text></switch><path fill="#60a917" stroke="#2d7600" pointer-events="all" d="M508 610h110v30H508z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:108px;height:1px;padding-top:625px;margin-left:509px"><div data-drawio-colors="color: #ffffff;" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#fff;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal"><font style="font-size:11px">Toolbar.prepareLayout</font></div></div></div></foreignObject><text x="563" y="629" fill="#fff" font-family="Helvetica" font-size="12" text-anchor="middle">
Toolbar.prepareLay...
</text></switch><path d="M0 740h721.43" fill="none" stroke="#000" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path fill="none" stroke="#000" stroke-dasharray="3 3" pointer-events="all" d="M400 790h280v210H400z"/><path d="m460 690-.07 93.63" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m459.92 788.88-3.49-7 3.5 1.75 3.5-1.75Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path d="M460 850v33.63" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="stroke"/><path d="m460 888.88-3.5-7 3.5 1.75 3.5-1.75Z" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path d="m460 810 20 20-20 20-20-20Z" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path fill="none" pointer-events="all" d="M480 820h120v20H480z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:118px;height:1px;padding-top:830px;margin-left:481px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Cell Layout Change</div></div></div></foreignObject><text x="540" y="834" font-family="Helvetica" font-size="12" text-anchor="middle">
Cell Layout Change
</text></switch><path d="m460 890 20 20-20 20-20-20Z" fill="none" stroke="#000" stroke-miterlimit="10" pointer-events="all"/><path fill="none" pointer-events="all" d="M480 900h200v20H480z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:198px;height:1px;padding-top:910px;margin-left:481px"><div data-drawio-colors="color: rgb(0, 0, 0);" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#000;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Cell Part updateInternalLayoutNow</div></div></div></foreignObject><text x="580" y="914" font-family="Helvetica" font-size="12" text-anchor="middle">
Cell Part updateInternalLayoutNow
</text></switch><path fill="#60a917" stroke="#2d7600" pointer-events="all" d="M490 930h170v30H490z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:168px;height:1px;padding-top:945px;margin-left:491px"><div data-drawio-colors="color: #ffffff;" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#fff;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Toolbar.renderCell</div></div></div></foreignObject><text x="575" y="949" fill="#fff" font-family="Helvetica" font-size="12" text-anchor="middle">
Toolbar.renderCell
</text></switch><path fill="#60a917" stroke="#2d7600" pointer-events="all" d="M499 940h171v30H499z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:169px;height:1px;padding-top:955px;margin-left:500px"><div data-drawio-colors="color: #ffffff;" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#fff;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Toolbar.renderCell</div></div></div></foreignObject><text x="585" y="959" fill="#fff" font-family="Helvetica" font-size="12" text-anchor="middle">
Toolbar.renderCell
</text></switch><path fill="#60a917" stroke="#2d7600" pointer-events="all" d="M508 950h172v30H508z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:170px;height:1px;padding-top:965px;margin-left:509px"><div data-drawio-colors="color: #ffffff;" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#fff;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal"><font style="font-size:11px">Toolbar.updateInternalLayoutNow</font></div></div></div></foreignObject><text x="594" y="969" fill="#fff" font-family="Helvetica" font-size="12" text-anchor="middle">
Toolbar.updateInternalLayout...
</text></switch><path fill="none" pointer-events="all" d="M605 790h75v20h-75z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:73px;height:1px;padding-top:800px;margin-left:606px"><div data-drawio-colors="color: #00CCCC;" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#0cc;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal">Next Frame</div></div></div></foreignObject><text x="643" y="804" fill="#0CC" font-family="Helvetica" font-size="12" text-anchor="middle">
Next Frame
</text></switch><path fill="none" pointer-events="all" d="M605 540h75v20h-75z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:73px;height:1px;padding-top:550px;margin-left:606px"><div data-drawio-colors="color: #00CCCC;" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#0cc;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal"><font color="#090">DOM Read</font></div></div></div></foreignObject><text x="643" y="554" fill="#0CC" font-family="Helvetica" font-size="12" text-anchor="middle">
DOM Read
</text></switch><path fill="none" pointer-events="all" d="M605 340h75v20h-75z"/><switch transform="translate(-.5 -.5)"><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow:visible;text-align:left"><div xmlns="http://www.w3.org/1999/xhtml" style="display:flex;align-items:unsafe center;justify-content:unsafe center;width:73px;height:1px;padding-top:350px;margin-left:606px"><div data-drawio-colors="color: #00CCCC;" style="box-sizing:border-box;font-size:0;text-align:center"><div style="display:inline-block;font-size:12px;font-family:Helvetica;color:#0cc;line-height:1.2;pointer-events:all;white-space:normal;overflow-wrap:normal"><font color="red">DOM Write</font></div></div></div></foreignObject><text x="643" y="354" fill="#0CC" font-family="Helvetica" font-size="12" text-anchor="middle">
DOM Write
</text></switch><switch><a transform="translate(0 -5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10" x="50%" y="100%">
Viewer does not support full SVG 1.1
</text></a></switch></svg>

After

Width:  |  Height:  |  Size: 29 KiB

File diff suppressed because one or more lines are too long
@@ -0,0 +1,246 @@
# ---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# ---------------------------------------------------------------------------------------------
# Prevent the script recursing when setting up
if [[ -n "$VSCODE_SHELL_INTEGRATION" ]]; then
builtin return
fi
VSCODE_SHELL_INTEGRATION=1
# Run relevant rc/profile only if shell integration has been injected, not when run manually
if [ "$VSCODE_INJECTION" == "1" ]; then
if [ -z "$VSCODE_SHELL_LOGIN" ]; then
. ~/.bashrc
else
# Imitate -l because --init-file doesn't support it:
# run the first of these files that exists
if [ -f /etc/profile ]; then
. /etc/profile
fi
# exceute the first that exists
if [ -f ~/.bash_profile ]; then
. ~/.bash_profile
elif [ -f ~/.bash_login ]; then
. ~/.bash_login
elif [ -f ~/.profile ]; then
. ~/.profile
fi
builtin unset VSCODE_SHELL_LOGIN
fi
builtin unset VSCODE_INJECTION
fi
if [ -z "$VSCODE_SHELL_INTEGRATION" ]; then
builtin return
fi
# The property (P) and command (E) codes embed values which require escaping.
# Backslashes are doubled. Non-alphanumeric characters are converted to escaped hex.
__vsc_escape_value() {
# Process text byte by byte, not by codepoint.
builtin local LC_ALL=C str="${1}" i byte token out=''
for (( i=0; i < "${#str}"; ++i )); do
byte="${str:$i:1}"
# Backslashes must be doubled.
if [ "$byte" = "\\" ]; then
token="\\\\"
# Conservatively pass alphanumerics through.
elif [[ "$byte" == [0-9A-Za-z] ]]; then
token="$byte"
# Hex-encode anything else.
# (Importantly including: semicolon, newline, and control chars).
else
# The printf '0x%02X' "'$byte'" converts the character to a hex integer.
# See printf's specification:
# > If the leading character is a single-quote or double-quote, the value shall be the numeric value in the
# > underlying codeset of the character following the single-quote or double-quote.
# However, the result is a sign-extended int, so a high bit like 0xD7 becomes 0xFFF…FD7
# We mask that word with 0xFF to get lowest 8 bits, and then encode that byte as "\xD7" per our escaping scheme.
builtin printf -v token '\\x%02X' "$(( $(builtin printf '0x%X' "'$byte'") & 0xFF ))"
# |________| ^^^ ^^^ ^^^^^^ ^^^^^^^ |______|
# | | | | | |
# store in `token` -+ | | the hex value -----------+ | |
# the '\x…'-prefixed -----+ | of the byte as an integer --------+ |
# 0-padded, two hex digits --+ masked to one byte (due to sign extension) -+
fi
out+="$token"
done
builtin printf '%s\n' "${out}"
}
# Send the IsWindows property if the environment looks like Windows
if [[ "$(uname -s)" =~ ^CYGWIN*|MINGW*|MSYS* ]]; then
builtin printf '\e]633;P;IsWindows=True\a'
fi
# Allow verifying $BASH_COMMAND doesn't have aliases resolved via history when the right HISTCONTROL
# configuration is used
if [[ "$HISTCONTROL" =~ .*(erasedups|ignoreboth|ignoredups).* ]]; then
__vsc_history_verify=0
else
__vsc_history_verify=1
fi
__vsc_initialized=0
__vsc_original_PS1="$PS1"
__vsc_original_PS2="$PS2"
__vsc_custom_PS1=""
__vsc_custom_PS2=""
__vsc_in_command_execution="1"
__vsc_current_command=""
__vsc_prompt_start() {
builtin printf '\e]633;A\a'
}
__vsc_prompt_end() {
builtin printf '\e]633;B\a'
}
__vsc_update_cwd() {
builtin printf '\e]633;P;Cwd=%s\a' "$(__vsc_escape_value "$PWD")"
}
__vsc_command_output_start() {
builtin printf '\e]633;C\a'
builtin printf '\e]633;E;%s\a' "$(__vsc_escape_value "${__vsc_current_command}")"
}
__vsc_continuation_start() {
builtin printf '\e]633;F\a'
}
__vsc_continuation_end() {
builtin printf '\e]633;G\a'
}
__vsc_command_complete() {
if [ "$__vsc_current_command" = "" ]; then
builtin printf '\e]633;D\a'
else
builtin printf '\e]633;D;%s\a' "$__vsc_status"
fi
__vsc_update_cwd
}
__vsc_update_prompt() {
# in command execution
if [ "$__vsc_in_command_execution" = "1" ]; then
# Wrap the prompt if it is not yet wrapped, if the PS1 changed this this was last set it
# means the user re-exported the PS1 so we should re-wrap it
if [[ "$__vsc_custom_PS1" == "" || "$__vsc_custom_PS1" != "$PS1" ]]; then
__vsc_original_PS1=$PS1
__vsc_custom_PS1="\[$(__vsc_prompt_start)\]$__vsc_original_PS1\[$(__vsc_prompt_end)\]"
PS1="$__vsc_custom_PS1"
fi
if [[ "$__vsc_custom_PS2" == "" || "$__vsc_custom_PS2" != "$PS2" ]]; then
__vsc_original_PS2=$PS2
__vsc_custom_PS2="\[$(__vsc_continuation_start)\]$__vsc_original_PS2\[$(__vsc_continuation_end)\]"
PS2="$__vsc_custom_PS2"
fi
__vsc_in_command_execution="0"
fi
}
__vsc_precmd() {
__vsc_command_complete "$__vsc_status"
__vsc_current_command=""
__vsc_update_prompt
}
__vsc_preexec() {
__vsc_initialized=1
if [[ ! "$BASH_COMMAND" =~ ^__vsc_prompt* ]]; then
# Use history if it's available to verify the command as BASH_COMMAND comes in with aliases
# resolved
if [ "$__vsc_history_verify" = "1" ]; then
__vsc_current_command="$(builtin history 1 | sed 's/ *[0-9]* *//')"
else
__vsc_current_command=$BASH_COMMAND
fi
else
__vsc_current_command=""
fi
__vsc_command_output_start
}
# Debug trapping/preexec inspired by starship (ISC)
if [[ -n "${bash_preexec_imported:-}" ]]; then
__vsc_preexec_only() {
if [ "$__vsc_in_command_execution" = "0" ]; then
__vsc_in_command_execution="1"
__vsc_preexec
fi
}
precmd_functions+=(__vsc_prompt_cmd)
preexec_functions+=(__vsc_preexec_only)
else
__vsc_dbg_trap="$(trap -p DEBUG)"
if [[ "$__vsc_dbg_trap" =~ .*\[\[.* ]]; then
#HACK - is there a better way to do this?
__vsc_dbg_trap=${__vsc_dbg_trap#'trap -- '*}
__vsc_dbg_trap=${__vsc_dbg_trap%' DEBUG'}
__vsc_dbg_trap=${__vsc_dbg_trap#"'"*}
__vsc_dbg_trap=${__vsc_dbg_trap%"'"}
else
__vsc_dbg_trap="$(trap -p DEBUG | cut -d' ' -f3 | tr -d \')"
fi
if [[ -z "$__vsc_dbg_trap" ]]; then
__vsc_preexec_only() {
if [ "$__vsc_in_command_execution" = "0" ]; then
__vsc_in_command_execution="1"
__vsc_preexec
fi
}
trap '__vsc_preexec_only "$_"' DEBUG
elif [[ "$__vsc_dbg_trap" != '__vsc_preexec "$_"' && "$__vsc_dbg_trap" != '__vsc_preexec_all "$_"' ]]; then
__vsc_preexec_all() {
if [ "$__vsc_in_command_execution" = "0" ]; then
__vsc_in_command_execution="1"
builtin eval ${__vsc_dbg_trap}
__vsc_preexec
fi
}
trap '__vsc_preexec_all "$_"' DEBUG
fi
fi
__vsc_update_prompt
__vsc_restore_exit_code() {
return "$1"
}
__vsc_prompt_cmd_original() {
__vsc_status="$?"
__vsc_restore_exit_code "${__vsc_status}"
# Evaluate the original PROMPT_COMMAND similarly to how bash would normally
# See https://unix.stackexchange.com/a/672843 for technique
for cmd in "${__vsc_original_prompt_command[@]}"; do
eval "${cmd:-}"
done
__vsc_precmd
}
__vsc_prompt_cmd() {
__vsc_status="$?"
__vsc_precmd
}
# PROMPT_COMMAND arrays and strings seem to be handled the same (handling only the first entry of
# the array?)
__vsc_original_prompt_command=$PROMPT_COMMAND
if [[ -z "${bash_preexec_imported:-}" ]]; then
if [[ -n "$__vsc_original_prompt_command" && "$__vsc_original_prompt_command" != "__vsc_prompt_cmd" ]]; then
PROMPT_COMMAND=__vsc_prompt_cmd_original
else
PROMPT_COMMAND=__vsc_prompt_cmd
fi
fi
@@ -0,0 +1,16 @@
# ---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# ---------------------------------------------------------------------------------------------
if [[ -f $USER_ZDOTDIR/.zshenv ]]; then
VSCODE_ZDOTDIR=$ZDOTDIR
ZDOTDIR=$USER_ZDOTDIR
# prevent recursion
if [[ $USER_ZDOTDIR != $VSCODE_ZDOTDIR ]]; then
. $USER_ZDOTDIR/.zshenv
fi
USER_ZDOTDIR=$ZDOTDIR
ZDOTDIR=$VSCODE_ZDOTDIR
fi
@@ -0,0 +1,9 @@
# ---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# ---------------------------------------------------------------------------------------------
ZDOTDIR=$USER_ZDOTDIR
if [[ $options[norcs] = off && -o "login" && -f $ZDOTDIR/.zlogin ]]; then
. $ZDOTDIR/.zlogin
fi
@@ -0,0 +1,10 @@
# ---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# ---------------------------------------------------------------------------------------------
if [[ $options[norcs] = off && -o "login" && -f $USER_ZDOTDIR/.zprofile ]]; then
VSCODE_ZDOTDIR=$ZDOTDIR
ZDOTDIR=$USER_ZDOTDIR
. $USER_ZDOTDIR/.zprofile
ZDOTDIR=$VSCODE_ZDOTDIR
fi
@@ -0,0 +1,165 @@
# ---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# ---------------------------------------------------------------------------------------------
builtin autoload -Uz add-zsh-hook
# Prevent the script recursing when setting up
if [ -n "$VSCODE_SHELL_INTEGRATION" ]; then
ZDOTDIR=$USER_ZDOTDIR
builtin return
fi
# This variable allows the shell to both detect that VS Code's shell integration is enabled as well
# as disable it by unsetting the variable.
VSCODE_SHELL_INTEGRATION=1
# Only fix up ZDOTDIR if shell integration was injected (not manually installed) and has not been called yet
if [[ "$VSCODE_INJECTION" == "1" ]]; then
if [[ $options[norcs] = off && -f $USER_ZDOTDIR/.zshrc ]]; then
VSCODE_ZDOTDIR=$ZDOTDIR
ZDOTDIR=$USER_ZDOTDIR
. $USER_ZDOTDIR/.zshrc
ZDOTDIR=$VSCODE_ZDOTDIR
fi
if [[ -f $USER_ZDOTDIR/.zsh_history && -z $HISTFILE ]]; then
HISTFILE=$USER_ZDOTDIR/.zsh_history
fi
fi
# Shell integration was disabled by the shell, exit without warning assuming either the shell has
# explicitly disabled shell integration as it's incompatible or it implements the protocol.
if [ -z "$VSCODE_SHELL_INTEGRATION" ]; then
builtin return
fi
# The property (P) and command (E) codes embed values which require escaping.
# Backslashes are doubled. Non-alphanumeric characters are converted to escaped hex.
__vsc_escape_value() {
builtin emulate -L zsh
# Process text byte by byte, not by codepoint.
builtin local LC_ALL=C str="$1" i byte token out=''
for (( i = 0; i < ${#str}; ++i )); do
byte="${str:$i:1}"
# Backslashes must be doubled.
if [ "$byte" = "\\" ]; then
token="\\\\"
# Conservatively pass alphanumerics through.
elif [[ "$byte" == [0-9A-Za-z] ]]; then
token="$byte"
# Hex-encode anything else.
# (Importantly including: semicolon, newline, and control chars).
else
token="\\x${(l:2::0:)$(( [##16] #byte ))}"
# | | | |/|/ |_____|
# | | | | | |
# left-pad --+ | | | | +- the byte value of the character
# two digits --+ | | +------- in hexadecimal
# with '0' -------+ +--------- with no prefix
fi
out+="$token"
done
builtin print -r "$out"
}
__vsc_in_command_execution="1"
__vsc_current_command=""
__vsc_prompt_start() {
builtin printf '\e]633;A\a'
}
__vsc_prompt_end() {
builtin printf '\e]633;B\a'
}
__vsc_update_cwd() {
builtin printf '\e]633;P;Cwd=%s\a' "$(__vsc_escape_value "${PWD}")"
}
__vsc_command_output_start() {
builtin printf '\e]633;C\a'
builtin printf '\e]633;E;%s\a' "$(__vsc_escape_value "${__vsc_current_command}")"
}
__vsc_continuation_start() {
builtin printf '\e]633;F\a'
}
__vsc_continuation_end() {
builtin printf '\e]633;G\a'
}
__vsc_right_prompt_start() {
builtin printf '\e]633;H\a'
}
__vsc_right_prompt_end() {
builtin printf '\e]633;I\a'
}
__vsc_command_complete() {
if [[ "$__vsc_current_command" == "" ]]; then
builtin printf '\e]633;D\a'
else
builtin printf '\e]633;D;%s\a' "$__vsc_status"
fi
__vsc_update_cwd
}
if [[ -o NOUNSET ]]; then
if [ -z "${RPROMPT-}" ]; then
RPROMPT=""
fi
fi
__vsc_update_prompt() {
__vsc_prior_prompt="$PS1"
__vsc_prior_prompt2="$PS2"
__vsc_in_command_execution=""
PS1="%{$(__vsc_prompt_start)%}$PS1%{$(__vsc_prompt_end)%}"
PS2="%{$(__vsc_continuation_start)%}$PS2%{$(__vsc_continuation_end)%}"
if [ -n "$RPROMPT" ]; then
__vsc_prior_rprompt="$RPROMPT"
RPROMPT="%{$(__vsc_right_prompt_start)%}$RPROMPT%{$(__vsc_right_prompt_end)%}"
fi
}
__vsc_precmd() {
local __vsc_status="$?"
if [ -z "${__vsc_in_command_execution-}" ]; then
# not in command execution
__vsc_command_output_start
fi
__vsc_command_complete "$__vsc_status"
__vsc_current_command=""
# in command execution
if [ -n "$__vsc_in_command_execution" ]; then
# non null
__vsc_update_prompt
fi
}
__vsc_preexec() {
PS1="$__vsc_prior_prompt"
PS2="$__vsc_prior_prompt2"
if [ -n "$RPROMPT" ]; then
RPROMPT="$__vsc_prior_rprompt"
fi
__vsc_in_command_execution="1"
__vsc_current_command=$1
__vsc_command_output_start
}
add-zsh-hook precmd __vsc_precmd
add-zsh-hook preexec __vsc_preexec
if [[ $options[login] = off && $USER_ZDOTDIR != $VSCODE_ZDOTDIR ]]; then
ZDOTDIR=$USER_ZDOTDIR
fi
@@ -0,0 +1,130 @@
# ---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# ---------------------------------------------------------------------------------------------
#
# Visual Studio Code terminal integration for fish
#
# Manual installation:
#
# (1) Add the following to the end of `$__fish_config_dir/config.fish`:
#
# string match -q "$TERM_PROGRAM" "vscode"
# and . (code --locate-shell-integration-path fish)
#
# (2) Restart fish.
# Don't run in scripts, other terminals, or more than once per session.
status is-interactive
and string match --quiet "$TERM_PROGRAM" "vscode"
and ! set --query VSCODE_SHELL_INTEGRATION
or exit
set --global VSCODE_SHELL_INTEGRATION 1
# Helper function
function __vsc_esc -d "Emit escape sequences for VS Code shell integration"
builtin printf "\e]633;%s\a" (string join ";" $argv)
end
# Sent right before executing an interactive command.
# Marks the beginning of command output.
function __vsc_cmd_executed --on-event fish_preexec
__vsc_esc C
__vsc_esc E (__vsc_escape_value "$argv")
# Creates a marker to indicate a command was run.
set --global _vsc_has_cmd
end
# Escape a value for use in the 'P' ("Property") or 'E' ("Command Line") sequences.
# Backslashes are doubled and non-alphanumeric characters are hex encoded.
function __vsc_escape_value
# Replace all non-alnum characters with %XX hex form.
string escape --style=url "$argv" \
# The characters [-./_~] are not encoded in the builtin url escaping, despite not being alphanumeric.
# See: https://github.com/fish-shell/fish-shell/blob/f82537bcdcb32f85a530395f00e7be1aa9afc592/src/common.cpp#L738
# For consistency, also encode those characters.
| string replace --all '-' '%2D' \
| string replace --all '.' '%2E' \
| string replace --all '/' '%2F' \
| string replace --all '_' '%5F' \
| string replace --all '~' '%7E' \
# Now everything is either alphanumeric [0-9A-Za-z] or %XX escapes.
# Change the hex escape representation from '%' to '\x'. (e.g. ' ' → '%20' → '\x20').
# Note that all '%' characters are escapes: literal '%' will already have been encoded.
| string replace --all '%' '\\x' \
# For readability, prefer to represent literal backslashes with doubling. ('\' → '%5C' → '\x5C' → '\\').
| string replace --all --ignore-case '%5C' '\\\\' \
;
end
# Sent right after an interactive command has finished executing.
# Marks the end of command output.
function __vsc_cmd_finished --on-event fish_postexec
__vsc_esc D $status
end
# Sent when a command line is cleared or reset, but no command was run.
# Marks the cleared line with neither success nor failure.
function __vsc_cmd_clear --on-event fish_cancel
__vsc_esc D
end
# Sent whenever a new fish prompt is about to be displayed.
# Updates the current working directory.
function __vsc_update_cwd --on-event fish_prompt
__vsc_esc P "Cwd=$(__vsc_escape_value "$PWD")"
# If a command marker exists, remove it.
# Otherwise, the commandline is empty and no command was run.
if set --query _vsc_has_cmd
set --erase _vsc_has_cmd
else
__vsc_cmd_clear
end
end
# Sent at the start of the prompt.
# Marks the beginning of the prompt (and, implicitly, a new line).
function __vsc_fish_prompt_start
__vsc_esc A
end
# Sent at the end of the prompt.
# Marks the beginning of the user's command input.
function __vsc_fish_cmd_start
__vsc_esc B
end
function __vsc_fish_has_mode_prompt -d "Returns true if fish_mode_prompt is defined and not empty"
functions fish_mode_prompt | string match -rvq '^ *(#|function |end$|$)'
end
# Preserve the user's existing prompt, to wrap in our escape sequences.
functions --copy fish_prompt __vsc_fish_prompt
# Preserve and wrap fish_mode_prompt (which appears to the left of the regular
# prompt), but only if it's not defined as an empty function (which is the
# officially documented way to disable that feature).
if __vsc_fish_has_mode_prompt
functions --copy fish_mode_prompt __vsc_fish_mode_prompt
function fish_mode_prompt
__vsc_fish_prompt_start
__vsc_fish_mode_prompt
end
function fish_prompt
__vsc_fish_prompt
__vsc_fish_cmd_start
end
else
# No fish_mode_prompt, so put everything in fish_prompt.
function fish_prompt
__vsc_fish_prompt_start
__vsc_fish_prompt
__vsc_fish_cmd_start
end
end
@@ -0,0 +1,114 @@
# ---------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# ---------------------------------------------------------------------------------------------
# Prevent installing more than once per session
if (Test-Path variable:global:__VSCodeOriginalPrompt) {
return;
}
# Disable shell integration when the language mode is restricted
if ($ExecutionContext.SessionState.LanguageMode -ne "FullLanguage") {
return;
}
$Global:__VSCodeOriginalPrompt = $function:Prompt
$Global:__LastHistoryId = -1
function Global:__VSCode-Escape-Value([string]$value) {
# NOTE: In PowerShell v6.1+, this can be written `$value -replace '…', { … }` instead of `[regex]::Replace`.
# Replace any non-alphanumeric characters.
[regex]::Replace($value, '[^a-zA-Z0-9]', { param($match)
# Backslashes must be doubled.
if ($match.Value -eq '\') {
'\\'
} else {
# Any other characters are encoded as their UTF-8 hex values.
-Join (
[System.Text.Encoding]::UTF8.GetBytes($match.Value)
| ForEach-Object { '\x{0:x2}' -f $_ }
)
}
})
}
function Global:Prompt() {
$FakeCode = [int]!$global:?
$LastHistoryEntry = Get-History -Count 1
# Skip finishing the command if the first command has not yet started
if ($Global:__LastHistoryId -ne -1) {
if ($LastHistoryEntry.Id -eq $Global:__LastHistoryId) {
# Don't provide a command line or exit code if there was no history entry (eg. ctrl+c, enter on no command)
$Result = "$([char]0x1b)]633;E`a"
$Result += "$([char]0x1b)]633;D`a"
} else {
# Command finished command line
# OSC 633 ; A ; <CommandLine?> ST
$Result = "$([char]0x1b)]633;E;"
# Sanitize the command line to ensure it can get transferred to the terminal and can be parsed
# correctly. This isn't entirely safe but good for most cases, it's important for the Pt parameter
# to only be composed of _printable_ characters as per the spec.
if ($LastHistoryEntry.CommandLine) {
$CommandLine = $LastHistoryEntry.CommandLine
} else {
$CommandLine = ""
}
$Result += $(__VSCode-Escape-Value $CommandLine)
$Result += "`a"
# Command finished exit code
# OSC 633 ; D [; <ExitCode>] ST
$Result += "$([char]0x1b)]633;D;$FakeCode`a"
}
}
# Prompt started
# OSC 633 ; A ST
$Result += "$([char]0x1b)]633;A`a"
# Current working directory
# OSC 633 ; <Property>=<Value> ST
$Result += if($pwd.Provider.Name -eq 'FileSystem'){"$([char]0x1b)]633;P;Cwd=$(__VSCode-Escape-Value $pwd.ProviderPath)`a"}
# Before running the original prompt, put $? back to what it was:
if ($FakeCode -ne 0) {
Write-Error "failure" -ea ignore
}
# Run the original prompt
$Result += $Global:__VSCodeOriginalPrompt.Invoke()
# Write command started
$Result += "$([char]0x1b)]633;B`a"
$Global:__LastHistoryId = $LastHistoryEntry.Id
return $Result
}
# Only send the command executed sequence when PSReadLine is loaded, if not shell integration should
# still work thanks to the command line sequence
if (Get-Module -Name PSReadLine) {
$__VSCodeOriginalPSConsoleHostReadLine = $function:PSConsoleHostReadLine
function Global:PSConsoleHostReadLine {
$tmp = $__VSCodeOriginalPSConsoleHostReadLine.Invoke()
# Write command executed sequence directly to Console to avoid the new line from Write-Host
[Console]::Write("$([char]0x1b)]633;C`a")
$tmp
}
}
# Set IsWindows property
[Console]::Write("$([char]0x1b)]633;P;IsWindows=$($IsWindows)`a")
# Set always on key handlers which map to default VS Code keybindings
function Set-MappedKeyHandler {
param ([string[]] $Chord, [string[]]$Sequence)
$Handler = $(Get-PSReadLineKeyHandler -Chord $Chord | Select-Object -First 1)
if ($Handler) {
Set-PSReadLineKeyHandler -Chord $Sequence -Function $Handler.Function
}
}
function Set-MappedKeyHandlers {
Set-MappedKeyHandler -Chord Ctrl+Spacebar -Sequence 'F12,a'
Set-MappedKeyHandler -Chord Alt+Spacebar -Sequence 'F12,b'
Set-MappedKeyHandler -Chord Shift+Enter -Sequence 'F12,c'
Set-MappedKeyHandler -Chord Shift+End -Sequence 'F12,d'
}
Set-MappedKeyHandlers
@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Fake</title>
</head>
<body>
</body>
</html>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 41 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 154 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 422 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 60 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 46 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 17 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 39 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 29 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 30 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 64 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 17 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 37 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,122 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Security-Policy" content="
default-src 'none';
child-src 'self' data: blob:;
script-src 'self' 'unsafe-eval' 'sha256-/r7rqQ+yrxt57sxLuQ6AMYcy/lUpvAIzHjIJt/OeLWU=' https:;
connect-src 'self' https: wss: http://localhost:* http://127.0.0.1:* ws://localhost:* ws://127.0.0.1:*;"/>
</head>
<body>
<script>
(function() {
const searchParams = new URL(document.location.href).searchParams;
const vscodeWebWorkerExtHostId = searchParams.get('vscodeWebWorkerExtHostId') || '';
const name = searchParams.get('debugged') ? 'DebugWorkerExtensionHost' : 'WorkerExtensionHost';
const parentOrigin = searchParams.get('parentOrigin') || window.origin;
const salt = searchParams.get('salt');
(async function() {
const hostnameValidationMarker = 'v--';
const hostname = location.hostname;
if (!hostname.startsWith(hostnameValidationMarker)) {
// validation not requested
return start();
}
if (!crypto.subtle) {
// cannot validate, not running in a secure context
return sendError(new Error(`Cannot validate in current context!`));
}
// Here the `parentOriginHash()` function from `src/vs/workbench/common/webview.ts` is inlined
// compute a sha-256 composed of `parentOrigin` and `salt` converted to base 32
let parentOriginHash;
try {
const strData = JSON.stringify({ parentOrigin, salt });
const encoder = new TextEncoder();
const arrData = encoder.encode(strData);
const hash = await crypto.subtle.digest('sha-256', arrData);
const hashArray = Array.from(new Uint8Array(hash));
const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
// sha256 has 256 bits, so we need at most ceil(lg(2^256-1)/lg(32)) = 52 chars to represent it in base 32
parentOriginHash = BigInt(`0x${hashHex}`).toString(32).padStart(52, '0');
} catch(err) {
return sendError(err instanceof Error ? err : new Error(String(err)));
}
const requiredSubdomain = `${hostnameValidationMarker}${parentOriginHash}.`;
if (hostname.substring(0, requiredSubdomain.length) === requiredSubdomain) {
// validation succeeded!
return start();
}
return sendError(new Error(`Expected '${requiredSubdomain}' as subdomain!`));
})();
function sendError(error) {
window.parent.postMessage({
vscodeWebWorkerExtHostId,
error: {
name: error ? error.name : '',
message: error ? error.message : '',
stack: error ? error.stack : []
}
}, '*');
}
function start() {
try {
let workerUrl = '../../../../base/worker/workerMain.js';
if(globalThis.crossOriginIsolated) {
workerUrl += '?vscode-coi=2'; // COEP
}
const worker = new Worker(workerUrl, { name });
worker.postMessage('vs/workbench/api/worker/extensionHostWorker');
const nestedWorkers = new Map();
worker.onmessage = (event) => {
const { data } = event;
if (data?.type === '_newWorker') {
const { id, port, url, options } = data;
const newWorker = new Worker(url, options);
newWorker.postMessage(port, [port]);
worker.onerror = console.error.bind(console);
nestedWorkers.set(id, newWorker);
} else if (data?.type === '_terminateWorker') {
const { id } = data;
if(nestedWorkers.has(id)) {
nestedWorkers.get(id).terminate();
nestedWorkers.delete(id);
}
} else {
worker.onerror = console.error.bind(console);
window.parent.postMessage({
vscodeWebWorkerExtHostId,
data
}, parentOrigin, [data]);
}
};
worker.onerror = (event) => {
console.error(event.message, event.error);
sendError(event.error);
};
self.onmessage = (event) => {
if (event.origin !== parentOrigin) {
return;
}
worker.postMessage(event.data, event.ports);
}
} catch(err) {
console.error(err);
sendError(err);
}
}
})();
</script>
</body>
</html>
@@ -0,0 +1,5 @@
/*!--------------------------------------------------------
* Copyright (C) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------*/(function(){var g=["vs/workbench/services/languageDetection/browser/languageDetectionSimpleWorker","require","exports","vs/base/common/stopwatch","vs/editor/common/services/editorSimpleWorker"],p=function(f){for(var u=[],h=0,l=f.length;h<l;h++)u[h]=g[f[h]];return u};define(g[0],p([1,2,3,4]),function(f,u,h,l){"use strict";Object.defineProperty(u,"__esModule",{value:!0}),u.LanguageDetectionSimpleWorker=u.create=void 0;function v(b){return new c(b,null)}u.create=v;class c extends l.EditorSimpleWorker{constructor(){super(...arguments),this.u=!1,this.w=!1,this.x=new Map}async detectLanguage(s,n,e,r){const i=[],t=[],d=new h.StopWatch(!0),w=this.y(s);if(!w)return;const y=async()=>{for await(const a of this.D(w)){this.x.has(a.languageId)||this.x.set(a.languageId,await this.c.fhr("getLanguageId",[a.languageId]));const o=this.x.get(a.languageId);o&&(!r?.length||r.includes(o))&&(i.push(o),t.push(a.confidence))}if(d.stop(),i.length)return this.c.fhr("sendTelemetryEvent",[i,t,d.elapsed()]),i[0]},m=async()=>this.A(w,n??{},r);if(e){const a=await m();if(a)return a;const o=await y();if(o)return o}else{const a=await y();if(a)return a;const o=await m();if(o)return o}}y(s){const n=this.h(s);if(!n)return;const e=n.positionAt(1e4);return n.getValueInRange({startColumn:1,startLineNumber:1,endColumn:e.column,endLineNumber:e.lineNumber})}async z(){if(this.u)return;if(this.t)return this.t;const s=await this.c.fhr("getRegexpModelUri",[]);try{return this.t=await new Promise((n,e)=>{f([s],n,e)}),this.t}catch{this.u=!0;return}}async A(s,n,e){const r=await this.z();if(!r)return;if(e?.length)for(const t of Object.keys(n))e.includes(t)?n[t]=1:n[t]=0;return r.detect(s,n,e)}async B(){if(this.v)return this.v;const s=await this.c.fhr("getIndexJsUri",[]),{ModelOperations:n}=await new Promise((e,r)=>{f([s],e,r)});return this.v=new n({modelJsonLoaderFunc:async()=>{const e=await fetch(await this.c.fhr("getModelJsonUri",[]));try{return await e.json()}catch{const i="Failed to parse model JSON.";throw new Error(i)}},weightsLoaderFunc:async()=>await(await fetch(await this.c.fhr("getWeightsUri",[]))).arrayBuffer()}),this.v}C(s){switch(s.languageId){case"js":case"html":case"json":case"ts":case"css":case"py":case"xml":case"php":s.confidence+=c.q;break;case"cpp":case"sh":case"java":case"cs":case"c":s.confidence+=c.r;break;case"bat":case"ini":case"makefile":case"sql":case"csv":case"toml":s.confidence-=c.s;break;default:break}return s}async*D(s){if(this.w)return;let n;try{n=await this.B()}catch(t){console.log(t),this.w=!0;return}let e;try{e=await n.runModel(s)}catch(t){console.warn(t)}if(!e||e.length===0||e[0].confidence<c.p)return;const r=this.C(e[0]);if(r.confidence<c.p)return;const i=[r];for(let t of e){if(t===r)continue;if(t=this.C(t),i[i.length-1].confidence-t.confidence>=c.p){for(;i.length;)yield i.shift();if(t.confidence>c.p){i.push(t);continue}return}else{if(t.confidence>c.p){i.push(t);continue}return}}}}u.LanguageDetectionSimpleWorker=c,c.p=.2,c.q=.05,c.r=.025,c.s=.5})}).call(this);
//# sourceMappingURL=https://ticino.blob.core.windows.net/sourcemaps/5235c6bb189b60b01b1f49062f4ffa42384f8c91/core/vs/workbench/services/languageDetection/browser/languageDetectionSimpleWorker.js.map
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long