@metal-stack/api 0.1.7 → 0.2.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.
Files changed (96) hide show
  1. package/js/buf/validate/validate_pb.ts +1 -1
  2. package/js/metalstack/admin/v2/audit_pb.js +1 -1
  3. package/js/metalstack/admin/v2/audit_pb.ts +1 -1
  4. package/js/metalstack/admin/v2/component_pb.js +1 -1
  5. package/js/metalstack/admin/v2/component_pb.ts +1 -1
  6. package/js/metalstack/admin/v2/filesystem_pb.js +1 -1
  7. package/js/metalstack/admin/v2/filesystem_pb.ts +1 -1
  8. package/js/metalstack/admin/v2/image_pb.js +1 -1
  9. package/js/metalstack/admin/v2/image_pb.ts +1 -1
  10. package/js/metalstack/admin/v2/ip_pb.js +1 -1
  11. package/js/metalstack/admin/v2/ip_pb.ts +1 -1
  12. package/js/metalstack/admin/v2/machine_pb.d.ts +47 -1
  13. package/js/metalstack/admin/v2/machine_pb.js +12 -2
  14. package/js/metalstack/admin/v2/machine_pb.ts +55 -3
  15. package/js/metalstack/admin/v2/network_pb.js +1 -1
  16. package/js/metalstack/admin/v2/network_pb.ts +1 -1
  17. package/js/metalstack/admin/v2/partition_pb.js +1 -1
  18. package/js/metalstack/admin/v2/partition_pb.ts +1 -1
  19. package/js/metalstack/admin/v2/project_pb.d.ts +4 -11
  20. package/js/metalstack/admin/v2/project_pb.js +2 -2
  21. package/js/metalstack/admin/v2/project_pb.ts +6 -14
  22. package/js/metalstack/admin/v2/size_imageconstraint_pb.js +1 -1
  23. package/js/metalstack/admin/v2/size_imageconstraint_pb.ts +1 -1
  24. package/js/metalstack/admin/v2/size_pb.js +1 -1
  25. package/js/metalstack/admin/v2/size_pb.ts +1 -1
  26. package/js/metalstack/admin/v2/size_reservation_pb.js +1 -1
  27. package/js/metalstack/admin/v2/size_reservation_pb.ts +1 -1
  28. package/js/metalstack/admin/v2/switch_pb.js +1 -1
  29. package/js/metalstack/admin/v2/switch_pb.ts +1 -1
  30. package/js/metalstack/admin/v2/task_pb.js +1 -1
  31. package/js/metalstack/admin/v2/task_pb.ts +1 -1
  32. package/js/metalstack/admin/v2/tenant_pb.d.ts +97 -1
  33. package/js/metalstack/admin/v2/tenant_pb.js +22 -2
  34. package/js/metalstack/admin/v2/tenant_pb.ts +116 -3
  35. package/js/metalstack/admin/v2/token_pb.js +1 -1
  36. package/js/metalstack/admin/v2/token_pb.ts +1 -1
  37. package/js/metalstack/admin/v2/vpn_pb.js +1 -1
  38. package/js/metalstack/admin/v2/vpn_pb.ts +1 -1
  39. package/js/metalstack/api/v2/audit_pb.js +1 -1
  40. package/js/metalstack/api/v2/audit_pb.ts +1 -1
  41. package/js/metalstack/api/v2/common_pb.d.ts +40 -3
  42. package/js/metalstack/api/v2/common_pb.js +8 -3
  43. package/js/metalstack/api/v2/common_pb.ts +44 -7
  44. package/js/metalstack/api/v2/component_pb.js +1 -1
  45. package/js/metalstack/api/v2/component_pb.ts +1 -1
  46. package/js/metalstack/api/v2/filesystem_pb.js +1 -1
  47. package/js/metalstack/api/v2/filesystem_pb.ts +1 -1
  48. package/js/metalstack/api/v2/health_pb.js +1 -1
  49. package/js/metalstack/api/v2/health_pb.ts +1 -1
  50. package/js/metalstack/api/v2/image_pb.js +1 -1
  51. package/js/metalstack/api/v2/image_pb.ts +1 -1
  52. package/js/metalstack/api/v2/ip_pb.js +1 -1
  53. package/js/metalstack/api/v2/ip_pb.ts +1 -1
  54. package/js/metalstack/api/v2/machine_pb.d.ts +239 -1
  55. package/js/metalstack/api/v2/machine_pb.js +150 -3
  56. package/js/metalstack/api/v2/machine_pb.ts +282 -4
  57. package/js/metalstack/api/v2/method_pb.js +1 -1
  58. package/js/metalstack/api/v2/method_pb.ts +1 -1
  59. package/js/metalstack/api/v2/network_pb.js +1 -1
  60. package/js/metalstack/api/v2/network_pb.ts +1 -1
  61. package/js/metalstack/api/v2/partition_pb.js +1 -1
  62. package/js/metalstack/api/v2/partition_pb.ts +1 -1
  63. package/js/metalstack/api/v2/predefined_rules_pb.js +1 -1
  64. package/js/metalstack/api/v2/predefined_rules_pb.ts +1 -1
  65. package/js/metalstack/api/v2/project_pb.d.ts +24 -6
  66. package/js/metalstack/api/v2/project_pb.js +32 -27
  67. package/js/metalstack/api/v2/project_pb.ts +55 -34
  68. package/js/metalstack/api/v2/size_imageconstraint_pb.js +1 -1
  69. package/js/metalstack/api/v2/size_imageconstraint_pb.ts +1 -1
  70. package/js/metalstack/api/v2/size_pb.js +1 -1
  71. package/js/metalstack/api/v2/size_pb.ts +1 -1
  72. package/js/metalstack/api/v2/size_reservation_pb.js +1 -1
  73. package/js/metalstack/api/v2/size_reservation_pb.ts +1 -1
  74. package/js/metalstack/api/v2/switch_pb.js +1 -1
  75. package/js/metalstack/api/v2/switch_pb.ts +1 -1
  76. package/js/metalstack/api/v2/tenant_pb.js +1 -1
  77. package/js/metalstack/api/v2/tenant_pb.ts +1 -1
  78. package/js/metalstack/api/v2/token_pb.js +1 -1
  79. package/js/metalstack/api/v2/token_pb.ts +1 -1
  80. package/js/metalstack/api/v2/user_pb.js +1 -1
  81. package/js/metalstack/api/v2/user_pb.ts +1 -1
  82. package/js/metalstack/api/v2/version_pb.js +1 -1
  83. package/js/metalstack/api/v2/version_pb.ts +1 -1
  84. package/js/metalstack/api/v2/vpn_pb.js +1 -1
  85. package/js/metalstack/api/v2/vpn_pb.ts +1 -1
  86. package/js/metalstack/infra/v2/bmc_pb.js +1 -1
  87. package/js/metalstack/infra/v2/bmc_pb.ts +1 -1
  88. package/js/metalstack/infra/v2/boot_pb.js +1 -1
  89. package/js/metalstack/infra/v2/boot_pb.ts +1 -1
  90. package/js/metalstack/infra/v2/component_pb.js +1 -1
  91. package/js/metalstack/infra/v2/component_pb.ts +1 -1
  92. package/js/metalstack/infra/v2/event_pb.js +1 -1
  93. package/js/metalstack/infra/v2/event_pb.ts +1 -1
  94. package/js/metalstack/infra/v2/switch_pb.js +1 -1
  95. package/js/metalstack/infra/v2/switch_pb.ts +1 -1
  96. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
- import type { Timestamp } from "@bufbuild/protobuf/wkt";
2
+ import type { Duration, Timestamp } from "@bufbuild/protobuf/wkt";
3
3
  import type { Labels, Meta, UpdateLabels, UpdateMeta } from "./common_pb";
4
4
  import type { FilesystemLayout } from "./filesystem_pb";
5
5
  import type { Image } from "./image_pb";
@@ -1892,6 +1892,114 @@ export type MachineHardwareQuery = Message<"metalstack.api.v2.MachineHardwareQue
1892
1892
  * Use `create(MachineHardwareQuerySchema)` to create a new message.
1893
1893
  */
1894
1894
  export declare const MachineHardwareQuerySchema: GenMessage<MachineHardwareQuery>;
1895
+ /**
1896
+ * MachineIssuesQuery defines which machine issues should be listed
1897
+ *
1898
+ * @generated from message metalstack.api.v2.MachineIssuesQuery
1899
+ */
1900
+ export type MachineIssuesQuery = Message<"metalstack.api.v2.MachineIssuesQuery"> & {
1901
+ /**
1902
+ * MachineQuery to select specific machines
1903
+ *
1904
+ * @generated from field: metalstack.api.v2.MachineQuery machine_query = 1;
1905
+ */
1906
+ machineQuery?: MachineQuery | undefined;
1907
+ /**
1908
+ * Only a list of machine issue types to include
1909
+ *
1910
+ * @generated from field: repeated metalstack.api.v2.MachineIssueType only = 2;
1911
+ */
1912
+ only: MachineIssueType[];
1913
+ /**
1914
+ * Omit a list of machine issues to omit
1915
+ *
1916
+ * @generated from field: repeated metalstack.api.v2.MachineIssueType omit = 3;
1917
+ */
1918
+ omit: MachineIssueType[];
1919
+ /**
1920
+ * Severity filters issue for given severity
1921
+ *
1922
+ * @generated from field: optional metalstack.api.v2.MachineIssueSeverity severity = 4;
1923
+ */
1924
+ severity?: MachineIssueSeverity | undefined;
1925
+ /**
1926
+ * LastErrorThreshold defines the last error threshold
1927
+ *
1928
+ * @generated from field: google.protobuf.Duration last_error_threshold = 5;
1929
+ */
1930
+ lastErrorThreshold?: Duration | undefined;
1931
+ };
1932
+ /**
1933
+ * Describes the message metalstack.api.v2.MachineIssuesQuery.
1934
+ * Use `create(MachineIssuesQuerySchema)` to create a new message.
1935
+ */
1936
+ export declare const MachineIssuesQuerySchema: GenMessage<MachineIssuesQuery>;
1937
+ /**
1938
+ * MachineIssues is a list of issues for a machine
1939
+ *
1940
+ * @generated from message metalstack.api.v2.MachineIssues
1941
+ */
1942
+ export type MachineIssues = Message<"metalstack.api.v2.MachineIssues"> & {
1943
+ /**
1944
+ * UUID of the machine for which the issues are listed
1945
+ *
1946
+ * @generated from field: string uuid = 1;
1947
+ */
1948
+ uuid: string;
1949
+ /**
1950
+ * Issues of this machine
1951
+ *
1952
+ * @generated from field: repeated metalstack.api.v2.MachineIssue issues = 2;
1953
+ */
1954
+ issues: MachineIssue[];
1955
+ };
1956
+ /**
1957
+ * Describes the message metalstack.api.v2.MachineIssues.
1958
+ * Use `create(MachineIssuesSchema)` to create a new message.
1959
+ */
1960
+ export declare const MachineIssuesSchema: GenMessage<MachineIssues>;
1961
+ /**
1962
+ * MachineIssue contains details of one issue
1963
+ *
1964
+ * @generated from message metalstack.api.v2.MachineIssue
1965
+ */
1966
+ export type MachineIssue = Message<"metalstack.api.v2.MachineIssue"> & {
1967
+ /**
1968
+ * Type specifies the issue type (id)
1969
+ *
1970
+ * @generated from field: metalstack.api.v2.MachineIssueType type = 1;
1971
+ */
1972
+ type: MachineIssueType;
1973
+ /**
1974
+ * Severity specifies the severity of an issue
1975
+ *
1976
+ * @generated from field: metalstack.api.v2.MachineIssueSeverity severity = 2;
1977
+ */
1978
+ severity: MachineIssueSeverity;
1979
+ /**
1980
+ * Description provides an issue description
1981
+ *
1982
+ * @generated from field: string description = 3;
1983
+ */
1984
+ description: string;
1985
+ /**
1986
+ * RefURL provides a link to a more detailed issue description in the metal-stack documentation
1987
+ *
1988
+ * @generated from field: string reference_url = 4;
1989
+ */
1990
+ referenceUrl: string;
1991
+ /**
1992
+ * Details may contain additional details on an evaluated issue
1993
+ *
1994
+ * @generated from field: string details = 5;
1995
+ */
1996
+ details: string;
1997
+ };
1998
+ /**
1999
+ * Describes the message metalstack.api.v2.MachineIssue.
2000
+ * Use `create(MachineIssueSchema)` to create a new message.
2001
+ */
2002
+ export declare const MachineIssueSchema: GenMessage<MachineIssue>;
1895
2003
  /**
1896
2004
  * IPProtocol defines tcp|udp
1897
2005
  *
@@ -2215,6 +2323,136 @@ export declare enum MachineBMCCommand {
2215
2323
  * Describes the enum metalstack.api.v2.MachineBMCCommand.
2216
2324
  */
