alasio 9.0.0 → 10.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/src/bound-harnesses.js +98 -0
- package/dist/cli/src/bound-harnesses.js.map +1 -0
- package/dist/cli/src/branches.js +30 -14
- package/dist/cli/src/branches.js.map +1 -1
- package/dist/cli/src/cluster/docker.js +21 -11
- package/dist/cli/src/cluster/docker.js.map +1 -1
- package/dist/cli/src/cluster/host.js +5 -1
- package/dist/cli/src/cluster/host.js.map +1 -1
- package/dist/cli/src/cluster/k3s.js +68 -3
- package/dist/cli/src/cluster/k3s.js.map +1 -1
- package/dist/cli/src/cluster/node.js +47 -13
- package/dist/cli/src/cluster/node.js.map +1 -1
- package/dist/cli/src/cluster/stargz.js +40 -3
- package/dist/cli/src/cluster/stargz.js.map +1 -1
- package/dist/cli/src/commands/common.js +2 -2
- package/dist/cli/src/commands/common.js.map +1 -1
- package/dist/cli/src/commands/lake.js +1 -1
- package/dist/cli/src/commands/lake.js.map +1 -1
- package/dist/cli/src/commands/login-relay.js +91 -0
- package/dist/cli/src/commands/login-relay.js.map +1 -0
- package/dist/cli/src/commands/login.js +11 -10
- package/dist/cli/src/commands/login.js.map +1 -1
- package/dist/cli/src/commands/logs.js +89 -6
- package/dist/cli/src/commands/logs.js.map +1 -1
- package/dist/cli/src/commands/restart.js +10 -4
- package/dist/cli/src/commands/restart.js.map +1 -1
- package/dist/cli/src/commands/restore-filer-store.js +27 -10
- package/dist/cli/src/commands/restore-filer-store.js.map +1 -1
- package/dist/cli/src/commands/status.js +59 -12
- package/dist/cli/src/commands/status.js.map +1 -1
- package/dist/cli/src/commands/up.js +9 -6
- package/dist/cli/src/commands/up.js.map +1 -1
- package/dist/cli/src/commands/upgrade.js +14 -5
- package/dist/cli/src/commands/upgrade.js.map +1 -1
- package/dist/cli/src/folders.js +9 -13
- package/dist/cli/src/folders.js.map +1 -1
- package/dist/cli/src/gateway-calls.js +14 -8
- package/dist/cli/src/gateway-calls.js.map +1 -1
- package/dist/cli/src/install.js +7 -41
- package/dist/cli/src/install.js.map +1 -1
- package/dist/cli/src/kube/api.js +59 -12
- package/dist/cli/src/kube/api.js.map +1 -1
- package/dist/cli/src/kube/apply.js +107 -9
- package/dist/cli/src/kube/apply.js.map +1 -1
- package/dist/cli/src/kube/object-store-scale.js +10 -7
- package/dist/cli/src/kube/object-store-scale.js.map +1 -1
- package/dist/cli/src/kube/rollout.js +16 -6
- package/dist/cli/src/kube/rollout.js.map +1 -1
- package/dist/cli/src/main.js +2 -1
- package/dist/cli/src/main.js.map +1 -1
- package/dist/cli/src/manifests/admission.js +228 -11
- package/dist/cli/src/manifests/admission.js.map +1 -1
- package/dist/cli/src/manifests/alasio.js +151 -63
- package/dist/cli/src/manifests/alasio.js.map +1 -1
- package/dist/cli/src/manifests/branch.js +6 -1
- package/dist/cli/src/manifests/branch.js.map +1 -1
- package/dist/cli/src/manifests/codex-login.js +101 -0
- package/dist/cli/src/manifests/codex-login.js.map +1 -0
- package/dist/cli/src/manifests/collector.js +26 -21
- package/dist/cli/src/manifests/collector.js.map +1 -1
- package/dist/cli/src/manifests/common.js +50 -23
- package/dist/cli/src/manifests/common.js.map +1 -1
- package/dist/cli/src/manifests/config.js +79 -30
- package/dist/cli/src/manifests/config.js.map +1 -1
- package/dist/cli/src/manifests/disruption.js +8 -3
- package/dist/cli/src/manifests/disruption.js.map +1 -1
- package/dist/cli/src/manifests/folders.js +8 -5
- package/dist/cli/src/manifests/folders.js.map +1 -1
- package/dist/cli/src/manifests/harness-pools.js +236 -0
- package/dist/cli/src/manifests/harness-pools.js.map +1 -0
- package/dist/cli/src/manifests/image-holder.js +61 -0
- package/dist/cli/src/manifests/image-holder.js.map +1 -0
- package/dist/cli/src/manifests/index.js +6 -2
- package/dist/cli/src/manifests/index.js.map +1 -1
- package/dist/cli/src/manifests/keda.js +4 -2
- package/dist/cli/src/manifests/keda.js.map +1 -1
- package/dist/cli/src/manifests/lake.js +1 -17
- package/dist/cli/src/manifests/lake.js.map +1 -1
- package/dist/cli/src/manifests/log.js +63 -16
- package/dist/cli/src/manifests/log.js.map +1 -1
- package/dist/cli/src/manifests/neon.js +57 -77
- package/dist/cli/src/manifests/neon.js.map +1 -1
- package/dist/cli/src/manifests/network-policies.js +111 -39
- package/dist/cli/src/manifests/network-policies.js.map +1 -1
- package/dist/cli/src/manifests/node-agent.js +39 -19
- package/dist/cli/src/manifests/node-agent.js.map +1 -1
- package/dist/cli/src/manifests/object-store.js +98 -24
- package/dist/cli/src/manifests/object-store.js.map +1 -1
- package/dist/cli/src/manifests/sandbox-gateway.js +147 -46
- package/dist/cli/src/manifests/sandbox-gateway.js.map +1 -1
- package/dist/cli/src/manifests/scalers.js +5 -4
- package/dist/cli/src/manifests/scalers.js.map +1 -1
- package/dist/cli/src/manifests/sizing.js +1 -1
- package/dist/cli/src/manifests/sizing.js.map +1 -1
- package/dist/cli/src/manifests/valkey.js +19 -5
- package/dist/cli/src/manifests/valkey.js.map +1 -1
- package/dist/cli/src/manifests/volume-lock.js +43 -0
- package/dist/cli/src/manifests/volume-lock.js.map +1 -0
- package/dist/cli/src/manifests/vpa.js +12 -1
- package/dist/cli/src/manifests/vpa.js.map +1 -1
- package/dist/cli/src/manifests/workspace-storage.js +19 -16
- package/dist/cli/src/manifests/workspace-storage.js.map +1 -1
- package/dist/cli/src/neon-storage.js +0 -2
- package/dist/cli/src/neon-storage.js.map +1 -1
- package/dist/cli/src/release.js +9 -9
- package/dist/cli/src/release.js.map +1 -1
- package/dist/cli/src/target.js +2 -2
- package/dist/cli/src/target.js.map +1 -1
- package/dist/cli/src/telegram.js +13 -4
- package/dist/cli/src/telegram.js.map +1 -1
- package/dist/cli/src/wakes.js +68 -0
- package/dist/cli/src/wakes.js.map +1 -0
- package/dist/cli/src/webhook.js +5 -2
- package/dist/cli/src/webhook.js.map +1 -1
- package/dist/cluster/node/pins.json +6 -5
- package/dist/neon/control/branches.js +11 -4
- package/dist/neon/control/branches.js.map +1 -1
- package/dist/neon/control/endpoints.js +81 -10
- package/dist/neon/control/endpoints.js.map +1 -1
- package/dist/neon/control/secrets.js +11 -6
- package/dist/neon/control/secrets.js.map +1 -1
- package/dist/src/binder/bindings.js +195 -0
- package/dist/src/binder/bindings.js.map +1 -0
- package/dist/src/binder/names.js +30 -0
- package/dist/src/binder/names.js.map +1 -1
- package/dist/src/binder/tokens.js +17 -4
- package/dist/src/binder/tokens.js.map +1 -1
- package/dist/src/branch/names.js +10 -6
- package/dist/src/branch/names.js.map +1 -1
- package/dist/src/events/names.js +24 -3
- package/dist/src/events/names.js.map +1 -1
- package/dist/src/gateway/names.js +44 -5
- package/dist/src/gateway/names.js.map +1 -1
- package/dist/src/harness/names.js +18 -0
- package/dist/src/harness/names.js.map +1 -1
- package/dist/src/kube/client.js +212 -0
- package/dist/src/kube/client.js.map +1 -0
- package/dist/src/kube/sandbox-shape.js +6 -0
- package/dist/src/kube/sandbox-shape.js.map +1 -1
- package/dist/src/kube/started-map.js +12 -0
- package/dist/src/kube/started-map.js.map +1 -0
- package/dist/src/node-agent/names.js +16 -8
- package/dist/src/node-agent/names.js.map +1 -1
- package/dist/src/telegram/bot-commands.js +17 -0
- package/dist/src/telegram/bot-commands.js.map +1 -0
- package/dist/src/telegram/stop.js +12 -0
- package/dist/src/telegram/stop.js.map +1 -0
- package/package.json +1 -1
|
@@ -8,18 +8,25 @@
|
|
|
8
8
|
* (src/gateway/names.ts folderPodSpec), and a Secret the gateway makes there is an
|
|
9
9
|
* instance's token: RBAC lets it make pods of any spec, as any ServiceAccount, under any
|
|
10
10
|
* runtime, and Secrets of any type, a ServiceAccount's token among them;
|
|
11
|
+
* - a pod the sandbox gateway updates or deletes in an environment's own namespace is one of
|
|
12
|
+
* its harness pools', which it binds and releases, and a Lease it writes there one of their
|
|
13
|
+
* bindings': RBAC lets it update and delete every pod there, and write every Lease;
|
|
11
14
|
* - a pod alasio patches changes its busy label and annotations alone (src/kube/busy.ts),
|
|
12
15
|
* and in alasio's own namespace is alasio's own: RBAC lets it patch its namespaces'
|
|
13
16
|
* pods whole, their images among it;
|
|
14
17
|
* - a compute's Deployment neon-control patches changes its pod template's restartedAt
|
|
15
18
|
* annotation alone, which restarts it (neon/control/computes.ts): RBAC lets it patch the
|
|
16
|
-
* Deployment whole, its image and command among it
|
|
19
|
+
* Deployment whole, its image and command among it;
|
|
20
|
+
* - a pod neon-control patches is a compute's, and changes its serving label alone, which
|
|
21
|
+
* takes it off its Service as a sleep stops it: RBAC lets it patch any pod of a
|
|
22
|
+
* compute's namespace whole.
|
|
17
23
|
*
|
|
18
24
|
* Where a policy holds an object to a rendered one, `pinned` makes the CEL that says so:
|
|
19
25
|
* the object's fields are the rendered ones', key for key and item for item, but for what
|
|
20
26
|
* a Check allows, and what the API server defaults where the rendered one has nothing.
|
|
21
27
|
*/
|
|
22
28
|
import { posix } from "node:path";
|
|
29
|
+
import { SERVING_LABEL } from "../../../neon/control/endpoints.js";
|
|
23
30
|
import { BINDING_LABEL, FREE_LABEL, KEY_ANNOTATION, POOL_LABEL } from "../../../src/binder/names.js";
|
|
24
31
|
import { branchNamespace, branchSessionsNamespace } from "../../../src/branch/names.js";
|
|
25
32
|
import { ATTACH_VOLUME, FOLDER_KEY_PREFIX, FOLDER_POOL, FOLDER_POD, folderPodSpec, folderTokenSecret, ownDirectory, SANDBOX_POD_POLICY } from "../../../src/gateway/names.js";
|
|
@@ -42,6 +49,10 @@ const ANY_STRING = new Check((expression) => `type(${expression}) == string`);
|
|
|
42
49
|
const matching = (pattern) => new Check((expression) => `type(${expression}) == string && ${expression}.matches(${JSON.stringify(`^(${pattern})$`)})`);
|
|
43
50
|
/** What the CEL `value` is, of the object asked about. */
|
|
44
51
|
const sameAs = (value) => new Check((expression) => `${expression} == ${value}`);
|
|
52
|
+
/** A quantity, as the API server writes one, of the amount `value` is. */
|
|
53
|
+
const quantityOf = (value) => new Check((expression) => `isQuantity(${expression}) && quantity(${expression}).compareTo(quantity(${JSON.stringify(value)})) == 0`);
|
|
54
|
+
/** A quantity, as the API server writes one, of at least `least`'s amount, and at most `most`'s where given. */
|
|
55
|
+
const quantityWithin = (least, most) => new Check((expression) => [`isQuantity(${expression})`, `quantity(${expression}).compareTo(quantity(${JSON.stringify(least)})) >= 0`, ...(most ? [`quantity(${expression}).compareTo(quantity(${JSON.stringify(most)})) <= 0`] : [])].join(" && "));
|
|
45
56
|
/** Any of `alternatives`. */
|
|
46
57
|
const oneOf = (...alternatives) => new Check((expression, depth) => `(${alternatives.map((each) => pinned(expression, each, depth)).join(" || ")})`);
|
|
47
58
|
/** Of a map's key: that it may be absent; where present, `value`. */
|
|
@@ -91,12 +102,10 @@ function pinnedMap(expression, expected, defaults, depth) {
|
|
|
91
102
|
...extra.map((key) => `(!(${JSON.stringify(key)} in ${expression}) || ${pinned(at(key), defaults[key], depth)})`),
|
|
92
103
|
].join(" && ");
|
|
93
104
|
}
|
|
94
|
-
/** The name the ServiceAccount of the alasio of the namespace `namespace` asks as. */
|
|
95
|
-
export const alasioAccount = (namespace) => `system:serviceaccount:${namespace}:${RELEASE}`;
|
|
96
105
|
/** Whether the request is by main's alasio or a branch environment's, as CEL. */
|
|
97
106
|
const BY_ANY_ALASIO = `request.userInfo.username.matches('^system:serviceaccount:(${NAMESPACE}|${branchNamespace("")}[a-z0-9-]+):${RELEASE}$')`;
|
|
98
107
|
/** A ValidatingAdmissionPolicy `name` of alasio's, on `rules`, of what `by` asks, refusing what `validations` do not hold for, and its binding. */
|
|
99
|
-
function admissionPolicy(name, rules, by, validations, variables) {
|
|
108
|
+
function admissionPolicy(name, rules, by, validations, variables, namespaceSelector) {
|
|
100
109
|
const metadata = { name, labels: labels("alasio") };
|
|
101
110
|
const policy = {
|
|
102
111
|
apiVersion: "admissionregistration.k8s.io/v1",
|
|
@@ -104,7 +113,7 @@ function admissionPolicy(name, rules, by, validations, variables) {
|
|
|
104
113
|
metadata,
|
|
105
114
|
spec: {
|
|
106
115
|
failurePolicy: "Fail",
|
|
107
|
-
matchConstraints: { resourceRules: rules.map((rule) => ({ ...rule, apiVersions: ["*"] })) },
|
|
116
|
+
matchConstraints: { resourceRules: rules.map((rule) => ({ ...rule, apiVersions: ["*"] })), ...(namespaceSelector ? { namespaceSelector } : {}) },
|
|
108
117
|
matchConditions: [{ name: "by-alasio", expression: by }],
|
|
109
118
|
...(variables ? { variables } : {}),
|
|
110
119
|
validations,
|
|
@@ -179,6 +188,39 @@ export function computeRestartPolicy() {
|
|
|
179
188
|
{ name: "newAnnotations", expression: "object.spec.template.metadata.?annotations.orValue({})" },
|
|
180
189
|
]);
|
|
181
190
|
}
|
|
191
|
+
/** The components of the computes' pods: a primary's, and a read replica's. */
|
|
192
|
+
const COMPUTE_COMPONENTS = ["neon-compute", "neon-compute-ro"];
|
|
193
|
+
/**
|
|
194
|
+
* What neon-control may change of a pod, which RBAC lets it patch whole, of any in a
|
|
195
|
+
* compute's namespace (./neon.ts's computeScaling): of a compute's pod, its serving label
|
|
196
|
+
* (neon/control/endpoints.ts's SERVING_LABEL), which takes it off its Service as a sleep
|
|
197
|
+
* stops it, or gives it back, and nothing else.
|
|
198
|
+
*/
|
|
199
|
+
export function computeServingPolicy() {
|
|
200
|
+
const component = "app.kubernetes.io/component";
|
|
201
|
+
const account = `system:serviceaccount:${NAMESPACE}:${neonName("control")}`;
|
|
202
|
+
return admissionPolicy(componentName("compute-serving"), [{ apiGroups: [""], resources: ["pods"], operations: ["UPDATE"] }], `request.userInfo.username == "${account}"`, [
|
|
203
|
+
{ expression: "object.spec == oldObject.spec", message: "neon-control changes no pod's spec" },
|
|
204
|
+
{
|
|
205
|
+
expression: `"${component}" in variables.oldLabels && variables.oldLabels["${component}"] in ${JSON.stringify(COMPUTE_COMPONENTS)}`,
|
|
206
|
+
message: "neon-control labels no pod but a compute's",
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
expression: "object.metadata.?annotations.orValue({}) == oldObject.metadata.?annotations.orValue({}) && " +
|
|
210
|
+
"object.metadata.?finalizers.orValue([]) == oldObject.metadata.?finalizers.orValue([]) && " +
|
|
211
|
+
"object.metadata.?ownerReferences.orValue([]) == oldObject.metadata.?ownerReferences.orValue([])",
|
|
212
|
+
message: "neon-control changes no pod's annotations, finalizers or owners",
|
|
213
|
+
},
|
|
214
|
+
{ expression: unchanged("Labels", [SERVING_LABEL]), message: `neon-control changes no label of a pod's but ${SERVING_LABEL}` },
|
|
215
|
+
{
|
|
216
|
+
expression: `!("${SERVING_LABEL}" in variables.newLabels) || variables.newLabels["${SERVING_LABEL}"] == "true"`,
|
|
217
|
+
message: `neon-control sets ${SERVING_LABEL} to true alone, or takes it off`,
|
|
218
|
+
},
|
|
219
|
+
], [
|
|
220
|
+
{ name: "oldLabels", expression: "oldObject.metadata.?labels.orValue({})" },
|
|
221
|
+
{ name: "newLabels", expression: "object.metadata.?labels.orValue({})" },
|
|
222
|
+
]);
|
|
223
|
+
}
|
|
182
224
|
/** A path segment as sanitizePathToken makes one. */
|
|
183
225
|
const PATH_TOKEN = "[A-Za-z0-9_][A-Za-z0-9_.-]*";
|
|
184
226
|
/** `text`, as a pattern that matches it alone. */
|
|
@@ -209,14 +251,19 @@ const POOL_POD_DEFAULTS = {
|
|
|
209
251
|
container: { terminationMessagePath: "/dev/termination-log", terminationMessagePolicy: "File", resources: ANY },
|
|
210
252
|
probe: { timeoutSeconds: 1, successThreshold: 1, failureThreshold: 3 },
|
|
211
253
|
};
|
|
212
|
-
/**
|
|
213
|
-
|
|
254
|
+
/**
|
|
255
|
+
* `container` of a pool's template, as the API server stores it in a pod (POOL_POD_DEFAULTS):
|
|
256
|
+
* its resources any, as VPA sizes a pool's pod as it is made, and resizes it after
|
|
257
|
+
* (pods/resize).
|
|
258
|
+
*/
|
|
259
|
+
const poolContainer = (container) => templateContainer(container, ANY);
|
|
260
|
+
/** `container` of a template, as the API server stores it in a pod (POOL_POD_DEFAULTS), its resources as `resources` says. */
|
|
261
|
+
function templateContainer(container, resources) {
|
|
214
262
|
const each = container;
|
|
215
263
|
const probe = each["readinessProbe"];
|
|
216
264
|
return defaulted({
|
|
217
265
|
...each,
|
|
218
|
-
|
|
219
|
-
resources: ANY,
|
|
266
|
+
resources,
|
|
220
267
|
...(container.ports ? { ports: container.ports.map((port) => defaulted(port, { protocol: "TCP" })) } : {}),
|
|
221
268
|
...(container.env
|
|
222
269
|
? {
|
|
@@ -375,6 +422,160 @@ export function sandboxPodPolicy(templates, { sessionsNamespace, restores = null
|
|
|
375
422
|
const binding = { apiVersion: "admissionregistration.k8s.io/v1", kind: "ValidatingAdmissionPolicyBinding", metadata, spec: { policyName: name, validationActions: ["Deny"] } };
|
|
376
423
|
return [policy, binding];
|
|
377
424
|
}
|
|
425
|
+
/**
|
|
426
|
+
* What the sandbox gateway, `gateway`, its ServiceAccount, may do to a pod or a Lease of an
|
|
427
|
+
* environment's own namespace, main's or a branch's, where RBAC lets it update and delete pods
|
|
428
|
+
* and write Leases to bind and release its harness pools' (./harness-pools.ts): a pod of one
|
|
429
|
+
* of `pools` alone, which it makes none of, of no other workload beside it; and a Lease of a
|
|
430
|
+
* binding of one of them alone, by its pool's label, as it was and as it is to be, of none of
|
|
431
|
+
* what else keeps Leases there (KEDA's, VPA's, their leaders'). How a pool's pod may change, by
|
|
432
|
+
* anyone, its pool's own policy says (harnessPoolPodPolicy).
|
|
433
|
+
*/
|
|
434
|
+
export function harnessPodPolicy(gateway, pools) {
|
|
435
|
+
// An environment's own namespace, main's or a branch's: not a branch's sessions' namespace,
|
|
436
|
+
// whose name may be of the same form, whose sandbox pods the gateway binds, as its labels say.
|
|
437
|
+
const environments = `request.namespace == ${JSON.stringify(NAMESPACE)} || request.namespace.startsWith(${JSON.stringify(branchNamespace(""))})`;
|
|
438
|
+
const ofNoSessions = { matchExpressions: [{ key: "app.kubernetes.io/component", operator: "NotIn", values: ["session"] }] };
|
|
439
|
+
const ofPools = (labels) => `${JSON.stringify(POOL_LABEL)} in ${labels} && ${labels}[${JSON.stringify(POOL_LABEL)}] in ${JSON.stringify(pools)}`;
|
|
440
|
+
return admissionPolicy(componentName("harness-pods"), [
|
|
441
|
+
{ apiGroups: [""], resources: ["pods"], operations: ["UPDATE", "DELETE"] },
|
|
442
|
+
{ apiGroups: ["coordination.k8s.io"], resources: ["leases"], operations: ["CREATE", "UPDATE", "DELETE"] },
|
|
443
|
+
], `request.userInfo.username == ${JSON.stringify(gateway)} && (${environments})`, [
|
|
444
|
+
{
|
|
445
|
+
expression: `request.resource.resource != 'pods' || (${ofPools("variables.oldLabels")})`,
|
|
446
|
+
message: "the sandbox gateway changes and deletes no pod of an environment's namespace but its harness pools'",
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
expression: `request.resource.resource != 'leases' || ((request.operation == 'CREATE' || (${ofPools("variables.oldLabels")})) && (request.operation == 'DELETE' || (${ofPools("variables.newLabels")})))`,
|
|
450
|
+
message: "the sandbox gateway writes no Lease of an environment's namespace but its harness pools' bindings'",
|
|
451
|
+
},
|
|
452
|
+
], [
|
|
453
|
+
{ name: "oldLabels", expression: "request.operation == 'CREATE' ? {} : oldObject.metadata.?labels.orValue({})" },
|
|
454
|
+
{ name: "newLabels", expression: "request.operation == 'DELETE' ? {} : object.metadata.?labels.orValue({})" },
|
|
455
|
+
], ofNoSessions);
|
|
456
|
+
}
|
|
457
|
+
/**
|
|
458
|
+
* The spec of a pod of the harness pool template `template`, as the API server stores it: as a
|
|
459
|
+
* sandbox pool's pod's (poolPodSpec), and what the API server gives a pod that a harness
|
|
460
|
+
* pool's template leaves out: its DNS policy, the mode of each Secret's volume, each of the
|
|
461
|
+
* machine's paths' type where its mount names none, and the scheme of its readiness probe's
|
|
462
|
+
* request.
|
|
463
|
+
*/
|
|
464
|
+
function harnessPodSpec(template) {
|
|
465
|
+
const spec = template.spec ?? { containers: [] };
|
|
466
|
+
const container = (each) => {
|
|
467
|
+
const probe = each.readinessProbe;
|
|
468
|
+
const httpGet = probe?.httpGet;
|
|
469
|
+
return poolContainer({ ...each, ...(probe && httpGet ? { readinessProbe: { ...probe, httpGet: defaulted(httpGet, { scheme: "HTTP" }) } } : {}) });
|
|
470
|
+
};
|
|
471
|
+
const volumes = (spec.volumes ?? []).map((volume) => volume.secret
|
|
472
|
+
? { ...volume, secret: defaulted(volume.secret, { defaultMode: 420 }) }
|
|
473
|
+
: volume.hostPath && volume.hostPath.type === undefined
|
|
474
|
+
? { ...volume, hostPath: defaulted(volume.hostPath, { type: "" }) }
|
|
475
|
+
: volume);
|
|
476
|
+
const tolerations = (spec.tolerations ?? []);
|
|
477
|
+
return defaulted({
|
|
478
|
+
...spec,
|
|
479
|
+
containers: spec.containers.map(container),
|
|
480
|
+
...(spec.volumes ? { volumes } : {}),
|
|
481
|
+
tolerations: oneOf([...tolerations, ...DEFAULT_TOLERATIONS], [...tolerations, ...[...DEFAULT_TOLERATIONS].reverse()]),
|
|
482
|
+
}, { ...POOL_POD_DEFAULTS.pod, dnsPolicy: "ClusterFirst" });
|
|
483
|
+
}
|
|
484
|
+
/** `templates` by what each is but for its pool's label, in their order. */
|
|
485
|
+
function kindsOf(templates) {
|
|
486
|
+
const kinds = new Map();
|
|
487
|
+
for (const template of templates) {
|
|
488
|
+
const { [POOL_LABEL]: pool = "", ...others } = template.metadata?.labels ?? {};
|
|
489
|
+
const key = JSON.stringify({ ...template, metadata: { ...template.metadata, labels: others } });
|
|
490
|
+
const kind = kinds.get(key) ?? { template, pools: [] };
|
|
491
|
+
kind.pools.push(pool);
|
|
492
|
+
kinds.set(key, kind);
|
|
493
|
+
}
|
|
494
|
+
return [...kinds.values()];
|
|
495
|
+
}
|
|
496
|
+
/** The name of the policy that holds the harness pools' pods of main's environment (`branch` null) or of the branch environment `branch` to their templates. */
|
|
497
|
+
export const harnessPoolPodPolicyName = (branch) => (branch === null ? componentName("harness-pool-pods") : `${componentName("harness-pool-pods")}-${branch}`);
|
|
498
|
+
/**
|
|
499
|
+
* Every pod of a harness pool (./harness-pools.ts) made in the environment's own namespace
|
|
500
|
+
* `namespace`, held to its pool's template, `templates` as `alasio up` renders them for main
|
|
501
|
+
* (`branch` null) or `alasio branch create` for the branch `branch`, of its own
|
|
502
|
+
* configuration, its overrides among it: main's folder conversations' among them, which run
|
|
503
|
+
* as the operator with the machine's mounts, so none is made of another user, other mounts, or
|
|
504
|
+
* capabilities beyond the template's. Each environment's policy is its own, made and deleted
|
|
505
|
+
* with it, as main's alasio up cannot render a branch's templates, whose configuration is the
|
|
506
|
+
* branch's. A pod is made by its Deployment's ReplicaSet, of its template, as the API server
|
|
507
|
+
* stores it (harnessPodSpec), free, of its pool's labels and the template hash alone; a pod
|
|
508
|
+
* labelled of no harness pool is no harness pool's, and is left to what else holds the
|
|
509
|
+
* namespace. A pool's pod changed by anyone, as it was or as it is to be, keeps its spec whole
|
|
510
|
+
* (its resources change by pods/resize, as VPA resizes it, which this does not match), of its
|
|
511
|
+
* labels and annotations changes those a binding has alone and those that keep its node, and
|
|
512
|
+
* of its owners lets go alone; and none gets an ephemeral container, as a sandbox pool's pod
|
|
513
|
+
* gets none (sandboxPodPolicy).
|
|
514
|
+
*
|
|
515
|
+
* It fails closed: where it cannot say, the API server refuses.
|
|
516
|
+
*/
|
|
517
|
+
export function harnessPoolPodPolicy({ namespace, branch, templates }) {
|
|
518
|
+
const name = harnessPoolPodPolicyName(branch);
|
|
519
|
+
const metadata = { name, labels: labels("harness") };
|
|
520
|
+
const pinOf = ({ template, pools }) => {
|
|
521
|
+
const podLabels = { ...(template.metadata?.labels ?? {}), [POOL_LABEL]: oneOf(...pools), "pod-template-hash": ANY_STRING };
|
|
522
|
+
const annotations = { ...(template.metadata?.annotations ?? {}), vpaObservedContainers: optional(ANY_STRING), vpaUpdates: optional(ANY_STRING) };
|
|
523
|
+
return `${pinned("object.spec", harnessPodSpec(template))} && ${pinned("variables.labels", podLabels)} && ${pinned("variables.annotations", annotations)}`;
|
|
524
|
+
};
|
|
525
|
+
// Each kind of template's pin a variable of its own, as CEL holds each expression to 100,000
|
|
526
|
+
// code points; the templates of pools that differ in their pool's label alone pinned once, so
|
|
527
|
+
// the policy stays one the API server compiles in time.
|
|
528
|
+
const pins = kindsOf(templates).map((kind, index) => ({ name: `pin${index}`, expression: pinOf(kind) }));
|
|
529
|
+
const pools = [...new Set(templates.map((template) => template.metadata?.labels?.[POOL_LABEL] ?? ""))];
|
|
530
|
+
const ofPools = (pod) => `has(${pod}.metadata.labels) && ${JSON.stringify(POOL_LABEL)} in ${pod}.metadata.labels && ${pod}.metadata.labels[${JSON.stringify(POOL_LABEL)}] in ${JSON.stringify(pools)}`;
|
|
531
|
+
const bound = [BINDING_LABEL, FREE_LABEL];
|
|
532
|
+
const policy = {
|
|
533
|
+
apiVersion: "admissionregistration.k8s.io/v1",
|
|
534
|
+
kind: "ValidatingAdmissionPolicy",
|
|
535
|
+
metadata,
|
|
536
|
+
spec: {
|
|
537
|
+
failurePolicy: "Fail",
|
|
538
|
+
matchConstraints: {
|
|
539
|
+
resourceRules: [
|
|
540
|
+
{ apiGroups: [""], apiVersions: ["*"], resources: ["pods"], operations: ["CREATE", "UPDATE"] },
|
|
541
|
+
{ apiGroups: [""], apiVersions: ["*"], resources: ["pods/ephemeralcontainers"], operations: ["CREATE", "UPDATE"] },
|
|
542
|
+
],
|
|
543
|
+
},
|
|
544
|
+
matchConditions: [
|
|
545
|
+
{ name: "of-the-environment", expression: `request.namespace == ${JSON.stringify(namespace)}` },
|
|
546
|
+
{ name: "of-harness-pools", expression: `(${ofPools("object")}) || (request.operation == 'UPDATE' && ${ofPools("oldObject")})` },
|
|
547
|
+
],
|
|
548
|
+
variables: [
|
|
549
|
+
{ name: "labels", expression: "object.metadata.?labels.orValue({})" },
|
|
550
|
+
{ name: "annotations", expression: "object.metadata.?annotations.orValue({})" },
|
|
551
|
+
{ name: "oldLabels", expression: "request.operation == 'UPDATE' ? oldObject.metadata.?labels.orValue({}) : {}" },
|
|
552
|
+
{ name: "newLabels", expression: "object.metadata.?labels.orValue({})" },
|
|
553
|
+
{ name: "oldAnnotations", expression: "request.operation == 'UPDATE' ? oldObject.metadata.?annotations.orValue({}) : {}" },
|
|
554
|
+
{ name: "newAnnotations", expression: "object.metadata.?annotations.orValue({})" },
|
|
555
|
+
...pins,
|
|
556
|
+
],
|
|
557
|
+
validations: [
|
|
558
|
+
{ expression: "request.?subResource.orValue('') != 'ephemeralcontainers'", message: "no pod of a harness pool gets an ephemeral container" },
|
|
559
|
+
{
|
|
560
|
+
expression: `request.operation != 'CREATE' || ${pins.map(({ name: each }) => `variables.${each}`).join(" || ") || "false"}`,
|
|
561
|
+
message: "a pod of a harness pool is its pool's template, as alasio up renders it, and nothing else",
|
|
562
|
+
},
|
|
563
|
+
{ expression: "request.operation != 'UPDATE' || object.spec == oldObject.spec", message: "no harness pool's pod's spec changes" },
|
|
564
|
+
{ expression: `request.operation != 'UPDATE' || (${unchanged("Labels", bound)})`, message: `no label of a harness pool's pod changes but ${bound.join(" and ")}, as it is bound` },
|
|
565
|
+
{
|
|
566
|
+
expression: `request.operation != 'UPDATE' || (${unchanged("Annotations", [KEY_ANNOTATION, ...Object.keys(BUSY_ANNOTATIONS)])})`,
|
|
567
|
+
message: `no annotation of a harness pool's pod changes but ${KEY_ANNOTATION} and what keeps its node, as it is bound`,
|
|
568
|
+
},
|
|
569
|
+
{
|
|
570
|
+
expression: "request.operation != 'UPDATE' || object.metadata.?ownerReferences.orValue([]).all(owner, owner in oldObject.metadata.?ownerReferences.orValue([]))",
|
|
571
|
+
message: "a harness pool's pod gets no owner it had not",
|
|
572
|
+
},
|
|
573
|
+
],
|
|
574
|
+
},
|
|
575
|
+
};
|
|
576
|
+
const binding = { apiVersion: "admissionregistration.k8s.io/v1", kind: "ValidatingAdmissionPolicyBinding", metadata, spec: { policyName: name, validationActions: ["Deny"] } };
|
|
577
|
+
return [policy, binding];
|
|
578
|
+
}
|
|
378
579
|
/** The folder pods' policy, which holds every pod of the folder namespace to the folder template (folderPodPolicy). */
|
|
379
580
|
export const FOLDER_POD_POLICY = "alasio-folder-pods";
|
|
380
581
|
/** What stands for a folder instance's pod's own name, and its state directory, in its spec as folderPodSpec makes it, which the policy pins by what they must be. */
|
|
@@ -390,6 +591,20 @@ function folderPodPinned(spec) {
|
|
|
390
591
|
const { map, defaults } = folderPodParts(spec);
|
|
391
592
|
return defaulted(map, defaults);
|
|
392
593
|
}
|
|
594
|
+
/**
|
|
595
|
+
* A folder instance's container's `resources`, its template's: its limits theirs, its CPU
|
|
596
|
+
* request its, and its memory request, where it has one, the gateway's, as it sizes each pod
|
|
597
|
+
* of its folder's instances' use (src/gateway/folders.ts SIZING), between its template's and
|
|
598
|
+
* its limit.
|
|
599
|
+
*/
|
|
600
|
+
function folderResources(resources) {
|
|
601
|
+
const quantities = (of) => Object.fromEntries(Object.entries(of ?? {}).map(([name, value]) => [name, quantityOf(value)]));
|
|
602
|
+
const memory = resources?.requests?.["memory"];
|
|
603
|
+
return {
|
|
604
|
+
...(resources?.limits ? { limits: quantities(resources.limits) } : {}),
|
|
605
|
+
...(resources?.requests ? { requests: { ...quantities(resources.requests), ...(memory ? { memory: quantityWithin(memory, resources.limits?.["memory"]) } : {}) } } : {}),
|
|
606
|
+
};
|
|
607
|
+
}
|
|
393
608
|
/** folderPodPinned's map and the defaults it is pinned with. */
|
|
394
609
|
export function folderPodParts(spec) {
|
|
395
610
|
const tolerations = (spec.tolerations ?? []);
|
|
@@ -397,7 +612,7 @@ export function folderPodParts(spec) {
|
|
|
397
612
|
return {
|
|
398
613
|
map: {
|
|
399
614
|
...spec,
|
|
400
|
-
containers: spec.containers.map(
|
|
615
|
+
containers: spec.containers.map((container) => templateContainer(container, folderResources(container.resources))),
|
|
401
616
|
...(spec.volumes ? { volumes } : {}),
|
|
402
617
|
tolerations: oneOf([...tolerations, ...DEFAULT_TOLERATIONS], [...tolerations, ...[...DEFAULT_TOLERATIONS].reverse()]),
|
|
403
618
|
},
|
|
@@ -430,7 +645,9 @@ function standingFor(value, stands) {
|
|
|
430
645
|
* - A pod made is made by `maker`, the gateway, alone, and is the template's, as the API server
|
|
431
646
|
* stores it (poolPodSpec), with what folderPodSpec adds, alone: its token's Secret, named for
|
|
432
647
|
* it, and its state directory under `stateRoot`, of a harness's and a conversation's names;
|
|
433
|
-
*
|
|
648
|
+
* its bayma's memory request the gateway's, between its template's and its limit
|
|
649
|
+
* (folderResources); bound from the first, to a folder instance's key, its node kept; and
|
|
650
|
+
* named as one.
|
|
434
651
|
* - A pod changed keeps its spec, its labels, and its owners, and of its annotations changes
|
|
435
652
|
* those that keep its node alone.
|
|
436
653
|
* - No pod gets an ephemeral container.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admission.js","sourceRoot":"","sources":["../../../../src/manifests/admission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAIlC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAC9K,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACvJ,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAElF,kJAAkJ;AAClJ,MAAM,KAAK;IACA,GAAG,CAAgD;IAC5D,YAAY,GAAkD;QAC5D,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;CACF;AAKD,gBAAgB;AAChB,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;AACpC,kBAAkB;AAClB,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,UAAU,aAAa,CAAC,CAAC;AAC9E,+CAA+C;AAC/C,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,UAAU,kBAAkB,UAAU,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/J,0DAA0D;AAC1D,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,UAAU,OAAO,KAAK,EAAE,CAAC,CAAC;AACzF,6BAA6B;AAC7B,MAAM,KAAK,GAAG,CAAC,GAAG,YAAsB,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC/J,qEAAqE;AACrE,MAAM,QAAS,SAAQ,KAAK;IACjB,KAAK,CAAS;IACvB,YAAY,KAAa;QACvB,KAAK,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AACD,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAY,EAAE,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;AAKlE,wJAAwJ;AACxJ,MAAM,SAAS,GAAG,CAAC,KAAgB,EAAE,QAA0C,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AAEpK;;;;GAIG;AACH,MAAM,SAAS,GAAG,oCAAoC,CAAC;AAEvD;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,UAAkB,EAAE,QAAgB,EAAE,KAAK,GAAG,CAAC;IACpE,IAAI,QAAQ,YAAY,KAAK;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACtE,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,GAAG,UAAU,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;IACxF,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,QAAQ,UAAU,QAAQ,QAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,UAAU,IAAI,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9J,CAAC;IACD,OAAO,SAAS,CAAC,UAAU,EAAE,QAAqB,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,sGAAsG;AACtG,SAAS,SAAS,CAAC,UAAkB,EAAE,QAAmB,EAAE,QAA0C,EAAE,KAAa;IACnH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC;IAChF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,MAAM,EAAE,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;IACpE,OAAO;QACL,GAAG,UAAU,oBAAoB,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG;QACvE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,KAAK,YAAY,QAAQ;gBAAE,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;YAC/H,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,UAAU,OAAO,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAe,EAAE,KAAK,CAAC,EAAE,CAAC;QACjG,CAAC,CAAC;QACF,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAW,EAAE,KAAK,CAAC,GAAG,CAAC;KAC5H,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC;AAED,sFAAsF;AACtF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,yBAAyB,SAAS,IAAI,OAAO,EAAE,CAAC;AAEpG,iFAAiF;AACjF,MAAM,aAAa,GAAG,8DAA8D,SAAS,IAAI,eAAe,CAAC,EAAE,CAAC,eAAe,OAAO,KAAK,CAAC;AAEhJ,mJAAmJ;AACnJ,SAAS,eAAe,CACtB,IAAY,EACZ,KAA+G,EAC/G,EAAU,EACV,WAAiF,EACjF,SAA6E;IAE7E,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG;QACb,UAAU,EAAE,iCAAiC;QAC7C,IAAI,EAAE,2BAA2B;QACjC,QAAQ;QACR,IAAI,EAAE;YACJ,aAAa,EAAE,MAAM;YACrB,gBAAgB,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE;YAC3F,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;YACxD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,WAAW;SACZ;KACF,CAAC;IACF,MAAM,OAAO,GAAG,EAAE,UAAU,EAAE,iCAAiC,EAAE,IAAI,EAAE,kCAAkC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;IAC/K,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED,8GAA8G;AAC9G,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,IAAuB,EAAE,EAAE,CAC3D,gBAAgB,KAAK,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,4BAA4B,KAAK,oBAAoB,KAAK,yBAAyB,KAAK,aAAa;IAClK,gBAAgB,KAAK,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,2BAA2B,KAAK,GAAG,CAAC;AAEnG;;;;GAIG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,SAAS,GAAG,6BAA6B,CAAC;IAChD,OAAO,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE;QACrI,EAAE,UAAU,EAAE,+BAA+B,EAAE,OAAO,EAAE,8BAA8B,EAAE;QACxF;YACE,UAAU,EAAE,2FAA2F;gBACrG,iGAAiG;YACnG,OAAO,EAAE,8CAA8C;SACxD;QACD;YACE,UAAU,EAAE,iFAAiF,OAAO,OAAO;gBACzG,KAAK,SAAS,oDAAoD,SAAS,iBAAiB;YAC9F,OAAO,EAAE,uDAAuD;SACjE;QACD,EAAE,UAAU,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,0CAA0C,UAAU,EAAE,EAAE;QAClH,EAAE,UAAU,EAAE,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,+CAA+C,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;KAC/K,EAAE;QACD,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,wCAAwC,EAAE;QAC3E,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,qCAAqC,EAAE;QACxE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,6CAA6C,EAAE;QACrF,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,0CAA0C,EAAE;KACnF,CAAC,CAAC;AACL,CAAC;AAED,6GAA6G;AAC7G,MAAM,YAAY,GAAG,mCAAmC,CAAC;AAEzD,8DAA8D;AAC9D,MAAM,iBAAiB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,QAAQ,EAAE,yBAAyB,CAAC,CAAC;AAE/I;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,mBAAmB,KAAK,2BAA2B,KAAK,0BAA0B,KAAK,oBAAoB,KAAK,sBAAsB,KAAK,GAAG,CAAC;IAC/K,MAAM,OAAO,GAAG,yBAAyB,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;IAC5E,OAAO,eAAe,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,iCAAiC,OAAO,GAAG,EAAE;QACpL,EAAE,UAAU,EAAE,2DAA2D,EAAE,OAAO,EAAE,4CAA4C,EAAE;QAClI,EAAE,UAAU,EAAE,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,iGAAiG,EAAE;QACpK;YACE,UAAU,EAAE,mFAAmF;gBAC7F,6FAA6F;gBAC7F,2FAA2F;gBAC3F,iGAAiG;YACnG,OAAO,EAAE,wFAAwF;SAClG;QACD;YACE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;iBAClH,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kCAAkC,KAAK,YAAY,IAAI,0CAA0C,KAAK,YAAY,IAAI,GAAG,CAAC;iBACjJ,IAAI,CAAC,MAAM,CAAC;YACf,OAAO,EAAE,qFAAqF;SAC/F;QACD,EAAE,UAAU,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,sEAAsE,YAAY,EAAE,EAAE;KACxJ,EAAE;QACD,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,2DAA2D,EAAE;QACnG,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,wDAAwD,EAAE;KACjG,CAAC,CAAC;AACL,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,GAAG,6BAA6B,CAAC;AAEjD,kDAAkD;AAClD,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;AAEjF,sCAAsC;AACtC,MAAM,SAAS,GAAG,sCAAsC,CAAC;AAEzD,kBAAkB;AAClB,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,UAAU,oBAAoB,UAAU,aAAa,CAAC,CAAC;AAE5G,wKAAwK;AACxK,MAAM,mBAAmB,GAAsB,CAAC,8BAA8B,EAAE,gCAAgC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AAE3M;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG;IACxB,GAAG,EAAE;QACH,aAAa,EAAE,QAAQ;QACvB,6BAA6B,EAAE,EAAE;QACjC,aAAa,EAAE,mBAAmB;QAClC,kBAAkB,EAAE,SAAS;QAC7B,cAAc,EAAE,SAAS;QACzB,QAAQ,EAAE,UAAU;QACpB,gBAAgB,EAAE,KAAK,CAAC,sBAAsB,EAAE,OAAO,CAAC;KACzD;IACD,SAAS,EAAE,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE;IAC/G,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE;CACtB,CAAC;AAEnD,kGAAkG;AAClG,SAAS,aAAa,CAAC,SAAsB;IAC3C,MAAM,IAAI,GAAG,SAAiC,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAA0B,CAAC;IAC9D,OAAO,SAAS,CAAC;QACf,GAAG,IAAI;QACP,kGAAkG;QAClG,SAAS,EAAE,GAAG;QACd,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAA4B,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClI,GAAG,CAAC,SAAS,CAAC,GAAG;YACf,CAAC,CAAC;gBACA,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAClC,QAAQ,CAAC,SAAS,EAAE,QAAQ;oBAC1B,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAgC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;oBAChI,CAAC,CAAC,QAAQ,CACU;aACzB;YACD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,SAAS,CAAC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChF,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,kLAAkL;AAClL,SAAS,WAAW,CAAC,QAA2B;IAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACjD,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAwB,CAAC;IACpE,OAAO,SAAS,CAAC;QACf,GAAI,IAA6B;QACjC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC;QAC9C,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,yEAAyE;QACzE,WAAW,EAAE,KAAK,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,mBAAmB,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;KACtH,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAaD;;;;GAIG;AACH,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAE,EAAE,CAC5C,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE;IACvB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,kBAAkB,IAAI,SAAS,GAAG,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,eAAe,YAAY,CAAC,MAAM,SAAS,CAAC;IAC1K,OAAO,QAAQ,UAAU,kBAAkB,UAAU,eAAe,GAAG,QAAQ,UAAU,mBAAmB,GAAG,cAAc,IAAI,CAAC,SAAS,CAAC,IAAI,WAAW,GAAG,CAAC,GAAG,CAAC;AACrK,CAAC,CAAC,CAAC;AAEL,0LAA0L;AAC1L,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,UAAU,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,WAAW,GAAG,CAAC,6FAA6F,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAEzO;;;;;GAKG;AACH,SAAS,UAAU,CAAC,QAA2B,EAAE,SAAiB,EAAE,cAAiC;IACnG,+EAA+E;IAC/E,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAChL,MAAM,UAAU,GAAW;QACzB,YAAY,EAAE,EAAE,8CAA8C,EAAE,EAAE,iBAAiB,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;KACtL,CAAC;IACF,0FAA0F;IAC1F,MAAM,SAAS,GAAG,WAAW,CAAC;QAC5B,GAAG,QAAQ;QACX,IAAI,EAAE;YACJ,GAAG,KAAK;YACR,OAAO;YACP,aAAa,EAAE,OAAO;YACtB,gBAAgB,EAAE,KAAK,CAAC,GAAG,cAAc,CAAC;YAC1C,cAAc,EAAE,CAAC,GAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,IAAI,EAAE,CAAyB,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;YACzH,QAAQ,EAAE,UAAU;SACG;KAC1B,CAAC,CAAC;IACH,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAc,CAAC;IACvF,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAe,CAAC;IAClF,MAAM,WAAW,GAAG;QAClB,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,IAAI,EAAE,CAAC;QACzC,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,aAAa,SAAS,EAAE,CAAC;QACpD,GAAG,gBAAgB;QACnB,CAAC,kBAAkB,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC;QAChD,CAAC,yBAAyB,CAAC,EAAE,MAAM;QACnC,qBAAqB,EAAE,QAAQ,CAAC,UAAU,CAAC;QAC3C,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;KACpB,CAAC;IACf,OAAO,IAAI,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,OAAO,MAAM,CAAC,uBAAuB,EAAE,WAAW,CAAC,GAAG,CAAC;AAC7I,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAuC,EAAE,EAAE,iBAAiB,EAAE,QAAQ,GAAG,IAAI,EAAmB;IAC/H,MAAM,IAAI,GAAG,kBAAkB,CAAC;IAChC,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;IACrD,mIAAmI;IACnI,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC,EAAE,mBAAmB,EAAE,UAAU,EAAe,CAAC;QACtG,MAAM,WAAW,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,IAAI,EAAE,CAAC,EAAE,qBAAqB,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAe,CAAC;QAC9J,OAAO,EAAE,IAAI,EAAE,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,OAAO,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,OAAO,MAAM,CAAC,uBAAuB,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC;IAC7L,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,cAAc,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5L,MAAM,QAAQ,GAAG,QAAQ;QACvB,CAAC,CAAC,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,oCAAoC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5M,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,KAAK,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG;QACb,UAAU,EAAE,iCAAiC;QAC7C,IAAI,EAAE,2BAA2B;QACjC,QAAQ;QACR,IAAI,EAAE;YACJ,aAAa,EAAE,MAAM;YACrB,gBAAgB,EAAE;gBAChB,aAAa,EAAE;oBACb,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBAC9F,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,0BAA0B,CAAC,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;iBACnH;aACF;YACD,eAAe,EAAE,CAAC;oBAChB,IAAI,EAAE,aAAa;oBACnB,UAAU,EAAE,wBAAwB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,iCAAiC,IAAI,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG;iBAC1M,CAAC;YACF,SAAS,EAAE;gBACT,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,qCAAqC,EAAE;gBACrE,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,0CAA0C,EAAE;gBAC/E,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,6EAA6E,EAAE;gBAChH,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,qCAAqC,EAAE;gBACxE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,kFAAkF,EAAE;gBAC1H,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,0CAA0C,EAAE;gBAClF,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,yBAAyB,EAAE;gBAC3I,GAAG,IAAI;gBACP,GAAG,SAAS;aACb;YACD,WAAW,EAAE;gBACX,EAAE,UAAU,EAAE,2DAA2D,EAAE,OAAO,EAAE,+DAA+D,EAAE;gBACrJ;oBACE,UAAU,EAAE,yDAAyD,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBACjJ,OAAO,EAAE,mJAAmJ;iBAC7J;gBACD,EAAE,UAAU,EAAE,mDAAmD,EAAE,OAAO,EAAE,gEAAgE,EAAE;gBAC9I,EAAE,UAAU,EAAE,gEAAgE,EAAE,OAAO,EAAE,kDAAkD,EAAE;gBAC7I;oBACE,UAAU,EAAE,0DAA0D,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG;oBACnG,OAAO,EAAE,gDAAgD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB;iBAC/F;gBACD;oBACE,UAAU,EAAE,0DAA0D,SAAS,CAAC,aAAa,EAAE,CAAC,cAAc,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG;oBACrJ,OAAO,EAAE,qDAAqD,cAAc,0CAA0C;iBACvH;gBACD;oBACE,UAAU,EAAE,oJAAoJ;oBAChK,OAAO,EAAE,2DAA2D;iBACrE;aACF;SACF;KACF,CAAC;IACF,MAAM,OAAO,GAAG,EAAE,UAAU,EAAE,iCAAiC,EAAE,IAAI,EAAE,kCAAkC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;IAC/K,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED,uHAAuH;AACvH,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAEtD,sKAAsK;AACtK,MAAM,QAAQ,GAAG,WAAW,CAAC;AAC7B,MAAM,SAAS,GAAG,iBAAiB,CAAC;AAEpC;;;;;GAKG;AACH,SAAS,eAAe,CAAC,IAAe;IACtC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,cAAc,CAAC,IAAe;IAC5C,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAwB,CAAC;IACpE,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAClD,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAI,MAA+B,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAgC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAC9J,CAAC;IACzB,OAAO;QACL,GAAG,EAAE;YACH,GAAI,IAA6B;YACjC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC;YAC9C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpC,WAAW,EAAE,KAAK,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,mBAAmB,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SACtH;QACD,QAAQ,EAAE;YACR,GAAG,iBAAiB,CAAC,GAAG;YACxB,0FAA0F;YAC1F,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE,cAAc,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5H,SAAS,EAAE,cAAc;YACzB,kBAAkB,EAAE,IAAI;SACzB;KACF,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,SAAS,WAAW,CAAC,KAAa,EAAE,MAAuC;IACzE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;IAC7D,IAAI,KAAK,YAAY,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACxF,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACxJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,eAAe,CAAC,QAA2B,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAsF;IAC9K,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;IAC7E,+HAA+H;IAC/H,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAsB,EAAE;QACrI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACxG,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,GAAG,UAAU,IAAI,UAAU,EAAE,CAAC;KAC7F,CAAyB,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAe,CAAC;IAC9I,MAAM,cAAc,GAAG;QACrB,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,IAAI,EAAE,CAAC;QACzC,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC,iBAAiB,CAAC,+BAA+B,CAAC;QAC1F,GAAG,gBAAgB;QACnB,qBAAqB,EAAE,QAAQ,CAAC,UAAU,CAAC;QAC3C,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;KACpB,CAAC;IACf,MAAM,MAAM,GAAG;QACb,UAAU,EAAE,iCAAiC;QAC7C,IAAI,EAAE,2BAA2B;QACjC,QAAQ;QACR,IAAI,EAAE;YACJ,aAAa,EAAE,MAAM;YACrB,gBAAgB,EAAE;gBAChB,aAAa,EAAE;oBACb,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBAC9F,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,0BAA0B,CAAC,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;iBACnH;aACF;YACD,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,wBAAwB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;YAC1G,SAAS,EAAE;gBACT,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,kFAAkF,EAAE;gBAC1H,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,0CAA0C,EAAE;gBAClF,uFAAuF;gBACvF,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE;gBAC/D,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,CAAC,qCAAqC,EAAE,SAAS,CAAC,EAAE;gBAC9F,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,CAAC,0CAA0C,EAAE,cAAc,CAAC,EAAE;aAC9G;YACD,WAAW,EAAE;gBACX,EAAE,UAAU,EAAE,2DAA2D,EAAE,OAAO,EAAE,4DAA4D,EAAE;gBAClJ,EAAE,UAAU,EAAE,iEAAiE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,mEAAmE,EAAE;gBACtL,EAAE,UAAU,EAAE,iEAAiE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,oEAAoE,EAAE;gBACpM,EAAE,UAAU,EAAE,uDAAuD,EAAE,OAAO,EAAE,4GAA4G,EAAE;gBAC9L,EAAE,UAAU,EAAE,yDAAyD,EAAE,OAAO,EAAE,2EAA2E,EAAE;gBAC/J,EAAE,UAAU,EAAE,8DAA8D,EAAE,OAAO,EAAE,6FAA6F,EAAE;gBACtL,EAAE,UAAU,EAAE,gEAAgE,EAAE,OAAO,EAAE,+CAA+C,EAAE;gBAC1I,EAAE,UAAU,EAAE,gHAAgH,EAAE,OAAO,EAAE,gDAAgD,EAAE;gBAC3L;oBACE,UAAU,EAAE,qCAAqC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG;oBAC3G,OAAO,EAAE,0EAA0E;iBACpF;gBACD;oBACE,UAAU,EAAE,oJAAoJ;oBAChK,OAAO,EAAE,wDAAwD;iBAClE;aACF;SACF;KACF,CAAC;IACF,MAAM,OAAO,GAAG,EAAE,UAAU,EAAE,iCAAiC,EAAE,IAAI,EAAE,kCAAkC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;IAC5L,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED,kKAAkK;AAClK,MAAM,UAAU,kBAAkB,CAAC,EAAE,SAAS,EAAE,KAAK,EAA0D;IAC7G,OAAO,eAAe,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,gCAAgC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACjM,UAAU,EAAE,wBAAwB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,oDAAoD;gBAC/G,gCAAgC,IAAI,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO;gBAC/H,mDAAmD;YACrD,OAAO,EAAE,4FAA4F;SACtG,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAE,SAAS,EAAE,KAAK,EAA0D;IAC/G,MAAM,IAAI,GAAG,wCAAwC,CAAC;IACtD,OAAO,eAAe,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,gCAAgC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE;QACrP;YACE,UAAU,EAAE,2EAA2E,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,IAAI,OAAO,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG;YACpP,OAAO,EAAE,oFAAoF;SAC9F;QACD;YACE,UAAU,EAAE,6EAA6E,IAAI,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG;YACpL,OAAO,EAAE,6FAA6F;SACvG;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,iBAAiB,GAAG;IACxB,mBAAmB;IACnB,4BAA4B;IAC5B,QAAQ;IACR,SAAS;IACT,uBAAuB;IACvB,SAAS;IACT,mBAAmB;IACnB,OAAO;IACP,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,WAAW;CACH,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,OAAe,EAAE,SAAiB;IACrF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,MAAM,uEAAuE,OAAO,GAAG,CAAC;IAC9H,OAAO,eAAe,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,iCAAiC,OAAO,GAAG,EAAE;QACnJ;YACE,UAAU,EAAE,wBAAwB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,6CAA6C;gBACzI,8EAA8E,OAAO,GAAG;YAC1F,OAAO,EAAE,6EAA6E;SACvF;QACD;YACE,UAAU,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM;gBAC7D,0EAA0E,OAAO,iCAAiC;YACpH,OAAO,EAAE,wDAAwD,iBAAiB,iBAAiB;SACpG;QACD;YACE,UAAU,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1C,sBAAsB,KAAK,4BAA4B,KAAK,sBAAsB,KAAK,wBAAwB,KAAK,4BAA4B,KAAK,IAAI,CAC1J,CAAC,IAAI,CAAC,MAAM,CAAC;gBACZ,8KAA8K;YAChL,OAAO,EAAE,yGAAyG;SACnH;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"admission.js","sourceRoot":"","sources":["../../../../src/manifests/admission.ts"],"names":[],"mappings":"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"}
|