docker-client-mx 1.42.0 → 1.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/dist/docker-desktop-mx/browser/{chunk-C22Z7vgK.js → chunk-5u_BJ6JX.js} +1 -1
  2. package/dist/docker-desktop-mx/browser/chunk-6988XP3w.js +1 -0
  3. package/dist/docker-desktop-mx/browser/{chunk-CMrtklQ1.js → chunk-7mU3uVaN.js} +2 -2
  4. package/dist/docker-desktop-mx/browser/{chunk-Ba_z6LGV.js → chunk-B23Afk52.js} +1 -1
  5. package/dist/docker-desktop-mx/browser/{chunk-Bx2_SrZM.js → chunk-B7xGbGa9.js} +1 -1
  6. package/dist/docker-desktop-mx/browser/{chunk-Zom3ankA.js → chunk-B8Uu84pE.js} +1 -1
  7. package/dist/docker-desktop-mx/browser/chunk-BCYusaqm.js +1 -0
  8. package/dist/docker-desktop-mx/browser/chunk-BEtYD0_3.js +1 -0
  9. package/dist/docker-desktop-mx/browser/chunk-BG-O4Nb_.js +1 -0
  10. package/dist/docker-desktop-mx/browser/{chunk-Cbit44lz.js → chunk-BJsftgmt.js} +1 -1
  11. package/dist/docker-desktop-mx/browser/chunk-Bho6QLGs.js +1 -0
  12. package/dist/docker-desktop-mx/browser/{chunk-Ckq_aT3A.js → chunk-C1Nu6ZjD.js} +1 -1
  13. package/dist/docker-desktop-mx/browser/chunk-C3hTwhog.js +4 -0
  14. package/dist/docker-desktop-mx/browser/chunk-C52HI2A-.js +1 -0
  15. package/dist/docker-desktop-mx/browser/chunk-CGKsmblG.js +6 -0
  16. package/dist/docker-desktop-mx/browser/{chunk-DsuW5Ksa2.js → chunk-CMi-ZnXy.js} +1 -1
  17. package/dist/docker-desktop-mx/browser/{chunk-ep62jwHG.js → chunk-CYFxPPxo2.js} +1 -1
  18. package/dist/docker-desktop-mx/browser/chunk-Cl4e4J9q.js +1 -0
  19. package/dist/docker-desktop-mx/browser/{chunk-D0xC_xVf.js → chunk-Cr28jI1A.js} +1 -1
  20. package/dist/docker-desktop-mx/browser/{chunk-DvoPI4MU.js → chunk-CzkAHty9.js} +1 -1
  21. package/dist/docker-desktop-mx/browser/{chunk-CI9I9Npi.js → chunk-D1tQa5OM.js} +2 -2
  22. package/dist/docker-desktop-mx/browser/chunk-D3PaEk7L.js +1 -0
  23. package/dist/docker-desktop-mx/browser/chunk-DApzx4cc2.js +1 -0
  24. package/dist/docker-desktop-mx/browser/chunk-DNiq9JXI.js +1 -0
  25. package/dist/docker-desktop-mx/browser/{chunk-CSrKHPxR.js → chunk-DSfTqCF0.js} +1 -1
  26. package/dist/docker-desktop-mx/browser/{chunk-KUYJNmP22.js → chunk-DeEfJWMH2.js} +1 -1
  27. package/dist/docker-desktop-mx/browser/chunk-DeROY6LN.js +1 -0
  28. package/dist/docker-desktop-mx/browser/{chunk-D-7d5O7f.js → chunk-DffEUxgS.js} +1 -1
  29. package/dist/docker-desktop-mx/browser/chunk-Di7dDUYN2.js +6 -0
  30. package/dist/docker-desktop-mx/browser/{chunk-CRNeTD5E.js → chunk-DiB8MPYS.js} +1 -1
  31. package/dist/docker-desktop-mx/browser/{chunk-3VyqMz_T.js → chunk-Dp9UsDfH.js} +16 -16
  32. package/dist/docker-desktop-mx/browser/chunk-DtM-X5Eh.js +1 -0
  33. package/dist/docker-desktop-mx/browser/{chunk-DZjRtM2K.js → chunk-DtY6mcWb.js} +1 -1
  34. package/dist/docker-desktop-mx/browser/{chunk-DLeqF0uQ.js → chunk-DtbAIphi.js} +1 -1
  35. package/dist/docker-desktop-mx/browser/{chunk-wa_VZZFY.js → chunk-DvJZmDzM2.js} +1 -1
  36. package/dist/docker-desktop-mx/browser/chunk-Dy3d-reD.js +1 -0
  37. package/dist/docker-desktop-mx/browser/{chunk-C6u6rXYb2.js → chunk-DzyPSjiy2.js} +1 -1
  38. package/dist/docker-desktop-mx/browser/{chunk-V7ftX_10.js → chunk-MyEYCSP-.js} +1 -1
  39. package/dist/docker-desktop-mx/browser/{chunk-Zcfhi-RM.js → chunk-bSfpBwIa.js} +1 -1
  40. package/dist/docker-desktop-mx/browser/chunk-e16wEMMK.js +1 -0
  41. package/dist/docker-desktop-mx/browser/{chunk-CWusqRG0.js → chunk-eoU2TjRt.js} +1 -1
  42. package/dist/docker-desktop-mx/browser/chunk-xPy8hpGV.js +1 -0
  43. package/dist/docker-desktop-mx/browser/index.html +2 -2
  44. package/dist/docker-desktop-mx/browser/main-WTPCDZAO.js +1 -0
  45. package/dist/docker-desktop-mx/browser/styles-2WH7TMRX.css +1 -0
  46. package/dist-electron/channels.js +13 -0
  47. package/dist-electron/channels.js.map +1 -1
  48. package/dist-electron/compose-known.js +135 -0
  49. package/dist-electron/compose-known.js.map +1 -0
  50. package/dist-electron/compose.js +4 -1
  51. package/dist-electron/compose.js.map +1 -1
  52. package/dist-electron/container-adjust.js +182 -0
  53. package/dist-electron/container-adjust.js.map +1 -0
  54. package/dist-electron/container-duplicate.js +196 -0
  55. package/dist-electron/container-duplicate.js.map +1 -0
  56. package/dist-electron/containers.js +15 -0
  57. package/dist-electron/containers.js.map +1 -1
  58. package/dist-electron/docker-client.js +1 -0
  59. package/dist-electron/docker-client.js.map +1 -1
  60. package/dist-electron/exec.js +78 -7
  61. package/dist-electron/exec.js.map +1 -1
  62. package/dist-electron/file-edit.js +206 -0
  63. package/dist-electron/file-edit.js.map +1 -0
  64. package/dist-electron/image-build.js +173 -0
  65. package/dist-electron/image-build.js.map +1 -0
  66. package/dist-electron/image-search.js +58 -0
  67. package/dist-electron/image-search.js.map +1 -0
  68. package/dist-electron/ipc.js +68 -7
  69. package/dist-electron/ipc.js.map +1 -1
  70. package/dist-electron/known-projects.js +129 -0
  71. package/dist-electron/known-projects.js.map +1 -0
  72. package/dist-electron/log-export.js +5 -4
  73. package/dist-electron/log-export.js.map +1 -1
  74. package/dist-electron/logs.js +26 -10
  75. package/dist-electron/logs.js.map +1 -1
  76. package/dist-electron/main.js +15 -0
  77. package/dist-electron/main.js.map +1 -1
  78. package/dist-electron/preload.js +30 -4
  79. package/dist-electron/preload.js.map +1 -1
  80. package/dist-electron/processes.js +77 -0
  81. package/dist-electron/processes.js.map +1 -0
  82. package/package.json +1 -1
  83. package/dist/docker-desktop-mx/browser/chunk-BW20bBdg.js +0 -1
  84. package/dist/docker-desktop-mx/browser/chunk-BdOOWVGY.js +0 -4
  85. package/dist/docker-desktop-mx/browser/chunk-BgNCBUvw2.js +0 -1
  86. package/dist/docker-desktop-mx/browser/chunk-BoN9ZlqT.js +0 -1
  87. package/dist/docker-desktop-mx/browser/chunk-BsAqguck2.js +0 -3
  88. package/dist/docker-desktop-mx/browser/chunk-C-yEXU2P.js +0 -6
  89. package/dist/docker-desktop-mx/browser/chunk-C1Wg9uje.js +0 -1
  90. package/dist/docker-desktop-mx/browser/chunk-CC84vXik.js +0 -1
  91. package/dist/docker-desktop-mx/browser/chunk-CT1ZUgmS.js +0 -1
  92. package/dist/docker-desktop-mx/browser/chunk-Cc4_zCxe2.js +0 -1
  93. package/dist/docker-desktop-mx/browser/chunk-CrBxmi_g.js +0 -1
  94. package/dist/docker-desktop-mx/browser/chunk-D29s9m84.js +0 -1
  95. package/dist/docker-desktop-mx/browser/chunk-DKpHNjiv.js +0 -1
  96. package/dist/docker-desktop-mx/browser/chunk-DzG5R5Kk.js +0 -1
  97. package/dist/docker-desktop-mx/browser/chunk-QaMufr3I.js +0 -1
  98. package/dist/docker-desktop-mx/browser/chunk-cYufOe8J.js +0 -1
  99. package/dist/docker-desktop-mx/browser/chunk-eG8Su12W.js +0 -1
  100. package/dist/docker-desktop-mx/browser/chunk-iwVkNYYA.js +0 -1
  101. package/dist/docker-desktop-mx/browser/main-DECBD64Q.js +0 -1
  102. package/dist/docker-desktop-mx/browser/styles-5TXFXUUF.css +0 -1
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toAdjustPlan = toAdjustPlan;
4
+ exports.ownAliases = ownAliases;
5
+ exports.toAdjustedOptions = toAdjustedOptions;
6
+ exports.readAdjustPlan = readAdjustPlan;
7
+ exports.adjustContainer = adjustContainer;
8
+ const containers_1 = require("./containers");
9
+ const docker_client_1 = require("./docker-client");
10
+ const i18n_1 = require("./i18n");
11
+ const port_conflicts_1 = require("./port-conflicts");
12
+ /**
13
+ * Een losse container aanpassen (fase 80): de omgevingsvariabelen, de poorten en de restart policy.
14
+ * Docker kan die niet veranderen op een bestaande container, dus: opnieuw maken onder dezelfde naam.
15
+ *
16
+ * In deze volgorde, zodat er op elk moment een weg terug is:
17
+ * 1. het origineel stoppen (anders kan de nieuwe dezelfde poort niet krijgen);
18
+ * 2. het origineel hernoemen naar `naam-oud`;
19
+ * 3. de nieuwe maken onder de oude naam, aan dezelfde netwerken, en starten;
20
+ * 4. pas dan het origineel weggooien, zonder zijn volumes.
21
+ * Mislukt 3, dan gaat de nieuwe weg, krijgt het origineel zijn naam terug en start het weer als het
22
+ * draaide.
23
+ *
24
+ * Anders dan bij dupliceren (fase 75) blijven de aliassen op een netwerk: het is dezelfde container.
25
+ * En een anoniem volume gaat expliciet mee: zonder dat krijgt de nieuwe een leeg volume, en is de
26
+ * data van bijvoorbeeld een database zonder benoemd volume weg.
27
+ *
28
+ * Alleen voor een container zonder compose: daar hoort de wijziging in het compose-bestand.
29
+ */
30
+ const COMPOSE_LABEL = /^com\.docker\.compose\./;
31
+ const RESTART_POLICIES = ['no', 'always', 'unless-stopped', 'on-failure'];
32
+ function bareName(name) {
33
+ return (name ?? '').replace(/^\//, '');
34
+ }
35
+ /** Wat de dialoog nodig heeft: de variabelen zoals ze nu zijn, de poorten en de restart policy. */
36
+ function toAdjustPlan(raw) {
37
+ const bindings = raw.HostConfig?.PortBindings;
38
+ const ports = Object.entries(bindings ?? {})
39
+ .map(([key, list]) => {
40
+ const [port, protocol] = key.split('/');
41
+ return { containerPort: Number(port), protocol: protocol === 'udp' ? 'udp' : 'tcp', hostPort: list?.[0]?.HostPort ? Number(list[0].HostPort) : null };
42
+ })
43
+ .sort((a, b) => a.containerPort - b.containerPort);
44
+ const policy = RESTART_POLICIES.find((name) => name === raw.HostConfig?.RestartPolicy?.Name) ?? 'no';
45
+ return {
46
+ name: bareName(raw.Name),
47
+ env: [...(raw.Config?.Env ?? [])],
48
+ ports,
49
+ restart: policy,
50
+ compose: Object.keys(raw.Config?.Labels ?? {}).some((label) => COMPOSE_LABEL.test(label)),
51
+ };
52
+ }
53
+ /** De aliassen die je zelf gaf; Docker zet er zelf de korte id en de naam bij, en die komen vanzelf terug. */
54
+ function ownAliases(aliases, raw) {
55
+ const automatic = new Set([bareName(raw.Name), (raw.Id ?? '').slice(0, 12)]);
56
+ return (aliases ?? []).filter((alias) => !automatic.has(alias));
57
+ }
58
+ /** De create-body van de nieuwe versie: alles van het origineel, met de aangepaste drie, en de anonieme volumes erbij. */
59
+ function toAdjustedOptions(raw, options) {
60
+ // De hostnaam laat Docker weer zelf kiezen, net als bij een nieuwe container.
61
+ const config = { ...(raw.Config ?? {}) };
62
+ delete config.Hostname;
63
+ const host = raw.HostConfig ?? {};
64
+ const exposed = { ...(config.ExposedPorts ?? {}) };
65
+ const bindings = {};
66
+ for (const port of options.ports) {
67
+ const key = `${String(port.containerPort)}/${port.protocol}`;
68
+ exposed[key] = {};
69
+ bindings[key] = [{ HostPort: port.hostPort === null ? '' : String(port.hostPort) }];
70
+ }
71
+ // Een volume zonder naam staat niet in Binds; zonder het hier te noemen krijgt de nieuwe een leeg volume.
72
+ const named = new Set((host.Binds ?? []).map((bind) => bind.split(':')[0]));
73
+ const anonymous = (raw.Mounts ?? [])
74
+ .filter((mount) => mount.Type === 'volume' && mount.Name !== undefined && mount.Destination !== undefined && !named.has(mount.Name))
75
+ .map((mount) => `${mount.Name ?? ''}:${mount.Destination ?? ''}`);
76
+ const primary = host.NetworkMode ?? '';
77
+ const aliases = ownAliases(raw.NetworkSettings?.Networks?.[primary]?.Aliases, raw);
78
+ return {
79
+ ...config,
80
+ name: bareName(raw.Name),
81
+ Env: [...options.env],
82
+ ExposedPorts: exposed,
83
+ HostConfig: {
84
+ ...host,
85
+ PortBindings: bindings,
86
+ Binds: [...(host.Binds ?? []), ...anonymous],
87
+ RestartPolicy: { Name: options.restart, MaximumRetryCount: options.restart === 'on-failure' ? (host.RestartPolicy?.MaximumRetryCount ?? 0) : 0 },
88
+ },
89
+ ...(aliases.length > 0 ? { NetworkingConfig: { EndpointsConfig: { [primary]: { Aliases: aliases } } } } : {}),
90
+ };
91
+ }
92
+ /** Wat de dialoog "Aanpassen" nodig heeft, uit inspect. */
93
+ async function readAdjustPlan(id) {
94
+ try {
95
+ const raw = (await (0, docker_client_1.getConnection)().docker.getContainer(id).inspect());
96
+ return { ok: true, plan: toAdjustPlan(raw) };
97
+ }
98
+ catch (err) {
99
+ return { ok: false, problem: (0, docker_client_1.readableError)(err, (0, docker_client_1.getConnection)().endpoint).message };
100
+ }
101
+ }
102
+ /** Een vrije naam voor het origineel zolang het aanpassen loopt: `naam-oud`, of `naam-oud-2`. */
103
+ function parkedName(name, taken) {
104
+ let candidate = `${name}-oud`;
105
+ for (let counter = 2; taken.has(candidate); counter += 1) {
106
+ candidate = `${name}-oud-${String(counter)}`;
107
+ }
108
+ return candidate;
109
+ }
110
+ /** Maakt de container opnieuw met de aangepaste instellingen; zie de uitleg bovenaan. */
111
+ async function adjustContainer(id, options) {
112
+ const { docker } = (0, docker_client_1.getConnection)();
113
+ let raw;
114
+ try {
115
+ raw = await docker.getContainer(id).inspect();
116
+ }
117
+ catch (err) {
118
+ return { ok: false, problem: (0, docker_client_1.readableError)(err, (0, docker_client_1.getConnection)().endpoint).message };
119
+ }
120
+ // Op de echte id, niet op wat binnenkwam: een naam wijst na het hernoemen naar de nieuwe container,
121
+ // en dan zou "het origineel weggooien" de nieuwe raken.
122
+ const original = docker.getContainer(raw.Id ?? id);
123
+ if (toAdjustPlan(raw).compose) {
124
+ return { ok: false, problem: (0, i18n_1.t)({
125
+ en: 'This is a compose container; change it in the compose file.',
126
+ nl: 'Dit is een compose-container; pas hem aan in het compose-bestand.',
127
+ de: 'Dies ist ein Compose-Container; ändern Sie ihn in der Compose-Datei.',
128
+ fr: 'C’est un conteneur compose ; modifiez-le dans le fichier compose.',
129
+ es: 'Es un contenedor de compose; cámbialo en el archivo compose.',
130
+ }) };
131
+ }
132
+ const name = bareName(raw.Name);
133
+ const wasRunning = raw.State?.Running === true;
134
+ let renamed = false;
135
+ let created = null;
136
+ try {
137
+ if (wasRunning) {
138
+ await original.stop();
139
+ }
140
+ const taken = new Set((await (0, containers_1.listContainers)()).map((container) => container.name));
141
+ await original.rename({ name: parkedName(name, taken) });
142
+ renamed = true;
143
+ const body = toAdjustedOptions(raw, options);
144
+ created = await docker.createContainer(body);
145
+ const primary = raw.HostConfig?.NetworkMode ?? '';
146
+ for (const [network, settings] of Object.entries(raw.NetworkSettings?.Networks ?? {})) {
147
+ if (network !== primary) {
148
+ const aliases = ownAliases(settings?.Aliases, raw);
149
+ await docker.getNetwork(network).connect({ Container: created.id, ...(aliases.length > 0 ? { EndpointConfig: { Aliases: aliases } } : {}) });
150
+ }
151
+ }
152
+ await created.start();
153
+ await original.remove({ v: false });
154
+ return { ok: true };
155
+ }
156
+ catch (err) {
157
+ // Terug naar hoe het was: de nieuwe weg, het origineel onder zijn eigen naam, en weer aan als het draaide.
158
+ await created?.remove({ force: true }).catch(() => undefined);
159
+ if (renamed) {
160
+ await original.rename({ name }).catch(() => undefined);
161
+ }
162
+ if (wasRunning) {
163
+ await original.start().catch(() => undefined);
164
+ }
165
+ const problem = (0, docker_client_1.readableError)(err, (0, docker_client_1.getConnection)().endpoint).message;
166
+ return {
167
+ ok: false,
168
+ problem: await (0, port_conflicts_1.explainPortConflict)(problem, containers_1.listContainers, {
169
+ raw: err instanceof Error ? err.message : String(err),
170
+ except: id,
171
+ lead: () => (0, i18n_1.t)({
172
+ en: `${name} could not start with the new settings, so it runs as before: one of its ports is taken.`,
173
+ nl: `${name} kon niet starten met de nieuwe instellingen, dus hij draait zoals eerst: een van zijn poorten is bezet.`,
174
+ de: `${name} konnte mit den neuen Einstellungen nicht starten und läuft wie vorher: einer seiner Ports ist belegt.`,
175
+ fr: `${name} n’a pas pu démarrer avec les nouveaux réglages, il tourne donc comme avant : l’un de ses ports est pris.`,
176
+ es: `${name} no pudo arrancar con los nuevos ajustes, así que funciona como antes: uno de sus puertos está ocupado.`,
177
+ }),
178
+ }),
179
+ };
180
+ }
181
+ }
182
+ //# sourceMappingURL=container-adjust.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container-adjust.js","sourceRoot":"","sources":["../electron/container-adjust.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.suggestDuplicateName = suggestDuplicateName;
4
+ exports.toPlan = toPlan;
5
+ exports.toDuplicateOptions = toDuplicateOptions;
6
+ exports.extraNetworks = extraNetworks;
7
+ exports.readDuplicatePlan = readDuplicatePlan;
8
+ exports.copiedVolumeName = copiedVolumeName;
9
+ exports.duplicateContainer = duplicateContainer;
10
+ const container_rename_1 = require("./container-rename");
11
+ const containers_1 = require("./containers");
12
+ const docker_client_1 = require("./docker-client");
13
+ const i18n_1 = require("./i18n");
14
+ const port_conflicts_1 = require("./port-conflicts");
15
+ const volume_copy_1 = require("./volume-copy");
16
+ /**
17
+ * Een container dupliceren (fase 75): dezelfde instellingen onder een nieuwe naam, om iets naast
18
+ * elkaar te proberen.
19
+ *
20
+ * Uit inspect, via de Engine API, zoals "Container starten" van een image. Alles gaat mee
21
+ * (omgeving, commando, restart policy, grenzen, mounts, netwerken), behalve:
22
+ *
23
+ * - de naam en de hostnaam, want die zijn van het origineel;
24
+ * - de poorten, die je opnieuw kiest: dezelfde poort twee keer kan niet;
25
+ * - de labels van compose. Met die labels erop ziet compose de kopie als een tweede exemplaar van
26
+ * zijn service, en telt hem mee of ruimt hem op bij `up` en `down`;
27
+ * - de aliassen op een netwerk. Met dezelfde alias verdeelt de DNS van Docker het verkeer voor die
28
+ * naam over het origineel en de kopie, en dat is zelden wat je wilt.
29
+ *
30
+ * Een benoemd volume delen twee containers dan. Voor een database is dat vragen om moeilijkheden,
31
+ * dus per volume kies je: delen, of eerst een kopie maken (fase 65) en die gebruiken.
32
+ */
33
+ const COMPOSE_LABEL = /^com\.docker\.compose\./;
34
+ function bareName(name) {
35
+ return (name ?? '').replace(/^\//, '');
36
+ }
37
+ /** `web` wordt `web-2`, `web-2` wordt `web-3`, tot er een vrije is. */
38
+ function suggestDuplicateName(name, taken) {
39
+ const match = /^(.*?)-(\d+)$/.exec(name);
40
+ const base = match === null ? name : match[1];
41
+ let counter = match === null ? 2 : Number(match[2]) + 1;
42
+ while (taken.has(`${base}-${String(counter)}`)) {
43
+ counter += 1;
44
+ }
45
+ return `${base}-${String(counter)}`;
46
+ }
47
+ /** Wat de dialoog nodig heeft: de voorgestelde naam, de poorten, de benoemde volumes en of het compose is. */
48
+ function toPlan(raw, taken) {
49
+ const name = bareName(raw.Name);
50
+ const bindings = raw.HostConfig?.PortBindings;
51
+ const ports = Object.entries(bindings ?? {})
52
+ .map(([key, list]) => {
53
+ const [port, protocol] = key.split('/');
54
+ return { containerPort: Number(port), protocol: protocol === 'udp' ? 'udp' : 'tcp', hostPort: list?.[0]?.HostPort ? Number(list[0].HostPort) : null };
55
+ })
56
+ .sort((a, b) => a.containerPort - b.containerPort);
57
+ const volumes = (raw.Mounts ?? [])
58
+ .filter((mount) => mount.Type === 'volume' && mount.Name !== undefined && mount.Name !== '')
59
+ .map((mount) => ({ name: mount.Name ?? '', target: mount.Destination ?? '' }));
60
+ const labels = raw.Config?.Labels ?? {};
61
+ return { name, suggestion: suggestDuplicateName(name, taken), ports, volumes, compose: Object.keys(labels).some((label) => COMPOSE_LABEL.test(label)) };
62
+ }
63
+ /**
64
+ * De create-body van de kopie. Apart en geëxporteerd, want hier zit wat je makkelijk verkeerd doet:
65
+ * wat mee moet, wat niet, en hoe een volume in `Binds` en in `Mounts` verwisseld wordt.
66
+ */
67
+ function toDuplicateOptions(raw, options, renamed) {
68
+ // De hostnaam is die van het origineel; zonder kiest Docker er een voor de kopie.
69
+ const { Labels: labels, ...rest } = raw.Config ?? {};
70
+ const config = { ...rest };
71
+ delete config.Hostname;
72
+ const host = raw.HostConfig ?? {};
73
+ const exposed = { ...(config.ExposedPorts ?? {}) };
74
+ const bindings = {};
75
+ for (const port of options.ports) {
76
+ const key = `${String(port.containerPort)}/${port.protocol}`;
77
+ exposed[key] = {};
78
+ bindings[key] = [{ HostPort: port.hostPort === null ? '' : String(port.hostPort) }];
79
+ }
80
+ const swap = (source) => (source === undefined ? source : (renamed.get(source) ?? source));
81
+ const binds = (host.Binds ?? []).map((bind) => {
82
+ const colon = bind.indexOf(':');
83
+ return colon === -1 ? bind : `${swap(bind.slice(0, colon)) ?? ''}${bind.slice(colon)}`;
84
+ });
85
+ const mounts = (host.Mounts ?? []).map((mount) => (mount.Type === 'volume' ? { ...mount, Source: swap(mount.Source) } : mount));
86
+ return {
87
+ ...config,
88
+ name: options.name,
89
+ Labels: Object.fromEntries(Object.entries(labels ?? {}).filter(([label]) => !COMPOSE_LABEL.test(label))),
90
+ ExposedPorts: exposed,
91
+ HostConfig: { ...host, PortBindings: bindings, Binds: binds, Mounts: mounts },
92
+ };
93
+ }
94
+ /** De netwerken naast het eerste; die komen er na het aanmaken bij, zonder aliassen. */
95
+ function extraNetworks(raw) {
96
+ const primary = raw.HostConfig?.NetworkMode ?? '';
97
+ return Object.keys(raw.NetworkSettings?.Networks ?? {}).filter((network) => network !== primary);
98
+ }
99
+ async function takenNames() {
100
+ return new Set((await (0, containers_1.listContainers)()).map((container) => container.name));
101
+ }
102
+ /** Wat de dialoog "Dupliceren" nodig heeft, uit inspect. */
103
+ async function readDuplicatePlan(id) {
104
+ try {
105
+ const raw = (await (0, docker_client_1.getConnection)().docker.getContainer(id).inspect());
106
+ return { ok: true, plan: toPlan(raw, await takenNames()) };
107
+ }
108
+ catch (err) {
109
+ return { ok: false, problem: (0, docker_client_1.readableError)(err, (0, docker_client_1.getConnection)().endpoint).message };
110
+ }
111
+ }
112
+ /** De naam van de kopie van een volume: het volume met de nieuwe containernaam erachter. */
113
+ function copiedVolumeName(volume, container) {
114
+ return `${volume}-${container}`;
115
+ }
116
+ /** Maakt de kopie, met eventueel eerst kopieën van volumes, en start hem. Mislukt iets, dan gaat alles weer weg. */
117
+ async function duplicateContainer(id, options) {
118
+ const name = options.name.trim();
119
+ if (!(0, container_rename_1.isContainerName)(name)) {
120
+ return {
121
+ ok: false,
122
+ problem: (0, i18n_1.t)({
123
+ en: 'A container name has at least two characters: a letter or digit, followed by letters, digits, _ . or -.',
124
+ nl: 'Een containernaam heeft minstens twee tekens: een letter of cijfer, gevolgd door letters, cijfers, _ . of -.',
125
+ de: 'Ein Containername hat mindestens zwei Zeichen: einen Buchstaben oder eine Ziffer, gefolgt von Buchstaben, Ziffern, _ . oder -.',
126
+ fr: 'Un nom de conteneur a au moins deux caractères : une lettre ou un chiffre, suivi de lettres, chiffres, _ . ou -.',
127
+ es: 'Un nombre de contenedor tiene al menos dos caracteres: una letra o cifra, seguida de letras, cifras, _ . o -.',
128
+ }),
129
+ };
130
+ }
131
+ const { docker } = (0, docker_client_1.getConnection)();
132
+ const copied = [];
133
+ let created = null;
134
+ try {
135
+ if ((await takenNames()).has(name)) {
136
+ return {
137
+ ok: false,
138
+ problem: (0, i18n_1.t)({
139
+ en: `There already is a container named ${name}.`,
140
+ nl: `Er is al een container ${name}.`,
141
+ de: `Es gibt bereits einen Container ${name}.`,
142
+ fr: `Un conteneur ${name} existe déjà.`,
143
+ es: `Ya existe un contenedor ${name}.`,
144
+ }),
145
+ };
146
+ }
147
+ const raw = (await docker.getContainer(id).inspect());
148
+ const renamed = new Map();
149
+ for (const volume of options.copyVolumes) {
150
+ const target = copiedVolumeName(volume, name);
151
+ const result = await (0, volume_copy_1.copyVolume)(volume, target);
152
+ if (!result.ok) {
153
+ await cleanUp(null, copied);
154
+ return result;
155
+ }
156
+ copied.push(target);
157
+ renamed.set(volume, target);
158
+ }
159
+ created = await docker.createContainer(toDuplicateOptions(raw, { ...options, name }, renamed));
160
+ for (const network of extraNetworks(raw)) {
161
+ await docker.getNetwork(network).connect({ Container: created.id });
162
+ }
163
+ await created.start();
164
+ return { ok: true, id: created.id };
165
+ }
166
+ catch (err) {
167
+ await cleanUp(created, copied);
168
+ const problem = (0, docker_client_1.readableError)(err, (0, docker_client_1.getConnection)().endpoint).message;
169
+ // Bij een bezette poort zeggen wie hem heeft, in plaats van Docker's regel over "external connectivity".
170
+ return {
171
+ ok: false,
172
+ problem: await (0, port_conflicts_1.explainPortConflict)(problem, containers_1.listContainers, {
173
+ raw: err instanceof Error ? err.message : String(err),
174
+ lead: () => (0, i18n_1.t)({
175
+ en: `${name} could not start: one of its ports is taken.`,
176
+ nl: `${name} kon niet starten: een van zijn poorten is bezet.`,
177
+ de: `${name} konnte nicht starten: einer seiner Ports ist belegt.`,
178
+ fr: `${name} n’a pas pu démarrer : l’un de ses ports est pris.`,
179
+ es: `${name} no pudo iniciarse: uno de sus puertos está ocupado.`,
180
+ }),
181
+ }),
182
+ };
183
+ }
184
+ }
185
+ /** Een half gemaakte kopie ziet eruit als een kopie; dan liever geen. */
186
+ async function cleanUp(container, volumes) {
187
+ const { docker } = (0, docker_client_1.getConnection)();
188
+ await container?.remove({ force: true }).catch(() => undefined);
189
+ for (const volume of volumes) {
190
+ await docker
191
+ .getVolume(volume)
192
+ .remove()
193
+ .catch(() => undefined);
194
+ }
195
+ }
196
+ //# sourceMappingURL=container-duplicate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container-duplicate.js","sourceRoot":"","sources":["../electron/container-duplicate.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ exports.parseExitCode = parseExitCode;
4
4
  exports.toContainerSummary = toContainerSummary;
5
5
  exports.listContainers = listContainers;
6
6
  exports.inspectContainer = inspectContainer;
7
+ exports.alreadyStopped = alreadyStopped;
7
8
  exports.runContainerAction = runContainerAction;
8
9
  exports.pruneContainers = pruneContainers;
9
10
  const compose_1 = require("./compose");
@@ -107,8 +108,19 @@ function run(container, action) {
107
108
  case 'remove':
108
109
  // force: ook een draaiende container. De bevestiging in de UI zegt dat er gestopt wordt.
109
110
  return container.remove({ force: true });
111
+ case 'kill':
112
+ return container.kill();
110
113
  }
111
114
  }
115
+ /**
116
+ * Een `kill` die aankomt als de container net uit zichzelf gestopt is, na een stop die toch nog
117
+ * lukte: dan is er bereikt wat je wilde, en dat is geen fout (fase 74).
118
+ */
119
+ function alreadyStopped(action, err) {
120
+ const status = err?.statusCode;
121
+ const message = err instanceof Error ? err.message : String(err);
122
+ return action === 'kill' && (status === 409 || /is not running/i.test(message));
123
+ }
112
124
  /** De eerste helft van de melding bij een bezette poort; de tweede zegt wie hem heeft. */
113
125
  function describePortBlocked(action, name) {
114
126
  return action === 'restart'
@@ -139,6 +151,9 @@ async function runContainerAction(action, id) {
139
151
  return { ok: true };
140
152
  }
141
153
  catch (err) {
154
+ if (alreadyStopped(action, err)) {
155
+ return { ok: true };
156
+ }
142
157
  // Bij een bezette poort zeggen wie hem heeft; deze container zelf telt dan niet mee.
143
158
  const problem = await (0, port_conflicts_1.explainPortConflict)((0, docker_client_1.describeActionProblem)(err, action, id), listContainers, {
144
159
  except: id,
@@ -1 +1 @@
1
- {"version":3,"file":"containers.js","sourceRoot":"","sources":["../electron/containers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"containers.js","sourceRoot":"","sources":["../electron/containers.ts"],"names":[],"mappings":"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"}
@@ -245,6 +245,7 @@ const ACTION_LABELS = {
245
245
  pause: { en: 'pause', nl: 'pauzeren', de: 'pausieren', fr: 'mettre en pause', es: 'pausar' },
246
246
  unpause: { en: 'unpause', nl: 'hervatten', de: 'fortsetzen', fr: 'reprendre', es: 'reanudar' },
247
247
  remove: { en: 'remove', nl: 'verwijderen', de: 'entfernen', fr: 'supprimer', es: 'eliminar' },
248
+ kill: { en: 'stop immediately', nl: 'meteen stoppen', de: 'sofort stoppen', fr: 'arrêter immédiatement', es: 'detener de inmediato' },
248
249
  };
249
250
  /**
250
251
  * Vertaalt een mislukte handeling naar iets dat in een melding past. Overgenomen van
@@ -1 +1 @@
1
- {"version":3,"file":"docker-client.js","sourceRoot":"","sources":["../electron/docker-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docker-client.js","sourceRoot":"","sources":["../electron/docker-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,gDAmBC;AAgDD,8CAWC;AAGD,sCAKC;AAGD,sCAOC;AAGD,0CAIC;AA2BD,8DA8DC;AAaD,sCAaC;AAiBD,sDAkCC;AA9SD,qCAAuC;AACvC,gDAAkC;AAClC,0DAA+B;AAE/B,iCAA0C;AAC1C,+BAA+E;AAE/E;;;;;GAKG;AAEH,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAC9C,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAU3C,IAAI,UAAU,GAAsB,IAAI,CAAC;AAEzC;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,IAAY,EAAE,SAAwB,IAAI;IAE3E,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAEpD,OAAO,EAAE,MAAM,EAAE,IAAI,mBAAM,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IACtE,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACtC,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IAEnD,OAAO,EAAE,MAAM,EAAE,IAAI,mBAAM,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC5F,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,IAAY;IAEjC,MAAM,MAAM,GAAG,IAAA,kBAAY,EAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,eAAS,CAAC,MAAM,CAAC,CAAC;IAErC,OAAO;QACL,MAAM,EAAE,IAAI,mBAAM,CAAC,IAAA,sBAAgB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpD,QAAQ,EAAE,IAAA,iBAAW,EAAC,MAAM,CAAC;QAC7B,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;KAC5B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,OAAO,CAAC,MAAqB;IAEpC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,OAAO;YACL,EAAE,EAAE,IAAA,sBAAY,EAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC7C,IAAI,EAAE,IAAA,sBAAY,EAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACjD,GAAG,EAAE,IAAA,sBAAY,EAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;SAChD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,oFAAoF;QACpF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,MAAyB,OAAO,CAAC,GAAG,EAAE,WAAmB,OAAO,CAAC,QAAQ;IAEzG,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC;IAEhC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QACtC,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;IAErE,OAAO,EAAE,MAAM,EAAE,IAAI,mBAAM,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AACtE,CAAC;AAED,+DAA+D;AAC/D,SAAgB,aAAa;IAE3B,UAAU,KAAK,iBAAiB,EAAE,CAAC;IAEnC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,4HAA4H;AAC5H,SAAgB,aAAa,CAAC,IAAgB;IAE5C,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC/C,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;IACvB,CAAC;IAED,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC;AAED,yFAAyF;AACzF,SAAgB,eAAe;IAE7B,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC;IACtB,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,GAAY;IAE9B,OAAQ,GAAsC,EAAE,UAAU,CAAC;AAC7D,CAAC;AAED,SAAS,SAAS,CAAC,GAAY;IAE7B,OAAQ,GAAgC,EAAE,IAAI,CAAC;AACjD,CAAC;AAED,SAAS,aAAa,CAAC,GAAY;IAEjC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,GAAY,EAAE,QAAgB;IAEtE,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAE5B,sGAAsG;IACtG,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,cAAc,CAAC,EAAE,CAAC;QAClH,OAAO,IAAA,QAAC,EAAC;YACP,EAAE,EAAE,8BAA8B,QAAQ,GAAG;YAC7C,EAAE,EAAE,iCAAiC,QAAQ,GAAG;YAChD,EAAE,EAAE,SAAS,QAAQ,kCAAkC;YACvD,EAAE,EAAE,iCAAiC,QAAQ,GAAG;YAChD,EAAE,EAAE,2CAA2C,QAAQ,GAAG;SAC3D,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QACjD,OAAO,IAAA,QAAC,EAAC;YACP,EAAE,EAAE,6BAA6B,QAAQ,sBAAsB;YAC/D,EAAE,EAAE,kCAAkC,QAAQ,kBAAkB;YAChE,EAAE,EAAE,SAAS,QAAQ,mDAAmD;YACxE,EAAE,EAAE,+BAA+B,QAAQ,wBAAwB;YACnE,EAAE,EAAE,kDAAkD,QAAQ,2BAA2B;SAC1F,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1C,OAAO,IAAA,QAAC,EAAC;YACP,EAAE,EAAE,gBAAgB,QAAQ,sDAAsD;YAClF,EAAE,EAAE,oBAAoB,QAAQ,2DAA2D;YAC3F,EAAE,EAAE,oBAAoB,QAAQ,8DAA8D;YAC9F,EAAE,EAAE,iBAAiB,QAAQ,oEAAoE;YACjG,EAAE,EAAE,gBAAgB,QAAQ,yDAAyD;SACtF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,OAAO,IAAA,QAAC,EAAC;YACP,EAAE,EAAE,iBAAiB,QAAQ,2BAA2B;YACxD,EAAE,EAAE,gBAAgB,QAAQ,0BAA0B;YACtD,EAAE,EAAE,oBAAoB,QAAQ,qCAAqC;YACrE,EAAE,EAAE,cAAc,QAAQ,2BAA2B;YACrD,EAAE,EAAE,gBAAgB,QAAQ,6BAA6B;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;QACvD,OAAO,IAAA,QAAC,EAAC;YACP,EAAE,EAAE,iBAAiB,QAAQ,0BAA0B;YACvD,EAAE,EAAE,gBAAgB,QAAQ,0BAA0B;YACtD,EAAE,EAAE,oBAAoB,QAAQ,gCAAgC;YAChE,EAAE,EAAE,cAAc,QAAQ,yBAAyB;YACnD,EAAE,EAAE,gBAAgB,QAAQ,4BAA4B;SACzD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAA,QAAC,EAAC;QACP,EAAE,EAAE,uCAAuC,QAAQ,KAAK,aAAa,CAAC,GAAG,CAAC,EAAE;QAC5E,EAAE,EAAE,oCAAoC,QAAQ,YAAY,aAAa,CAAC,GAAG,CAAC,EAAE;QAChF,EAAE,EAAE,4CAA4C,QAAQ,KAAK,aAAa,CAAC,GAAG,CAAC,EAAE;QACjF,EAAE,EAAE,kDAAkD,QAAQ,MAAM,aAAa,CAAC,GAAG,CAAC,EAAE;QACxF,EAAE,EAAE,iDAAiD,QAAQ,KAAK,aAAa,CAAC,GAAG,CAAC,EAAE;KACvF,CAAC,CAAC;AACL,CAAC;AAED,yFAAyF;AACzF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;AAE3H;;;;;;;GAOG;AACH,SAAgB,aAAa,CAAC,GAAY,EAAE,QAAgB;IAE1D,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAE5B,IAAI,IAAI,KAAK,SAAS,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,OAAO,IAAI,KAAK,CAAC,yBAAyB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACxD,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,aAAa,GAAsD;IACvE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE;IACnF,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE;IAChF,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE;IAClG,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,EAAE;IAC5F,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE;IAC9F,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE;IAC7F,IAAI,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,sBAAsB,EAAE;CACtI,CAAC;AAEF;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,GAAY,EAAE,MAAuB,EAAE,GAAW;IAEtF,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAEpC,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,OAAO,IAAA,QAAC,EAAC,EAAE,EAAE,EAAE,IAAI,GAAG,qBAAqB,EAAE,EAAE,EAAE,IAAI,GAAG,sBAAsB,EAAE,EAAE,EAAE,IAAI,GAAG,yBAAyB,EAAE,EAAE,EAAE,IAAI,GAAG,kBAAkB,EAAE,EAAE,EAAE,IAAI,GAAG,iBAAiB,EAAE,CAAC,CAAC;IACvL,CAAC;IAED,sFAAsF;IACtF,yDAAyD;IACzD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,OAAO,MAAM,KAAK,OAAO;YACvB,CAAC,CAAC,IAAA,QAAC,EAAC,EAAE,EAAE,EAAE,IAAI,GAAG,wBAAwB,EAAE,EAAE,EAAE,IAAI,GAAG,mBAAmB,EAAE,EAAE,EAAE,IAAI,GAAG,wBAAwB,EAAE,EAAE,EAAE,IAAI,GAAG,uBAAuB,EAAE,EAAE,EAAE,IAAI,GAAG,uBAAuB,EAAE,CAAC;YACzL,CAAC,CAAC,IAAA,QAAC,EAAC,EAAE,EAAE,EAAE,IAAI,GAAG,wBAAwB,EAAE,EAAE,EAAE,IAAI,GAAG,mBAAmB,EAAE,EAAE,EAAE,IAAI,GAAG,uBAAuB,EAAE,EAAE,EAAE,IAAI,GAAG,sBAAsB,EAAE,EAAE,EAAE,IAAI,GAAG,uBAAuB,EAAE,CAAC,CAAC;IAC5L,CAAC;IAED,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,OAAO,IAAA,QAAC,EAAC;YACP,EAAE,EAAE,UAAU,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,EAAE;YACxD,EAAE,EAAE,QAAQ,GAAG,UAAU,KAAK,CAAC,EAAE,KAAK,aAAa,CAAC,GAAG,CAAC,EAAE;YAC1D,EAAE,EAAE,IAAI,GAAG,sBAAsB,KAAK,CAAC,EAAE,KAAK,aAAa,CAAC,GAAG,CAAC,EAAE;YAClE,EAAE,EAAE,iBAAiB,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,aAAa,CAAC,GAAG,CAAC,EAAE;YAChE,EAAE,EAAE,eAAe,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,EAAE;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAA,QAAC,EAAC;QACP,EAAE,EAAE,aAAa,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,EAAE;QAC3D,EAAE,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAG,eAAe,aAAa,CAAC,GAAG,CAAC,EAAE;QACnG,EAAE,EAAE,IAAI,GAAG,KAAK,KAAK,CAAC,EAAE,wBAAwB,aAAa,CAAC,GAAG,CAAC,EAAE;QACpE,EAAE,EAAE,cAAc,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,aAAa,CAAC,GAAG,CAAC,EAAE;QAC7D,EAAE,EAAE,mBAAmB,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,EAAE;KAClE,CAAC,CAAC;AACL,CAAC"}