2217
2325
  export declare const MachineBMCCommandSchema: GenEnum<MachineBMCCommand>;
2326
+ /**
2327
+ * MachineIssueType defines which type of issue it is
2328
+ *
2329
+ * @generated from enum metalstack.api.v2.MachineIssueType
2330
+ */
2331
+ export declare enum MachineIssueType {
2332
+ /**
2333
+ * MACHINE_ISSUE_TYPE_UNSPECIFIED type is not specified
2334
+ *
2335
+ * @generated from enum value: MACHINE_ISSUE_TYPE_UNSPECIFIED = 0;
2336
+ */
2337
+ UNSPECIFIED = 0,
2338
+ /**
2339
+ * MACHINE_ISSUE_TYPE_ASN_UNIQUENESS machine asn is not unique
2340
+ *
2341
+ * @generated from enum value: MACHINE_ISSUE_TYPE_ASN_UNIQUENESS = 1;
2342
+ */
2343
+ ASN_UNIQUENESS = 1,
2344
+ /**
2345
+ * MACHINE_ISSUE_TYPE_BMC_INFO_OUTDATED machine bmc info out of date
2346
+ *
2347
+ * @generated from enum value: MACHINE_ISSUE_TYPE_BMC_INFO_OUTDATED = 2;
2348
+ */
2349
+ BMC_INFO_OUTDATED = 2,
2350
+ /**
2351
+ * MACHINE_ISSUE_TYPE_BMC_NON_DISTINCT_IP machine bmc ip is not distinct
2352
+ *
2353
+ * @generated from enum value: MACHINE_ISSUE_TYPE_BMC_NON_DISTINCT_IP = 3;
2354
+ */
2355
+ BMC_NON_DISTINCT_IP = 3,
2356
+ /**
2357
+ * MACHINE_ISSUE_TYPE_BMC_WITHOUT_IP machine bmc without ip
2358
+ *
2359
+ * @generated from enum value: MACHINE_ISSUE_TYPE_BMC_WITHOUT_IP = 4;
2360
+ */
2361
+ BMC_WITHOUT_IP = 4,
2362
+ /**
2363
+ * MACHINE_ISSUE_TYPE_BMC_WITHOUT_MAC machine bmc without mac address
2364
+ *
2365
+ * @generated from enum value: MACHINE_ISSUE_TYPE_BMC_WITHOUT_MAC = 5;
2366
+ */
2367
+ BMC_WITHOUT_MAC = 5,
2368
+ /**
2369
+ * MACHINE_ISSUE_TYPE_CRASH_LOOP machine is in crashloop
2370
+ *
2371
+ * @generated from enum value: MACHINE_ISSUE_TYPE_CRASH_LOOP = 6;
2372
+ */
2373
+ CRASH_LOOP = 6,
2374
+ /**
2375
+ * MACHINE_ISSUE_TYPE_FAILED_MACHINE_RECLAIM machine was not freed after delete
2376
+ *
2377
+ * @generated from enum value: MACHINE_ISSUE_TYPE_FAILED_MACHINE_RECLAIM = 7;
2378
+ */
2379
+ FAILED_MACHINE_RECLAIM = 7,
2380
+ /**
2381
+ * MACHINE_ISSUE_TYPE_LAST_EVENT_ERROR machine last event error
2382
+ *
2383
+ * @generated from enum value: MACHINE_ISSUE_TYPE_LAST_EVENT_ERROR = 8;
2384
+ */
2385
+ LAST_EVENT_ERROR = 8,
2386
+ /**
2387
+ * MACHINE_ISSUE_TYPE_LIVELINESS_DEAD machine is dead
2388
+ *
2389
+ * @generated from enum value: MACHINE_ISSUE_TYPE_LIVELINESS_DEAD = 9;
2390
+ */
2391
+ LIVELINESS_DEAD = 9,
2392
+ /**
2393
+ * MACHINE_ISSUE_TYPE_LIVELINESS_NOT_AVAILABLE machine liveliness is not available
2394
+ *
2395
+ * @generated from enum value: MACHINE_ISSUE_TYPE_LIVELINESS_NOT_AVAILABLE = 10;
2396
+ */
2397
+ LIVELINESS_NOT_AVAILABLE = 10,
2398
+ /**
2399
+ * MACHINE_ISSUE_TYPE_LIVELINESS_UNKNOWN machine liveliness is unknown
2400
+ *
2401
+ * @generated from enum value: MACHINE_ISSUE_TYPE_LIVELINESS_UNKNOWN = 11;
2402
+ */
2403
+ LIVELINESS_UNKNOWN = 11,
2404
+ /**
2405
+ * MACHINE_ISSUE_TYPE_NO_EVENT_CONTAINER machine does not have a event container
2406
+ *
2407
+ * @generated from enum value: MACHINE_ISSUE_TYPE_NO_EVENT_CONTAINER = 12;
2408
+ */
2409
+ NO_EVENT_CONTAINER = 12,
2410
+ /**
2411
+ * MACHINE_ISSUE_TYPE_NO_PARTITION no partition set
2412
+ *
2413
+ * @generated from enum value: MACHINE_ISSUE_TYPE_NO_PARTITION = 13;
2414
+ */
2415
+ NO_PARTITION = 13
2416
+ }
2417
+ /**
2418
+ * Describes the enum metalstack.api.v2.MachineIssueType.
2419
+ */
2420
+ export declare const MachineIssueTypeSchema: GenEnum<MachineIssueType>;
2421
+ /**
2422
+ * MachineIssueSeverity defines the severity of an issue
2423
+ *
2424
+ * @generated from enum metalstack.api.v2.MachineIssueSeverity
2425
+ */
2426
+ export declare enum MachineIssueSeverity {
2427
+ /**
2428
+ * MACHINE_ISSUE_SEVERITY_UNSPECIFIED severity is not specified
2429
+ *
2430
+ * @generated from enum value: MACHINE_ISSUE_SEVERITY_UNSPECIFIED = 0;
2431
+ */
2432
+ UNSPECIFIED = 0,
2433
+ /**
2434
+ * MACHINE_ISSUE_SEVERITY_MINOR machine issues is of severity minor
2435
+ *
2436
+ * @generated from enum value: MACHINE_ISSUE_SEVERITY_MINOR = 1;
2437
+ */
2438
+ MINOR = 1,
2439
+ /**
2440
+ * MACHINE_ISSUE_SEVERITY_MAJOR machine issues is of severity major
2441
+ *
2442
+ * @generated from enum value: MACHINE_ISSUE_SEVERITY_MAJOR = 2;
2443
+ */
2444
+ MAJOR = 2,
2445
+ /**
2446
+ * MACHINE_ISSUE_SEVERITY_CRITICAL machine issues is of severity critical
2447
+ *
2448
+ * @generated from enum value: MACHINE_ISSUE_SEVERITY_CRITICAL = 3;
2449
+ */
2450
+ CRITICAL = 3
2451
+ }
2452
+ /**
2453
+ * Describes the enum metalstack.api.v2.MachineIssueSeverity.
2454
+ */
2455
+ export declare const MachineIssueSeveritySchema: GenEnum<MachineIssueSeverity>;
2218
2456
  /**
2219
2457
  * MachineService provides machine lifecycle management operations.
2220
2458
  *
@@ -1,9 +1,9 @@
1
- // @generated by protoc-gen-es v2.12.0 with parameter "target=ts"
1
+ // @generated by protoc-gen-es v2.12.1 with parameter "target=ts"
2
2
  // @generated from file metalstack/api/v2/machine.proto (package metalstack.api.v2, syntax proto3)
3
3
  /* eslint-disable */
4
4
  import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
5
5
  import { file_buf_validate_validate } from "../../../buf/validate/validate_pb";
6
- import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
6
+ import { file_google_protobuf_duration, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
7
7
  import { file_metalstack_api_v2_common } from "./common_pb";
8
8
  import { file_metalstack_api_v2_filesystem } from "./filesystem_pb";
9
9
  import { file_metalstack_api_v2_image } from "./image_pb";
@@ -14,7 +14,7 @@ import { file_metalstack_api_v2_size } from "./size_pb";
14
14
  /**
15
15
  * Describes the file metalstack/api/v2/machine.proto.
16
16
  */
17
- export const file_metalstack_api_v2_machine = /*@__PURE__*/ fileDesc("Ch9tZXRhbHN0YWNrL2FwaS92Mi9tYWNoaW5lLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJNChhNYWNoaW5lU2VydmljZUdldFJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQEiSAoZTWFjaGluZVNlcnZpY2VHZXRSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZSKVBwobTWFjaGluZVNlcnZpY2VDcmVhdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEhsKBHV1aWQYAiABKAlCCLpIBXIDsAEBSACIAQESGQoEbmFtZRgDIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESHgoIaG9zdG5hbWUYBSABKAlCB7pIBHICaAFIAogBARIjCglwYXJ0aXRpb24YBiABKAlCC7pICHIG0LOusQIBSAOIAQESHgoEc2l6ZRgHIAEoCUILukgIcgbAs66xAgFIBIgBARIaCgVpbWFnZRgIIAEoCUILukgIcgbAs66xAgESKwoRZmlsZXN5c3RlbV9sYXlvdXQYCSABKAlCC7pICHIGwLOusQIBSAWIAQESMQoPc3NoX3B1YmxpY19rZXlzGAogAygJQhi6SBWSARLQpLOxAgEQMiIIcgaItK6xAgESJgoIdXNlcmRhdGEYCyABKAlCD7pIDHIK8LOusQIBGICAAkgGiAEBEikKBmxhYmVscxgMIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxJHCghuZXR3b3JrcxgNIAMoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uTmV0d29ya0IIukgFkgECCAESIAoOcGxhY2VtZW50X3RhZ3MYDiADKAlCCLpIBZIBAhBAEjsKC2Ruc19zZXJ2ZXJzGA8gAygLMhwubWV0YWxzdGFjay5hcGkudjIuRE5TU2VydmVyQgi6SAWSAQIQAxI7CgtudHBfc2VydmVycxgQIAMoCzIcLm1ldGFsc3RhY2suYXBpLnYyLk5UUFNlcnZlckIIukgFkgECEAoSSwoPYWxsb2NhdGlvbl90eXBlGBEgASgOMigubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25UeXBlQgi6SAWCAQIQARI2Cg1maXJld2FsbF9zcGVjGBIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuRmlyZXdhbGxTcGVjQgcKBV91dWlkQg4KDF9kZXNjcmlwdGlvbkILCglfaG9zdG5hbWVCDAoKX3BhcnRpdGlvbkIHCgVfc2l6ZUIUChJfZmlsZXN5c3RlbV9sYXlvdXRCCwoJX3VzZXJkYXRhIkgKDEZpcmV3YWxsU3BlYxI4Cg5maXJld2FsbF9ydWxlcxgBIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsUnVsZXMiSwocTWFjaGluZVNlcnZpY2VDcmVhdGVSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZSK3AgobTWFjaGluZVNlcnZpY2VVcGRhdGVSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEjoKC3VwZGF0ZV9tZXRhGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTWV0YUIGukgDyAEBEhkKB3Byb2plY3QYAyABKAlCCLpIBXIDsAEBEiUKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECAUgAiAEBEjQKBmxhYmVscxgFIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZUxhYmVsc0gBiAEBEjEKD3NzaF9wdWJsaWNfa2V5cxgGIAMoCUIYukgVkgES0KSzsQIBEDIiCHIGiLSusQIBQg4KDF9kZXNjcmlwdGlvbkIJCgdfbGFiZWxzIksKHE1hY2hpbmVTZXJ2aWNlVXBkYXRlUmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUiZgoZTWFjaGluZVNlcnZpY2VMaXN0UmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIuCgVxdWVyeRgCIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVRdWVyeSJKChpNYWNoaW5lU2VydmljZUxpc3RSZXNwb25zZRIsCghtYWNoaW5lcxgBIAMoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUiUAobTWFjaGluZVNlcnZpY2VEZWxldGVSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBIksKHE1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUilQEKH01hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQESPwoHY29tbWFuZBgDIAEoDjIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNDb21tYW5kQgi6SAWCAQIQASIiCiBNYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXNwb25zZSJQChtNYWNoaW5lU2VydmljZUdldEJNQ1JlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQEiaAocTWFjaGluZVNlcnZpY2VHZXRCTUNSZXNwb25zZRIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIwCgNibWMYAiABKAsyIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DUmVwb3J0IrIDCgdNYWNoaW5lEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEi8KCXBhcnRpdGlvbhgDIAEoCzIcLm1ldGFsc3RhY2suYXBpLnYyLlBhcnRpdGlvbhIWCgRyYWNrGAQgASgJQgi6SAVyAxiAARIlCgRzaXplGAUgASgLMhcubWV0YWxzdGFjay5hcGkudjIuU2l6ZRI0CghoYXJkd2FyZRgGIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVIYXJkd2FyZRI4CgphbGxvY2F0aW9uGAcgASgLMiQubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb24SMAoGc3RhdHVzGAggASgLMiAubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVN0YXR1cxJWChpyZWNlbnRfcHJvdmlzaW9uaW5nX2V2ZW50cxgJIAEoCzIyLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVSZWNlbnRQcm92aXNpb25pbmdFdmVudHMi7wEKDU1hY2hpbmVTdGF0dXMSNgoJY29uZGl0aW9uGAEgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUNvbmRpdGlvbhJECglsZWRfc3RhdGUYAiABKAsyMS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQ2hhc3Npc0lkZW50aWZ5TEVEU3RhdGUSQgoKbGl2ZWxpbmVzcxgDIAEoDjIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVMaXZlbGluZXNzQgi6SAWCAQIQARIcChRtZXRhbF9oYW1tZXJfdmVyc2lvbhgEIAEoCSKIAQoQTWFjaGluZUNvbmRpdGlvbhI4CgVzdGF0ZRgBIAEoDjIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0ZUIIukgFggECEAESIAoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBEhgKBmlzc3VlchgDIAEoCUIIukgFcgMYgAIihAYKEU1hY2hpbmVBbGxvY2F0aW9uEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhkKBG5hbWUYAyABKAlCC7pICHIGwLOusQIBEiAKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECARIcCgpjcmVhdGVkX2J5GAUgASgJQgi6SAVyAxiAARIZCgdwcm9qZWN0GAYgASgJQgi6SAVyA7ABARInCgVpbWFnZRgHIAEoCzIYLm1ldGFsc3RhY2suYXBpLnYyLkltYWdlEj4KEWZpbGVzeXN0ZW1fbGF5b3V0GAggASgLMiMubWV0YWxzdGFjay5hcGkudjIuRmlsZXN5c3RlbUxheW91dBIzCghuZXR3b3JrcxgJIAMoCzIhLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOZXR3b3JrEhkKCGhvc3RuYW1lGAogASgJQge6SARyAmgBEjEKD3NzaF9wdWJsaWNfa2V5cxgLIAMoCUIYukgVkgES0KSzsQIBEDIiCHIGiLSusQIBEiEKCHVzZXJkYXRhGAwgASgJQg+6SAxyCvCzrrECARiAgAISSwoPYWxsb2NhdGlvbl90eXBlGA0gASgOMigubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25UeXBlQgi6SAWCAQIQARI4Cg5maXJld2FsbF9ydWxlcxgOIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsUnVsZXMSOwoLZG5zX3NlcnZlcnMYDyADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5ETlNTZXJ2ZXJCCLpIBZIBAhADEjsKC250cF9zZXJ2ZXJzGBAgAygLMhwubWV0YWxzdGFjay5hcGkudjIuTlRQU2VydmVyQgi6SAWSAQIQChIqCgN2cG4YESABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lVlBOIlMKGE1hY2hpbmVBbGxvY2F0aW9uTmV0d29yaxIcCgduZXR3b3JrGAEgASgJQgu6SAhyBsCzrrECARIZCgNpcHMYAiADKAlCDLpICZIBBsCks7ECASJ/Cg1GaXJld2FsbFJ1bGVzEjUKBmVncmVzcxgBIAMoCzIlLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsRWdyZXNzUnVsZRI3CgdpbmdyZXNzGAIgAygLMiYubWV0YWxzdGFjay5hcGkudjIuRmlyZXdhbGxJbmdyZXNzUnVsZSKyAQoSRmlyZXdhbGxFZ3Jlc3NSdWxlEjkKCHByb3RvY29sGAEgASgOMh0ubWV0YWxzdGFjay5hcGkudjIuSVBQcm90b2NvbEIIukgFggECEAESHQoFcG9ydHMYAiADKA1CDrpIC5IBCCIGKgQY/P8DEhgKAnRvGAMgAygJQgy6SAmSAQa4pLOxAgESKAoHY29tbWVudBgEIAEoCUIXukgU2AEBcg8YZDILXlthLXpfIC1dKiQizwEKE0ZpcmV3YWxsSW5ncmVzc1J1bGUSOQoIcHJvdG9jb2wYASABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5JUFByb3RvY29sQgi6SAWCAQIQARIdCgVwb3J0cxgCIAMoDUIOukgLkgEIIgYqBBj8/wMSGAoCdG8YAyADKAlCDLpICZIBBriks7ECARIaCgRmcm9tGAQgAygJQgy6SAmSAQa4pLOxAgESKAoHY29tbWVudBgFIAEoCUIXukgU2AEBcg8YZDILXlthLXpfIC1dKiQixgIKDk1hY2hpbmVOZXR3b3JrEg8KB25ldHdvcmsYASABKAkSHgoIcHJlZml4ZXMYAiADKAlCDLpICZIBBriks7ECARIqChRkZXN0aW5hdGlvbl9wcmVmaXhlcxgDIAMoCUIMukgJkgEGuKSzsQIBEhkKA2lwcxgEIAMoCUIMukgJkgEGwKSzsQIBEj4KDG5ldHdvcmtfdHlwZRgFIAEoDjIeLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtUeXBlQgi6SAWCAQIQARI2CghuYXRfdHlwZRgGIAEoDjIaLm1ldGFsc3RhY2suYXBpLnYyLk5BVFR5cGVCCLpIBYIBAhABEgsKA3ZyZhgHIAEoBBILCgNhc24YCCABKA0SHgoHcHJvamVjdBgJIAEoCUIIukgFcgOwAQFIAIgBAUIKCghfcHJvamVjdCLaAQoPTWFjaGluZUhhcmR3YXJlEg4KBm1lbW9yeRgBIAEoBBI0CgVkaXNrcxgCIAMoCzIlLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCbG9ja0RldmljZRIpCgRjcHVzGAMgAygLMhsubWV0YWxzdGFjay5hcGkudjIuTWV0YWxDUFUSKQoEZ3B1cxgEIAMoCzIbLm1ldGFsc3RhY2suYXBpLnYyLk1ldGFsR1BVEisKBG5pY3MYBSADKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmljIl0KCE1ldGFsQ1BVEhgKBnZlbmRvchgBIAEoCUIIukgFcgMYgAISFwoFbW9kZWwYAiABKAlCCLpIBXIDGIACEg0KBWNvcmVzGAMgASgNEg8KB3RocmVhZHMYBCABKA0iPQoITWV0YWxHUFUSGAoGdmVuZG9yGAEgASgJQgi6SAVyAxiAAhIXCgVtb2RlbBgCIAEoCUIIukgFcgMYgAIi5QEKCk1hY2hpbmVOaWMSGAoDbWFjGAEgASgJQgu6SAhyBrizrrECARIZCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECARIcCgppZGVudGlmaWVyGAMgASgJQgi6SAVyAxiAARIYCgZ2ZW5kb3IYBCABKAlCCLpIBXIDGIABEhcKBW1vZGVsGAUgASgJQgi6SAVyAxiAARINCgVzcGVlZBgGIAEoBBIwCgluZWlnaGJvcnMYByADKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmljEhAKCGhvc3RuYW1lGAggASgJIj0KEk1hY2hpbmVCbG9ja0RldmljZRIZCgRuYW1lGAEgASgJQgu6SAhyBsCzrrECARIMCgRzaXplGAIgASgEIlsKHk1hY2hpbmVDaGFzc2lzSWRlbnRpZnlMRURTdGF0ZRIXCgV2YWx1ZRgBIAEoCUIIukgFcgMYgAESIAoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBIooDChBNYWNoaW5lQk1DUmVwb3J0EioKA2JtYxgBIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUMSLAoEYmlvcxgCIAEoCzIeLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCaW9zEioKA2ZydRgDIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVGUlUSOwoMcG93ZXJfbWV0cmljGAQgASgLMiUubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVBvd2VyTWV0cmljEj0KDnBvd2VyX3N1cHBsaWVzGAUgAygLMiUubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVBvd2VyU3VwcGx5EkQKCWxlZF9zdGF0ZRgGIAEoCzIxLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVDaGFzc2lzSWRlbnRpZnlMRURTdGF0ZRIuCgp1cGRhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJjCgtNYWNoaW5lQmlvcxIcCgd2ZXJzaW9uGAEgASgJQgu6SAhyBsizrrECARIbCgZ2ZW5kb3IYAiABKAlCC7pICHIGyLOusQIBEhkKBGRhdGUYAyABKAlCC7pICHIGyLOusQIBItsBCgpNYWNoaW5lQk1DEhkKB2FkZHJlc3MYASABKAlCCLpIBXIDgAIBEhgKA21hYxgCIAEoCUILukgIcga4s66xAgESGQoEdXNlchgDIAEoCUILukgIcgbIs66xAgESHQoIcGFzc3dvcmQYBCABKAlCC7pICHIGyLOusQIBEh4KCWludGVyZmFjZRgFIAEoCUILukgIcgbIs66xAgESHAoHdmVyc2lvbhgGIAEoCUILukgIcgbIs66xAgESIAoLcG93ZXJfc3RhdGUYByABKAlCC7pICHIGyLOusQIBIp4ECgpNYWNoaW5lRlJVEi0KE2NoYXNzaXNfcGFydF9udW1iZXIYASABKAlCC7pICHIGyLOusQIBSACIAQESLQoTY2hhc3Npc19wYXJ0X3NlcmlhbBgCIAEoCUILukgIcgbIs66xAgFIAYgBARIjCglib2FyZF9tZmcYAyABKAlCC7pICHIGyLOusQIBSAKIAQESKgoQYm9hcmRfbWZnX3NlcmlhbBgEIAEoCUILukgIcgbIs66xAgFIA4gBARIrChFib2FyZF9wYXJ0X251bWJlchgFIAEoCUILukgIcgbIs66xAgFIBIgBARIuChRwcm9kdWN0X21hbnVmYWN0dXJlchgGIAEoCUILukgIcgbIs66xAgFIBYgBARItChNwcm9kdWN0X3BhcnRfbnVtYmVyGAcgASgJQgu6SAhyBsizrrECAUgGiAEBEigKDnByb2R1Y3Rfc2VyaWFsGAggASgJQgu6SAhyBsizrrECAUgHiAEBQhYKFF9jaGFzc2lzX3BhcnRfbnVtYmVyQhYKFF9jaGFzc2lzX3BhcnRfc2VyaWFsQgwKCl9ib2FyZF9tZmdCEwoRX2JvYXJkX21mZ19zZXJpYWxCFAoSX2JvYXJkX3BhcnRfbnVtYmVyQhcKFV9wcm9kdWN0X21hbnVmYWN0dXJlckIWChRfcHJvZHVjdF9wYXJ0X251bWJlckIRCg9fcHJvZHVjdF9zZXJpYWwihQEKEk1hY2hpbmVQb3dlck1ldHJpYxIeChZhdmVyYWdlX2NvbnN1bWVkX3dhdHRzGAEgASgCEhcKD2ludGVydmFsX2luX21pbhgCIAEoAhIaChJtYXhfY29uc3VtZWRfd2F0dHMYAyABKAISGgoSbWluX2NvbnN1bWVkX3dhdHRzGAQgASgCIjMKEk1hY2hpbmVQb3dlclN1cHBseRIOCgZoZWFsdGgYASABKAkSDQoFc3RhdGUYAiABKAkipQIKH01hY2hpbmVSZWNlbnRQcm92aXNpb25pbmdFdmVudHMSOwoGZXZlbnRzGAEgAygLMisubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50EjMKD2xhc3RfZXZlbnRfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASRQoQbGFzdF9lcnJvcl9ldmVudBgDIAEoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVQcm92aXNpb25pbmdFdmVudBJJCgVzdGF0ZRgEIAEoDjIwLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVQcm92aXNpb25pbmdFdmVudFN0YXRlQgi6SAWCAQIQASKfAQoYTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50EigKBHRpbWUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkgKBWV2ZW50GAIgASgOMi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50VHlwZUIIukgFggECEAESDwoHbWVzc2FnZRgDIAEoCSJrCgpNYWNoaW5lVlBOEh0KFWNvbnRyb2xfcGxhbmVfYWRkcmVzcxgBIAEoCRIQCghhdXRoX2tleRgCIAEoCRIRCgljb25uZWN0ZWQYAyABKAgSGQoDaXBzGAQgAygJQgy6SAmSAQbApLOxAgEivAcKDE1hY2hpbmVRdWVyeRIbCgR1dWlkGAEgASgJQgi6SAVyA7ABAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESIwoJcGFydGl0aW9uGAMgASgJQgu6SAhyBtCzrrECAUgCiAEBEh4KBHNpemUYBCABKAlCC7pICHIGwLOusQIBSAOIAQESHQoEcmFjaxgFIAEoCUIKukgHcgUQAhiAAUgEiAEBEi4KBmxhYmVscxgGIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gFiAEBEkIKCmFsbG9jYXRpb24YByABKAsyKS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQWxsb2NhdGlvblF1ZXJ5SAaIAQESPAoHbmV0d29yaxgIIAEoCzImLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOZXR3b3JrUXVlcnlIB4gBARI0CgNuaWMYCSABKAsyIi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmljUXVlcnlICIgBARI2CgRkaXNrGAogASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZURpc2tRdWVyeUgJiAEBEjQKA2JtYxgLIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNRdWVyeUgKiAEBEjQKA2ZydRgMIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVGUlVRdWVyeUgLiAEBEj4KCGhhcmR3YXJlGA0gASgLMicubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUhhcmR3YXJlUXVlcnlIDIgBARIzCgVzdGF0ZRgOIAEoDjIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0ZUgNiAEBEhQKB3dhaXRpbmcYDyABKAhIDogBARIZCgxwcmVhbGxvY2F0ZWQYECABKAhID4gBARIaCg1ub3RfYWxsb2NhdGVkGBEgASgISBCIAQFCBwoFX3V1aWRCBwoFX25hbWVCDAoKX3BhcnRpdGlvbkIHCgVfc2l6ZUIHCgVfcmFja0IJCgdfbGFiZWxzQg0KC19hbGxvY2F0aW9uQgoKCF9uZXR3b3JrQgYKBF9uaWNCBwoFX2Rpc2tCBgoEX2JtY0IGCgRfZnJ1QgsKCV9oYXJkd2FyZUIICgZfc3RhdGVCCgoIX3dhaXRpbmdCDwoNX3ByZWFsbG9jYXRlZEIQCg5fbm90X2FsbG9jYXRlZCKIBAoWTWFjaGluZUFsbG9jYXRpb25RdWVyeRIbCgR1dWlkGAEgASgJQgi6SAVyA7ABAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESHgoHcHJvamVjdBgDIAEoCUIIukgFcgOwAQFIAogBARIfCgVpbWFnZRgEIAEoCUILukgIcgbAs66xAgFIA4gBARIrChFmaWxlc3lzdGVtX2xheW91dBgFIAEoCUILukgIcgbAs66xAgFIBIgBARIeCghob3N0bmFtZRgGIAEoCUIHukgEcgJoAUgFiAEBElAKD2FsbG9jYXRpb25fdHlwZRgHIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAFIBogBARIuCgZsYWJlbHMYCCABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHNIB4gBARIvCgN2cG4YCSABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lVlBOSAiIAQFCBwoFX3V1aWRCBwoFX25hbWVCCgoIX3Byb2plY3RCCAoGX2ltYWdlQhQKEl9maWxlc3lzdGVtX2xheW91dEILCglfaG9zdG5hbWVCEgoQX2FsbG9jYXRpb25fdHlwZUIJCgdfbGFiZWxzQgYKBF92cG4iqgEKE01hY2hpbmVOZXR3b3JrUXVlcnkSEAoIbmV0d29ya3MYASADKAkSHgoIcHJlZml4ZXMYAiADKAlCDLpICZIBBriks7ECARIqChRkZXN0aW5hdGlvbl9wcmVmaXhlcxgDIAMoCUIMukgJkgEGuKSzsQIBEhkKA2lwcxgEIAMoCUIMukgJkgEGwKSzsQIBEgwKBHZyZnMYBSADKAQSDAoEYXNucxgGIAMoDSKvAQoPTWFjaGluZU5pY1F1ZXJ5EiIKBG1hY3MYASADKAlCFLpIEZIBDhBkGAEiCHIGuLOusQIBEiAKBW5hbWVzGAIgAygJQhG6SA6SAQsQZBgBIgVyAxiAARIrCg1uZWlnaGJvcl9tYWNzGAMgAygJQhS6SBGSAQ4QZBgBIghyBrizrrECARIpCg5uZWlnaGJvcl9uYW1lcxgEIAMoCUIRukgOkgELEGQYASIFcgMYgAEiSwoQTWFjaGluZURpc2tRdWVyeRIeCgVuYW1lcxgBIAMoCUIPukgMkgEJEGQiBXIDGIABEhcKBXNpemVzGAIgAygEQgi6SAWSAQIQZCK5AQoPTWFjaGluZUJNQ1F1ZXJ5Eh0KB2FkZHJlc3MYASABKAlCB7pIBHICcAFIAIgBARIdCgNtYWMYAiABKAlCC7pICHIGuLOusQIBSAGIAQESGwoEdXNlchgDIAEoCUIIukgFcgMYgAFIAogBARIgCglpbnRlcmZhY2UYBCABKAlCCLpIBXIDGIABSAOIAQFCCgoIX2FkZHJlc3NCBgoEX21hY0IHCgVfdXNlckIMCgpfaW50ZXJmYWNlIoMECg9NYWNoaW5lRlJVUXVlcnkSKgoTY2hhc3Npc19wYXJ0X251bWJlchgBIAEoCUIIukgFcgMYgAFIAIgBARIqChNjaGFzc2lzX3BhcnRfc2VyaWFsGAIgASgJQgi6SAVyAxiAAUgBiAEBEiAKCWJvYXJkX21mZxgDIAEoCUIIukgFcgMYgAFIAogBARIjCgxib2FyZF9zZXJpYWwYBCABKAlCCLpIBXIDGIABSAOIAQESKAoRYm9hcmRfcGFydF9udW1iZXIYBSABKAlCCLpIBXIDGIABSASIAQESKwoUcHJvZHVjdF9tYW51ZmFjdHVyZXIYBiABKAlCCLpIBXIDGIABSAWIAQESKgoTcHJvZHVjdF9wYXJ0X251bWJlchgHIAEoCUIIukgFcgMYgAFIBogBARIlCg5wcm9kdWN0X3NlcmlhbBgIIAEoCUIIukgFcgMYgAFIB4gBAUIWChRfY2hhc3Npc19wYXJ0X251bWJlckIWChRfY2hhc3Npc19wYXJ0X3NlcmlhbEIMCgpfYm9hcmRfbWZnQg8KDV9ib2FyZF9zZXJpYWxCFAoSX2JvYXJkX3BhcnRfbnVtYmVyQhcKFV9wcm9kdWN0X21hbnVmYWN0dXJlckIWChRfcHJvZHVjdF9wYXJ0X251bWJlckIRCg9fcHJvZHVjdF9zZXJpYWwiXAoUTWFjaGluZUhhcmR3YXJlUXVlcnkSEwoGbWVtb3J5GAEgASgESACIAQESFgoJY3B1X2NvcmVzGAIgASgNSAGIAQFCCQoHX21lbW9yeUIMCgpfY3B1X2NvcmVzKmUKCklQUHJvdG9jb2wSGwoXSVBfUFJPVE9DT0xfVU5TUEVDSUZJRUQQABIcCg9JUF9QUk9UT0NPTF9UQ1AQARoHgrIZA3RjcBIcCg9JUF9QUk9UT0NPTF9VRFAQAhoHgrIZA3VkcCqtAQoMTWFjaGluZVN0YXRlEiMKGU1BQ0hJTkVfU1RBVEVfVU5TUEVDSUZJRUQQABoEgrIZABImChVNQUNISU5FX1NUQVRFX1RBSU5URUQQARoLgrIZB3RhaW50ZWQSJAoUTUFDSElORV9TVEFURV9MT0NLRUQQAhoKgrIZBmxvY2tlZBIqChdNQUNISU5FX1NUQVRFX0FWQUlMQUJMRRADGg2CshkJYXZhaWxhYmxlKt8BCh1NYWNoaW5lUHJvdmlzaW9uaW5nRXZlbnRTdGF0ZRI2CixNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9VTlNQRUNJRklFRBAAGgSCshkAEj0KKk1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1NUQVRFX0NSQVNITE9PUBABGg2CshkJY3Jhc2hsb29wEkcKL01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1NUQVRFX0ZBSUxFRF9SRUNMQUlNEAIaEoKyGQ5mYWlsZWQtcmVjbGFpbSqfBgocTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50VHlwZRIvCitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1VOU1BFQ0lGSUVEEAASNAolTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9BTElWRRABGgmCshkFQWxpdmUSOAonTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9DUkFTSEVEEAIaC4KyGQdDcmFzaGVkEkAKK01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUFhFX0JPT1RJTkcQAxoPgrIZC1BYRSBCb290aW5nEkYKLk1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUExBTk5FRF9SRUJPT1QQBBoSgrIZDlBsYW5uZWQgUmVib290EjwKKU1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUFJFUEFSSU5HEAUaDYKyGQlQcmVwYXJpbmcSQAorTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9SRUdJU1RFUklORxAGGg+CshkLUmVnaXN0ZXJpbmcSOAonTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9XQUlUSU5HEAcaC4KyGQdXYWl0aW5nEj4KKk1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfSU5TVEFMTElORxAIGg6CshkKSW5zdGFsbGluZxJOCjJNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX0JPT1RJTkdfTkVXX0tFUk5FTBAJGhaCshkSQm9vdGluZyBOZXcgS2VybmVsEkAKK01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUEhPTkVEX0hPTUUQChoPgrIZC1Bob25lZCBIb21lEkgKL01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfTUFDSElORV9SRUNMQUlNEAsaE4KyGQ9NYWNoaW5lIFJlY2xhaW0qugEKEU1hY2hpbmVMaXZlbGluZXNzEigKHk1BQ0hJTkVfTElWRUxJTkVTU19VTlNQRUNJRklFRBAAGgSCshkAEicKGE1BQ0hJTkVfTElWRUxJTkVTU19BTElWRRABGgmCshkFYWxpdmUSJQoXTUFDSElORV9MSVZFTElORVNTX0RFQUQQAhoIgrIZBGRlYWQSKwoaTUFDSElORV9MSVZFTElORVNTX1VOS05PV04QAxoLgrIZB3Vua25vd24qrAEKFU1hY2hpbmVBbGxvY2F0aW9uVHlwZRItCiNNQUNISU5FX0FMTE9DQVRJT05fVFlQRV9VTlNQRUNJRklFRBAAGgSCshkAEjAKH01BQ0hJTkVfQUxMT0NBVElPTl9UWVBFX01BQ0hJTkUQARoLgrIZB21hY2hpbmUSMgogTUFDSElORV9BTExPQ0FUSU9OX1RZUEVfRklSRVdBTEwQAhoMgrIZCGZpcmV3YWxsKv4EChFNYWNoaW5lQk1DQ29tbWFuZBIjCh9NQUNISU5FX0JNQ19DT01NQU5EX1VOU1BFQ0lGSUVEEAASIgoWTUFDSElORV9CTUNfQ09NTUFORF9PThABGgaCshkCb24SJAoXTUFDSElORV9CTUNfQ09NTUFORF9PRkYQAhoHgrIZA29mZhIoChlNQUNISU5FX0JNQ19DT01NQU5EX1JFU0VUEAMaCYKyGQVyZXNldBIoChlNQUNISU5FX0JNQ19DT01NQU5EX0NZQ0xFEAQaCYKyGQVjeWNsZRI2CiBNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfVE9fQklPUxAFGhCCshkMYm9vdC10by1iaW9zEjoKIk1BQ0hJTkVfQk1DX0NPTU1BTkRfQk9PVF9GUk9NX0RJU0sQBhoSgrIZDmJvb3QtZnJvbS1kaXNrEjgKIU1BQ0hJTkVfQk1DX0NPTU1BTkRfQk9PVF9GUk9NX1BYRRAHGhGCshkNYm9vdC1mcm9tLXB4ZRI8CiNNQUNISU5FX0JNQ19DT01NQU5EX0lERU5USUZZX0xFRF9PThAIGhOCshkPaWRlbnRpZnktbGVkLW9uEj4KJE1BQ0hJTkVfQk1DX0NPTU1BTkRfSURFTlRJRllfTEVEX09GRhAJGhSCshkQaWRlbnRpZnktbGVkLW9mZhI8CiNNQUNISU5FX0JNQ19DT01NQU5EX01BQ0hJTkVfREVMRVRFRBAKGhOCshkPbWFjaGluZS1kZWxldGVkEjwKI01BQ0hJTkVfQk1DX0NPTU1BTkRfTUFDSElORV9DUkVBVEVEEAsaE4KyGQ9tYWNoaW5lLWNyZWF0ZWQy0QYKDk1hY2hpbmVTZXJ2aWNlEm0KA0dldBIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlR2V0UmVxdWVzdBosLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlR2V0UmVzcG9uc2UiC8rzGAMBAgPg8xgCEnUKBkNyZWF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQ3JlYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQ3JlYXRlUmVzcG9uc2UiCsrzGAIBAuDzGAESdQoGVXBkYXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VVcGRhdGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VVcGRhdGVSZXNwb25zZSIKyvMYAgEC4PMYARJwCgRMaXN0EiwubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VMaXN0UmVxdWVzdBotLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlTGlzdFJlc3BvbnNlIgvK8xgDAQID4PMYAhJ1CgZEZWxldGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZURlbGV0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZURlbGV0ZVJlc3BvbnNlIgrK8xgCAQLg8xgBEoEBCgpCTUNDb21tYW5kEjIubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VCTUNDb21tYW5kUmVxdWVzdBozLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlc3BvbnNlIgrK8xgCAQLg8xgBEnUKBkdldEJNQxIuLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlR2V0Qk1DUmVzcG9uc2UiCsrzGAIBAuDzGAFCwgEKFWNvbS5tZXRhbHN0YWNrLmFwaS52MkIMTWFjaGluZVByb3RvUAFaNWdpdGh1Yi5jb20vbWV0YWwtc3RhY2svYXBpL2dvL21ldGFsc3RhY2svYXBpL3YyO2FwaXYyogIDTUFYqgIRTWV0YWxzdGFjay5BcGkuVjLKAhFNZXRhbHN0YWNrXEFwaVxWMuICHU1ldGFsc3RhY2tcQXBpXFYyXEdQQk1ldGFkYXRh6gITTWV0YWxzdGFjazo6QXBpOjpWMmIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_filesystem, file_metalstack_api_v2_image, file_metalstack_api_v2_network, file_metalstack_api_v2_partition, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_size]);
17
+ export const file_metalstack_api_v2_machine = /*@__PURE__*/ fileDesc("Ch9tZXRhbHN0YWNrL2FwaS92Mi9tYWNoaW5lLnByb3RvEhFtZXRhbHN0YWNrLmFwaS52MiJNChhNYWNoaW5lU2VydmljZUdldFJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQEiSAoZTWFjaGluZVNlcnZpY2VHZXRSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZSKVBwobTWFjaGluZVNlcnZpY2VDcmVhdGVSZXF1ZXN0EhkKB3Byb2plY3QYASABKAlCCLpIBXIDsAEBEhsKBHV1aWQYAiABKAlCCLpIBXIDsAEBSACIAQESGQoEbmFtZRgDIAEoCUILukgIcgbAs66xAgESJQoLZGVzY3JpcHRpb24YBCABKAlCC7pICHIGyLOusQIBSAGIAQESHgoIaG9zdG5hbWUYBSABKAlCB7pIBHICaAFIAogBARIjCglwYXJ0aXRpb24YBiABKAlCC7pICHIG0LOusQIBSAOIAQESHgoEc2l6ZRgHIAEoCUILukgIcgbAs66xAgFIBIgBARIaCgVpbWFnZRgIIAEoCUILukgIcgbAs66xAgESKwoRZmlsZXN5c3RlbV9sYXlvdXQYCSABKAlCC7pICHIGwLOusQIBSAWIAQESMQoPc3NoX3B1YmxpY19rZXlzGAogAygJQhi6SBWSARLQpLOxAgEQMiIIcgaItK6xAgESJgoIdXNlcmRhdGEYCyABKAlCD7pIDHIK8LOusQIBGICAAkgGiAEBEikKBmxhYmVscxgMIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVscxJHCghuZXR3b3JrcxgNIAMoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uTmV0d29ya0IIukgFkgECCAESIAoOcGxhY2VtZW50X3RhZ3MYDiADKAlCCLpIBZIBAhBAEjsKC2Ruc19zZXJ2ZXJzGA8gAygLMhwubWV0YWxzdGFjay5hcGkudjIuRE5TU2VydmVyQgi6SAWSAQIQAxI7CgtudHBfc2VydmVycxgQIAMoCzIcLm1ldGFsc3RhY2suYXBpLnYyLk5UUFNlcnZlckIIukgFkgECEAoSSwoPYWxsb2NhdGlvbl90eXBlGBEgASgOMigubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25UeXBlQgi6SAWCAQIQARI2Cg1maXJld2FsbF9zcGVjGBIgASgLMh8ubWV0YWxzdGFjay5hcGkudjIuRmlyZXdhbGxTcGVjQgcKBV91dWlkQg4KDF9kZXNjcmlwdGlvbkILCglfaG9zdG5hbWVCDAoKX3BhcnRpdGlvbkIHCgVfc2l6ZUIUChJfZmlsZXN5c3RlbV9sYXlvdXRCCwoJX3VzZXJkYXRhIkgKDEZpcmV3YWxsU3BlYxI4Cg5maXJld2FsbF9ydWxlcxgBIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsUnVsZXMiSwocTWFjaGluZVNlcnZpY2VDcmVhdGVSZXNwb25zZRIrCgdtYWNoaW5lGAEgASgLMhoubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZSK3AgobTWFjaGluZVNlcnZpY2VVcGRhdGVSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEjoKC3VwZGF0ZV9tZXRhGAIgASgLMh0ubWV0YWxzdGFjay5hcGkudjIuVXBkYXRlTWV0YUIGukgDyAEBEhkKB3Byb2plY3QYAyABKAlCCLpIBXIDsAEBEiUKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECAUgAiAEBEjQKBmxhYmVscxgFIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLlVwZGF0ZUxhYmVsc0gBiAEBEjEKD3NzaF9wdWJsaWNfa2V5cxgGIAMoCUIYukgVkgES0KSzsQIBEDIiCHIGiLSusQIBQg4KDF9kZXNjcmlwdGlvbkIJCgdfbGFiZWxzIksKHE1hY2hpbmVTZXJ2aWNlVXBkYXRlUmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUiZgoZTWFjaGluZVNlcnZpY2VMaXN0UmVxdWVzdBIZCgdwcm9qZWN0GAEgASgJQgi6SAVyA7ABARIuCgVxdWVyeRgCIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVRdWVyeSJKChpNYWNoaW5lU2VydmljZUxpc3RSZXNwb25zZRIsCghtYWNoaW5lcxgBIAMoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUiUAobTWFjaGluZVNlcnZpY2VEZWxldGVSZXF1ZXN0EhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEhkKB3Byb2plY3QYAiABKAlCCLpIBXIDsAEBIksKHE1hY2hpbmVTZXJ2aWNlRGVsZXRlUmVzcG9uc2USKwoHbWFjaGluZRgBIAEoCzIaLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmUilQEKH01hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQESPwoHY29tbWFuZBgDIAEoDjIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNDb21tYW5kQgi6SAWCAQIQASIiCiBNYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXNwb25zZSJQChtNYWNoaW5lU2VydmljZUdldEJNQ1JlcXVlc3QSFgoEdXVpZBgBIAEoCUIIukgFcgOwAQESGQoHcHJvamVjdBgCIAEoCUIIukgFcgOwAQEiaAocTWFjaGluZVNlcnZpY2VHZXRCTUNSZXNwb25zZRIWCgR1dWlkGAEgASgJQgi6SAVyA7ABARIwCgNibWMYAiABKAsyIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQk1DUmVwb3J0IrIDCgdNYWNoaW5lEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEi8KCXBhcnRpdGlvbhgDIAEoCzIcLm1ldGFsc3RhY2suYXBpLnYyLlBhcnRpdGlvbhIWCgRyYWNrGAQgASgJQgi6SAVyAxiAARIlCgRzaXplGAUgASgLMhcubWV0YWxzdGFjay5hcGkudjIuU2l6ZRI0CghoYXJkd2FyZRgGIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVIYXJkd2FyZRI4CgphbGxvY2F0aW9uGAcgASgLMiQubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb24SMAoGc3RhdHVzGAggASgLMiAubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVN0YXR1cxJWChpyZWNlbnRfcHJvdmlzaW9uaW5nX2V2ZW50cxgJIAEoCzIyLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVSZWNlbnRQcm92aXNpb25pbmdFdmVudHMi7wEKDU1hY2hpbmVTdGF0dXMSNgoJY29uZGl0aW9uGAEgASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUNvbmRpdGlvbhJECglsZWRfc3RhdGUYAiABKAsyMS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQ2hhc3Npc0lkZW50aWZ5TEVEU3RhdGUSQgoKbGl2ZWxpbmVzcxgDIAEoDjIkLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVMaXZlbGluZXNzQgi6SAWCAQIQARIcChRtZXRhbF9oYW1tZXJfdmVyc2lvbhgEIAEoCSKIAQoQTWFjaGluZUNvbmRpdGlvbhI4CgVzdGF0ZRgBIAEoDjIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0ZUIIukgFggECEAESIAoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBEhgKBmlzc3VlchgDIAEoCUIIukgFcgMYgAIihAYKEU1hY2hpbmVBbGxvY2F0aW9uEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEiUKBG1ldGEYAiABKAsyFy5tZXRhbHN0YWNrLmFwaS52Mi5NZXRhEhkKBG5hbWUYAyABKAlCC7pICHIGwLOusQIBEiAKC2Rlc2NyaXB0aW9uGAQgASgJQgu6SAhyBsizrrECARIcCgpjcmVhdGVkX2J5GAUgASgJQgi6SAVyAxiAARIZCgdwcm9qZWN0GAYgASgJQgi6SAVyA7ABARInCgVpbWFnZRgHIAEoCzIYLm1ldGFsc3RhY2suYXBpLnYyLkltYWdlEj4KEWZpbGVzeXN0ZW1fbGF5b3V0GAggASgLMiMubWV0YWxzdGFjay5hcGkudjIuRmlsZXN5c3RlbUxheW91dBIzCghuZXR3b3JrcxgJIAMoCzIhLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOZXR3b3JrEhkKCGhvc3RuYW1lGAogASgJQge6SARyAmgBEjEKD3NzaF9wdWJsaWNfa2V5cxgLIAMoCUIYukgVkgES0KSzsQIBEDIiCHIGiLSusQIBEiEKCHVzZXJkYXRhGAwgASgJQg+6SAxyCvCzrrECARiAgAISSwoPYWxsb2NhdGlvbl90eXBlGA0gASgOMigubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUFsbG9jYXRpb25UeXBlQgi6SAWCAQIQARI4Cg5maXJld2FsbF9ydWxlcxgOIAEoCzIgLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsUnVsZXMSOwoLZG5zX3NlcnZlcnMYDyADKAsyHC5tZXRhbHN0YWNrLmFwaS52Mi5ETlNTZXJ2ZXJCCLpIBZIBAhADEjsKC250cF9zZXJ2ZXJzGBAgAygLMhwubWV0YWxzdGFjay5hcGkudjIuTlRQU2VydmVyQgi6SAWSAQIQChIqCgN2cG4YESABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lVlBOIlMKGE1hY2hpbmVBbGxvY2F0aW9uTmV0d29yaxIcCgduZXR3b3JrGAEgASgJQgu6SAhyBsCzrrECARIZCgNpcHMYAiADKAlCDLpICZIBBsCks7ECASJ/Cg1GaXJld2FsbFJ1bGVzEjUKBmVncmVzcxgBIAMoCzIlLm1ldGFsc3RhY2suYXBpLnYyLkZpcmV3YWxsRWdyZXNzUnVsZRI3CgdpbmdyZXNzGAIgAygLMiYubWV0YWxzdGFjay5hcGkudjIuRmlyZXdhbGxJbmdyZXNzUnVsZSKyAQoSRmlyZXdhbGxFZ3Jlc3NSdWxlEjkKCHByb3RvY29sGAEgASgOMh0ubWV0YWxzdGFjay5hcGkudjIuSVBQcm90b2NvbEIIukgFggECEAESHQoFcG9ydHMYAiADKA1CDrpIC5IBCCIGKgQY/P8DEhgKAnRvGAMgAygJQgy6SAmSAQa4pLOxAgESKAoHY29tbWVudBgEIAEoCUIXukgU2AEBcg8YZDILXlthLXpfIC1dKiQizwEKE0ZpcmV3YWxsSW5ncmVzc1J1bGUSOQoIcHJvdG9jb2wYASABKA4yHS5tZXRhbHN0YWNrLmFwaS52Mi5JUFByb3RvY29sQgi6SAWCAQIQARIdCgVwb3J0cxgCIAMoDUIOukgLkgEIIgYqBBj8/wMSGAoCdG8YAyADKAlCDLpICZIBBriks7ECARIaCgRmcm9tGAQgAygJQgy6SAmSAQa4pLOxAgESKAoHY29tbWVudBgFIAEoCUIXukgU2AEBcg8YZDILXlthLXpfIC1dKiQixgIKDk1hY2hpbmVOZXR3b3JrEg8KB25ldHdvcmsYASABKAkSHgoIcHJlZml4ZXMYAiADKAlCDLpICZIBBriks7ECARIqChRkZXN0aW5hdGlvbl9wcmVmaXhlcxgDIAMoCUIMukgJkgEGuKSzsQIBEhkKA2lwcxgEIAMoCUIMukgJkgEGwKSzsQIBEj4KDG5ldHdvcmtfdHlwZRgFIAEoDjIeLm1ldGFsc3RhY2suYXBpLnYyLk5ldHdvcmtUeXBlQgi6SAWCAQIQARI2CghuYXRfdHlwZRgGIAEoDjIaLm1ldGFsc3RhY2suYXBpLnYyLk5BVFR5cGVCCLpIBYIBAhABEgsKA3ZyZhgHIAEoBBILCgNhc24YCCABKA0SHgoHcHJvamVjdBgJIAEoCUIIukgFcgOwAQFIAIgBAUIKCghfcHJvamVjdCLaAQoPTWFjaGluZUhhcmR3YXJlEg4KBm1lbW9yeRgBIAEoBBI0CgVkaXNrcxgCIAMoCzIlLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCbG9ja0RldmljZRIpCgRjcHVzGAMgAygLMhsubWV0YWxzdGFjay5hcGkudjIuTWV0YWxDUFUSKQoEZ3B1cxgEIAMoCzIbLm1ldGFsc3RhY2suYXBpLnYyLk1ldGFsR1BVEisKBG5pY3MYBSADKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmljIl0KCE1ldGFsQ1BVEhgKBnZlbmRvchgBIAEoCUIIukgFcgMYgAISFwoFbW9kZWwYAiABKAlCCLpIBXIDGIACEg0KBWNvcmVzGAMgASgNEg8KB3RocmVhZHMYBCABKA0iPQoITWV0YWxHUFUSGAoGdmVuZG9yGAEgASgJQgi6SAVyAxiAAhIXCgVtb2RlbBgCIAEoCUIIukgFcgMYgAIi5QEKCk1hY2hpbmVOaWMSGAoDbWFjGAEgASgJQgu6SAhyBrizrrECARIZCgRuYW1lGAIgASgJQgu6SAhyBsCzrrECARIcCgppZGVudGlmaWVyGAMgASgJQgi6SAVyAxiAARIYCgZ2ZW5kb3IYBCABKAlCCLpIBXIDGIABEhcKBW1vZGVsGAUgASgJQgi6SAVyAxiAARINCgVzcGVlZBgGIAEoBBIwCgluZWlnaGJvcnMYByADKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmljEhAKCGhvc3RuYW1lGAggASgJIj0KEk1hY2hpbmVCbG9ja0RldmljZRIZCgRuYW1lGAEgASgJQgu6SAhyBsCzrrECARIMCgRzaXplGAIgASgEIlsKHk1hY2hpbmVDaGFzc2lzSWRlbnRpZnlMRURTdGF0ZRIXCgV2YWx1ZRgBIAEoCUIIukgFcgMYgAESIAoLZGVzY3JpcHRpb24YAiABKAlCC7pICHIGyLOusQIBIooDChBNYWNoaW5lQk1DUmVwb3J0EioKA2JtYxgBIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUMSLAoEYmlvcxgCIAEoCzIeLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCaW9zEioKA2ZydRgDIAEoCzIdLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVGUlUSOwoMcG93ZXJfbWV0cmljGAQgASgLMiUubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVBvd2VyTWV0cmljEj0KDnBvd2VyX3N1cHBsaWVzGAUgAygLMiUubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVBvd2VyU3VwcGx5EkQKCWxlZF9zdGF0ZRgGIAEoCzIxLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVDaGFzc2lzSWRlbnRpZnlMRURTdGF0ZRIuCgp1cGRhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJjCgtNYWNoaW5lQmlvcxIcCgd2ZXJzaW9uGAEgASgJQgu6SAhyBsizrrECARIbCgZ2ZW5kb3IYAiABKAlCC7pICHIGyLOusQIBEhkKBGRhdGUYAyABKAlCC7pICHIGyLOusQIBItsBCgpNYWNoaW5lQk1DEhkKB2FkZHJlc3MYASABKAlCCLpIBXIDgAIBEhgKA21hYxgCIAEoCUILukgIcga4s66xAgESGQoEdXNlchgDIAEoCUILukgIcgbIs66xAgESHQoIcGFzc3dvcmQYBCABKAlCC7pICHIGyLOusQIBEh4KCWludGVyZmFjZRgFIAEoCUILukgIcgbIs66xAgESHAoHdmVyc2lvbhgGIAEoCUILukgIcgbIs66xAgESIAoLcG93ZXJfc3RhdGUYByABKAlCC7pICHIGyLOusQIBIp4ECgpNYWNoaW5lRlJVEi0KE2NoYXNzaXNfcGFydF9udW1iZXIYASABKAlCC7pICHIGyLOusQIBSACIAQESLQoTY2hhc3Npc19wYXJ0X3NlcmlhbBgCIAEoCUILukgIcgbIs66xAgFIAYgBARIjCglib2FyZF9tZmcYAyABKAlCC7pICHIGyLOusQIBSAKIAQESKgoQYm9hcmRfbWZnX3NlcmlhbBgEIAEoCUILukgIcgbIs66xAgFIA4gBARIrChFib2FyZF9wYXJ0X251bWJlchgFIAEoCUILukgIcgbIs66xAgFIBIgBARIuChRwcm9kdWN0X21hbnVmYWN0dXJlchgGIAEoCUILukgIcgbIs66xAgFIBYgBARItChNwcm9kdWN0X3BhcnRfbnVtYmVyGAcgASgJQgu6SAhyBsizrrECAUgGiAEBEigKDnByb2R1Y3Rfc2VyaWFsGAggASgJQgu6SAhyBsizrrECAUgHiAEBQhYKFF9jaGFzc2lzX3BhcnRfbnVtYmVyQhYKFF9jaGFzc2lzX3BhcnRfc2VyaWFsQgwKCl9ib2FyZF9tZmdCEwoRX2JvYXJkX21mZ19zZXJpYWxCFAoSX2JvYXJkX3BhcnRfbnVtYmVyQhcKFV9wcm9kdWN0X21hbnVmYWN0dXJlckIWChRfcHJvZHVjdF9wYXJ0X251bWJlckIRCg9fcHJvZHVjdF9zZXJpYWwihQEKEk1hY2hpbmVQb3dlck1ldHJpYxIeChZhdmVyYWdlX2NvbnN1bWVkX3dhdHRzGAEgASgCEhcKD2ludGVydmFsX2luX21pbhgCIAEoAhIaChJtYXhfY29uc3VtZWRfd2F0dHMYAyABKAISGgoSbWluX2NvbnN1bWVkX3dhdHRzGAQgASgCIjMKEk1hY2hpbmVQb3dlclN1cHBseRIOCgZoZWFsdGgYASABKAkSDQoFc3RhdGUYAiABKAkipQIKH01hY2hpbmVSZWNlbnRQcm92aXNpb25pbmdFdmVudHMSOwoGZXZlbnRzGAEgAygLMisubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50EjMKD2xhc3RfZXZlbnRfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASRQoQbGFzdF9lcnJvcl9ldmVudBgDIAEoCzIrLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVQcm92aXNpb25pbmdFdmVudBJJCgVzdGF0ZRgEIAEoDjIwLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVQcm92aXNpb25pbmdFdmVudFN0YXRlQgi6SAWCAQIQASKfAQoYTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50EigKBHRpbWUYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkgKBWV2ZW50GAIgASgOMi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50VHlwZUIIukgFggECEAESDwoHbWVzc2FnZRgDIAEoCSJrCgpNYWNoaW5lVlBOEh0KFWNvbnRyb2xfcGxhbmVfYWRkcmVzcxgBIAEoCRIQCghhdXRoX2tleRgCIAEoCRIRCgljb25uZWN0ZWQYAyABKAgSGQoDaXBzGAQgAygJQgy6SAmSAQbApLOxAgEivAcKDE1hY2hpbmVRdWVyeRIbCgR1dWlkGAEgASgJQgi6SAVyA7ABAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESIwoJcGFydGl0aW9uGAMgASgJQgu6SAhyBtCzrrECAUgCiAEBEh4KBHNpemUYBCABKAlCC7pICHIGwLOusQIBSAOIAQESHQoEcmFjaxgFIAEoCUIKukgHcgUQAhiAAUgEiAEBEi4KBmxhYmVscxgGIAEoCzIZLm1ldGFsc3RhY2suYXBpLnYyLkxhYmVsc0gFiAEBEkIKCmFsbG9jYXRpb24YByABKAsyKS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lQWxsb2NhdGlvblF1ZXJ5SAaIAQESPAoHbmV0d29yaxgIIAEoCzImLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVOZXR3b3JrUXVlcnlIB4gBARI0CgNuaWMYCSABKAsyIi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lTmljUXVlcnlICIgBARI2CgRkaXNrGAogASgLMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZURpc2tRdWVyeUgJiAEBEjQKA2JtYxgLIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVCTUNRdWVyeUgKiAEBEjQKA2ZydRgMIAEoCzIiLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVGUlVRdWVyeUgLiAEBEj4KCGhhcmR3YXJlGA0gASgLMicubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUhhcmR3YXJlUXVlcnlIDIgBARIzCgVzdGF0ZRgOIAEoDjIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTdGF0ZUgNiAEBEhQKB3dhaXRpbmcYDyABKAhIDogBARIZCgxwcmVhbGxvY2F0ZWQYECABKAhID4gBARIaCg1ub3RfYWxsb2NhdGVkGBEgASgISBCIAQFCBwoFX3V1aWRCBwoFX25hbWVCDAoKX3BhcnRpdGlvbkIHCgVfc2l6ZUIHCgVfcmFja0IJCgdfbGFiZWxzQg0KC19hbGxvY2F0aW9uQgoKCF9uZXR3b3JrQgYKBF9uaWNCBwoFX2Rpc2tCBgoEX2JtY0IGCgRfZnJ1QgsKCV9oYXJkd2FyZUIICgZfc3RhdGVCCgoIX3dhaXRpbmdCDwoNX3ByZWFsbG9jYXRlZEIQCg5fbm90X2FsbG9jYXRlZCKIBAoWTWFjaGluZUFsbG9jYXRpb25RdWVyeRIbCgR1dWlkGAEgASgJQgi6SAVyA7ABAUgAiAEBEh4KBG5hbWUYAiABKAlCC7pICHIGwLOusQIBSAGIAQESHgoHcHJvamVjdBgDIAEoCUIIukgFcgOwAQFIAogBARIfCgVpbWFnZRgEIAEoCUILukgIcgbAs66xAgFIA4gBARIrChFmaWxlc3lzdGVtX2xheW91dBgFIAEoCUILukgIcgbAs66xAgFIBIgBARIeCghob3N0bmFtZRgGIAEoCUIHukgEcgJoAUgFiAEBElAKD2FsbG9jYXRpb25fdHlwZRgHIAEoDjIoLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVBbGxvY2F0aW9uVHlwZUIIukgFggECEAFIBogBARIuCgZsYWJlbHMYCCABKAsyGS5tZXRhbHN0YWNrLmFwaS52Mi5MYWJlbHNIB4gBARIvCgN2cG4YCSABKAsyHS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lVlBOSAiIAQFCBwoFX3V1aWRCBwoFX25hbWVCCgoIX3Byb2plY3RCCAoGX2ltYWdlQhQKEl9maWxlc3lzdGVtX2xheW91dEILCglfaG9zdG5hbWVCEgoQX2FsbG9jYXRpb25fdHlwZUIJCgdfbGFiZWxzQgYKBF92cG4iqgEKE01hY2hpbmVOZXR3b3JrUXVlcnkSEAoIbmV0d29ya3MYASADKAkSHgoIcHJlZml4ZXMYAiADKAlCDLpICZIBBriks7ECARIqChRkZXN0aW5hdGlvbl9wcmVmaXhlcxgDIAMoCUIMukgJkgEGuKSzsQIBEhkKA2lwcxgEIAMoCUIMukgJkgEGwKSzsQIBEgwKBHZyZnMYBSADKAQSDAoEYXNucxgGIAMoDSKvAQoPTWFjaGluZU5pY1F1ZXJ5EiIKBG1hY3MYASADKAlCFLpIEZIBDhBkGAEiCHIGuLOusQIBEiAKBW5hbWVzGAIgAygJQhG6SA6SAQsQZBgBIgVyAxiAARIrCg1uZWlnaGJvcl9tYWNzGAMgAygJQhS6SBGSAQ4QZBgBIghyBrizrrECARIpCg5uZWlnaGJvcl9uYW1lcxgEIAMoCUIRukgOkgELEGQYASIFcgMYgAEiSwoQTWFjaGluZURpc2tRdWVyeRIeCgVuYW1lcxgBIAMoCUIPukgMkgEJEGQiBXIDGIABEhcKBXNpemVzGAIgAygEQgi6SAWSAQIQZCK5AQoPTWFjaGluZUJNQ1F1ZXJ5Eh0KB2FkZHJlc3MYASABKAlCB7pIBHICcAFIAIgBARIdCgNtYWMYAiABKAlCC7pICHIGuLOusQIBSAGIAQESGwoEdXNlchgDIAEoCUIIukgFcgMYgAFIAogBARIgCglpbnRlcmZhY2UYBCABKAlCCLpIBXIDGIABSAOIAQFCCgoIX2FkZHJlc3NCBgoEX21hY0IHCgVfdXNlckIMCgpfaW50ZXJmYWNlIoMECg9NYWNoaW5lRlJVUXVlcnkSKgoTY2hhc3Npc19wYXJ0X251bWJlchgBIAEoCUIIukgFcgMYgAFIAIgBARIqChNjaGFzc2lzX3BhcnRfc2VyaWFsGAIgASgJQgi6SAVyAxiAAUgBiAEBEiAKCWJvYXJkX21mZxgDIAEoCUIIukgFcgMYgAFIAogBARIjCgxib2FyZF9zZXJpYWwYBCABKAlCCLpIBXIDGIABSAOIAQESKAoRYm9hcmRfcGFydF9udW1iZXIYBSABKAlCCLpIBXIDGIABSASIAQESKwoUcHJvZHVjdF9tYW51ZmFjdHVyZXIYBiABKAlCCLpIBXIDGIABSAWIAQESKgoTcHJvZHVjdF9wYXJ0X251bWJlchgHIAEoCUIIukgFcgMYgAFIBogBARIlCg5wcm9kdWN0X3NlcmlhbBgIIAEoCUIIukgFcgMYgAFIB4gBAUIWChRfY2hhc3Npc19wYXJ0X251bWJlckIWChRfY2hhc3Npc19wYXJ0X3NlcmlhbEIMCgpfYm9hcmRfbWZnQg8KDV9ib2FyZF9zZXJpYWxCFAoSX2JvYXJkX3BhcnRfbnVtYmVyQhcKFV9wcm9kdWN0X21hbnVmYWN0dXJlckIWChRfcHJvZHVjdF9wYXJ0X251bWJlckIRCg9fcHJvZHVjdF9zZXJpYWwiXAoUTWFjaGluZUhhcmR3YXJlUXVlcnkSEwoGbWVtb3J5GAEgASgESACIAQESFgoJY3B1X2NvcmVzGAIgASgNSAGIAQFCCQoHX21lbW9yeUIMCgpfY3B1X2NvcmVzIuACChJNYWNoaW5lSXNzdWVzUXVlcnkSNgoNbWFjaGluZV9xdWVyeRgBIAEoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVRdWVyeRJACgRvbmx5GAIgAygOMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlVHlwZUINukgKkgEHIgWCAQIQARJACgRvbWl0GAMgAygOMiMubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZUlzc3VlVHlwZUINukgKkgEHIgWCAQIQARJICghzZXZlcml0eRgEIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVJc3N1ZVNldmVyaXR5Qgi6SAWCAQIQAUgAiAEBEjcKFGxhc3RfZXJyb3JfdGhyZXNob2xkGAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQgsKCV9zZXZlcml0eSJYCg1NYWNoaW5lSXNzdWVzEhYKBHV1aWQYASABKAlCCLpIBXIDsAEBEi8KBmlzc3VlcxgCIAMoCzIfLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVJc3N1ZSLnAQoMTWFjaGluZUlzc3VlEjsKBHR5cGUYASABKA4yIy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lSXNzdWVUeXBlQgi6SAWCAQIQARJDCghzZXZlcml0eRgCIAEoDjInLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVJc3N1ZVNldmVyaXR5Qgi6SAWCAQIQARIgCgtkZXNjcmlwdGlvbhgDIAEoCUILukgIcgbIs66xAgESIgoNcmVmZXJlbmNlX3VybBgEIAEoCUILukgIcgbgs66xAgESDwoHZGV0YWlscxgFIAEoCSplCgpJUFByb3RvY29sEhsKF0lQX1BST1RPQ09MX1VOU1BFQ0lGSUVEEAASHAoPSVBfUFJPVE9DT0xfVENQEAEaB4KyGQN0Y3ASHAoPSVBfUFJPVE9DT0xfVURQEAIaB4KyGQN1ZHAqrQEKDE1hY2hpbmVTdGF0ZRIjChlNQUNISU5FX1NUQVRFX1VOU1BFQ0lGSUVEEAAaBIKyGQASJgoVTUFDSElORV9TVEFURV9UQUlOVEVEEAEaC4KyGQd0YWludGVkEiQKFE1BQ0hJTkVfU1RBVEVfTE9DS0VEEAIaCoKyGQZsb2NrZWQSKgoXTUFDSElORV9TVEFURV9BVkFJTEFCTEUQAxoNgrIZCWF2YWlsYWJsZSrfAQodTWFjaGluZVByb3Zpc2lvbmluZ0V2ZW50U3RhdGUSNgosTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfU1RBVEVfVU5TUEVDSUZJRUQQABoEgrIZABI9CipNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9DUkFTSExPT1AQARoNgrIZCWNyYXNobG9vcBJHCi9NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9TVEFURV9GQUlMRURfUkVDTEFJTRACGhKCshkOZmFpbGVkLXJlY2xhaW0qnwYKHE1hY2hpbmVQcm92aXNpb25pbmdFdmVudFR5cGUSLworTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9VTlNQRUNJRklFRBAAEjQKJU1BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfQUxJVkUQARoJgrIZBUFsaXZlEjgKJ01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfQ1JBU0hFRBACGguCshkHQ3Jhc2hlZBJACitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BYRV9CT09USU5HEAMaD4KyGQtQWEUgQm9vdGluZxJGCi5NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BMQU5ORURfUkVCT09UEAQaEoKyGQ5QbGFubmVkIFJlYm9vdBI8CilNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BSRVBBUklORxAFGg2CshkJUHJlcGFyaW5nEkAKK01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfUkVHSVNURVJJTkcQBhoPgrIZC1JlZ2lzdGVyaW5nEjgKJ01BQ0hJTkVfUFJPVklTSU9OSU5HX0VWRU5UX1RZUEVfV0FJVElORxAHGguCshkHV2FpdGluZxI+CipNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX0lOU1RBTExJTkcQCBoOgrIZCkluc3RhbGxpbmcSTgoyTUFDSElORV9QUk9WSVNJT05JTkdfRVZFTlRfVFlQRV9CT09USU5HX05FV19LRVJORUwQCRoWgrIZEkJvb3RpbmcgTmV3IEtlcm5lbBJACitNQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX1BIT05FRF9IT01FEAoaD4KyGQtQaG9uZWQgSG9tZRJICi9NQUNISU5FX1BST1ZJU0lPTklOR19FVkVOVF9UWVBFX01BQ0hJTkVfUkVDTEFJTRALGhOCshkPTWFjaGluZSBSZWNsYWltKroBChFNYWNoaW5lTGl2ZWxpbmVzcxIoCh5NQUNISU5FX0xJVkVMSU5FU1NfVU5TUEVDSUZJRUQQABoEgrIZABInChhNQUNISU5FX0xJVkVMSU5FU1NfQUxJVkUQARoJgrIZBWFsaXZlEiUKF01BQ0hJTkVfTElWRUxJTkVTU19ERUFEEAIaCIKyGQRkZWFkEisKGk1BQ0hJTkVfTElWRUxJTkVTU19VTktOT1dOEAMaC4KyGQd1bmtub3duKqwBChVNYWNoaW5lQWxsb2NhdGlvblR5cGUSLQojTUFDSElORV9BTExPQ0FUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABoEgrIZABIwCh9NQUNISU5FX0FMTE9DQVRJT05fVFlQRV9NQUNISU5FEAEaC4KyGQdtYWNoaW5lEjIKIE1BQ0hJTkVfQUxMT0NBVElPTl9UWVBFX0ZJUkVXQUxMEAIaDIKyGQhmaXJld2FsbCr+BAoRTWFjaGluZUJNQ0NvbW1hbmQSIwofTUFDSElORV9CTUNfQ09NTUFORF9VTlNQRUNJRklFRBAAEiIKFk1BQ0hJTkVfQk1DX0NPTU1BTkRfT04QARoGgrIZAm9uEiQKF01BQ0hJTkVfQk1DX0NPTU1BTkRfT0ZGEAIaB4KyGQNvZmYSKAoZTUFDSElORV9CTUNfQ09NTUFORF9SRVNFVBADGgmCshkFcmVzZXQSKAoZTUFDSElORV9CTUNfQ09NTUFORF9DWUNMRRAEGgmCshkFY3ljbGUSNgogTUFDSElORV9CTUNfQ09NTUFORF9CT09UX1RPX0JJT1MQBRoQgrIZDGJvb3QtdG8tYmlvcxI6CiJNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfRlJPTV9ESVNLEAYaEoKyGQ5ib290LWZyb20tZGlzaxI4CiFNQUNISU5FX0JNQ19DT01NQU5EX0JPT1RfRlJPTV9QWEUQBxoRgrIZDWJvb3QtZnJvbS1weGUSPAojTUFDSElORV9CTUNfQ09NTUFORF9JREVOVElGWV9MRURfT04QCBoTgrIZD2lkZW50aWZ5LWxlZC1vbhI+CiRNQUNISU5FX0JNQ19DT01NQU5EX0lERU5USUZZX0xFRF9PRkYQCRoUgrIZEGlkZW50aWZ5LWxlZC1vZmYSPAojTUFDSElORV9CTUNfQ09NTUFORF9NQUNISU5FX0RFTEVURUQQChoTgrIZD21hY2hpbmUtZGVsZXRlZBI8CiNNQUNISU5FX0JNQ19DT01NQU5EX01BQ0hJTkVfQ1JFQVRFRBALGhOCshkPbWFjaGluZS1jcmVhdGVkKvMGChBNYWNoaW5lSXNzdWVUeXBlEiIKHk1BQ0hJTkVfSVNTVUVfVFlQRV9VTlNQRUNJRklFRBAAEjkKIU1BQ0hJTkVfSVNTVUVfVFlQRV9BU05fVU5JUVVFTkVTUxABGhKCshkOYXNuLW5vdC11bmlxdWUSPwokTUFDSElORV9JU1NVRV9UWVBFX0JNQ19JTkZPX09VVERBVEVEEAIaFYKyGRFibWMtaW5mby1vdXRkYXRlZBJCCiZNQUNISU5FX0lTU1VFX1RZUEVfQk1DX05PTl9ESVNUSU5DVF9JUBADGhaCshkSYm1jLW5vLWRpc3RpbmN0LWlwEjkKIU1BQ0hJTkVfSVNTVUVfVFlQRV9CTUNfV0lUSE9VVF9JUBAEGhKCshkOYm1jLXdpdGhvdXQtaXASOwoiTUFDSElORV9JU1NVRV9UWVBFX0JNQ19XSVRIT1VUX01BQxAFGhOCshkPYm1jLXdpdGhvdXQtbWFjEjAKHU1BQ0hJTkVfSVNTVUVfVFlQRV9DUkFTSF9MT09QEAYaDYKyGQljcmFzaGxvb3ASSQopTUFDSElORV9JU1NVRV9UWVBFX0ZBSUxFRF9NQUNISU5FX1JFQ0xBSU0QBxoagrIZFmZhaWxlZC1tYWNoaW5lLXJlY2xhaW0SPQojTUFDSElORV9JU1NVRV9UWVBFX0xBU1RfRVZFTlRfRVJST1IQCBoUgrIZEGxhc3QtZXZlbnQtZXJyb3ISOwoiTUFDSElORV9JU1NVRV9UWVBFX0xJVkVMSU5FU1NfREVBRBAJGhOCshkPbGl2ZWxpbmVzcy1kZWFkEk0KK01BQ0hJTkVfSVNTVUVfVFlQRV9MSVZFTElORVNTX05PVF9BVkFJTEFCTEUQChocgrIZGGxpdmVsaW5lc3Mtbm90LWF2YWlsYWJsZRJBCiVNQUNISU5FX0lTU1VFX1RZUEVfTElWRUxJTkVTU19VTktOT1dOEAsaFoKyGRJsaXZlbGluZXNzLXVua25vd24SQQolTUFDSElORV9JU1NVRV9UWVBFX05PX0VWRU5UX0NPTlRBSU5FUhAMGhaCshkSbm8tZXZlbnQtY29udGFpbmVyEjUKH01BQ0hJTkVfSVNTVUVfVFlQRV9OT19QQVJUSVRJT04QDRoQgrIZDG5vLXBhcnRpdGlvbirLAQoUTWFjaGluZUlzc3VlU2V2ZXJpdHkSJgoiTUFDSElORV9JU1NVRV9TRVZFUklUWV9VTlNQRUNJRklFRBAAEisKHE1BQ0hJTkVfSVNTVUVfU0VWRVJJVFlfTUlOT1IQARoJgrIZBW1pbm9yEisKHE1BQ0hJTkVfSVNTVUVfU0VWRVJJVFlfTUFKT1IQAhoJgrIZBW1ham9yEjEKH01BQ0hJTkVfSVNTVUVfU0VWRVJJVFlfQ1JJVElDQUwQAxoMgrIZCGNyaXRpY2FsMtEGCg5NYWNoaW5lU2VydmljZRJtCgNHZXQSKy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldFJlcXVlc3QaLC5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldFJlc3BvbnNlIgvK8xgDAQID4PMYAhJ1CgZDcmVhdGUSLi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUNyZWF0ZVJlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUNyZWF0ZVJlc3BvbnNlIgrK8xgCAQLg8xgBEnUKBlVwZGF0ZRIuLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlVXBkYXRlUmVxdWVzdBovLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlVXBkYXRlUmVzcG9uc2UiCsrzGAIBAuDzGAEScAoETGlzdBIsLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlTGlzdFJlcXVlc3QaLS5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUxpc3RSZXNwb25zZSILyvMYAwECA+DzGAISdQoGRGVsZXRlEi4ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VEZWxldGVSZXF1ZXN0Gi8ubWV0YWxzdGFjay5hcGkudjIuTWFjaGluZVNlcnZpY2VEZWxldGVSZXNwb25zZSIKyvMYAgEC4PMYARKBAQoKQk1DQ29tbWFuZBIyLm1ldGFsc3RhY2suYXBpLnYyLk1hY2hpbmVTZXJ2aWNlQk1DQ29tbWFuZFJlcXVlc3QaMy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUJNQ0NvbW1hbmRSZXNwb25zZSIKyvMYAgEC4PMYARJ1CgZHZXRCTUMSLi5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldEJNQ1JlcXVlc3QaLy5tZXRhbHN0YWNrLmFwaS52Mi5NYWNoaW5lU2VydmljZUdldEJNQ1Jlc3BvbnNlIgrK8xgCAQLg8xgBQsIBChVjb20ubWV0YWxzdGFjay5hcGkudjJCDE1hY2hpbmVQcm90b1ABWjVnaXRodWIuY29tL21ldGFsLXN0YWNrL2FwaS9nby9tZXRhbHN0YWNrL2FwaS92MjthcGl2MqICA01BWKoCEU1ldGFsc3RhY2suQXBpLlYyygIRTWV0YWxzdGFja1xBcGlcVjLiAh1NZXRhbHN0YWNrXEFwaVxWMlxHUEJNZXRhZGF0YeoCE01ldGFsc3RhY2s6OkFwaTo6VjJiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_duration, file_google_protobuf_timestamp, file_metalstack_api_v2_common, file_metalstack_api_v2_filesystem, file_metalstack_api_v2_image, file_metalstack_api_v2_network, file_metalstack_api_v2_partition, file_metalstack_api_v2_predefined_rules, file_metalstack_api_v2_size]);
18
18
  /**
19
19
  * Describes the message metalstack.api.v2.MachineServiceGetRequest.
20
20
  * Use `create(MachineServiceGetRequestSchema)` to create a new message.
@@ -250,6 +250,21 @@ export const MachineFRUQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_a
250
250
  * Use `create(MachineHardwareQuerySchema)` to create a new message.
251
251
  */
252
252
  export const MachineHardwareQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 46);
253
+ /**
254
+ * Describes the message metalstack.api.v2.MachineIssuesQuery.
255
+ * Use `create(MachineIssuesQuerySchema)` to create a new message.
256
+ */
257
+ export const MachineIssuesQuerySchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 47);
258
+ /**
259
+ * Describes the message metalstack.api.v2.MachineIssues.
260
+ * Use `create(MachineIssuesSchema)` to create a new message.
261
+ */
262
+ export const MachineIssuesSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 48);
263
+ /**
264
+ * Describes the message metalstack.api.v2.MachineIssue.
265
+ * Use `create(MachineIssueSchema)` to create a new message.
266
+ */
267
+ export const MachineIssueSchema = /*@__PURE__*/ messageDesc(file_metalstack_api_v2_machine, 49);
253
268
  /**
254
269
  * IPProtocol defines tcp|udp
255
270
  *
@@ -580,6 +595,138 @@ export var MachineBMCCommand;
580
595
  * Describes the enum metalstack.api.v2.MachineBMCCommand.
581
596
  */
582
597
  export const MachineBMCCommandSchema = /*@__PURE__*/ enumDesc(file_metalstack_api_v2_machine, 6);
598
+ /**
599
+ * MachineIssueType defines which type of issue it is
600
+ *
601
+ * @generated from enum metalstack.api.v2.MachineIssueType
602
+ */
603
+ export var MachineIssueType;
604
+ (function (MachineIssueType) {
605
+ /**
606
+ * MACHINE_ISSUE_TYPE_UNSPECIFIED type is not specified
607
+ *
608
+ * @generated from enum value: MACHINE_ISSUE_TYPE_UNSPECIFIED = 0;
609
+ */
610
+ MachineIssueType[MachineIssueType["UNSPECIFIED"] = 0] = "UNSPECIFIED";
611
+ /**
612
+ * MACHINE_ISSUE_TYPE_ASN_UNIQUENESS machine asn is not unique
613
+ *
614
+ * @generated from enum value: MACHINE_ISSUE_TYPE_ASN_UNIQUENESS = 1;
615
+ */
616
+ MachineIssueType[MachineIssueType["ASN_UNIQUENESS"] = 1] = "ASN_UNIQUENESS";
617
+ /**
618
+ * MACHINE_ISSUE_TYPE_BMC_INFO_OUTDATED machine bmc info out of date
619
+ *
620
+ * @generated from enum value: MACHINE_ISSUE_TYPE_BMC_INFO_OUTDATED = 2;
621
+ */
622
+ MachineIssueType[MachineIssueType["BMC_INFO_OUTDATED"] = 2] = "BMC_INFO_OUTDATED";
623
+ /**
624
+ * MACHINE_ISSUE_TYPE_BMC_NON_DISTINCT_IP machine bmc ip is not distinct
625
+ *
626
+ * @generated from enum value: MACHINE_ISSUE_TYPE_BMC_NON_DISTINCT_IP = 3;
627
+ */
628
+ MachineIssueType[MachineIssueType["BMC_NON_DISTINCT_IP"] = 3] = "BMC_NON_DISTINCT_IP";
629
+ /**
630
+ * MACHINE_ISSUE_TYPE_BMC_WITHOUT_IP machine bmc without ip
631
+ *
632
+ * @generated from enum value: MACHINE_ISSUE_TYPE_BMC_WITHOUT_IP = 4;
633
+ */
634
+ MachineIssueType[MachineIssueType["BMC_WITHOUT_IP"] = 4] = "BMC_WITHOUT_IP";
635
+ /**
636
+ * MACHINE_ISSUE_TYPE_BMC_WITHOUT_MAC machine bmc without mac address
637
+ *
638
+ * @generated from enum value: MACHINE_ISSUE_TYPE_BMC_WITHOUT_MAC = 5;
639
+ */
640
+ MachineIssueType[MachineIssueType["BMC_WITHOUT_MAC"] = 5] = "BMC_WITHOUT_MAC";
641
+ /**
642
+ * MACHINE_ISSUE_TYPE_CRASH_LOOP machine is in crashloop
643
+ *
644
+ * @generated from enum value: MACHINE_ISSUE_TYPE_CRASH_LOOP = 6;
645
+ */
646
+ MachineIssueType[MachineIssueType["CRASH_LOOP"] = 6] = "CRASH_LOOP";
647
+ /**
648
+ * MACHINE_ISSUE_TYPE_FAILED_MACHINE_RECLAIM machine was not freed after delete
649
+ *
650
+ * @generated from enum value: MACHINE_ISSUE_TYPE_FAILED_MACHINE_RECLAIM = 7;
651
+ */
652
+ MachineIssueType[MachineIssueType["FAILED_MACHINE_RECLAIM"] = 7] = "FAILED_MACHINE_RECLAIM";
653
+ /**
654
+ * MACHINE_ISSUE_TYPE_LAST_EVENT_ERROR machine last event error
655
+ *
656
+ * @generated from enum value: MACHINE_ISSUE_TYPE_LAST_EVENT_ERROR = 8;
657
+ */
658
+ MachineIssueType[MachineIssueType["LAST_EVENT_ERROR"] = 8] = "LAST_EVENT_ERROR";
659
+ /**
660
+ * MACHINE_ISSUE_TYPE_LIVELINESS_DEAD machine is dead
661
+ *
662
+ * @generated from enum value: MACHINE_ISSUE_TYPE_LIVELINESS_DEAD = 9;
663
+ */
664
+ MachineIssueType[MachineIssueType["LIVELINESS_DEAD"] = 9] = "LIVELINESS_DEAD";
665
+ /**
666
+ * MACHINE_ISSUE_TYPE_LIVELINESS_NOT_AVAILABLE machine liveliness is not available
667
+ *
668
+ * @generated from enum value: MACHINE_ISSUE_TYPE_LIVELINESS_NOT_AVAILABLE = 10;
669
+ */
670
+ MachineIssueType[MachineIssueType["LIVELINESS_NOT_AVAILABLE"] = 10] = "LIVELINESS_NOT_AVAILABLE";
671
+ /**
672
+ * MACHINE_ISSUE_TYPE_LIVELINESS_UNKNOWN machine liveliness is unknown
673
+ *
674
+ * @generated from enum value: MACHINE_ISSUE_TYPE_LIVELINESS_UNKNOWN = 11;
675
+ */
676
+ MachineIssueType[MachineIssueType["LIVELINESS_UNKNOWN"] = 11] = "LIVELINESS_UNKNOWN";
677
+ /**
678
+ * MACHINE_ISSUE_TYPE_NO_EVENT_CONTAINER machine does not have a event container
679
+ *
680
+ * @generated from enum value: MACHINE_ISSUE_TYPE_NO_EVENT_CONTAINER = 12;
681
+ */
682
+ MachineIssueType[MachineIssueType["NO_EVENT_CONTAINER"] = 12] = "NO_EVENT_CONTAINER";
683
+ /**
684
+ * MACHINE_ISSUE_TYPE_NO_PARTITION no partition set
685
+ *
686
+ * @generated from enum value: MACHINE_ISSUE_TYPE_NO_PARTITION = 13;
687
+ */
688
+ MachineIssueType[MachineIssueType["NO_PARTITION"] = 13] = "NO_PARTITION";
689
+ })(MachineIssueType || (MachineIssueType = {}));
690
+ /**
691
+ * Describes the enum metalstack.api.v2.MachineIssueType.
692
+ */
693
+ export const MachineIssueTypeSchema = /*@__PURE__*/ enumDesc(file_metalstack_api_v2_machine, 7);
694
+ /**
695
+ * MachineIssueSeverity defines the severity of an issue
696
+ *
697
+ * @generated from enum metalstack.api.v2.MachineIssueSeverity
698
+ */
699
+ export var MachineIssueSeverity;
700
+ (function (MachineIssueSeverity) {
701
+ /**
702
+ * MACHINE_ISSUE_SEVERITY_UNSPECIFIED severity is not specified
703
+ *
704
+ * @generated from enum value: MACHINE_ISSUE_SEVERITY_UNSPECIFIED = 0;
705
+ */
706
+ MachineIssueSeverity[MachineIssueSeverity["UNSPECIFIED"] = 0] = "UNSPECIFIED";
707
+ /**
708
+ * MACHINE_ISSUE_SEVERITY_MINOR machine issues is of severity minor
709
+ *
710
+ * @generated from enum value: MACHINE_ISSUE_SEVERITY_MINOR = 1;
711
+ */
712
+ MachineIssueSeverity[MachineIssueSeverity["MINOR"] = 1] = "MINOR";
713
+ /**
714
+ * MACHINE_ISSUE_SEVERITY_MAJOR machine issues is of severity major
715
+ *
716
+ * @generated from enum value: MACHINE_ISSUE_SEVERITY_MAJOR = 2;
717
+ */
718
+ MachineIssueSeverity[MachineIssueSeverity["MAJOR"] = 2] = "MAJOR";
719
+ /**
720
+ * MACHINE_ISSUE_SEVERITY_CRITICAL machine issues is of severity critical
721
+ *
722
+ * @generated from enum value: MACHINE_ISSUE_SEVERITY_CRITICAL = 3;
723
+ */
724
+ MachineIssueSeverity[MachineIssueSeverity["CRITICAL"] = 3] = "CRITICAL";
725
+ })(MachineIssueSeverity || (MachineIssueSeverity = {}));
726
+ /**
727
+ * Describes the enum metalstack.api.v2.MachineIssueSeverity.
728
+ */
729
+ export const MachineIssueSeveritySchema = /*@__PURE__*/ enumDesc(file_metalstack_api_v2_machine, 8);
583
730
  /**
584
731
  * MachineService provides machine lifecycle management operations.
585
732
  *