From 73e2c95730355f7e524ae79362b310d1e327cca0 Mon Sep 17 00:00:00 2001 From: Tooling Builder Date: Thu, 4 Jan 2024 03:31:48 +0000 Subject: [PATCH] chore: Metadata build (updates to OpenAPI tooling metadata and site rebuild) --- docs/categories/all.html | 634 ++++++------- docs/categories/auto-generators.html | 6 +- docs/categories/client-implementations.html | 2 +- docs/categories/code-generators.html | 78 +- docs/categories/converters.html | 60 +- docs/categories/data-validators.html | 40 +- docs/categories/description-validators.html | 30 +- docs/categories/documentation.html | 52 +- docs/categories/dsl.html | 12 +- docs/categories/gateway.html | 6 +- docs/categories/gui-editors.html | 8 +- docs/categories/low-level-tooling.html | 24 +- docs/categories/mock-testing.html | 6 +- docs/categories/mock.html | 30 +- docs/categories/parsers.html | 200 ++-- docs/categories/sdk.html | 94 +- docs/categories/security.html | 14 +- docs/categories/server-implementations.html | 204 ++-- docs/categories/server.html | 36 +- docs/categories/testing.html | 38 +- docs/categories/text-editors.html | 6 +- docs/categories/unclassified.html | 12 +- docs/categories/user-interfaces.html | 16 +- src/_data/tools.yaml | 970 ++++++++++---------- 24 files changed, 1289 insertions(+), 1289 deletions(-) diff --git a/docs/categories/all.html b/docs/categories/all.html index b18dc7aa..312ca093 100644 --- a/docs/categories/all.html +++ b/docs/categories/all.html @@ -372,7 +372,7 @@

Yes Yes Yes - 2015 + 2022 @@ -435,7 +435,7 @@

Yes Yes Yes - 21698 + 21710 @@ -787,7 +787,7 @@

No Yes Yes - 508 + 509 @@ -810,7 +810,7 @@

No Yes No - 4664 + 4670 @@ -856,7 +856,7 @@

No Yes Yes - 18617 + 18631 @@ -902,7 +902,7 @@

No Yes Yes - 1063 + 1157 @@ -1040,7 +1040,7 @@

Yes Yes Yes - 8480 + 8482 @@ -1167,7 +1167,7 @@

No Yes Yes - 891 + 892 @@ -1357,7 +1357,7 @@

Yes Yes Yes - 3847 + 3848 @@ -1403,7 +1403,7 @@

Yes Yes Yes - 1065 + 1069 @@ -1695,7 +1695,7 @@

No Yes No - 1629 + 1630 @@ -1762,7 +1762,7 @@

No Yes No - 1531 + 1533 @@ -1808,7 +1808,7 @@

No Yes Yes - 4090 + 4093 @@ -1829,7 +1829,7 @@

No Yes No - 830 + 831 @@ -1873,7 +1873,7 @@

No Yes No - 590 + 592 @@ -1940,7 +1940,7 @@

Yes Yes Yes - 2122 + 2127 @@ -2005,7 +2005,7 @@

Yes Yes Yes - 725 + 727 @@ -2072,7 +2072,7 @@

No Yes Yes - 830 + 831 @@ -2250,7 +2250,7 @@

No Yes Yes - 2204 + 2207 @@ -2380,7 +2380,7 @@

No Yes Yes - 1244 + 1247 @@ -2531,7 +2531,7 @@

No No Yes - 9064 + 9068 @@ -2600,7 +2600,7 @@

No Yes Yes - 6249 + 6252 @@ -2646,7 +2646,7 @@

No Yes Yes - 16236 + 16238 @@ -2667,7 +2667,7 @@

No Yes Yes - 4393 + 4396 @@ -2713,7 +2713,7 @@

Yes Yes Yes - 224 + 225 @@ -2736,7 +2736,7 @@

Yes Yes Yes - 451 + 452 @@ -3074,7 +3074,7 @@

No Yes No - 209 + 211 @@ -3097,7 +3097,7 @@

No Yes No - 101 + 102 @@ -3278,7 +3278,7 @@

Yes Yes No - 575 + 576 @@ -3320,7 +3320,7 @@

Yes Yes Yes - 817 + 818 @@ -3431,7 +3431,7 @@

No Yes Yes - 11584 + 11587 @@ -3626,7 +3626,7 @@

No Yes Yes - 377 + 379 @@ -3649,7 +3649,7 @@

No Yes No - 26893 + 26898 @@ -3824,7 +3824,7 @@

Yes Yes Yes - 1329 + 1330 @@ -4046,7 +4046,7 @@

No Yes Yes - 1929 + 1933 @@ -4115,7 +4115,7 @@

Yes Yes Yes - 60 + 66 @@ -4203,7 +4203,7 @@

Yes Yes Yes - 3998 + 3999 @@ -4475,7 +4475,7 @@

Yes Yes Yes - 287 + 288 @@ -4641,7 +4641,7 @@

No Yes No - 1809 + 1810 @@ -4664,7 +4664,7 @@

Yes Yes Yes - 2027 + 2030 @@ -4733,7 +4733,7 @@

No Yes No - 375 + 376 @@ -4798,7 +4798,7 @@

Yes Yes No - 313 + 316 @@ -4913,7 +4913,7 @@

No Yes No - 66525 + 66582 @@ -4936,7 +4936,7 @@

Yes Yes No - 24971 + 24974 @@ -4959,7 +4959,7 @@

Yes Yes No - 21698 + 21710 @@ -4980,7 +4980,7 @@

No Yes No - 14060 + 14071 @@ -5022,7 +5022,7 @@

No Yes No - 5602 + 5603 @@ -5043,7 +5043,7 @@

No Yes No - 3731 + 3732 @@ -5064,7 +5064,7 @@

Yes Yes No - 3593 + 3594 @@ -5085,7 +5085,7 @@

No Yes No - 3493 + 3495 @@ -5108,7 +5108,7 @@

No Yes No - 2945 + 2946 @@ -5150,7 +5150,7 @@

No Yes No - 2437 + 2438 @@ -5194,7 +5194,7 @@

No Yes No - 1942 + 1943 @@ -5215,7 +5215,7 @@

No Yes No - 1906 + 1908 @@ -5236,7 +5236,7 @@

No Yes No - 1602 + 1612 @@ -5257,7 +5257,7 @@

No Yes No - 1591 + 1592 @@ -5278,7 +5278,7 @@

No Yes No - 1475 + 1478 @@ -5322,7 +5322,7 @@

No Yes No - 1196 + 1197 @@ -5343,7 +5343,7 @@

No Yes No - 1066 + 1067 @@ -5364,7 +5364,7 @@

No Yes No - 898 + 899 @@ -5448,7 +5448,7 @@

No Yes No - 720 + 722 @@ -5618,7 +5618,7 @@

No Yes No - 536 + 538 @@ -5807,7 +5807,7 @@

No Yes No - 395 + 396 @@ -5849,7 +5849,7 @@

No Yes No - 375 + 376 @@ -5912,7 +5912,7 @@

No Yes No - 338 + 339 @@ -5933,7 +5933,7 @@

No Yes No - 335 + 336 @@ -6082,7 +6082,7 @@

No Yes No - 272 + 273 @@ -6103,7 +6103,7 @@

Yes Yes No - 257 + 258 @@ -6187,7 +6187,7 @@

No Yes No - 229 + 233 @@ -6271,7 +6271,7 @@

No Yes No - 213 + 214 @@ -6483,7 +6483,7 @@

No Yes No - 201 + 217 @@ -6630,7 +6630,7 @@

No Yes No - 180 + 181 @@ -6886,7 +6886,7 @@

No Yes No - 129 + 130 @@ -7180,7 +7180,7 @@

No Yes No - 99 + 100 @@ -7327,7 +7327,7 @@

No Yes No - 86 + 87 @@ -7369,7 +7369,7 @@

No Yes No - 84 + 85 @@ -7390,7 +7390,7 @@

No Yes No - 83 + 85 @@ -7474,7 +7474,7 @@

No Yes No - 79 + 80 @@ -7810,7 +7810,7 @@

No Yes No - 59 + 60 @@ -8404,7 +8404,7 @@

No Yes No - 38 + 39 @@ -8427,7 +8427,7 @@

Yes Yes No - 36 + 37 @@ -9922,7 +9922,7 @@

No Yes No - 17 + 18 @@ -11650,7 +11650,7 @@

No Yes No - 9 + 14 @@ -17194,7 +17194,7 @@

No Yes No - 2 + 3 @@ -23377,7 +23377,7 @@

pig-latin-rest - a simple project for experimenting with OpenAPI specification + a project for experimenting with OpenAPI specification No @@ -26365,7 +26365,7 @@

Yes Yes Yes - 250 + 251 @@ -26388,7 +26388,7 @@

Yes Yes No - 551 + 552 @@ -28606,7 +28606,7 @@

No No No - 1244 + 1247 @@ -28919,7 +28919,7 @@

No No No - 3469 + 3472 @@ -29007,7 +29007,7 @@

No No No - 90 + 91 @@ -29414,7 +29414,7 @@

No Yes Yes - 4357 + 4359 @@ -29596,7 +29596,7 @@

No Yes No - 4707 + 4708 @@ -29640,7 +29640,7 @@

No Yes Yes - 2361 + 2363 @@ -30251,7 +30251,7 @@

No Yes No - 1276 + 1280 @@ -31155,7 +31155,7 @@

Scalar (link)

Stars - 2015 + 2022 Watchers @@ -31171,7 +31171,7 @@

Scalar (link)

Last Updated - 2024-01-03T03:06:21Z + 2024-01-03T21:39:12Z Archived @@ -31311,7 +31311,7 @@

ReDoc (link)

Stars - 21698 + 21710 Watchers @@ -31319,7 +31319,7 @@

ReDoc (link)

Forks - 2265 + 2266 Created @@ -31327,7 +31327,7 @@

ReDoc (link)

Last Updated - 2024-01-03T00:39:04Z + 2024-01-04T01:27:38Z Archived @@ -32143,7 +32143,7 @@

Spot (link)

Stars - 508 + 509 Watchers @@ -32159,7 +32159,7 @@

Spot (link)

Last Updated - 2024-01-01T22:11:09Z + 2024-01-03T13:48:03Z Archived @@ -32195,7 +32195,7 @@

OpenAPI Server Code Generator (oapi-cod Stars - 4664 + 4670 Watchers @@ -32211,7 +32211,7 @@

OpenAPI Server Code Generator (oapi-cod Last Updated - 2024-01-02T20:37:01Z + 2024-01-04T02:26:52Z Archived @@ -32299,7 +32299,7 @@

OpenAPI Generator (link)

Stars - 18617 + 18631 Watchers @@ -32307,7 +32307,7 @@

OpenAPI Generator (link)

Forks - 5886 + 5892 Created @@ -32315,7 +32315,7 @@

OpenAPI Generator (link)

Last Updated - 2024-01-03T02:36:04Z + 2024-01-04T01:29:52Z Archived @@ -32403,7 +32403,7 @@

Kiota Api Client Generator (link)

Stars - 1063 + 1157 Watchers @@ -32419,7 +32419,7 @@

Kiota Api Client Generator (link)

Last Updated - 2024-01-02T21:50:10Z + 2024-01-04T03:30:47Z Archived @@ -32715,7 +32715,7 @@

Swagger Editor (link)

Stars - 8480 + 8482 Watchers @@ -32731,7 +32731,7 @@

Swagger Editor (link)

Last Updated - 2024-01-03T00:42:18Z + 2024-01-03T10:37:33Z Archived @@ -33027,7 +33027,7 @@

Apicurio Studio (link)

Stars - 891 + 892 Watchers @@ -33035,7 +33035,7 @@

Apicurio Studio (link)

Forks - 461 + 462 Created @@ -33043,7 +33043,7 @@

Apicurio Studio (link)

Last Updated - 2023-12-12T21:41:37Z + 2024-01-03T08:58:39Z Archived @@ -33495,7 +33495,7 @@

Prism (link)

Stars - 3847 + 3848 Watchers @@ -33511,7 +33511,7 @@

Prism (link)

Last Updated - 2024-01-02T16:23:24Z + 2024-01-03T14:13:30Z Archived @@ -33599,7 +33599,7 @@

Microcks (link)

Stars - 1065 + 1069 Watchers @@ -33615,7 +33615,7 @@

Microcks (link)

Last Updated - 2023-12-25T09:14:11Z + 2024-01-03T20:15:03Z Archived @@ -33659,7 +33659,7 @@

OpenAPI Mocker (link)

Forks - 33 + 34 Created @@ -33927,7 +33927,7 @@

tsoa (link)

Last Updated - 2024-01-02T22:11:26Z + 2024-01-04T01:25:58Z Archived @@ -34275,7 +34275,7 @@

Fusio (link)

Stars - 1629 + 1630 Watchers @@ -34291,7 +34291,7 @@

Fusio (link)

Last Updated - 2024-01-02T18:52:04Z + 2024-01-03T18:12:37Z Archived @@ -34431,7 +34431,7 @@

@nestjs/swagger (link)

Stars - 1531 + 1533 Watchers @@ -34439,7 +34439,7 @@

@nestjs/swagger (link)

Forks - 409 + 410 Created @@ -34447,7 +34447,7 @@

@nestjs/swagger (link)

Last Updated - 2024-01-02T14:49:50Z + 2024-01-03T16:40:39Z Archived @@ -34535,7 +34535,7 @@

Dredd (link)

Stars - 4090 + 4093 Watchers @@ -34551,7 +34551,7 @@

Dredd (link)

Last Updated - 2024-01-02T23:32:53Z + 2024-01-03T22:17:17Z Archived @@ -34587,7 +34587,7 @@

express-openapi-validator (link)

Stars - 830 + 831 Watchers @@ -34603,7 +34603,7 @@

express-openapi-validator (link)

Last Updated - 2023-12-28T22:36:45Z + 2024-01-03T07:18:47Z Archived @@ -34691,7 +34691,7 @@

portman (link)

Stars - 590 + 592 Watchers @@ -34707,7 +34707,7 @@

portman (link)

Last Updated - 2024-01-02T17:19:17Z + 2024-01-03T19:26:02Z Archived @@ -34847,7 +34847,7 @@

Spectral (link)

Stars - 2122 + 2127 Watchers @@ -34863,7 +34863,7 @@

Spectral (link)

Last Updated - 2024-01-02T16:45:54Z + 2024-01-03T21:27:25Z Archived @@ -35003,7 +35003,7 @@

Redocly CLI (link)

Stars - 725 + 727 Watchers @@ -35019,7 +35019,7 @@

Redocly CLI (link)

Last Updated - 2024-01-02T17:43:49Z + 2024-01-03T23:06:27Z Archived @@ -35159,7 +35159,7 @@

committee (link)

Stars - 830 + 831 Watchers @@ -35175,7 +35175,7 @@

committee (link)

Last Updated - 2023-12-18T09:12:09Z + 2024-01-03T22:04:26Z Archived @@ -35575,7 +35575,7 @@

kin-openapi (link)

Stars - 2204 + 2207 Watchers @@ -35591,7 +35591,7 @@

kin-openapi (link)

Last Updated - 2024-01-02T16:34:48Z + 2024-01-04T02:54:36Z Archived @@ -35887,7 +35887,7 @@

Microsoft/OpenAPI.NET (link)

Stars - 1244 + 1247 Watchers @@ -35903,7 +35903,7 @@

Microsoft/OpenAPI.NET (link)

Last Updated - 2023-12-27T09:46:50Z + 2024-01-03T16:48:14Z Archived @@ -36251,7 +36251,7 @@

go-swagger (link)

Stars - 9064 + 9068 Watchers @@ -36267,7 +36267,7 @@

go-swagger (link)

Last Updated - 2024-01-03T02:32:34Z + 2024-01-03T16:58:28Z Archived @@ -36407,7 +36407,7 @@

NSwag (link)

Stars - 6249 + 6252 Watchers @@ -36415,7 +36415,7 @@

NSwag (link)

Forks - 1181 + 1182 Created @@ -36423,7 +36423,7 @@

NSwag (link)

Last Updated - 2024-01-02T15:56:44Z + 2024-01-04T03:07:10Z Archived @@ -36511,7 +36511,7 @@

Swagger-Codegen (link)

Stars - 16236 + 16238 Watchers @@ -36519,7 +36519,7 @@

Swagger-Codegen (link)

Forks - 6032 + 6033 Created @@ -36527,7 +36527,7 @@

Swagger-Codegen (link)

Last Updated - 2024-01-02T16:11:55Z + 2024-01-03T15:40:05Z Archived @@ -36563,7 +36563,7 @@

Azure AutoRest (link)

Stars - 4393 + 4396 Watchers @@ -36579,7 +36579,7 @@

Azure AutoRest (link)

Last Updated - 2024-01-02T16:18:34Z + 2024-01-03T14:12:01Z Archived @@ -36667,7 +36667,7 @@

oas (link)

Stars - 224 + 225 Watchers @@ -36683,7 +36683,7 @@

oas (link)

Last Updated - 2023-12-27T07:03:35Z + 2024-01-03T12:49:23Z Archived @@ -36719,7 +36719,7 @@

api (link)

Stars - 451 + 452 Watchers @@ -36735,7 +36735,7 @@

api (link)

Last Updated - 2024-01-02T16:31:02Z + 2024-01-03T20:49:10Z Archived @@ -37551,7 +37551,7 @@

OpenAPI Schema to JSON Schema (link) Stars - 209 + 211 Watchers @@ -37567,7 +37567,7 @@

OpenAPI Schema to JSON Schema (link) Last Updated - 2023-12-29T09:00:17Z + 2024-01-03T14:16:50Z Archived @@ -37603,7 +37603,7 @@

JSON Schema to OpenAPI Schema (link) Stars - 101 + 102 Watchers @@ -37619,7 +37619,7 @@

JSON Schema to OpenAPI Schema (link) Last Updated - 2023-12-29T09:00:09Z + 2024-01-03T14:16:37Z Archived @@ -38019,7 +38019,7 @@

Restish (link)

Stars - 575 + 576 Watchers @@ -38035,7 +38035,7 @@

Restish (link)

Last Updated - 2024-01-02T17:07:22Z + 2024-01-03T18:18:05Z Archived @@ -38123,7 +38123,7 @@

openapi-to-postman (link)

Stars - 817 + 818 Watchers @@ -38139,7 +38139,7 @@

openapi-to-postman (link)

Last Updated - 2024-01-02T16:49:27Z + 2024-01-03T18:58:49Z Archived @@ -38383,7 +38383,7 @@

OWASP ZAP (link)

Stars - 11584 + 11587 Watchers @@ -38391,7 +38391,7 @@

OWASP ZAP (link)

Forks - 2178 + 2179 Created @@ -38399,7 +38399,7 @@

OWASP ZAP (link)

Last Updated - 2024-01-03T02:08:39Z + 2024-01-03T19:07:37Z Archived @@ -38851,7 +38851,7 @@

APIFuzzer (link)

Stars - 377 + 379 Watchers @@ -38867,7 +38867,7 @@

APIFuzzer (link)

Last Updated - 2024-01-02T17:29:53Z + 2024-01-03T13:41:32Z Archived @@ -38903,7 +38903,7 @@

Django REST Framework (link)

Stars - 26893 + 26898 Watchers @@ -38911,7 +38911,7 @@

Django REST Framework (link)

Forks - 6835 + 6836 Created @@ -38919,7 +38919,7 @@

Django REST Framework (link)

Last Updated - 2024-01-02T16:11:40Z + 2024-01-03T22:50:36Z Archived @@ -39275,7 +39275,7 @@

openapi-python-client (link)

Forks - 187 + 188 Created @@ -39319,7 +39319,7 @@

Elements (link)

Stars - 1329 + 1330 Watchers @@ -39335,7 +39335,7 @@

Elements (link)

Last Updated - 2024-01-02T23:31:15Z + 2024-01-03T16:30:59Z Archived @@ -39839,7 +39839,7 @@

orval (link)

Stars - 1929 + 1933 Watchers @@ -39855,7 +39855,7 @@

orval (link)

Last Updated - 2024-01-02T14:41:48Z + 2024-01-04T02:26:32Z Archived @@ -39995,7 +39995,7 @@

Counterfact (link)

Stars - 60 + 66 Watchers @@ -40011,7 +40011,7 @@

Counterfact (link)

Last Updated - 2023-12-20T22:37:00Z + 2024-01-03T19:39:59Z Archived @@ -40203,7 +40203,7 @@

OpenAPI TypeScript (link)

Stars - 3998 + 3999 Watchers @@ -40219,7 +40219,7 @@

OpenAPI TypeScript (link)

Last Updated - 2024-01-03T02:06:10Z + 2024-01-03T14:16:07Z Archived @@ -40687,7 +40687,7 @@

Specmatic (link)

Last Updated - 2024-01-02T17:44:47Z + 2024-01-03T11:43:37Z Archived @@ -40827,7 +40827,7 @@

kubb (link)

Stars - 287 + 288 Watchers @@ -40843,7 +40843,7 @@

kubb (link)

Last Updated - 2024-01-02T09:24:02Z + 2024-01-03T12:59:59Z Archived @@ -41147,7 +41147,7 @@

allof-merge (link)

Forks - 3 + 4 Created @@ -41243,7 +41243,7 @@

rswag (link)

Stars - 1809 + 1810 Watchers @@ -41259,7 +41259,7 @@

rswag (link)

Last Updated - 2024-01-02T16:18:11Z + 2024-01-03T13:49:30Z Archived @@ -41295,11 +41295,11 @@

🌿 Fern (link)

Stars - 2027 + 2030 Watchers - 10 + 11 Forks @@ -41311,7 +41311,7 @@

🌿 Fern (link)

Last Updated - 2024-01-02T17:29:23Z + 2024-01-03T20:51:57Z Archived @@ -41451,7 +41451,7 @@

typeconv (link)

Stars - 375 + 376 Watchers @@ -41467,7 +41467,7 @@

typeconv (link)

Last Updated - 2023-12-18T16:03:43Z + 2024-01-03T13:16:21Z Archived @@ -41607,7 +41607,7 @@

Huma (link)

Stars - 313 + 316 Watchers @@ -41623,7 +41623,7 @@

Huma (link)

Last Updated - 2024-01-02T17:04:06Z + 2024-01-04T02:02:43Z Archived @@ -41867,7 +41867,7 @@

FastAPI (link)

Stars - 66525 + 66582 Watchers @@ -41875,7 +41875,7 @@

FastAPI (link)

Forks - 5627 + 5635 Created @@ -41883,7 +41883,7 @@

FastAPI (link)

Last Updated - 2024-01-03T03:11:50Z + 2024-01-04T03:21:04Z Archived @@ -41919,7 +41919,7 @@

swagger-ui (link)

Stars - 24971 + 24974 Watchers @@ -41927,7 +41927,7 @@

swagger-ui (link)

Forks - 8849 + 8850 Created @@ -41935,7 +41935,7 @@

swagger-ui (link)

Last Updated - 2024-01-02T18:07:02Z + 2024-01-04T00:16:41Z Archived @@ -41971,7 +41971,7 @@

Redoc (link)

Stars - 21698 + 21710 Watchers @@ -41979,7 +41979,7 @@

Redoc (link)

Forks - 2265 + 2266 Created @@ -41987,7 +41987,7 @@

Redoc (link)

Last Updated - 2024-01-03T00:39:04Z + 2024-01-04T01:27:38Z Archived @@ -42023,15 +42023,15 @@

full-stack-fastapi-postgresql (link) Stars - 14060 + 14071 Watchers - 238 + 236 Forks - 2513 + 2518 Created @@ -42039,7 +42039,7 @@

full-stack-fastapi-postgresql (link) Last Updated - 2024-01-03T02:38:39Z + 2024-01-04T03:26:54Z Archived @@ -42127,7 +42127,7 @@

mockoon (link)

Stars - 5602 + 5603 Watchers @@ -42143,7 +42143,7 @@

mockoon (link)

Last Updated - 2024-01-02T16:35:44Z + 2024-01-04T02:08:03Z Archived @@ -42179,7 +42179,7 @@

knife4j (link)

Stars - 3731 + 3732 Watchers @@ -42195,7 +42195,7 @@

knife4j (link)

Last Updated - 2024-01-02T14:17:16Z + 2024-01-03T08:04:33Z Archived @@ -42231,7 +42231,7 @@

openapi-devtools (link)

Stars - 3593 + 3594 Watchers @@ -42247,7 +42247,7 @@

openapi-devtools (link)

Last Updated - 2024-01-02T21:44:34Z + 2024-01-03T14:18:36Z Archived @@ -42283,7 +42283,7 @@

openapi-directory (link)

Stars - 3493 + 3495 Watchers @@ -42299,7 +42299,7 @@

openapi-directory (link)

Last Updated - 2024-01-02T16:18:34Z + 2024-01-03T18:27:38Z Archived @@ -42335,7 +42335,7 @@

springdoc-openapi (link)

Stars - 2945 + 2946 Watchers @@ -42351,7 +42351,7 @@

springdoc-openapi (link)

Last Updated - 2024-01-02T16:15:29Z + 2024-01-03T07:33:41Z Archived @@ -42439,7 +42439,7 @@

uvicorn-gunicorn-fastapi-docker (link)< Stars - 2437 + 2438 Watchers @@ -42455,7 +42455,7 @@

uvicorn-gunicorn-fastapi-docker (link)< Last Updated - 2024-01-02T16:50:03Z + 2024-01-03T08:28:23Z Archived @@ -42543,7 +42543,7 @@

drf-spectacular (link)

Stars - 1942 + 1943 Watchers @@ -42551,7 +42551,7 @@

drf-spectacular (link)

Forks - 227 + 229 Created @@ -42559,7 +42559,7 @@

drf-spectacular (link)

Last Updated - 2024-01-02T17:03:51Z + 2024-01-03T13:09:01Z Archived @@ -42595,7 +42595,7 @@

gnostic (link)

Stars - 1906 + 1908 Watchers @@ -42611,7 +42611,7 @@

gnostic (link)

Last Updated - 2024-01-02T16:28:55Z + 2024-01-03T20:08:35Z Archived @@ -42647,7 +42647,7 @@

msgspec (link)

Stars - 1602 + 1612 Watchers @@ -42655,7 +42655,7 @@

msgspec (link)

Forks - 47 + 48 Created @@ -42663,7 +42663,7 @@

msgspec (link)

Last Updated - 2024-01-02T19:43:06Z + 2024-01-04T00:08:42Z Archived @@ -42699,7 +42699,7 @@

utoipa (link)

Stars - 1591 + 1592 Watchers @@ -42715,7 +42715,7 @@

utoipa (link)

Last Updated - 2024-01-02T18:42:29Z + 2024-01-03T10:37:47Z Archived @@ -42751,7 +42751,7 @@

rapidoc (link)

Stars - 1475 + 1478 Watchers @@ -42767,7 +42767,7 @@

rapidoc (link)

Last Updated - 2024-01-02T19:17:43Z + 2024-01-04T00:37:38Z Archived @@ -42855,7 +42855,7 @@

openapi-generator-cli (link)

Stars - 1196 + 1197 Watchers @@ -42871,7 +42871,7 @@

openapi-generator-cli (link)

Last Updated - 2024-01-02T19:36:44Z + 2024-01-03T12:52:06Z Archived @@ -42907,7 +42907,7 @@

apispec (link)

Stars - 1066 + 1067 Watchers @@ -42923,7 +42923,7 @@

apispec (link)

Last Updated - 2024-01-02T16:17:30Z + 2024-01-03T14:11:43Z Archived @@ -42959,7 +42959,7 @@

apiflask (link)

Stars - 898 + 899 Watchers @@ -42975,7 +42975,7 @@

apiflask (link)

Last Updated - 2024-01-02T17:15:38Z + 2024-01-03T14:17:21Z Archived @@ -43027,7 +43027,7 @@

ogen (link)

Last Updated - 2024-01-02T11:05:22Z + 2024-01-03T23:58:52Z Archived @@ -43167,7 +43167,7 @@

json-schema-validator (link)

Stars - 720 + 722 Watchers @@ -43183,7 +43183,7 @@

json-schema-validator (link)

Last Updated - 2023-12-29T06:33:29Z + 2024-01-04T02:56:01Z Archived @@ -43583,7 +43583,7 @@

zod-to-openapi (link)

Stars - 536 + 538 Watchers @@ -43599,7 +43599,7 @@

zod-to-openapi (link)

Last Updated - 2024-01-02T19:34:36Z + 2024-01-03T20:51:49Z Archived @@ -44051,7 +44051,7 @@

swagger-autogen (link)

Stars - 395 + 396 Watchers @@ -44067,7 +44067,7 @@

swagger-autogen (link)

Last Updated - 2023-12-31T08:27:52Z + 2024-01-03T04:15:29Z Archived @@ -44155,7 +44155,7 @@

typeconv (link)

Stars - 375 + 376 Watchers @@ -44171,7 +44171,7 @@

typeconv (link)

Last Updated - 2023-12-18T16:03:43Z + 2024-01-03T13:16:21Z Archived @@ -44311,7 +44311,7 @@

openapi-boilerplate (link)

Stars - 338 + 339 Watchers @@ -44327,7 +44327,7 @@

openapi-boilerplate (link)

Last Updated - 2023-12-28T15:33:26Z + 2024-01-04T02:53:21Z Archived @@ -44363,7 +44363,7 @@

akita-cli (link)

Stars - 335 + 336 Watchers @@ -44379,7 +44379,7 @@

akita-cli (link)

Last Updated - 2024-01-02T17:16:43Z + 2024-01-04T03:21:33Z Archived @@ -44475,7 +44475,7 @@

routing-controllers-openapi (link)

Forks - 54 + 55 Created @@ -44527,7 +44527,7 @@

openapi-spec-validator (link)

Forks - 61 + 60 Created @@ -44727,7 +44727,7 @@

rest (link)

Stars - 272 + 273 Watchers @@ -44743,7 +44743,7 @@

rest (link)

Last Updated - 2023-12-29T08:55:21Z + 2024-01-03T14:13:30Z Archived @@ -44779,7 +44779,7 @@

openapi-core (link)

Stars - 257 + 258 Watchers @@ -44795,7 +44795,7 @@

openapi-core (link)

Last Updated - 2023-12-21T19:45:58Z + 2024-01-03T17:50:24Z Archived @@ -44987,7 +44987,7 @@

apicat (link)

Stars - 229 + 233 Watchers @@ -44995,7 +44995,7 @@

apicat (link)

Forks - 28 + 29 Created @@ -45003,7 +45003,7 @@

apicat (link)

Last Updated - 2023-12-28T00:19:14Z + 2024-01-03T10:32:06Z Archived @@ -45195,7 +45195,7 @@

prance (link)

Stars - 213 + 214 Watchers @@ -45211,7 +45211,7 @@

prance (link)

Last Updated - 2023-12-29T08:57:55Z + 2024-01-03T14:14:04Z Archived @@ -45515,7 +45515,7 @@

swagger-petstore (link)

Forks - 280 + 281 Created @@ -45715,7 +45715,7 @@

stackql (link)

Stars - 201 + 217 Watchers @@ -45731,7 +45731,7 @@

stackql (link)

Last Updated - 2024-01-03T02:47:42Z + 2024-01-03T19:19:11Z Archived @@ -46079,7 +46079,7 @@

itty-router-openapi (link)

Stars - 180 + 181 Watchers @@ -46095,7 +46095,7 @@

itty-router-openapi (link)

Last Updated - 2024-01-02T17:16:27Z + 2024-01-03T09:29:55Z Archived @@ -46703,7 +46703,7 @@

flask-openapi3 (link)

Stars - 129 + 130 Watchers @@ -46719,7 +46719,7 @@

flask-openapi3 (link)

Last Updated - 2023-12-29T09:00:50Z + 2024-01-03T14:17:28Z Archived @@ -47227,7 +47227,7 @@

openapi (link)

Watchers - 13 + 14 Forks @@ -47431,7 +47431,7 @@

openapi-schema-pydantic (link)

Stars - 99 + 100 Watchers @@ -47447,7 +47447,7 @@

openapi-schema-pydantic (link)

Last Updated - 2023-12-29T09:00:26Z + 2024-01-03T14:17:01Z Archived @@ -47595,7 +47595,7 @@

openapi-generator-go (link)

Forks - 11 + 10 Created @@ -47795,7 +47795,7 @@

refitter (link)

Stars - 86 + 87 Watchers @@ -47811,7 +47811,7 @@

refitter (link)

Last Updated - 2024-01-02T16:31:40Z + 2024-01-03T14:15:16Z Archived @@ -47899,7 +47899,7 @@

oatpp-swagger (link)

Stars - 84 + 85 Watchers @@ -47915,7 +47915,7 @@

oatpp-swagger (link)

Last Updated - 2024-01-02T08:46:32Z + 2024-01-03T13:31:34Z Archived @@ -47951,7 +47951,7 @@

zod-openapi (link)

Stars - 83 + 85 Watchers @@ -47967,7 +47967,7 @@

zod-openapi (link)

Last Updated - 2024-01-02T17:39:58Z + 2024-01-04T00:34:13Z Archived @@ -48159,7 +48159,7 @@

paypal-rest-api-specifications (link) Stars - 79 + 80 Watchers @@ -48167,7 +48167,7 @@

paypal-rest-api-specifications (link) Forks - 85 + 87 Created @@ -48175,7 +48175,7 @@

paypal-rest-api-specifications (link) Last Updated - 2023-12-28T03:00:41Z + 2024-01-03T08:31:47Z Archived @@ -48991,7 +48991,7 @@

tooling (link)

Stars - 59 + 60 Watchers @@ -49007,7 +49007,7 @@

tooling (link)

Last Updated - 2023-12-22T18:20:34Z + 2024-01-03T18:25:09Z Archived @@ -50447,7 +50447,7 @@

apibrew (link)

Stars - 38 + 39 Watchers @@ -50463,7 +50463,7 @@

apibrew (link)

Last Updated - 2024-01-02T04:35:44Z + 2024-01-03T15:22:29Z Archived @@ -50499,7 +50499,7 @@

openapi (link)

Stars - 36 + 37 Watchers @@ -50515,7 +50515,7 @@

openapi (link)

Last Updated - 2023-12-27T06:45:21Z + 2024-01-03T12:10:18Z Archived @@ -54191,7 +54191,7 @@

campsite-booking (link)

Stars - 17 + 18 Watchers @@ -54207,7 +54207,7 @@

campsite-booking (link)

Last Updated - 2023-12-13T13:25:53Z + 2024-01-03T09:54:51Z Archived @@ -56963,7 +56963,7 @@

aiopenapi3 (link)

Last Updated - 2023-12-26T02:25:45Z + 2024-01-03T08:00:54Z Archived @@ -58455,7 +58455,7 @@

openapi-ui (link)

Stars - 9 + 14 Watchers @@ -58471,7 +58471,7 @@

openapi-ui (link)

Last Updated - 2023-12-28T10:14:12Z + 2024-01-03T09:39:14Z Archived @@ -68871,7 +68871,7 @@

openapi-http-foundation-validator (link Last Updated - 2021-11-19T13:28:06Z + 2024-01-03T07:29:13Z Archived @@ -69847,7 +69847,7 @@

capsule-api (link)

Watchers - 5 + 6 Forks @@ -72183,7 +72183,7 @@

routefinder (link)

Stars - 2 + 3 Watchers @@ -72199,7 +72199,7 @@

routefinder (link)

Last Updated - 2023-11-08T14:05:34Z + 2024-01-03T19:22:12Z Archived @@ -87539,7 +87539,7 @@

pig-latin-rest (link)

Last Updated - 2023-12-28T12:37:31Z + 2024-01-03T22:01:38Z Archived @@ -94907,7 +94907,7 @@

OpenAPI Explorer (link)

Stars - 250 + 251 Watchers @@ -94923,7 +94923,7 @@

OpenAPI Explorer (link)

Last Updated - 2023-12-25T17:55:04Z + 2024-01-03T04:35:05Z Archived @@ -94959,7 +94959,7 @@

openapi-backend (link)

Stars - 551 + 552 Watchers @@ -94975,7 +94975,7 @@

openapi-backend (link)

Last Updated - 2023-12-29T08:59:38Z + 2024-01-03T14:16:02Z Archived @@ -95795,7 +95795,7 @@

openapi (link)

Watchers - 6 + 7 Forks @@ -100471,7 +100471,7 @@

Microsoft.OpenApi.net (link)

Stars - 1244 + 1247 Watchers @@ -100487,7 +100487,7 @@

Microsoft.OpenApi.net (link)

Last Updated - 2023-12-27T09:46:50Z + 2024-01-03T16:48:14Z Archived @@ -101251,7 +101251,7 @@

PHP-CRUD-API (link)

Stars - 3469 + 3472 Watchers @@ -101267,7 +101267,7 @@

PHP-CRUD-API (link)

Last Updated - 2023-12-30T11:26:24Z + 2024-01-03T16:56:14Z Archived @@ -101459,7 +101459,7 @@

serverless-openapi-documentation (link) Stars - 90 + 91 Watchers @@ -101475,7 +101475,7 @@

serverless-openapi-documentation (link) Last Updated - 2023-12-30T15:28:40Z + 2024-01-03T12:13:01Z Archived @@ -102447,7 +102447,7 @@

Connexion (link)

Stars - 4357 + 4359 Watchers @@ -102455,7 +102455,7 @@

Connexion (link)

Forks - 740 + 741 Created @@ -102463,7 +102463,7 @@

Connexion (link)

Last Updated - 2024-01-02T16:19:29Z + 2024-01-03T23:56:11Z Archived @@ -102863,7 +102863,7 @@

LoopBack 4 (link)

Stars - 4707 + 4708 Watchers @@ -102871,7 +102871,7 @@

LoopBack 4 (link)

Forks - 1042 + 1043 Created @@ -102879,7 +102879,7 @@

LoopBack 4 (link)

Last Updated - 2024-01-02T16:30:15Z + 2024-01-03T04:20:23Z Archived @@ -102967,7 +102967,7 @@

RESTler (link)

Stars - 2361 + 2363 Watchers @@ -102983,7 +102983,7 @@

RESTler (link)

Last Updated - 2024-01-02T22:22:27Z + 2024-01-03T12:20:08Z Archived @@ -104475,7 +104475,7 @@

go-doudou (link)

Stars - 1276 + 1280 Watchers @@ -104483,7 +104483,7 @@

go-doudou (link)

Forks - 259 + 260 Created @@ -104491,7 +104491,7 @@

go-doudou (link)

Last Updated - 2024-01-02T17:16:51Z + 2024-01-03T12:04:25Z Archived diff --git a/docs/categories/auto-generators.html b/docs/categories/auto-generators.html index 3d54a461..cb929b6b 100644 --- a/docs/categories/auto-generators.html +++ b/docs/categories/auto-generators.html @@ -153,7 +153,7 @@

Yes Yes No - 313 + 316 @@ -363,7 +363,7 @@

Huma (link)

Stars - 313 + 316 Watchers @@ -379,7 +379,7 @@

Huma (link)

Last Updated - 2024-01-02T17:04:06Z + 2024-01-04T02:02:43Z Archived diff --git a/docs/categories/client-implementations.html b/docs/categories/client-implementations.html index c5f0f8c2..cb20c5cf 100644 --- a/docs/categories/client-implementations.html +++ b/docs/categories/client-implementations.html @@ -202,7 +202,7 @@

aiopenapi3 (link)

Last Updated - 2023-12-26T02:25:45Z + 2024-01-03T08:00:54Z Archived diff --git a/docs/categories/code-generators.html b/docs/categories/code-generators.html index adf0aca5..322e83c9 100644 --- a/docs/categories/code-generators.html +++ b/docs/categories/code-generators.html @@ -86,7 +86,7 @@

No Yes No - 4664 + 4670 @@ -132,7 +132,7 @@

No Yes Yes - 18617 + 18631 @@ -178,7 +178,7 @@

No Yes Yes - 1063 + 1157 @@ -266,7 +266,7 @@

No Yes Yes - 16236 + 16238 @@ -335,7 +335,7 @@

No Yes Yes - 1929 + 1933 @@ -381,7 +381,7 @@

Yes Yes Yes - 287 + 288 @@ -404,7 +404,7 @@

Yes Yes Yes - 2027 + 2030 @@ -427,7 +427,7 @@

Yes Yes No - 24971 + 24974 @@ -490,7 +490,7 @@

No Yes No - 1196 + 1197 @@ -597,7 +597,7 @@

No Yes No - 79 + 80 @@ -1842,7 +1842,7 @@

No No No - 90 + 91 @@ -2049,7 +2049,7 @@

OpenAPI Server Code Generator (oapi-cod Stars - 4664 + 4670 Watchers @@ -2065,7 +2065,7 @@

OpenAPI Server Code Generator (oapi-cod Last Updated - 2024-01-02T20:37:01Z + 2024-01-04T02:26:52Z Archived @@ -2153,7 +2153,7 @@

OpenAPI Generator (link)

Stars - 18617 + 18631 Watchers @@ -2161,7 +2161,7 @@

OpenAPI Generator (link)

Forks - 5886 + 5892 Created @@ -2169,7 +2169,7 @@

OpenAPI Generator (link)

Last Updated - 2024-01-03T02:36:04Z + 2024-01-04T01:29:52Z Archived @@ -2257,7 +2257,7 @@

Kiota Api Client Generator (link)

Stars - 1063 + 1157 Watchers @@ -2273,7 +2273,7 @@

Kiota Api Client Generator (link)

Last Updated - 2024-01-02T21:50:10Z + 2024-01-04T03:30:47Z Archived @@ -2465,7 +2465,7 @@

Swagger-Codegen (link)

Stars - 16236 + 16238 Watchers @@ -2473,7 +2473,7 @@

Swagger-Codegen (link)

Forks - 6032 + 6033 Created @@ -2481,7 +2481,7 @@

Swagger-Codegen (link)

Last Updated - 2024-01-02T16:11:55Z + 2024-01-03T15:40:05Z Archived @@ -2621,7 +2621,7 @@

orval (link)

Stars - 1929 + 1933 Watchers @@ -2637,7 +2637,7 @@

orval (link)

Last Updated - 2024-01-02T14:41:48Z + 2024-01-04T02:26:32Z Archived @@ -2725,7 +2725,7 @@

kubb (link)

Stars - 287 + 288 Watchers @@ -2741,7 +2741,7 @@

kubb (link)

Last Updated - 2024-01-02T09:24:02Z + 2024-01-03T12:59:59Z Archived @@ -2777,11 +2777,11 @@

🌿 Fern (link)

Stars - 2027 + 2030 Watchers - 10 + 11 Forks @@ -2793,7 +2793,7 @@

🌿 Fern (link)

Last Updated - 2024-01-02T17:29:23Z + 2024-01-03T20:51:57Z Archived @@ -2829,7 +2829,7 @@

swagger-ui (link)

Stars - 24971 + 24974 Watchers @@ -2837,7 +2837,7 @@

swagger-ui (link)

Forks - 8849 + 8850 Created @@ -2845,7 +2845,7 @@

swagger-ui (link)

Last Updated - 2024-01-02T18:07:02Z + 2024-01-04T00:16:41Z Archived @@ -2985,7 +2985,7 @@

openapi-generator-cli (link)

Stars - 1196 + 1197 Watchers @@ -3001,7 +3001,7 @@

openapi-generator-cli (link)

Last Updated - 2024-01-02T19:36:44Z + 2024-01-03T12:52:06Z Archived @@ -3149,7 +3149,7 @@

swagger-petstore (link)

Forks - 280 + 281 Created @@ -3245,7 +3245,7 @@

paypal-rest-api-specifications (link) Stars - 79 + 80 Watchers @@ -3253,7 +3253,7 @@

paypal-rest-api-specifications (link) Forks - 85 + 87 Created @@ -3261,7 +3261,7 @@

paypal-rest-api-specifications (link) Last Updated - 2023-12-28T03:00:41Z + 2024-01-03T08:31:47Z Archived @@ -6313,7 +6313,7 @@

serverless-openapi-documentation (link) Stars - 90 + 91 Watchers @@ -6329,7 +6329,7 @@

serverless-openapi-documentation (link) Last Updated - 2023-12-30T15:28:40Z + 2024-01-03T12:13:01Z Archived diff --git a/docs/categories/converters.html b/docs/categories/converters.html index c7bfc064..a9df61dd 100644 --- a/docs/categories/converters.html +++ b/docs/categories/converters.html @@ -239,7 +239,7 @@

No Yes No - 590 + 592 @@ -285,7 +285,7 @@

No No Yes - 9064 + 9068 @@ -331,7 +331,7 @@

Yes Yes Yes - 451 + 452 @@ -396,7 +396,7 @@

No Yes No - 209 + 211 @@ -419,7 +419,7 @@

No Yes No - 101 + 102 @@ -440,7 +440,7 @@

Yes Yes Yes - 817 + 818 @@ -509,7 +509,7 @@

Yes Yes Yes - 3998 + 3999 @@ -574,7 +574,7 @@

No Yes No - 375 + 376 @@ -618,7 +618,7 @@

No Yes No - 1906 + 1908 @@ -1498,7 +1498,7 @@

portman (link)

Stars - 590 + 592 Watchers @@ -1514,7 +1514,7 @@

portman (link)

Last Updated - 2024-01-02T17:19:17Z + 2024-01-03T19:26:02Z Archived @@ -1602,7 +1602,7 @@

go-swagger (link)

Stars - 9064 + 9068 Watchers @@ -1618,7 +1618,7 @@

go-swagger (link)

Last Updated - 2024-01-03T02:32:34Z + 2024-01-03T16:58:28Z Archived @@ -1706,7 +1706,7 @@

api (link)

Stars - 451 + 452 Watchers @@ -1722,7 +1722,7 @@

api (link)

Last Updated - 2024-01-02T16:31:02Z + 2024-01-03T20:49:10Z Archived @@ -1862,7 +1862,7 @@

OpenAPI Schema to JSON Schema (link) Stars - 209 + 211 Watchers @@ -1878,7 +1878,7 @@

OpenAPI Schema to JSON Schema (link) Last Updated - 2023-12-29T09:00:17Z + 2024-01-03T14:16:50Z Archived @@ -1914,7 +1914,7 @@

JSON Schema to OpenAPI Schema (link) Stars - 101 + 102 Watchers @@ -1930,7 +1930,7 @@

JSON Schema to OpenAPI Schema (link) Last Updated - 2023-12-29T09:00:09Z + 2024-01-03T14:16:37Z Archived @@ -1966,7 +1966,7 @@

openapi-to-postman (link)

Stars - 817 + 818 Watchers @@ -1982,7 +1982,7 @@

openapi-to-postman (link)

Last Updated - 2024-01-02T16:49:27Z + 2024-01-03T18:58:49Z Archived @@ -2078,7 +2078,7 @@

openapi-python-client (link)

Forks - 187 + 188 Created @@ -2122,7 +2122,7 @@

OpenAPI TypeScript (link)

Stars - 3998 + 3999 Watchers @@ -2138,7 +2138,7 @@

OpenAPI TypeScript (link)

Last Updated - 2024-01-03T02:06:10Z + 2024-01-03T14:16:07Z Archived @@ -2182,7 +2182,7 @@

allof-merge (link)

Forks - 3 + 4 Created @@ -2278,7 +2278,7 @@

typeconv (link)

Stars - 375 + 376 Watchers @@ -2294,7 +2294,7 @@

typeconv (link)

Last Updated - 2023-12-18T16:03:43Z + 2024-01-03T13:16:21Z Archived @@ -2382,7 +2382,7 @@

gnostic (link)

Stars - 1906 + 1908 Watchers @@ -2398,7 +2398,7 @@

gnostic (link)

Last Updated - 2024-01-02T16:28:55Z + 2024-01-03T20:08:35Z Archived @@ -2542,7 +2542,7 @@

openapi (link)

Watchers - 13 + 14 Forks diff --git a/docs/categories/data-validators.html b/docs/categories/data-validators.html index f718b920..9f967ae5 100644 --- a/docs/categories/data-validators.html +++ b/docs/categories/data-validators.html @@ -107,7 +107,7 @@

No Yes No - 830 + 831 @@ -195,7 +195,7 @@

No Yes Yes - 830 + 831 @@ -241,7 +241,7 @@

No Yes Yes - 2204 + 2207 @@ -371,7 +371,7 @@

No Yes Yes - 377 + 379 @@ -576,7 +576,7 @@

Yes Yes No - 313 + 316 @@ -620,7 +620,7 @@

Yes Yes No - 257 + 258 @@ -1872,7 +1872,7 @@

tsoa (link)

Last Updated - 2024-01-02T22:11:26Z + 2024-01-04T01:25:58Z Archived @@ -1908,7 +1908,7 @@

express-openapi-validator (link)

Stars - 830 + 831 Watchers @@ -1924,7 +1924,7 @@

express-openapi-validator (link)

Last Updated - 2023-12-28T22:36:45Z + 2024-01-03T07:18:47Z Archived @@ -2116,7 +2116,7 @@

committee (link)

Stars - 830 + 831 Watchers @@ -2132,7 +2132,7 @@

committee (link)

Last Updated - 2023-12-18T09:12:09Z + 2024-01-03T22:04:26Z Archived @@ -2220,7 +2220,7 @@

kin-openapi (link)

Stars - 2204 + 2207 Watchers @@ -2236,7 +2236,7 @@

kin-openapi (link)

Last Updated - 2024-01-02T16:34:48Z + 2024-01-04T02:54:36Z Archived @@ -2532,7 +2532,7 @@

APIFuzzer (link)

Stars - 377 + 379 Watchers @@ -2548,7 +2548,7 @@

APIFuzzer (link)

Last Updated - 2024-01-02T17:29:53Z + 2024-01-03T13:41:32Z Archived @@ -3000,7 +3000,7 @@

Huma (link)

Stars - 313 + 316 Watchers @@ -3016,7 +3016,7 @@

Huma (link)

Last Updated - 2024-01-02T17:04:06Z + 2024-01-04T02:02:43Z Archived @@ -3104,7 +3104,7 @@

openapi-core (link)

Stars - 257 + 258 Watchers @@ -3120,7 +3120,7 @@

openapi-core (link)

Last Updated - 2023-12-21T19:45:58Z + 2024-01-03T17:50:24Z Archived @@ -4368,7 +4368,7 @@

openapi-http-foundation-validator (link Last Updated - 2021-11-19T13:28:06Z + 2024-01-03T07:29:13Z Archived diff --git a/docs/categories/description-validators.html b/docs/categories/description-validators.html index ea1f183e..89217d09 100644 --- a/docs/categories/description-validators.html +++ b/docs/categories/description-validators.html @@ -147,7 +147,7 @@

No Yes No - 830 + 831 @@ -191,7 +191,7 @@

Yes Yes Yes - 2122 + 2127 @@ -256,7 +256,7 @@

Yes Yes Yes - 725 + 727 @@ -323,7 +323,7 @@

Yes Yes Yes - 451 + 452 @@ -627,7 +627,7 @@

No Yes No - 338 + 339 @@ -1742,7 +1742,7 @@

express-openapi-validator (link)

Stars - 830 + 831 Watchers @@ -1758,7 +1758,7 @@

express-openapi-validator (link)

Last Updated - 2023-12-28T22:36:45Z + 2024-01-03T07:18:47Z Archived @@ -1846,7 +1846,7 @@

Spectral (link)

Stars - 2122 + 2127 Watchers @@ -1862,7 +1862,7 @@

Spectral (link)

Last Updated - 2024-01-02T16:45:54Z + 2024-01-03T21:27:25Z Archived @@ -2002,7 +2002,7 @@

Redocly CLI (link)

Stars - 725 + 727 Watchers @@ -2018,7 +2018,7 @@

Redocly CLI (link)

Last Updated - 2024-01-02T17:43:49Z + 2024-01-03T23:06:27Z Archived @@ -2158,7 +2158,7 @@

api (link)

Stars - 451 + 452 Watchers @@ -2174,7 +2174,7 @@

api (link)

Last Updated - 2024-01-02T16:31:02Z + 2024-01-03T20:49:10Z Archived @@ -2886,7 +2886,7 @@

openapi-boilerplate (link)

Stars - 338 + 339 Watchers @@ -2902,7 +2902,7 @@

openapi-boilerplate (link)

Last Updated - 2023-12-28T15:33:26Z + 2024-01-04T02:53:21Z Archived diff --git a/docs/categories/documentation.html b/docs/categories/documentation.html index 8af00f2f..6750d3c1 100644 --- a/docs/categories/documentation.html +++ b/docs/categories/documentation.html @@ -205,7 +205,7 @@

Yes Yes Yes - 2015 + 2022 @@ -249,7 +249,7 @@

Yes Yes Yes - 21698 + 21710 @@ -490,7 +490,7 @@

Yes Yes Yes - 725 + 727 @@ -534,7 +534,7 @@

Yes Yes No - 575 + 576 @@ -576,7 +576,7 @@

Yes Yes Yes - 1329 + 1330 @@ -790,7 +790,7 @@

Yes Yes Yes - 2027 + 2030 @@ -857,7 +857,7 @@

No Yes No - 1475 + 1478 @@ -1867,7 +1867,7 @@

Yes Yes Yes - 250 + 251 @@ -2391,7 +2391,7 @@

Scalar (link)

Stars - 2015 + 2022 Watchers @@ -2407,7 +2407,7 @@

Scalar (link)

Last Updated - 2024-01-03T03:06:21Z + 2024-01-03T21:39:12Z Archived @@ -2495,7 +2495,7 @@

ReDoc (link)

Stars - 21698 + 21710 Watchers @@ -2503,7 +2503,7 @@

ReDoc (link)

Forks - 2265 + 2266 Created @@ -2511,7 +2511,7 @@

ReDoc (link)

Last Updated - 2024-01-03T00:39:04Z + 2024-01-04T01:27:38Z Archived @@ -3067,7 +3067,7 @@

Redocly CLI (link)

Stars - 725 + 727 Watchers @@ -3083,7 +3083,7 @@

Redocly CLI (link)

Last Updated - 2024-01-02T17:43:49Z + 2024-01-03T23:06:27Z Archived @@ -3171,7 +3171,7 @@

Restish (link)

Stars - 575 + 576 Watchers @@ -3187,7 +3187,7 @@

Restish (link)

Last Updated - 2024-01-02T17:07:22Z + 2024-01-03T18:18:05Z Archived @@ -3275,7 +3275,7 @@

Elements (link)

Stars - 1329 + 1330 Watchers @@ -3291,7 +3291,7 @@

Elements (link)

Last Updated - 2024-01-02T23:31:15Z + 2024-01-03T16:30:59Z Archived @@ -3795,11 +3795,11 @@

🌿 Fern (link)

Stars - 2027 + 2030 Watchers - 10 + 11 Forks @@ -3811,7 +3811,7 @@

🌿 Fern (link)

Last Updated - 2024-01-02T17:29:23Z + 2024-01-03T20:51:57Z Archived @@ -3951,7 +3951,7 @@

rapidoc (link)

Stars - 1475 + 1478 Watchers @@ -3967,7 +3967,7 @@

rapidoc (link)

Last Updated - 2024-01-02T19:17:43Z + 2024-01-04T00:37:38Z Archived @@ -6447,7 +6447,7 @@

OpenAPI Explorer (link)

Stars - 250 + 251 Watchers @@ -6463,7 +6463,7 @@

OpenAPI Explorer (link)

Last Updated - 2023-12-25T17:55:04Z + 2024-01-03T04:35:05Z Archived diff --git a/docs/categories/dsl.html b/docs/categories/dsl.html index a02eeb74..f7e6e48e 100644 --- a/docs/categories/dsl.html +++ b/docs/categories/dsl.html @@ -122,7 +122,7 @@

No Yes Yes - 508 + 509 @@ -210,7 +210,7 @@

No Yes No - 1809 + 1810 @@ -412,7 +412,7 @@

Spot (link)

Stars - 508 + 509 Watchers @@ -428,7 +428,7 @@

Spot (link)

Last Updated - 2024-01-01T22:11:09Z + 2024-01-03T13:48:03Z Archived @@ -620,7 +620,7 @@

rswag (link)

Stars - 1809 + 1810 Watchers @@ -636,7 +636,7 @@

rswag (link)

Last Updated - 2024-01-02T16:18:11Z + 2024-01-03T13:49:30Z Archived diff --git a/docs/categories/gateway.html b/docs/categories/gateway.html index dc3508b0..5041d08a 100644 --- a/docs/categories/gateway.html +++ b/docs/categories/gateway.html @@ -105,7 +105,7 @@

No Yes No - 1629 + 1630 @@ -318,7 +318,7 @@

Fusio (link)

Stars - 1629 + 1630 Watchers @@ -334,7 +334,7 @@

Fusio (link)

Last Updated - 2024-01-02T18:52:04Z + 2024-01-03T18:12:37Z Archived diff --git a/docs/categories/gui-editors.html b/docs/categories/gui-editors.html index 27d15351..a3390fd0 100644 --- a/docs/categories/gui-editors.html +++ b/docs/categories/gui-editors.html @@ -169,7 +169,7 @@

No Yes Yes - 891 + 892 @@ -651,7 +651,7 @@

Apicurio Studio (link)

Stars - 891 + 892 Watchers @@ -659,7 +659,7 @@

Apicurio Studio (link)

Forks - 461 + 462 Created @@ -667,7 +667,7 @@

Apicurio Studio (link)

Last Updated - 2023-12-12T21:41:37Z + 2024-01-03T08:58:39Z Archived diff --git a/docs/categories/low-level-tooling.html b/docs/categories/low-level-tooling.html index 874ee873..c76fdb8c 100644 --- a/docs/categories/low-level-tooling.html +++ b/docs/categories/low-level-tooling.html @@ -86,7 +86,7 @@

No Yes No - 2945 + 2946 @@ -235,7 +235,7 @@

No Yes No - 84 + 85 @@ -302,7 +302,7 @@

Yes Yes No - 36 + 37 @@ -1358,7 +1358,7 @@

No No No - 1244 + 1247 @@ -1498,7 +1498,7 @@

springdoc-openapi (link)

Stars - 2945 + 2946 Watchers @@ -1514,7 +1514,7 @@

springdoc-openapi (link)

Last Updated - 2024-01-02T16:15:29Z + 2024-01-03T07:33:41Z Archived @@ -1862,7 +1862,7 @@

oatpp-swagger (link)

Stars - 84 + 85 Watchers @@ -1878,7 +1878,7 @@

oatpp-swagger (link)

Last Updated - 2024-01-02T08:46:32Z + 2024-01-03T13:31:34Z Archived @@ -2018,7 +2018,7 @@

openapi (link)

Stars - 36 + 37 Watchers @@ -2034,7 +2034,7 @@

openapi (link)

Last Updated - 2023-12-27T06:45:21Z + 2024-01-03T12:10:18Z Archived @@ -4618,7 +4618,7 @@

Microsoft.OpenApi.net (link)

Stars - 1244 + 1247 Watchers @@ -4634,7 +4634,7 @@

Microsoft.OpenApi.net (link)

Last Updated - 2023-12-27T09:46:50Z + 2024-01-03T16:48:14Z Archived diff --git a/docs/categories/mock-testing.html b/docs/categories/mock-testing.html index c30d4589..2a1dbd3a 100644 --- a/docs/categories/mock-testing.html +++ b/docs/categories/mock-testing.html @@ -86,7 +86,7 @@

Yes Yes Yes - 1065 + 1069 @@ -140,7 +140,7 @@

Microcks (link)

Stars - 1065 + 1069 Watchers @@ -156,7 +156,7 @@

Microcks (link)

Last Updated - 2023-12-25T09:14:11Z + 2024-01-03T20:15:03Z Archived diff --git a/docs/categories/mock.html b/docs/categories/mock.html index f31ab4da..d5b889c9 100644 --- a/docs/categories/mock.html +++ b/docs/categories/mock.html @@ -125,7 +125,7 @@

Yes Yes Yes - 3847 + 3848 @@ -323,7 +323,7 @@

No Yes Yes - 1929 + 1933 @@ -346,7 +346,7 @@

Yes Yes Yes - 60 + 66 @@ -606,7 +606,7 @@

No Yes Yes - 4357 + 4359 @@ -852,7 +852,7 @@

Prism (link)

Stars - 3847 + 3848 Watchers @@ -868,7 +868,7 @@

Prism (link)

Last Updated - 2024-01-02T16:23:24Z + 2024-01-03T14:13:30Z Archived @@ -964,7 +964,7 @@

OpenAPI Mocker (link)

Forks - 33 + 34 Created @@ -1320,7 +1320,7 @@

orval (link)

Stars - 1929 + 1933 Watchers @@ -1336,7 +1336,7 @@

orval (link)

Last Updated - 2024-01-02T14:41:48Z + 2024-01-04T02:26:32Z Archived @@ -1372,7 +1372,7 @@

Counterfact (link)

Stars - 60 + 66 Watchers @@ -1388,7 +1388,7 @@

Counterfact (link)

Last Updated - 2023-12-20T22:37:00Z + 2024-01-03T19:39:59Z Archived @@ -1544,7 +1544,7 @@

Specmatic (link)

Last Updated - 2024-01-02T17:44:47Z + 2024-01-03T11:43:37Z Archived @@ -1996,7 +1996,7 @@

Connexion (link)

Stars - 4357 + 4359 Watchers @@ -2004,7 +2004,7 @@

Connexion (link)

Forks - 740 + 741 Created @@ -2012,7 +2012,7 @@

Connexion (link)

Last Updated - 2024-01-02T16:19:29Z + 2024-01-03T23:56:11Z Archived diff --git a/docs/categories/parsers.html b/docs/categories/parsers.html index 6580654c..0206b104 100644 --- a/docs/categories/parsers.html +++ b/docs/categories/parsers.html @@ -86,7 +86,7 @@

Yes Yes Yes - 21698 + 21710 @@ -218,7 +218,7 @@

No Yes Yes - 508 + 509 @@ -241,7 +241,7 @@

No Yes No - 4664 + 4670 @@ -559,7 +559,7 @@

Yes Yes Yes - 725 + 727 @@ -737,7 +737,7 @@

No Yes Yes - 2204 + 2207 @@ -846,7 +846,7 @@

No Yes Yes - 1244 + 1247 @@ -936,7 +936,7 @@

No No Yes - 9064 + 9068 @@ -1005,7 +1005,7 @@

Yes Yes Yes - 451 + 452 @@ -1072,7 +1072,7 @@

No Yes No - 209 + 211 @@ -1095,7 +1095,7 @@

No Yes No - 101 + 102 @@ -1229,7 +1229,7 @@

Yes Yes Yes - 817 + 818 @@ -1700,7 +1700,7 @@

No Yes No - 1809 + 1810 @@ -1723,7 +1723,7 @@

No Yes No - 375 + 376 @@ -1792,7 +1792,7 @@

Yes Yes No - 21698 + 21710 @@ -1813,7 +1813,7 @@

No Yes No - 1591 + 1592 @@ -1834,7 +1834,7 @@

No Yes No - 1196 + 1197 @@ -1855,7 +1855,7 @@

No Yes No - 1066 + 1067 @@ -1897,7 +1897,7 @@

No Yes No - 720 + 722 @@ -2002,7 +2002,7 @@

No Yes No - 536 + 538 @@ -2086,7 +2086,7 @@

No Yes No - 395 + 396 @@ -2107,7 +2107,7 @@

No Yes No - 375 + 376 @@ -2128,7 +2128,7 @@

No Yes No - 338 + 339 @@ -2191,7 +2191,7 @@

Yes Yes No - 257 + 258 @@ -2638,7 +2638,7 @@

No Yes No - 99 + 100 @@ -2764,7 +2764,7 @@

No Yes No - 86 + 87 @@ -2806,7 +2806,7 @@

No Yes No - 83 + 85 @@ -3274,7 +3274,7 @@

Yes Yes No - 36 + 37 @@ -9246,7 +9246,7 @@

Yes Yes Yes - 250 + 251 @@ -9710,7 +9710,7 @@

No No No - 1244 + 1247 @@ -9825,7 +9825,7 @@

No No No - 90 + 91 @@ -10198,7 +10198,7 @@

ReDoc (link)

Stars - 21698 + 21710 Watchers @@ -10206,7 +10206,7 @@

ReDoc (link)

Forks - 2265 + 2266 Created @@ -10214,7 +10214,7 @@

ReDoc (link)

Last Updated - 2024-01-03T00:39:04Z + 2024-01-04T01:27:38Z Archived @@ -10510,7 +10510,7 @@

Spot (link)

Stars - 508 + 509 Watchers @@ -10526,7 +10526,7 @@

Spot (link)

Last Updated - 2024-01-01T22:11:09Z + 2024-01-03T13:48:03Z Archived @@ -10562,7 +10562,7 @@

OpenAPI Server Code Generator (oapi-cod Stars - 4664 + 4670 Watchers @@ -10578,7 +10578,7 @@

OpenAPI Server Code Generator (oapi-cod Last Updated - 2024-01-02T20:37:01Z + 2024-01-04T02:26:52Z Archived @@ -10934,7 +10934,7 @@

OpenAPI Mocker (link)

Forks - 33 + 34 Created @@ -11098,7 +11098,7 @@

tsoa (link)

Last Updated - 2024-01-02T22:11:26Z + 2024-01-04T01:25:58Z Archived @@ -11290,7 +11290,7 @@

Redocly CLI (link)

Stars - 725 + 727 Watchers @@ -11306,7 +11306,7 @@

Redocly CLI (link)

Last Updated - 2024-01-02T17:43:49Z + 2024-01-03T23:06:27Z Archived @@ -11706,7 +11706,7 @@

kin-openapi (link)

Stars - 2204 + 2207 Watchers @@ -11722,7 +11722,7 @@

kin-openapi (link)

Last Updated - 2024-01-02T16:34:48Z + 2024-01-04T02:54:36Z Archived @@ -11966,7 +11966,7 @@

Microsoft/OpenAPI.NET (link)

Stars - 1244 + 1247 Watchers @@ -11982,7 +11982,7 @@

Microsoft/OpenAPI.NET (link)

Last Updated - 2023-12-27T09:46:50Z + 2024-01-03T16:48:14Z Archived @@ -12174,7 +12174,7 @@

go-swagger (link)

Stars - 9064 + 9068 Watchers @@ -12190,7 +12190,7 @@

go-swagger (link)

Last Updated - 2024-01-03T02:32:34Z + 2024-01-03T16:58:28Z Archived @@ -12330,7 +12330,7 @@

api (link)

Stars - 451 + 452 Watchers @@ -12346,7 +12346,7 @@

api (link)

Last Updated - 2024-01-02T16:31:02Z + 2024-01-03T20:49:10Z Archived @@ -12486,7 +12486,7 @@

OpenAPI Schema to JSON Schema (link) Stars - 209 + 211 Watchers @@ -12502,7 +12502,7 @@

OpenAPI Schema to JSON Schema (link) Last Updated - 2023-12-29T09:00:17Z + 2024-01-03T14:16:50Z Archived @@ -12538,7 +12538,7 @@

JSON Schema to OpenAPI Schema (link) Stars - 101 + 102 Watchers @@ -12554,7 +12554,7 @@

JSON Schema to OpenAPI Schema (link) Last Updated - 2023-12-29T09:00:09Z + 2024-01-03T14:16:37Z Archived @@ -12850,7 +12850,7 @@

openapi-to-postman (link)

Stars - 817 + 818 Watchers @@ -12866,7 +12866,7 @@

openapi-to-postman (link)

Last Updated - 2024-01-02T16:49:27Z + 2024-01-03T18:58:49Z Archived @@ -13222,7 +13222,7 @@

openapi-python-client (link)

Forks - 187 + 188 Created @@ -13942,7 +13942,7 @@

rswag (link)

Stars - 1809 + 1810 Watchers @@ -13958,7 +13958,7 @@

rswag (link)

Last Updated - 2024-01-02T16:18:11Z + 2024-01-03T13:49:30Z Archived @@ -13994,7 +13994,7 @@

typeconv (link)

Stars - 375 + 376 Watchers @@ -14010,7 +14010,7 @@

typeconv (link)

Last Updated - 2023-12-18T16:03:43Z + 2024-01-03T13:16:21Z Archived @@ -14150,7 +14150,7 @@

Redoc (link)

Stars - 21698 + 21710 Watchers @@ -14158,7 +14158,7 @@

Redoc (link)

Forks - 2265 + 2266 Created @@ -14166,7 +14166,7 @@

Redoc (link)

Last Updated - 2024-01-03T00:39:04Z + 2024-01-04T01:27:38Z Archived @@ -14202,7 +14202,7 @@

utoipa (link)

Stars - 1591 + 1592 Watchers @@ -14218,7 +14218,7 @@

utoipa (link)

Last Updated - 2024-01-02T18:42:29Z + 2024-01-03T10:37:47Z Archived @@ -14254,7 +14254,7 @@

openapi-generator-cli (link)

Stars - 1196 + 1197 Watchers @@ -14270,7 +14270,7 @@

openapi-generator-cli (link)

Last Updated - 2024-01-02T19:36:44Z + 2024-01-03T12:52:06Z Archived @@ -14306,7 +14306,7 @@

apispec (link)

Stars - 1066 + 1067 Watchers @@ -14322,7 +14322,7 @@

apispec (link)

Last Updated - 2024-01-02T16:17:30Z + 2024-01-03T14:11:43Z Archived @@ -14374,7 +14374,7 @@

ogen (link)

Last Updated - 2024-01-02T11:05:22Z + 2024-01-03T23:58:52Z Archived @@ -14410,7 +14410,7 @@

json-schema-validator (link)

Stars - 720 + 722 Watchers @@ -14426,7 +14426,7 @@

json-schema-validator (link)

Last Updated - 2023-12-29T06:33:29Z + 2024-01-04T02:56:01Z Archived @@ -14670,7 +14670,7 @@

zod-to-openapi (link)

Stars - 536 + 538 Watchers @@ -14686,7 +14686,7 @@

zod-to-openapi (link)

Last Updated - 2024-01-02T19:34:36Z + 2024-01-03T20:51:49Z Archived @@ -14878,7 +14878,7 @@

swagger-autogen (link)

Stars - 395 + 396 Watchers @@ -14894,7 +14894,7 @@

swagger-autogen (link)

Last Updated - 2023-12-31T08:27:52Z + 2024-01-03T04:15:29Z Archived @@ -14930,7 +14930,7 @@

typeconv (link)

Stars - 375 + 376 Watchers @@ -14946,7 +14946,7 @@

typeconv (link)

Last Updated - 2023-12-18T16:03:43Z + 2024-01-03T13:16:21Z Archived @@ -14982,7 +14982,7 @@

openapi-boilerplate (link)

Stars - 338 + 339 Watchers @@ -14998,7 +14998,7 @@

openapi-boilerplate (link)

Last Updated - 2023-12-28T15:33:26Z + 2024-01-04T02:53:21Z Archived @@ -15042,7 +15042,7 @@

routing-controllers-openapi (link)

Forks - 54 + 55 Created @@ -15094,7 +15094,7 @@

openapi-spec-validator (link)

Forks - 61 + 60 Created @@ -15138,7 +15138,7 @@

openapi-core (link)

Stars - 257 + 258 Watchers @@ -15154,7 +15154,7 @@

openapi-core (link)

Last Updated - 2023-12-21T19:45:58Z + 2024-01-03T17:50:24Z Archived @@ -16130,7 +16130,7 @@

openapi (link)

Watchers - 13 + 14 Forks @@ -16230,7 +16230,7 @@

openapi-schema-pydantic (link)

Stars - 99 + 100 Watchers @@ -16246,7 +16246,7 @@

openapi-schema-pydantic (link)

Last Updated - 2023-12-29T09:00:26Z + 2024-01-03T14:17:01Z Archived @@ -16542,7 +16542,7 @@

refitter (link)

Stars - 86 + 87 Watchers @@ -16558,7 +16558,7 @@

refitter (link)

Last Updated - 2024-01-02T16:31:40Z + 2024-01-03T14:15:16Z Archived @@ -16646,7 +16646,7 @@

zod-openapi (link)

Stars - 83 + 85 Watchers @@ -16662,7 +16662,7 @@

zod-openapi (link)

Last Updated - 2024-01-02T17:39:58Z + 2024-01-04T00:34:13Z Archived @@ -17790,7 +17790,7 @@

openapi (link)

Stars - 36 + 37 Watchers @@ -17806,7 +17806,7 @@

openapi (link)

Last Updated - 2023-12-27T06:45:21Z + 2024-01-03T12:10:18Z Archived @@ -32558,7 +32558,7 @@

OpenAPI Explorer (link)

Stars - 250 + 251 Watchers @@ -32574,7 +32574,7 @@

OpenAPI Explorer (link)

Last Updated - 2023-12-25T17:55:04Z + 2024-01-03T04:35:05Z Archived @@ -32718,7 +32718,7 @@

openapi (link)

Watchers - 6 + 7 Forks @@ -33702,7 +33702,7 @@

Microsoft.OpenApi.net (link)

Stars - 1244 + 1247 Watchers @@ -33718,7 +33718,7 @@

Microsoft.OpenApi.net (link)

Last Updated - 2023-12-27T09:46:50Z + 2024-01-03T16:48:14Z Archived @@ -33962,7 +33962,7 @@

serverless-openapi-documentation (link) Stars - 90 + 91 Watchers @@ -33978,7 +33978,7 @@

serverless-openapi-documentation (link) Last Updated - 2023-12-30T15:28:40Z + 2024-01-03T12:13:01Z Archived diff --git a/docs/categories/sdk.html b/docs/categories/sdk.html index 443deac4..88163661 100644 --- a/docs/categories/sdk.html +++ b/docs/categories/sdk.html @@ -109,7 +109,7 @@

No Yes Yes - 18617 + 18631 @@ -155,7 +155,7 @@

No Yes Yes - 1063 + 1157 @@ -224,7 +224,7 @@

Yes Yes Yes - 1065 + 1069 @@ -308,7 +308,7 @@

No No Yes - 9064 + 9068 @@ -377,7 +377,7 @@

No Yes Yes - 6249 + 6252 @@ -421,7 +421,7 @@

No Yes Yes - 4393 + 4396 @@ -532,7 +532,7 @@

No Yes Yes - 11584 + 11587 @@ -647,7 +647,7 @@

Yes Yes Yes - 60 + 66 @@ -670,7 +670,7 @@

Yes Yes Yes - 3998 + 3999 @@ -758,7 +758,7 @@

Yes Yes Yes - 2027 + 2030 @@ -779,7 +779,7 @@

No Yes No - 3731 + 3732 @@ -800,7 +800,7 @@

No Yes No - 3493 + 3495 @@ -863,7 +863,7 @@

No Yes No - 335 + 336 @@ -2841,7 +2841,7 @@

No Yes No - 1276 + 1280 @@ -2947,7 +2947,7 @@

OpenAPI Generator (link)

Stars - 18617 + 18631 Watchers @@ -2955,7 +2955,7 @@

OpenAPI Generator (link)

Forks - 5886 + 5892 Created @@ -2963,7 +2963,7 @@

OpenAPI Generator (link)

Last Updated - 2024-01-03T02:36:04Z + 2024-01-04T01:29:52Z Archived @@ -3051,7 +3051,7 @@

Kiota Api Client Generator (link)

Stars - 1063 + 1157 Watchers @@ -3067,7 +3067,7 @@

Kiota Api Client Generator (link)

Last Updated - 2024-01-02T21:50:10Z + 2024-01-04T03:30:47Z Archived @@ -3207,7 +3207,7 @@

Microcks (link)

Stars - 1065 + 1069 Watchers @@ -3223,7 +3223,7 @@

Microcks (link)

Last Updated - 2023-12-25T09:14:11Z + 2024-01-03T20:15:03Z Archived @@ -3415,7 +3415,7 @@

go-swagger (link)

Stars - 9064 + 9068 Watchers @@ -3431,7 +3431,7 @@

go-swagger (link)

Last Updated - 2024-01-03T02:32:34Z + 2024-01-03T16:58:28Z Archived @@ -3571,7 +3571,7 @@

NSwag (link)

Stars - 6249 + 6252 Watchers @@ -3579,7 +3579,7 @@

NSwag (link)

Forks - 1181 + 1182 Created @@ -3587,7 +3587,7 @@

NSwag (link)

Last Updated - 2024-01-02T15:56:44Z + 2024-01-04T03:07:10Z Archived @@ -3675,7 +3675,7 @@

Azure AutoRest (link)

Stars - 4393 + 4396 Watchers @@ -3691,7 +3691,7 @@

Azure AutoRest (link)

Last Updated - 2024-01-02T16:18:34Z + 2024-01-03T14:12:01Z Archived @@ -3935,7 +3935,7 @@

OWASP ZAP (link)

Stars - 11584 + 11587 Watchers @@ -3943,7 +3943,7 @@

OWASP ZAP (link)

Forks - 2178 + 2179 Created @@ -3951,7 +3951,7 @@

OWASP ZAP (link)

Last Updated - 2024-01-03T02:08:39Z + 2024-01-03T19:07:37Z Archived @@ -4195,7 +4195,7 @@

Counterfact (link)

Stars - 60 + 66 Watchers @@ -4211,7 +4211,7 @@

Counterfact (link)

Last Updated - 2023-12-20T22:37:00Z + 2024-01-03T19:39:59Z Archived @@ -4247,7 +4247,7 @@

OpenAPI TypeScript (link)

Stars - 3998 + 3999 Watchers @@ -4263,7 +4263,7 @@

OpenAPI TypeScript (link)

Last Updated - 2024-01-03T02:06:10Z + 2024-01-03T14:16:07Z Archived @@ -4455,11 +4455,11 @@

🌿 Fern (link)

Stars - 2027 + 2030 Watchers - 10 + 11 Forks @@ -4471,7 +4471,7 @@

🌿 Fern (link)

Last Updated - 2024-01-02T17:29:23Z + 2024-01-03T20:51:57Z Archived @@ -4507,7 +4507,7 @@

knife4j (link)

Stars - 3731 + 3732 Watchers @@ -4523,7 +4523,7 @@

knife4j (link)

Last Updated - 2024-01-02T14:17:16Z + 2024-01-03T08:04:33Z Archived @@ -4559,7 +4559,7 @@

openapi-directory (link)

Stars - 3493 + 3495 Watchers @@ -4575,7 +4575,7 @@

openapi-directory (link)

Last Updated - 2024-01-02T16:18:34Z + 2024-01-03T18:27:38Z Archived @@ -4715,7 +4715,7 @@

akita-cli (link)

Stars - 335 + 336 Watchers @@ -4731,7 +4731,7 @@

akita-cli (link)

Last Updated - 2024-01-02T17:16:43Z + 2024-01-04T03:21:33Z Archived @@ -9603,7 +9603,7 @@

go-doudou (link)

Stars - 1276 + 1280 Watchers @@ -9611,7 +9611,7 @@

go-doudou (link)

Forks - 259 + 260 Created @@ -9619,7 +9619,7 @@

go-doudou (link)

Last Updated - 2024-01-02T17:16:51Z + 2024-01-03T12:04:25Z Archived diff --git a/docs/categories/security.html b/docs/categories/security.html index 048cb5fa..191737d9 100644 --- a/docs/categories/security.html +++ b/docs/categories/security.html @@ -235,7 +235,7 @@

No Yes Yes - 11584 + 11587 @@ -321,7 +321,7 @@

No Yes Yes - 2361 + 2363 @@ -739,7 +739,7 @@

OWASP ZAP (link)

Stars - 11584 + 11587 Watchers @@ -747,7 +747,7 @@

OWASP ZAP (link)

Forks - 2178 + 2179 Created @@ -755,7 +755,7 @@

OWASP ZAP (link)

Last Updated - 2024-01-03T02:08:39Z + 2024-01-03T19:07:37Z Archived @@ -947,7 +947,7 @@

RESTler (link)

Stars - 2361 + 2363 Watchers @@ -963,7 +963,7 @@

RESTler (link)

Last Updated - 2024-01-02T22:22:27Z + 2024-01-03T12:20:08Z Archived diff --git a/docs/categories/server-implementations.html b/docs/categories/server-implementations.html index dba4ec34..a043f507 100644 --- a/docs/categories/server-implementations.html +++ b/docs/categories/server-implementations.html @@ -316,7 +316,7 @@

Yes Yes Yes - 8480 + 8482 @@ -339,7 +339,7 @@

No Yes Yes - 891 + 892 @@ -362,7 +362,7 @@

Yes Yes Yes - 3847 + 3848 @@ -408,7 +408,7 @@

No Yes No - 1629 + 1630 @@ -565,7 +565,7 @@

No Yes No - 26893 + 26898 @@ -634,7 +634,7 @@

Yes Yes Yes - 60 + 66 @@ -680,7 +680,7 @@

Yes Yes No - 313 + 316 @@ -703,7 +703,7 @@

No Yes No - 66525 + 66582 @@ -724,7 +724,7 @@

No Yes No - 14060 + 14071 @@ -745,7 +745,7 @@

Yes Yes No - 3593 + 3594 @@ -768,7 +768,7 @@

No Yes No - 2945 + 2946 @@ -789,7 +789,7 @@

No Yes No - 2437 + 2438 @@ -833,7 +833,7 @@

No Yes No - 1942 + 1943 @@ -854,7 +854,7 @@

No Yes No - 1602 + 1612 @@ -875,7 +875,7 @@

No Yes No - 1475 + 1478 @@ -919,7 +919,7 @@

No Yes No - 898 + 899 @@ -1068,7 +1068,7 @@

No Yes No - 335 + 336 @@ -1154,7 +1154,7 @@

No Yes No - 272 + 273 @@ -1196,7 +1196,7 @@

No Yes No - 229 + 233 @@ -1280,7 +1280,7 @@

No Yes No - 201 + 217 @@ -1301,7 +1301,7 @@

No Yes No - 180 + 181 @@ -1385,7 +1385,7 @@

No Yes No - 129 + 130 @@ -1532,7 +1532,7 @@

No Yes No - 59 + 60 @@ -1700,7 +1700,7 @@

No Yes No - 38 + 39 @@ -2162,7 +2162,7 @@

No Yes No - 17 + 18 @@ -2815,7 +2815,7 @@

No Yes No - 9 + 14 @@ -4873,7 +4873,7 @@

No Yes No - 2 + 3 @@ -7360,7 +7360,7 @@

pig-latin-rest - a simple project for experimenting with OpenAPI specification + a project for experimenting with OpenAPI specification No @@ -9707,7 +9707,7 @@

No No No - 3469 + 3472 @@ -9898,7 +9898,7 @@

No Yes Yes - 4357 + 4359 @@ -10732,7 +10732,7 @@

Swagger Editor (link)

Stars - 8480 + 8482 Watchers @@ -10748,7 +10748,7 @@

Swagger Editor (link)

Last Updated - 2024-01-03T00:42:18Z + 2024-01-03T10:37:33Z Archived @@ -10784,7 +10784,7 @@

Apicurio Studio (link)

Stars - 891 + 892 Watchers @@ -10792,7 +10792,7 @@

Apicurio Studio (link)

Forks - 461 + 462 Created @@ -10800,7 +10800,7 @@

Apicurio Studio (link)

Last Updated - 2023-12-12T21:41:37Z + 2024-01-03T08:58:39Z Archived @@ -10836,7 +10836,7 @@

Prism (link)

Stars - 3847 + 3848 Watchers @@ -10852,7 +10852,7 @@

Prism (link)

Last Updated - 2024-01-02T16:23:24Z + 2024-01-03T14:13:30Z Archived @@ -10940,7 +10940,7 @@

Fusio (link)

Stars - 1629 + 1630 Watchers @@ -10956,7 +10956,7 @@

Fusio (link)

Last Updated - 2024-01-02T18:52:04Z + 2024-01-03T18:12:37Z Archived @@ -11304,7 +11304,7 @@

Django REST Framework (link)

Stars - 26893 + 26898 Watchers @@ -11312,7 +11312,7 @@

Django REST Framework (link)

Forks - 6835 + 6836 Created @@ -11320,7 +11320,7 @@

Django REST Framework (link)

Last Updated - 2024-01-02T16:11:40Z + 2024-01-03T22:50:36Z Archived @@ -11460,7 +11460,7 @@

Counterfact (link)

Stars - 60 + 66 Watchers @@ -11476,7 +11476,7 @@

Counterfact (link)

Last Updated - 2023-12-20T22:37:00Z + 2024-01-03T19:39:59Z Archived @@ -11564,7 +11564,7 @@

Huma (link)

Stars - 313 + 316 Watchers @@ -11580,7 +11580,7 @@

Huma (link)

Last Updated - 2024-01-02T17:04:06Z + 2024-01-04T02:02:43Z Archived @@ -11616,7 +11616,7 @@

FastAPI (link)

Stars - 66525 + 66582 Watchers @@ -11624,7 +11624,7 @@

FastAPI (link)

Forks - 5627 + 5635 Created @@ -11632,7 +11632,7 @@

FastAPI (link)

Last Updated - 2024-01-03T03:11:50Z + 2024-01-04T03:21:04Z Archived @@ -11668,15 +11668,15 @@

full-stack-fastapi-postgresql (link) Stars - 14060 + 14071 Watchers - 238 + 236 Forks - 2513 + 2518 Created @@ -11684,7 +11684,7 @@

full-stack-fastapi-postgresql (link) Last Updated - 2024-01-03T02:38:39Z + 2024-01-04T03:26:54Z Archived @@ -11720,7 +11720,7 @@

openapi-devtools (link)

Stars - 3593 + 3594 Watchers @@ -11736,7 +11736,7 @@

openapi-devtools (link)

Last Updated - 2024-01-02T21:44:34Z + 2024-01-03T14:18:36Z Archived @@ -11772,7 +11772,7 @@

springdoc-openapi (link)

Stars - 2945 + 2946 Watchers @@ -11788,7 +11788,7 @@

springdoc-openapi (link)

Last Updated - 2024-01-02T16:15:29Z + 2024-01-03T07:33:41Z Archived @@ -11824,7 +11824,7 @@

uvicorn-gunicorn-fastapi-docker (link)< Stars - 2437 + 2438 Watchers @@ -11840,7 +11840,7 @@

uvicorn-gunicorn-fastapi-docker (link)< Last Updated - 2024-01-02T16:50:03Z + 2024-01-03T08:28:23Z Archived @@ -11928,7 +11928,7 @@

drf-spectacular (link)

Stars - 1942 + 1943 Watchers @@ -11936,7 +11936,7 @@

drf-spectacular (link)

Forks - 227 + 229 Created @@ -11944,7 +11944,7 @@

drf-spectacular (link)

Last Updated - 2024-01-02T17:03:51Z + 2024-01-03T13:09:01Z Archived @@ -11980,7 +11980,7 @@

msgspec (link)

Stars - 1602 + 1612 Watchers @@ -11988,7 +11988,7 @@

msgspec (link)

Forks - 47 + 48 Created @@ -11996,7 +11996,7 @@

msgspec (link)

Last Updated - 2024-01-02T19:43:06Z + 2024-01-04T00:08:42Z Archived @@ -12032,7 +12032,7 @@

rapidoc (link)

Stars - 1475 + 1478 Watchers @@ -12048,7 +12048,7 @@

rapidoc (link)

Last Updated - 2024-01-02T19:17:43Z + 2024-01-04T00:37:38Z Archived @@ -12136,7 +12136,7 @@

apiflask (link)

Stars - 898 + 899 Watchers @@ -12152,7 +12152,7 @@

apiflask (link)

Last Updated - 2024-01-02T17:15:38Z + 2024-01-03T14:17:21Z Archived @@ -12500,7 +12500,7 @@

akita-cli (link)

Stars - 335 + 336 Watchers @@ -12516,7 +12516,7 @@

akita-cli (link)

Last Updated - 2024-01-02T17:16:43Z + 2024-01-04T03:21:33Z Archived @@ -12708,7 +12708,7 @@

rest (link)

Stars - 272 + 273 Watchers @@ -12724,7 +12724,7 @@

rest (link)

Last Updated - 2023-12-29T08:55:21Z + 2024-01-03T14:13:30Z Archived @@ -12812,7 +12812,7 @@

apicat (link)

Stars - 229 + 233 Watchers @@ -12820,7 +12820,7 @@

apicat (link)

Forks - 28 + 29 Created @@ -12828,7 +12828,7 @@

apicat (link)

Last Updated - 2023-12-28T00:19:14Z + 2024-01-03T10:32:06Z Archived @@ -12924,7 +12924,7 @@

swagger-petstore (link)

Forks - 280 + 281 Created @@ -13020,7 +13020,7 @@

stackql (link)

Stars - 201 + 217 Watchers @@ -13036,7 +13036,7 @@

stackql (link)

Last Updated - 2024-01-03T02:47:42Z + 2024-01-03T19:19:11Z Archived @@ -13072,7 +13072,7 @@

itty-router-openapi (link)

Stars - 180 + 181 Watchers @@ -13088,7 +13088,7 @@

itty-router-openapi (link)

Last Updated - 2024-01-02T17:16:27Z + 2024-01-03T09:29:55Z Archived @@ -13280,7 +13280,7 @@

flask-openapi3 (link)

Stars - 129 + 130 Watchers @@ -13296,7 +13296,7 @@

flask-openapi3 (link)

Last Updated - 2023-12-29T09:00:50Z + 2024-01-03T14:17:28Z Archived @@ -13444,7 +13444,7 @@

openapi-generator-go (link)

Forks - 11 + 10 Created @@ -13644,7 +13644,7 @@

tooling (link)

Stars - 59 + 60 Watchers @@ -13660,7 +13660,7 @@

tooling (link)

Last Updated - 2023-12-22T18:20:34Z + 2024-01-03T18:25:09Z Archived @@ -14060,7 +14060,7 @@

apibrew (link)

Stars - 38 + 39 Watchers @@ -14076,7 +14076,7 @@

apibrew (link)

Last Updated - 2024-01-02T04:35:44Z + 2024-01-03T15:22:29Z Archived @@ -15204,7 +15204,7 @@

campsite-booking (link)

Stars - 17 + 18 Watchers @@ -15220,7 +15220,7 @@

campsite-booking (link)

Last Updated - 2023-12-13T13:25:53Z + 2024-01-03T09:54:51Z Archived @@ -16156,7 +16156,7 @@

aiopenapi3 (link)

Last Updated - 2023-12-26T02:25:45Z + 2024-01-03T08:00:54Z Archived @@ -16816,7 +16816,7 @@

openapi-ui (link)

Stars - 9 + 14 Watchers @@ -16832,7 +16832,7 @@

openapi-ui (link)

Last Updated - 2023-12-28T10:14:12Z + 2024-01-03T09:39:14Z Archived @@ -20928,7 +20928,7 @@

capsule-api (link)

Watchers - 5 + 6 Forks @@ -21912,7 +21912,7 @@

routefinder (link)

Stars - 2 + 3 Watchers @@ -21928,7 +21928,7 @@

routefinder (link)

Last Updated - 2023-11-08T14:05:34Z + 2024-01-03T19:22:12Z Archived @@ -28116,7 +28116,7 @@

pig-latin-rest (link)

Last Updated - 2023-12-28T12:37:31Z + 2024-01-03T22:01:38Z Archived @@ -33872,7 +33872,7 @@

PHP-CRUD-API (link)

Stars - 3469 + 3472 Watchers @@ -33888,7 +33888,7 @@

PHP-CRUD-API (link)

Last Updated - 2023-12-30T11:26:24Z + 2024-01-03T16:56:14Z Archived @@ -34340,7 +34340,7 @@

Connexion (link)

Stars - 4357 + 4359 Watchers @@ -34348,7 +34348,7 @@

Connexion (link)

Forks - 740 + 741 Created @@ -34356,7 +34356,7 @@

Connexion (link)

Last Updated - 2024-01-02T16:19:29Z + 2024-01-03T23:56:11Z Archived diff --git a/docs/categories/server.html b/docs/categories/server.html index 4e8f5560..92f64641 100644 --- a/docs/categories/server.html +++ b/docs/categories/server.html @@ -247,7 +247,7 @@

No Yes No - 1629 + 1630 @@ -314,7 +314,7 @@

No Yes No - 1531 + 1533 @@ -518,7 +518,7 @@

Yes Yes No - 313 + 316 @@ -2267,7 +2267,7 @@

Yes Yes No - 551 + 552 @@ -2630,7 +2630,7 @@

No Yes No - 4707 + 4708 @@ -2767,7 +2767,7 @@

tsoa (link)

Last Updated - 2024-01-02T22:11:26Z + 2024-01-04T01:25:58Z Archived @@ -3115,7 +3115,7 @@

Fusio (link)

Stars - 1629 + 1630 Watchers @@ -3131,7 +3131,7 @@

Fusio (link)

Last Updated - 2024-01-02T18:52:04Z + 2024-01-03T18:12:37Z Archived @@ -3271,7 +3271,7 @@

@nestjs/swagger (link)

Stars - 1531 + 1533 Watchers @@ -3279,7 +3279,7 @@

@nestjs/swagger (link)

Forks - 409 + 410 Created @@ -3287,7 +3287,7 @@

@nestjs/swagger (link)

Last Updated - 2024-01-02T14:49:50Z + 2024-01-03T16:40:39Z Archived @@ -3739,7 +3739,7 @@

Huma (link)

Stars - 313 + 316 Watchers @@ -3755,7 +3755,7 @@

Huma (link)

Last Updated - 2024-01-02T17:04:06Z + 2024-01-04T02:02:43Z Archived @@ -8055,7 +8055,7 @@

openapi-backend (link)

Stars - 551 + 552 Watchers @@ -8071,7 +8071,7 @@

openapi-backend (link)

Last Updated - 2023-12-29T08:59:38Z + 2024-01-03T14:16:02Z Archived @@ -8939,7 +8939,7 @@

LoopBack 4 (link)

Stars - 4707 + 4708 Watchers @@ -8947,7 +8947,7 @@

LoopBack 4 (link)

Forks - 1042 + 1043 Created @@ -8955,7 +8955,7 @@

LoopBack 4 (link)

Last Updated - 2024-01-02T16:30:15Z + 2024-01-03T04:20:23Z Archived diff --git a/docs/categories/testing.html b/docs/categories/testing.html index 0fcfea00..418b7a3d 100644 --- a/docs/categories/testing.html +++ b/docs/categories/testing.html @@ -124,7 +124,7 @@

No Yes Yes - 4090 + 4093 @@ -168,7 +168,7 @@

No Yes No - 590 + 592 @@ -340,7 +340,7 @@

Yes Yes No - 575 + 576 @@ -649,7 +649,7 @@

Yes Yes Yes - 287 + 288 @@ -712,7 +712,7 @@

No Yes No - 5602 + 5603 @@ -2528,7 +2528,7 @@

No Yes Yes - 2361 + 2363 @@ -2726,7 +2726,7 @@

Dredd (link)

Stars - 4090 + 4093 Watchers @@ -2742,7 +2742,7 @@

Dredd (link)

Last Updated - 2024-01-02T23:32:53Z + 2024-01-03T22:17:17Z Archived @@ -2830,7 +2830,7 @@

portman (link)

Stars - 590 + 592 Watchers @@ -2846,7 +2846,7 @@

portman (link)

Last Updated - 2024-01-02T17:19:17Z + 2024-01-03T19:26:02Z Archived @@ -3246,7 +3246,7 @@

Restish (link)

Stars - 575 + 576 Watchers @@ -3262,7 +3262,7 @@

Restish (link)

Last Updated - 2024-01-02T17:07:22Z + 2024-01-03T18:18:05Z Archived @@ -3834,7 +3834,7 @@

Specmatic (link)

Last Updated - 2024-01-02T17:44:47Z + 2024-01-03T11:43:37Z Archived @@ -3974,7 +3974,7 @@

kubb (link)

Stars - 287 + 288 Watchers @@ -3990,7 +3990,7 @@

kubb (link)

Last Updated - 2024-01-02T09:24:02Z + 2024-01-03T12:59:59Z Archived @@ -4130,7 +4130,7 @@

mockoon (link)

Stars - 5602 + 5603 Watchers @@ -4146,7 +4146,7 @@

mockoon (link)

Last Updated - 2024-01-02T16:35:44Z + 2024-01-04T02:08:03Z Archived @@ -8602,7 +8602,7 @@

RESTler (link)

Stars - 2361 + 2363 Watchers @@ -8618,7 +8618,7 @@

RESTler (link)

Last Updated - 2024-01-02T22:22:27Z + 2024-01-03T12:20:08Z Archived diff --git a/docs/categories/text-editors.html b/docs/categories/text-editors.html index 3cd19749..3b5cadfc 100644 --- a/docs/categories/text-editors.html +++ b/docs/categories/text-editors.html @@ -132,7 +132,7 @@

Yes Yes Yes - 8480 + 8482 @@ -495,7 +495,7 @@

Swagger Editor (link)

Stars - 8480 + 8482 Watchers @@ -511,7 +511,7 @@

Swagger Editor (link)

Last Updated - 2024-01-03T00:42:18Z + 2024-01-03T10:37:33Z Archived diff --git a/docs/categories/unclassified.html b/docs/categories/unclassified.html index 1b7fd749..d5b56225 100644 --- a/docs/categories/unclassified.html +++ b/docs/categories/unclassified.html @@ -86,7 +86,7 @@

Yes Yes Yes - 224 + 225 @@ -147,7 +147,7 @@

No Yes No - 213 + 214 @@ -1203,7 +1203,7 @@

oas (link)

Stars - 224 + 225 Watchers @@ -1219,7 +1219,7 @@

oas (link)

Last Updated - 2023-12-27T07:03:35Z + 2024-01-03T12:49:23Z Archived @@ -1359,7 +1359,7 @@

prance (link)

Stars - 213 + 214 Watchers @@ -1375,7 +1375,7 @@

prance (link)

Last Updated - 2023-12-29T08:57:55Z + 2024-01-03T14:14:04Z Archived diff --git a/docs/categories/user-interfaces.html b/docs/categories/user-interfaces.html index 030b7edc..57d3f723 100644 --- a/docs/categories/user-interfaces.html +++ b/docs/categories/user-interfaces.html @@ -86,7 +86,7 @@

Yes Yes No - 24971 + 24974 @@ -109,7 +109,7 @@

Yes Yes No - 21698 + 21710 @@ -291,7 +291,7 @@

swagger-ui (link)

Stars - 24971 + 24974 Watchers @@ -299,7 +299,7 @@

swagger-ui (link)

Forks - 8849 + 8850 Created @@ -307,7 +307,7 @@

swagger-ui (link)

Last Updated - 2024-01-02T18:07:02Z + 2024-01-04T00:16:41Z Archived @@ -343,7 +343,7 @@

Redoc (link)

Stars - 21698 + 21710 Watchers @@ -351,7 +351,7 @@

Redoc (link)

Forks - 2265 + 2266 Created @@ -359,7 +359,7 @@

Redoc (link)

Last Updated - 2024-01-03T00:39:04Z + 2024-01-04T01:27:38Z Archived diff --git a/src/_data/tools.yaml b/src/_data/tools.yaml index ab03b572..3de12409 100644 --- a/src/_data/tools.yaml +++ b/src/_data/tools.yaml @@ -300,17 +300,17 @@ repositoryId: 679280065 description: Beautiful API references from Swagger/OpenAPI files ✨ created: '2023-08-16T13:42:32Z' - updated: '2024-01-03T03:06:21Z' + updated: '2024-01-03T21:39:12Z' language: Vue archived: false - stars: 2015 + stars: 2022 watchers: 9 forks: 31 owner: scalar logo: https://avatars.githubusercontent.com/u/301879?v=4 license: MIT - repoEtag: '"5e800309aa74c80cda4e0c4a12d60867f6b27cabb78d5ecb07e4eadf525f0498"' - repoLastModified: Wed, 03 Jan 2024 03:06:21 GMT + repoEtag: '"a8d08e0f21f9662d994ceb90c649886037003ff9dea28bb9b9cb911e37202d1a"' + repoLastModified: Wed, 03 Jan 2024 21:39:12 GMT foundInMaster: true - source: https://openapi.tools/ name: Supermodel @@ -357,17 +357,17 @@ repositoryId: 45250726 description: 📘 OpenAPI/Swagger-generated API Reference Documentation created: '2015-10-30T12:53:02Z' - updated: '2024-01-03T00:39:04Z' + updated: '2024-01-04T01:27:38Z' language: TypeScript archived: false - stars: 21698 + stars: 21710 watchers: 288 - forks: 2265 + forks: 2266 owner: Redocly logo: https://avatars.githubusercontent.com/u/32099856?v=4 license: MIT - repoEtag: '"096f6779fc8f2a6b98b046204be02de0eeae09396b19f9142892e75758d1a155"' - repoLastModified: Wed, 03 Jan 2024 00:39:04 GMT + repoEtag: '"580876bdb2918b7b33126cdaf719dfd705f616418696db3b4c8599fcca1ccd17"' + repoLastModified: Thu, 04 Jan 2024 01:27:38 GMT foundInMaster: true - source: https://openapi.tools/ name: RestCase Docs @@ -491,7 +491,7 @@ owner: opticdev logo: https://avatars.githubusercontent.com/u/34556970?v=4 license: MIT - repoEtag: '"72657268e941d173cca1f3f88270504b2bfa001c380850e1faaf03bdb2d2a3e4"' + repoEtag: '"7735bd6a1245f1b171476741f31222830d4fde2dbd55c1a7e78fe548da31350f"' repoLastModified: Tue, 02 Jan 2024 16:41:23 GMT foundInMaster: true id: 8c3d08406ca659662808d51ddc10b4e4 @@ -871,17 +871,17 @@ repositoryId: 152569547 description: Spot is a concise, developer-friendly way to describe your API contract. created: '2018-10-11T09:55:46Z' - updated: '2024-01-01T22:11:09Z' + updated: '2024-01-03T13:48:03Z' language: TypeScript archived: false - stars: 508 + stars: 509 watchers: 45 forks: 39 owner: airtasker logo: https://avatars.githubusercontent.com/u/1745680?v=4 license: NOASSERTION - repoEtag: '"c6144861ee470c2669c9ed87771b62a49f7e0efca21e2f8474412e839f96b6a4"' - repoLastModified: Mon, 01 Jan 2024 22:11:09 GMT + repoEtag: '"5ff5854b8ed411fe9d0fdba61c8dd22c55064348d07455337e7b8ea4d81136e5"' + repoLastModified: Wed, 03 Jan 2024 13:48:03 GMT foundInMaster: true id: 7c28c31ae17b20b046f57bb6765c3939 - source: @@ -906,17 +906,17 @@ repositoryId: 173009358 description: Generate Go client and server boilerplate from OpenAPI 3 specifications created: '2019-02-27T23:59:59Z' - updated: '2024-01-02T20:37:01Z' + updated: '2024-01-04T02:26:52Z' language: Go archived: false - stars: 4664 + stars: 4670 watchers: 32 forks: 770 owner: deepmap logo: https://avatars.githubusercontent.com/u/47459865?v=4 license: Apache-2.0 - repoEtag: '"6afddd22988d9ff9012c1bbe8b0876825b47d726472085fdb3206d2424fb9680"' - repoLastModified: Tue, 02 Jan 2024 20:37:01 GMT + repoEtag: '"76c7179f93bc886f45a01fb5818ad5de26bd6887d876ff52342844e9363cc459"' + repoLastModified: Thu, 04 Jan 2024 02:26:52 GMT foundInMaster: true id: bc996e9362e78defa2eca82e5765d2f3 - source: https://openapi.tools/ @@ -983,17 +983,17 @@ generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3) created: '2018-05-12T09:57:56Z' - updated: '2024-01-03T02:36:04Z' + updated: '2024-01-04T01:29:52Z' language: Java archived: false - stars: 18617 + stars: 18631 watchers: 213 - forks: 5886 + forks: 5892 owner: OpenAPITools logo: https://avatars.githubusercontent.com/u/37325267?v=4 license: Apache-2.0 - repoEtag: '"665837b8d39649e1f72077842a20b310a8b9c8008f85f037c9c4a526988fb199"' - repoLastModified: Wed, 03 Jan 2024 02:36:04 GMT + repoEtag: '"3716082bd5e32fef89a2c8b7ca085ce4f0373ff693232712fda0e54dbf129935"' + repoLastModified: Thu, 04 Jan 2024 01:29:52 GMT foundInMaster: true id: 0418f8afcd0196c648d1a46c0c5c20d1 v3_1_link: https://github.com/OpenAPITools/openapi-generator/issues/9083 @@ -1021,7 +1021,7 @@ owner: openapi-json-schema-tools logo: https://avatars.githubusercontent.com/u/114849992?v=4 license: Apache-2.0 - repoEtag: '"a63418747db01752a0b18977023ed746bee04ee0e2b6349cc05e97da1a6c0453"' + repoEtag: '"f197c8e546f70be5d4cb3bc40a4541733040cb775e0e6ec3fb9e68df0cea5403"' repoLastModified: Sat, 30 Dec 2023 21:14:41 GMT category: - Code Generators @@ -1064,17 +1064,17 @@ repositoryId: 323665366 description: OpenAPI based HTTP Client code generator created: '2020-12-22T15:35:49Z' - updated: '2024-01-02T21:50:10Z' + updated: '2024-01-04T03:30:47Z' language: C# archived: false - stars: 1063 + stars: 1157 watchers: 33 forks: 115 owner: microsoft logo: https://avatars.githubusercontent.com/u/6154722?v=4 license: MIT - repoEtag: '"820fc9a59b6397430a208fd96e9302439c64c0bc11e909a3a8af9a8772be8bb6"' - repoLastModified: Tue, 02 Jan 2024 21:50:10 GMT + repoEtag: '"57154b2e50d268c4619d711d1f17a0f87fde2bd203b593154c6afa74353b236e"' + repoLastModified: Thu, 04 Jan 2024 03:30:47 GMT foundInMaster: true - source: https://openapi.tools/ name: FabriKt @@ -1136,7 +1136,7 @@ owner: bump-sh logo: https://avatars.githubusercontent.com/u/33217836?v=4 license: MIT - repoEtag: '"4add0c93b0578f7c79189c4640c1d85545292bddff7befd5095ae887a942f4ff"' + repoEtag: '"8e542dc1187944ae1ea537f98c72d8a33cef8c275d422c526f2e9b8d31963f7a"' repoLastModified: Fri, 22 Dec 2023 22:54:44 GMT foundInMaster: true category: @@ -1217,7 +1217,7 @@ owner: 42Crunch logo: https://avatars.githubusercontent.com/u/25365245?v=4 license: AGPL-3.0 - repoEtag: '"87323d717d79e9a03470bb6b9a2de2079273d0fa272a1ad887527c509cbb1870"' + repoEtag: '"cbdbdbfb637c8103aa1d3a28f8c2d621dc18352c421cfdbadb2a5050b7399c6a"' repoLastModified: Fri, 29 Dec 2023 03:30:57 GMT foundInMaster: true id: 782ecbb10f1ff8ac9685e0ed24e52e58 @@ -1282,17 +1282,17 @@ repositoryId: 19390712 description: Swagger Editor created: '2014-05-02T22:47:10Z' - updated: '2024-01-03T00:42:18Z' + updated: '2024-01-03T10:37:33Z' language: JavaScript archived: false - stars: 8480 + stars: 8482 watchers: 257 forks: 2222 owner: swagger-api logo: https://avatars.githubusercontent.com/u/7658037?v=4 license: Apache-2.0 - repoEtag: '"31f94c58d2f305b5d5a94e1e32b90086a84d7bef3c575dafb7888a3729b60dfd"' - repoLastModified: Wed, 03 Jan 2024 00:42:18 GMT + repoEtag: '"b995124cd40e1f0a9af6a5d0ae4dd1c93c566228183727dea9085cf354a9e18b"' + repoLastModified: Wed, 03 Jan 2024 10:37:33 GMT foundInMaster: true id: 951cf61d12c812ef9b201ad76b5d278d v3_1: true @@ -1436,17 +1436,17 @@ repositoryId: 69595482 description: Open Source API Design created: '2016-09-29T18:22:33Z' - updated: '2023-12-12T21:41:37Z' + updated: '2024-01-03T08:58:39Z' language: TypeScript archived: false - stars: 891 + stars: 892 watchers: 45 - forks: 461 + forks: 462 owner: Apicurio logo: https://avatars.githubusercontent.com/u/28107283?v=4 license: Apache-2.0 - repoEtag: '"e795377b7b92f1292392ec97a52b098d33975da83bc6826ff4eb79132e5d572b"' - repoLastModified: Tue, 12 Dec 2023 21:41:37 GMT + repoEtag: '"f8f05039078dbfc16c8b39bac836a52432cb148195378d61a48ab158d6ff7918"' + repoLastModified: Wed, 03 Jan 2024 08:58:39 GMT foundInMaster: true homepage: https://github.com/Apicurio/apicurio-studio id: efe9656e80c1bf6304903ca5a60fe5a6 @@ -1652,17 +1652,17 @@ Turn any OpenAPI2/3 and Postman Collection file into an API server with mocking, transformations and validations. created: '2016-03-18T03:52:09Z' - updated: '2024-01-02T16:23:24Z' + updated: '2024-01-03T14:13:30Z' language: TypeScript archived: false - stars: 3847 + stars: 3848 watchers: 54 forks: 319 owner: stoplightio logo: https://avatars.githubusercontent.com/u/10767217?v=4 license: Apache-2.0 - repoEtag: '"1b46f60dcdfe32bf9086470c4e79da9d1dc116163d52545bc49404e766d245c4"' - repoLastModified: Tue, 02 Jan 2024 16:23:24 GMT + repoEtag: '"1bed3b119c0c4d06e6f60684b1c29f3a89777868c592d603fe21017d979cdc83"' + repoLastModified: Wed, 03 Jan 2024 14:13:30 GMT foundInMaster: true id: 15aad8cd322242e03733b07f2a37890a - source: https://openapi.tools/ @@ -1730,17 +1730,17 @@ Kubernetes native tool for mocking and testing API and micro-services. Microcks is a Cloud Native Computing Foundation sandbox project 🚀 created: '2015-02-23T15:46:09Z' - updated: '2023-12-25T09:14:11Z' + updated: '2024-01-03T20:15:03Z' language: Java archived: false - stars: 1065 + stars: 1069 watchers: 26 forks: 178 owner: microcks logo: https://avatars.githubusercontent.com/u/11051048?v=4 license: Apache-2.0 - repoEtag: '"6b706cb994f319c19469a98002d13616253d0f5b661030bf9b06076fccdcb211"' - repoLastModified: Mon, 25 Dec 2023 09:14:11 GMT + repoEtag: '"f0bda7349c16efb4418324fda03a68b2cc779a592300a8830fec5958548f10cb"' + repoLastModified: Wed, 03 Jan 2024 20:15:03 GMT foundInMaster: true id: 1c0e918b5a733b0f1726199e3ea101d6 - source: https://openapi.tools/ @@ -1768,11 +1768,11 @@ archived: false stars: 99 watchers: 4 - forks: 33 + forks: 34 owner: jormaechea logo: https://avatars.githubusercontent.com/u/5612500?v=4 license: MIT - repoEtag: '"32d918b6ca11e7cae1b84e0c2db25702a20b6949499344b004a069eeefa6f7b8"' + repoEtag: '"cb1ef9934f151a14fc3b371b3e16f5759abdf488685fbf30d4c588f3070c19f7"' repoLastModified: Tue, 12 Dec 2023 04:16:55 GMT foundInMaster: true id: 025e0dafdc92cfc32c40f410a4c333b7 @@ -1897,7 +1897,7 @@ repositoryId: 61366800 description: Build OpenAPI-compliant REST APIs using TypeScript and Node created: '2016-06-17T10:42:50Z' - updated: '2024-01-02T22:11:26Z' + updated: '2024-01-04T01:25:58Z' language: TypeScript archived: false stars: 2997 @@ -1906,8 +1906,8 @@ owner: lukeautry logo: https://avatars.githubusercontent.com/u/8770560?v=4 license: MIT - repoEtag: '"9d2c6a690e1cab1baae43a212e875422506726464364ad671eafcc32faf83a71"' - repoLastModified: Tue, 02 Jan 2024 22:11:26 GMT + repoEtag: '"a8461603841a690b45f0a7e356adee653edf4dc2f3a8c08112df1ae7860f788b"' + repoLastModified: Thu, 04 Jan 2024 01:25:58 GMT foundInMaster: true id: 2529db76d3d9f042b0c624f65b13fc41 - source: https://openapi.tools/ @@ -1944,7 +1944,7 @@ owner: vert-x3 logo: https://avatars.githubusercontent.com/u/8124623?v=4 license: Apache-2.0 - repoEtag: '"2335f40c08dae268589a7de4cd76909446fa2c529a71c5a8f288ff41e0a130a4"' + repoEtag: '"ccb7573f1b8697c2e02ebdea66388f4f88172f535a2c10282d6ded42111e2121"' repoLastModified: Sat, 23 Dec 2023 16:59:24 GMT foundInMaster: true v3_link: https://github.com/vert-x3/vertx-web/issues/1872 @@ -2085,7 +2085,7 @@ owner: api-platform logo: https://avatars.githubusercontent.com/u/13420081?v=4 license: MIT - repoEtag: '"2131bdb04c92b5a7252afb5af48070d420123deb3f98c37d2dcae8ac1a3c0119"' + repoEtag: '"e189ace1a1f1fb48969a0d3021a41949aa638a0c4c9b3262b082eb9e778208eb"' repoLastModified: Tue, 02 Jan 2024 16:18:41 GMT foundInMaster: true id: d14f5904300aabf1ceef4660a6b3d57e @@ -2142,17 +2142,17 @@ repositoryId: 39904377 description: Open source API management platform created: '2015-07-29T16:34:52Z' - updated: '2024-01-02T18:52:04Z' + updated: '2024-01-03T18:12:37Z' language: PHP archived: false - stars: 1629 + stars: 1630 watchers: 59 forks: 206 owner: apioo logo: https://avatars.githubusercontent.com/u/18172950?v=4 license: Apache-2.0 - repoEtag: '"36f7d202ecf38b03ec128ab8130ea9eeb431392f79ffc6a05f3b168bd4f4428f"' - repoLastModified: Tue, 02 Jan 2024 18:52:04 GMT + repoEtag: '"106218dbfc0ee2266dba73002dcf0d5db1d065415ff59cd1faa0f3c4210280b0"' + repoLastModified: Wed, 03 Jan 2024 18:12:37 GMT foundInMaster: true id: 5458da680012a142d20e79ac150bc4ab - source: @@ -2244,17 +2244,17 @@ repositoryId: 105440153 description: 'OpenAPI (Swagger) module for Nest framework (node.js) :earth_americas:' created: '2017-10-01T12:20:24Z' - updated: '2024-01-02T14:49:50Z' + updated: '2024-01-03T16:40:39Z' language: TypeScript archived: false - stars: 1531 + stars: 1533 watchers: 30 - forks: 409 + forks: 410 owner: nestjs logo: https://avatars.githubusercontent.com/u/28507035?v=4 license: MIT - repoEtag: '"eb0a6dafeb44421d4b544633692250a1e884609acad6b25bd19792817ff4f4d6"' - repoLastModified: Tue, 02 Jan 2024 14:49:50 GMT + repoEtag: '"f315b89ade6c21e6190698ea2820e9542f0c990ef015788fed7890bd52c81a54"' + repoLastModified: Wed, 03 Jan 2024 16:40:39 GMT foundInMaster: true id: 7071babd9853fc901c5decfa9b465b67 - source: @@ -2317,17 +2317,17 @@ repositoryId: 12590052 description: Language-agnostic HTTP API Testing Tool created: '2013-09-04T12:21:35Z' - updated: '2024-01-02T23:32:53Z' + updated: '2024-01-03T22:17:17Z' language: JavaScript archived: false - stars: 4090 + stars: 4093 watchers: 75 forks: 306 owner: apiaryio logo: https://avatars.githubusercontent.com/u/765943?v=4 license: MIT - repoEtag: '"38af438ca1a124bc7ff4f7e3484d173e6bc5f0457ea59d46f645d1d5c3792198"' - repoLastModified: Tue, 02 Jan 2024 23:32:53 GMT + repoEtag: '"f6c8d0bf810fe485cdda7122c972ec21c344290918b0dca949750b3595b033c8"' + repoLastModified: Wed, 03 Jan 2024 22:17:17 GMT foundInMaster: true id: bb2e4b0879fce0d8706dcebfd2c10a4c - source: @@ -2352,17 +2352,17 @@ 🦋 Auto-validates api requests, responses, and securities using ExpressJS and an OpenAPI 3.x specification created: '2019-03-19T19:08:05Z' - updated: '2023-12-28T22:36:45Z' + updated: '2024-01-03T07:18:47Z' language: TypeScript archived: false - stars: 830 + stars: 831 watchers: 18 forks: 194 owner: cdimascio logo: https://avatars.githubusercontent.com/u/4706618?v=4 license: MIT - repoEtag: '"f1c60d97e02030a1391ce173d08067e132164be58405ebe925b740295f1df2bd"' - repoLastModified: Thu, 28 Dec 2023 22:36:45 GMT + repoEtag: '"f05f8af5006e842879a574c92464edeefea5a2ee622660ff5a92bc8d90d928cd"' + repoLastModified: Wed, 03 Jan 2024 07:18:47 GMT foundInMaster: true id: 3a27bc1a71642e0c1c020c41dc66e206 - source: https://openapi.tools/ @@ -2424,17 +2424,17 @@ Port OpenAPI Specs to Postman Collections, inject test suite and run via Newman 👨🏽‍🚀 created: '2021-05-05T10:42:29Z' - updated: '2024-01-02T17:19:17Z' + updated: '2024-01-03T19:26:02Z' language: TypeScript archived: false - stars: 590 + stars: 592 watchers: 11 forks: 56 owner: apideck-libraries logo: https://avatars.githubusercontent.com/u/73573473?v=4 license: Apache-2.0 - repoEtag: '"03d611038d0e8c60191c1fbc3143074075db18500e3ed70ef77d0cd0b7e42d0f"' - repoLastModified: Tue, 02 Jan 2024 17:19:17 GMT + repoEtag: '"daed9ed4348ca0225eee955a2a24842c360c82a7b0e5b2516e772b16ed2b917d"' + repoLastModified: Wed, 03 Jan 2024 19:26:02 GMT foundInMaster: true id: a03cdb329f630a946a946dfe26802c43 - source: https://openapi.tools/ @@ -2543,17 +2543,17 @@ baked in support for OpenAPI v3.1, v3.0, and v2.0 as well as AsyncAPI v2.x. created: '2018-08-15T18:43:18Z' - updated: '2024-01-02T16:45:54Z' + updated: '2024-01-03T21:27:25Z' language: TypeScript archived: false - stars: 2122 + stars: 2127 watchers: 32 forks: 205 owner: stoplightio logo: https://avatars.githubusercontent.com/u/10767217?v=4 license: Apache-2.0 - repoEtag: '"c891f20c029b36a760c9dd2fa1bd5cedf5b66815a3a932382002bc4ce1dddc92"' - repoLastModified: Tue, 02 Jan 2024 16:45:54 GMT + repoEtag: '"146e495bc2f728155101495d1766ced2d980074d1db0ecd9765a32490a71a0bc"' + repoLastModified: Wed, 03 Jan 2024 21:27:25 GMT foundInMaster: true id: fab3cc58898cd8953a30e43cc622e0fe - source: https://openapi.tools/ @@ -2638,17 +2638,17 @@ ⚒️ Redocly CLI makes OpenAPI easy. Lint/validate to any standard, generate beautiful docs, and more. created: '2019-09-10T14:56:25Z' - updated: '2024-01-02T17:43:49Z' + updated: '2024-01-03T23:06:27Z' language: TypeScript archived: false - stars: 725 + stars: 727 watchers: 26 forks: 111 owner: Redocly logo: https://avatars.githubusercontent.com/u/32099856?v=4 license: MIT - repoEtag: '"de14b67c8c204d9f1dfeea6096d79674de960f9fc55a1e4647ad044dda636be0"' - repoLastModified: Tue, 02 Jan 2024 17:43:49 GMT + repoEtag: '"1f93ee69812274a1a295996dc2167204b0a848a9e6c02683fbfb3ec2562c91cb"' + repoLastModified: Wed, 03 Jan 2024 23:06:27 GMT category: - Description Validators - Documentation @@ -2764,17 +2764,17 @@ repositoryId: 14134534 description: A collection of Rack middleware to support JSON Schema. created: '2013-11-05T07:05:45Z' - updated: '2023-12-18T09:12:09Z' + updated: '2024-01-03T22:04:26Z' language: Ruby archived: false - stars: 830 + stars: 831 watchers: 16 forks: 125 owner: interagent logo: https://avatars.githubusercontent.com/u/7388387?v=4 license: MIT - repoEtag: '"f4ba3e7dd72dfb945f3b4ff43a39fdeee9074282b6578844ef45e42a9b38f4b4"' - repoLastModified: Mon, 18 Dec 2023 09:12:09 GMT + repoEtag: '"25654ee0a7edb1e052fb84dc96156f3c44f047331f76f5231fc490adce3c150e"' + repoLastModified: Wed, 03 Jan 2024 22:04:26 GMT foundInMaster: true id: 64f8f7a816e2d8825abd1a213d9e3fb5 - source: https://openapi.tools/ @@ -3029,17 +3029,17 @@ OpenAPI 3.0 (and Swagger v2) implementation for Go (parsing, converting, validation, and more) created: '2017-06-11T20:12:06Z' - updated: '2024-01-02T16:34:48Z' + updated: '2024-01-04T02:54:36Z' language: Go archived: false - stars: 2204 + stars: 2207 watchers: 23 forks: 377 owner: getkin logo: https://avatars.githubusercontent.com/u/40365715?v=4 license: MIT - repoEtag: '"6e1b72a4a08346bd785f8cb216a2b81f876a179e4115542b026c0bfc343ed410"' - repoLastModified: Tue, 02 Jan 2024 16:34:48 GMT + repoEtag: '"10dfe410ee4aaf0eb581ed30f5b19e603b72e948f85820f1a9997c5753d1cc8b"' + repoLastModified: Thu, 04 Jan 2024 02:54:36 GMT foundInMaster: true v2: true id: f6838ce08e87fa4c3dc813c97193ece3 @@ -3074,7 +3074,7 @@ owner: thephpleague logo: https://avatars.githubusercontent.com/u/527621?v=4 license: MIT - repoEtag: '"6d7b08ed405a6657188f157a19ca874fe8f73900a5820233bb29ed282dc9a0b9"' + repoEtag: '"f9ec61bd19aaa5f1f557ed799bbe316876fddaf2076d5301f64870a26cae8a45"' repoLastModified: Fri, 29 Dec 2023 14:13:19 GMT foundInMaster: true v3_1_link: https://github.com/thephpleague/openapi-psr7-validator/issues/163 @@ -3227,17 +3227,17 @@ in .NET along with common serializers to extract raw OpenAPI JSON and YAML documents from the model. created: '2017-07-14T00:24:14Z' - updated: '2023-12-27T09:46:50Z' + updated: '2024-01-03T16:48:14Z' language: C# archived: false - stars: 1244 + stars: 1247 watchers: 65 forks: 218 owner: microsoft logo: https://avatars.githubusercontent.com/u/6154722?v=4 license: MIT - repoEtag: '"bb09468cc97c85945b88b090bf9f6e0b1e270f6d1c31a92079e63e8a349db7cd"' - repoLastModified: Wed, 27 Dec 2023 09:46:50 GMT + repoEtag: '"5f10791ebbf733fee933fc47d93828bbf375f010a767120d548995b2b7cb4073"' + repoLastModified: Wed, 03 Jan 2024 16:48:14 GMT foundInMaster: true id: 1066748bb5b1f114a70856a29fee4aa7 - source: @@ -3299,7 +3299,7 @@ owner: Dorthu logo: https://avatars.githubusercontent.com/u/7172953?v=4 license: BSD-3-Clause - repoEtag: '"23c308c1b85d3a5674015f5435a1c5740e7adb68db906d18ff34cb88d3bf74aa"' + repoEtag: '"eff33a2aef9468e70e49f5b2319545e9fcf0db0c72ac390a46e7c29bca9b95d0"' repoLastModified: Fri, 22 Dec 2023 02:45:12 GMT foundInMaster: true id: c4167980072f8c84fc27a9160da0380a @@ -3434,17 +3434,17 @@ repositoryId: 26726495 description: Swagger 2.0 implementation for go created: '2014-11-16T20:13:15Z' - updated: '2024-01-03T02:32:34Z' + updated: '2024-01-03T16:58:28Z' language: Go archived: false - stars: 9064 + stars: 9068 watchers: 119 forks: 1273 owner: go-swagger logo: https://avatars.githubusercontent.com/u/10362650?v=4 license: Apache-2.0 - repoEtag: '"d7a3e9b69fffba52a7c435cbe07fc9a56c08d9651a8acf08a149a7c779ba7cb7"' - repoLastModified: Wed, 03 Jan 2024 02:32:34 GMT + repoEtag: '"b13f3c6bb80d5a5131e19e854e698f6a185369042e2a9c1240aec8d995494dd0"' + repoLastModified: Wed, 03 Jan 2024 16:58:28 GMT foundInMaster: true id: ef136df9ffb40bb33ccbd76665d8f5b4 - source: https://openapi.tools/ @@ -3537,17 +3537,17 @@ repositoryId: 41822320 description: 'The Swagger/OpenAPI toolchain for .NET, ASP.NET Core and TypeScript. ' created: '2015-09-02T19:11:57Z' - updated: '2024-01-02T15:56:44Z' + updated: '2024-01-04T03:07:10Z' language: C# archived: false - stars: 6249 + stars: 6252 watchers: 160 - forks: 1181 + forks: 1182 owner: RicoSuter logo: https://avatars.githubusercontent.com/u/2603405?v=4 license: MIT - repoEtag: '"9846a84e93df37ebf83946e88acff082f02d5191fd502f01561726813c8f68a2"' - repoLastModified: Tue, 02 Jan 2024 15:56:44 GMT + repoEtag: '"db124376b3d22d9ebc2c0309ddc6a617a7659092d2ae7a768af9b63cc4f7443e"' + repoLastModified: Thu, 04 Jan 2024 03:07:10 GMT foundInMaster: true id: 93636e95435e95198d7d15c9d507f0d3 - source: https://openapi.tools/ @@ -3610,17 +3610,17 @@ documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition. created: '2011-07-06T14:26:48Z' - updated: '2024-01-02T16:11:55Z' + updated: '2024-01-03T15:40:05Z' language: Mustache archived: false - stars: 16236 + stars: 16238 watchers: 418 - forks: 6032 + forks: 6033 owner: swagger-api logo: https://avatars.githubusercontent.com/u/7658037?v=4 license: Apache-2.0 - repoEtag: '"b197effa8a0d992ab70998a1cf2735b7788ccce5842791d92d9451c024dfc0c5"' - repoLastModified: Tue, 02 Jan 2024 16:11:55 GMT + repoEtag: '"bef5104115ec11ce4783f4b6c2572c8e865e72bc9ffbda7029072db6db7a58bd"' + repoLastModified: Wed, 03 Jan 2024 15:40:05 GMT foundInMaster: true id: eda1e66e1b7805496e42f57851791a32 - source: https://openapi.tools/ @@ -3644,17 +3644,17 @@ OpenAPI (f.k.a Swagger) Specification code generator. Supports C#, PowerShell, Go, Java, Node.js, TypeScript, Python created: '2015-02-20T23:02:54Z' - updated: '2024-01-02T16:18:34Z' + updated: '2024-01-03T14:12:01Z' language: TypeScript archived: false - stars: 4393 + stars: 4396 watchers: 819 forks: 756 owner: Azure logo: https://avatars.githubusercontent.com/u/6844498?v=4 license: MIT - repoEtag: '"b6ce5939fdc8476828cc357cf0efc1f87a8826ac14d49635c989d5918d7f0b54"' - repoLastModified: Tue, 02 Jan 2024 16:18:34 GMT + repoEtag: '"11b9999a90d000260a86bc1f9921590b5398e1724f574b52b6fdab3d6caf75ab"' + repoLastModified: Wed, 03 Jan 2024 14:12:01 GMT foundInMaster: true id: 648d92bca90bf58cd74407e0bcad2936 - source: https://openapi.tools/ @@ -3707,17 +3707,17 @@ repositoryId: 84146520 description: Comprehensive tooling for working with OpenAPI definitions. created: '2017-03-07T02:46:31Z' - updated: '2023-12-27T07:03:35Z' + updated: '2024-01-03T12:49:23Z' language: TypeScript archived: false - stars: 224 + stars: 225 watchers: 20 forks: 26 owner: readmeio logo: https://avatars.githubusercontent.com/u/6878153?v=4 license: MIT - repoEtag: '"d60e65120b2ded7e62e24d618e68085571b548e4d355d9fa2682cde2659ae11b"' - repoLastModified: Wed, 27 Dec 2023 07:03:35 GMT + repoEtag: '"3e4c80c1655500d299aa08ceb82bf8824cc95abdbdc245a97a0286039420dcd5"' + repoLastModified: Wed, 03 Jan 2024 12:49:23 GMT foundInMaster: true id: 362a4b56c90877840a8032f920389bf6 v3_1: true @@ -3745,17 +3745,17 @@ repositoryId: 81140437 description: 🚀 Automatic SDK generation from an OpenAPI definition created: '2017-02-06T22:31:07Z' - updated: '2024-01-02T16:31:02Z' + updated: '2024-01-03T20:49:10Z' language: TypeScript archived: false - stars: 451 + stars: 452 watchers: 21 forks: 22 owner: readmeio logo: https://avatars.githubusercontent.com/u/6878153?v=4 license: MIT - repoEtag: '"533356f87f1e49ec81067ee32a7ac6f2872dc678070b6d28753f42d73504ea27"' - repoLastModified: Tue, 02 Jan 2024 16:31:02 GMT + repoEtag: '"5ff6711bd20e20f68a97984a17d82a1ec1703997da2947fc7a2db9dd38f05edd"' + repoLastModified: Wed, 03 Jan 2024 20:49:10 GMT foundInMaster: true - source: https://openapi.tools/ name: oas-normalize @@ -4037,7 +4037,7 @@ owner: EMResearch logo: https://avatars.githubusercontent.com/u/29148026?v=4 license: LGPL-3.0 - repoEtag: '"5275629a283de73df748e43cd7d22e4d70a63665e6d5bc78dfd4cbd8f9df137c"' + repoEtag: '"d727a7944b72ee69c54b26c9b0ef50de7325fc84c6164c355b86df9d77ea4121"' repoLastModified: Tue, 02 Jan 2024 07:10:37 GMT foundInMaster: true id: eba0fd1e4a49eb507e337ad2266e9a16 @@ -4195,17 +4195,17 @@ Due to the OpenAPI v3.0 and JSON Schema discrepancy, you can use this JS library to convert OpenAPI Schema objects to proper JSON Schema. created: '2020-01-17T21:37:32Z' - updated: '2023-12-29T09:00:17Z' + updated: '2024-01-03T14:16:50Z' language: TypeScript archived: false - stars: 209 + stars: 211 watchers: 5 forks: 19 owner: openapi-contrib logo: https://avatars.githubusercontent.com/u/49447320?v=4 license: MIT - repoEtag: '"d4be8f214df8b78d1adce90d18c849635b7c12c511740f20649bc49acca8242c"' - repoLastModified: Fri, 29 Dec 2023 09:00:17 GMT + repoEtag: '"4b3dc54420f57fdc34f53673af8e5465c56db43e87246c738d1beeeecbd688c8"' + repoLastModified: Wed, 03 Jan 2024 14:16:50 GMT foundInMaster: true id: f6608d418f20d73a1e15b74206edd45a - source: https://openapi.tools/ @@ -4230,17 +4230,17 @@ Due to the OpenAPI v3.0 and JSON Schema discrepancy, you can use this JS library to convert JSON Schema objects to OpenAPI Schema. created: '2019-10-04T15:44:03Z' - updated: '2023-12-29T09:00:09Z' + updated: '2024-01-03T14:16:37Z' language: TypeScript archived: false - stars: 101 + stars: 102 watchers: 4 forks: 15 owner: openapi-contrib logo: https://avatars.githubusercontent.com/u/49447320?v=4 license: MIT - repoEtag: '"e2678dfd853fbbae1982f120e5eef1820a34018d38fe3d88f76131a64c4dd07f"' - repoLastModified: Fri, 29 Dec 2023 09:00:09 GMT + repoEtag: '"81ef339bf64fe97f016c473a70d800d4283fe304e555ce3079bbde6d40212b38"' + repoLastModified: Wed, 03 Jan 2024 14:16:37 GMT foundInMaster: true id: c443b19d564b9a8e21fe8b6192f75f8f - source: @@ -4478,17 +4478,17 @@ Restish is a CLI for interacting with REST-ish HTTP APIs with some nice features built-in created: '2020-05-15T06:45:59Z' - updated: '2024-01-02T17:07:22Z' + updated: '2024-01-03T18:18:05Z' language: Go archived: false - stars: 575 + stars: 576 watchers: 3 forks: 62 owner: danielgtaylor logo: https://avatars.githubusercontent.com/u/106826?v=4 license: MIT - repoEtag: '"82d5ffb0d505d37aad16f19c250295cb3396c0c4f709aca54a35dbf05cac1dd0"' - repoLastModified: Tue, 02 Jan 2024 17:07:22 GMT + repoEtag: '"5eafff8e6f959bd6419259b0ee6abc65e95513e53e87f17ee7a5eac896ed7f59"' + repoLastModified: Wed, 03 Jan 2024 18:18:05 GMT foundInMaster: true id: 22a8c610015b1b9d89af39221beabe66 v3_1: true @@ -4522,7 +4522,7 @@ owner: codekie logo: https://avatars.githubusercontent.com/u/1512840?v=4 license: MIT - repoEtag: '"68cc0ba8b29d3e98f04a81dbe8520ef7273beac41f19a7568792103d118c6d18"' + repoEtag: '"9797fdb82a781d861fc7b975e491562787a2425bcfbafe4a6443227ff7ccf3ca"' repoLastModified: Fri, 22 Dec 2023 06:24:39 GMT foundInMaster: true id: 301e3f380f248daf345a88c8971d2a71 @@ -4548,17 +4548,17 @@ Plugin for converting OpenAPI 3.0 specs to the Postman Collection (v2) format created: '2018-12-12T10:13:46Z' - updated: '2024-01-02T16:49:27Z' + updated: '2024-01-03T18:58:49Z' language: JavaScript archived: false - stars: 817 + stars: 818 watchers: 23 forks: 202 owner: postmanlabs logo: https://avatars.githubusercontent.com/u/10251060?v=4 license: Apache-2.0 - repoEtag: '"6535e55ff3b90011fbf2adaf8e682196ddc508ec28ebe169263522a0d775cd22"' - repoLastModified: Tue, 02 Jan 2024 16:49:27 GMT + repoEtag: '"ad51606328cd7b919aebb2657814068c8f676d10db1893541314589ca098d16b"' + repoLastModified: Wed, 03 Jan 2024 18:58:49 GMT foundInMaster: true id: 31b717a2084e3d92f6cda2c33484c789 v3_link: true @@ -4631,7 +4631,7 @@ owner: github logo: https://avatars.githubusercontent.com/u/9919?v=4 license: MIT - repoEtag: '"3f20e6d312250ee3eccb5b1cc44c13ec3f2c3f62d5b03a8df67fc4a893f89eac"' + repoEtag: '"c9d8262bbb2e3efcef68e77c51e5fb8e1c799f2b8a82361b82cebd5a0a46fb1d"' repoLastModified: Tue, 19 Dec 2023 10:49:43 GMT foundInMaster: true id: ec6a7a1e4a69a9beeb95bdebb88cb36d @@ -4725,17 +4725,17 @@ repositoryId: 36817565 description: The ZAP core project created: '2015-06-03T16:55:01Z' - updated: '2024-01-03T02:08:39Z' + updated: '2024-01-03T19:07:37Z' language: Java archived: false - stars: 11584 + stars: 11587 watchers: 399 - forks: 2178 + forks: 2179 owner: zaproxy logo: https://avatars.githubusercontent.com/u/6716868?v=4 license: Apache-2.0 - repoEtag: '"f01a3473c658436e5ab9ac71fcb6671b6e7d2dea63cf8df3898f3768fc65fbfa"' - repoLastModified: Wed, 03 Jan 2024 02:08:39 GMT + repoEtag: '"0802c4ec3cb74d69654ef074020920e26402e543b40b2bb96f8fe7cfba227ffe"' + repoLastModified: Wed, 03 Jan 2024 19:07:37 GMT foundInMaster: true id: 9eedc1be44837a65f912bcf562844f39 - source: @@ -4994,17 +4994,17 @@ Fuzz test your application using your OpenAPI or Swagger API definition without coding created: '2018-01-02T11:49:13Z' - updated: '2024-01-02T17:29:53Z' + updated: '2024-01-03T13:41:32Z' language: Python archived: false - stars: 377 + stars: 379 watchers: 10 forks: 62 owner: KissPeter logo: https://avatars.githubusercontent.com/u/19633417?v=4 license: GPL-3.0 - repoEtag: '"fc0e8dd5050f75a393013fe196350338bad3c0a44a4d4c8a6cc46360126cf883"' - repoLastModified: Tue, 02 Jan 2024 17:29:53 GMT + repoEtag: '"a36216770009d87c4fd7bcd9c73c7cd45fd84777e62bf25710c47287177c2dd6"' + repoLastModified: Wed, 03 Jan 2024 13:41:32 GMT foundInMaster: true id: bd38b4a53d7dcb21f05b494be14573e6 - source: https://openapi.tools/ @@ -5026,17 +5026,17 @@ repositoryId: 1431547 description: Web APIs for Django. 🎸 created: '2011-03-02T17:13:56Z' - updated: '2024-01-02T16:11:40Z' + updated: '2024-01-03T22:50:36Z' language: Python archived: false - stars: 26893 + stars: 26898 watchers: 622 - forks: 6835 + forks: 6836 owner: encode logo: https://avatars.githubusercontent.com/u/19159390?v=4 license: NOASSERTION - repoEtag: '"2bfdcbafbed14cff103070cf47ba6ab9c34414e3cbf4efb39d65218f05c463cc"' - repoLastModified: Tue, 02 Jan 2024 16:11:40 GMT + repoEtag: '"72bc361b3a978935a8c0c89ae642f0d6aa84d739cc78c62ac3e88b7a57b1ee07"' + repoLastModified: Wed, 03 Jan 2024 22:50:36 GMT foundInMaster: true id: fb8994c078a380cc3510b024f6ed1202 category: Server Implementations @@ -5223,11 +5223,11 @@ archived: false stars: 927 watchers: 15 - forks: 187 + forks: 188 owner: openapi-generators logo: https://avatars.githubusercontent.com/u/84925606?v=4 license: MIT - repoEtag: '"3a41d913f9930fee721c0b0d4c5e64d893db265824527386d1c8385a4a78ed4f"' + repoEtag: '"cc4065990a40416d8f535c9a01a2a5e2630251ec15cf91fd50aa52490a5ac9b2"' repoLastModified: Tue, 02 Jan 2024 17:11:58 GMT foundInMaster: true id: 784ec4adac4e47e4211ea74ef36dd5a5 @@ -5257,17 +5257,17 @@ Build beautiful, interactive API Docs with embeddable React or Web Components, powered by OpenAPI and Markdown. created: '2019-05-03T01:05:01Z' - updated: '2024-01-02T23:31:15Z' + updated: '2024-01-03T16:30:59Z' language: TypeScript archived: false - stars: 1329 + stars: 1330 watchers: 20 forks: 159 owner: stoplightio logo: https://avatars.githubusercontent.com/u/10767217?v=4 license: Apache-2.0 - repoEtag: '"55a84ad9d042c8f8c6fafcd3f2007dd67334447e630f7b9ade7032ef2fb12843"' - repoLastModified: Tue, 02 Jan 2024 23:31:15 GMT + repoEtag: '"0d2301be7c645a28298f4e1194666876db5427d5337d31e877c8f921ea6a51c9"' + repoLastModified: Wed, 03 Jan 2024 16:30:59 GMT foundInMaster: true id: 2f94cc1fc980953b17a9979d4ff2e7ec - source: @@ -5594,17 +5594,17 @@ (TypeScript) from any valid OpenAPI v3 or Swagger v2 specification, either in yaml or json formats. 🍺 created: '2020-02-05T08:31:50Z' - updated: '2024-01-02T14:41:48Z' + updated: '2024-01-04T02:26:32Z' language: TypeScript archived: false - stars: 1929 + stars: 1933 watchers: 9 forks: 235 owner: anymaniax logo: https://avatars.githubusercontent.com/u/10516382?v=4 license: MIT - repoEtag: '"170d2a2ea9ca56b417b934bf72a58ec383103c9554aa3245585474c524ea9007"' - repoLastModified: Tue, 02 Jan 2024 14:41:48 GMT + repoEtag: '"88c6891e62a124427efa501825970e34add03b28ae88ed614dd39ca3ee58ee73"' + repoLastModified: Thu, 04 Jan 2024 02:26:32 GMT foundInMaster: true - source: - https://openapi.tools/ @@ -5693,17 +5693,17 @@ repositoryId: 479515560 description: OpenAPI / Swagger to TypeScript generator and mock server created: '2022-04-08T19:32:15Z' - updated: '2023-12-20T22:37:00Z' + updated: '2024-01-03T19:39:59Z' language: TypeScript archived: false - stars: 60 + stars: 66 watchers: 6 forks: 10 owner: pmcelhaney logo: https://avatars.githubusercontent.com/u/51504?v=4 license: MIT - repoEtag: '"9b9e91ec9538489e0b97aae4ddc67f6cd4259f6c8098bb3672431c57e1b248b9"' - repoLastModified: Wed, 20 Dec 2023 22:37:00 GMT + repoEtag: '"b681ec2a50577cbf52d4a1f6091b9fa65959192a3dadea19b3aac3fa25606037"' + repoLastModified: Wed, 03 Jan 2024 19:39:59 GMT category: - Mock - SDK @@ -5765,7 +5765,7 @@ owner: daveshanley logo: https://avatars.githubusercontent.com/u/187345?v=4 license: MIT - repoEtag: '"08c0f339f8b4f9ee2fc6af07e063923b0ce309d45c79207250d6d224a21ef44b"' + repoEtag: '"a3a7ec9b909df6d69803f6b15223e45b98e7c1f60cd163edc13270f7c3acdfe8"' repoLastModified: Tue, 02 Jan 2024 22:39:06 GMT foundInMaster: true category: @@ -5824,17 +5824,17 @@ repositoryId: 161691324 description: Generate TypeScript types from OpenAPI 3 specs created: '2018-12-13T20:28:01Z' - updated: '2024-01-03T02:06:10Z' + updated: '2024-01-03T14:16:07Z' language: TypeScript archived: false - stars: 3998 + stars: 3999 watchers: 25 forks: 338 owner: drwpow logo: https://avatars.githubusercontent.com/u/1369770?v=4 license: MIT - repoEtag: '"f897dc4ea75d969784ccdbdc9950be3d567ea0bf26ec6108c1fbf0e6c86d2ab3"' - repoLastModified: Wed, 03 Jan 2024 02:06:10 GMT + repoEtag: '"b8f46a9596c4e61f99b67ce4d40ca3befa74d154209aa70d3c246f1ffe7d703f"' + repoLastModified: Wed, 03 Jan 2024 14:16:07 GMT foundInMaster: true - source: - https://openapi.tools/ @@ -6123,7 +6123,7 @@ Development - Collaboratively Design & Independently Deploy MicroServices & MicroFrontends. created: '2020-03-16T13:33:07Z' - updated: '2024-01-02T17:44:47Z' + updated: '2024-01-03T11:43:37Z' language: Kotlin archived: false stars: 171 @@ -6132,8 +6132,8 @@ owner: znsio logo: https://avatars.githubusercontent.com/u/75619722?v=4 license: MIT - repoEtag: '"936a6927a08c42c9c4bc1e8f982d41d0193c1a78f659238cd4c013fbb39fe1c5"' - repoLastModified: Tue, 02 Jan 2024 17:44:47 GMT + repoEtag: '"f1cbd64b6c62eb36b727a06ff3558c48cbc93786432f25b0f84d176cc6946fdd"' + repoLastModified: Wed, 03 Jan 2024 11:43:37 GMT foundInMaster: true - source: - https://openapi.tools/ @@ -6245,17 +6245,17 @@ repositoryId: 586543156 description: OpenAPI to TypeScript, React-Query, Zod, Zodios, Faker.js, MSW and Axios. created: '2023-01-08T14:15:23Z' - updated: '2024-01-02T09:24:02Z' + updated: '2024-01-03T12:59:59Z' language: TypeScript archived: false - stars: 287 + stars: 288 watchers: 5 forks: 20 owner: kubb-project logo: https://avatars.githubusercontent.com/u/122118236?v=4 license: MIT - repoEtag: '"a20dbb7253ac28f3377b354f03917af61d5a8278fb338f754cd31d6f72805283"' - repoLastModified: Tue, 02 Jan 2024 09:24:02 GMT + repoEtag: '"5e9e1b0f5c88d1c1ab584b88b4cc38418df30301149d562ca47f8a64117d7ff4"' + repoLastModified: Wed, 03 Jan 2024 12:59:59 GMT foundInMaster: true - source: https://openapi.tools/ name: KrakenD API Gateway @@ -6414,11 +6414,11 @@ archived: false stars: 7 watchers: 2 - forks: 3 + forks: 4 owner: udamir logo: https://avatars.githubusercontent.com/u/29271460?v=4 license: MIT - repoEtag: '"cd9628bf140bc50105149616e41f4e8c24f0ba806fa2e509208aa702a32a222d"' + repoEtag: '"9bcbfcc8d78d022e24bcdbac25f7de48846064fec1ec0bba139a7606e7ae214f"' repoLastModified: Fri, 29 Dec 2023 22:01:11 GMT foundInMaster: true - source: https://openapi.tools/ @@ -6450,7 +6450,7 @@ owner: udamir logo: https://avatars.githubusercontent.com/u/29271460?v=4 license: MIT - repoEtag: '"74b7113cf541cdad16433d78c1671a07a664843774be2bb335d8d5ba47b63461"' + repoEtag: '"c3c714c7068d6ddca3d4962446e0fcf71c1b3d8e447a00ed52ef96d7d491e1ce"' repoLastModified: Fri, 29 Dec 2023 22:00:56 GMT foundInMaster: true - source: https://openapi.tools/ @@ -6476,17 +6476,17 @@ repositoryId: 29151578 description: Seamlessly adds a Swagger to Rails-based API's created: '2015-01-12T19:08:10Z' - updated: '2024-01-02T16:18:11Z' + updated: '2024-01-03T13:49:30Z' language: Ruby archived: false - stars: 1809 + stars: 1810 watchers: 27 forks: 403 owner: rswag logo: https://avatars.githubusercontent.com/u/55741034?v=4 license: MIT - repoEtag: '"0b5cde167d0fa0604db23f21c1cabbee4bf45cd8342ed34b7776cc44c03653bd"' - repoLastModified: Tue, 02 Jan 2024 16:18:11 GMT + repoEtag: '"788e5780b5203aa89e1af56b04292c04d622c27c7fa110f5e978501bca58f4d1"' + repoLastModified: Wed, 03 Jan 2024 13:49:30 GMT foundInMaster: true v3_1_link: https://github.com/rswag/rswag/pull/714 - source: @@ -6523,17 +6523,17 @@ repositoryId: 476820102 description: SDKs and Docs for your API created: '2022-04-01T17:56:54Z' - updated: '2024-01-02T17:29:23Z' + updated: '2024-01-03T20:51:57Z' language: TypeScript archived: false - stars: 2027 - watchers: 10 + stars: 2030 + watchers: 11 forks: 86 owner: fern-api logo: https://avatars.githubusercontent.com/u/102944815?v=4 license: MIT - repoEtag: '"dd6f4ba49b304ea2e812506bc9ba392a20a96b3ca9fd659fbd8ffca4d94983e1"' - repoLastModified: Tue, 02 Jan 2024 17:29:23 GMT + repoEtag: '"18da6e6e950fe5962460ae52130b030f5e876ee71d6301decbb9422ffbff6bd3"' + repoLastModified: Wed, 03 Jan 2024 20:51:57 GMT foundInMaster: true sponsored: true testimonial: > @@ -6644,17 +6644,17 @@ repositoryId: 293245471 description: Convert between JSON Schema, TypeScript, GraphQL, Open API and SureType created: '2020-09-06T09:40:04Z' - updated: '2023-12-18T16:03:43Z' + updated: '2024-01-03T13:16:21Z' language: TypeScript archived: false - stars: 375 + stars: 376 watchers: 5 forks: 9 owner: grantila logo: https://avatars.githubusercontent.com/u/5362579?v=4 license: MIT - repoEtag: '"35ed561b0e5a745417f054856434e9b537d70044d7bb3724ead61186f5470f1c"' - repoLastModified: Mon, 18 Dec 2023 16:03:43 GMT + repoEtag: '"82807861d73a79f21590b81e2d16270a84a8d626f71a50e839ff8291f0881045"' + repoLastModified: Wed, 03 Jan 2024 13:16:21 GMT foundInMaster: true - source: - https://openapi.tools/ @@ -6682,7 +6682,7 @@ owner: traefik logo: https://avatars.githubusercontent.com/u/14280338?v=4 license: Apache-2.0 - repoEtag: '"e19e77cedb67e7f1fdd2f824d7dad6dcdda917e43a2a3c5d59b30af80bae38bb"' + repoEtag: '"ee44de17d9b2bc4d6a413040c09ad22ff88110edbb59cda76687c351f8a21607"' repoLastModified: Sat, 30 Dec 2023 02:45:12 GMT category: - Documentation @@ -6727,17 +6727,17 @@ repositoryId: 245763170 description: Huma REST/HTTP API Framework for Golang with OpenAPI 3 created: '2020-03-08T06:19:51Z' - updated: '2024-01-02T17:04:06Z' + updated: '2024-01-04T02:02:43Z' language: Go archived: false - stars: 313 + stars: 316 watchers: 12 forks: 37 owner: danielgtaylor logo: https://avatars.githubusercontent.com/u/106826?v=4 license: MIT - repoEtag: '"72af6269c06a7d81aacde696d9bc15b9c90b92e2434bc2293e4fe24da00b1a7e"' - repoLastModified: Tue, 02 Jan 2024 17:04:06 GMT + repoEtag: '"c1a56129cb1db7477c8589eca2b42956e2ddaa96fc099de18f9f919126ef4c02"' + repoLastModified: Thu, 04 Jan 2024 02:02:43 GMT foundInMaster: true category: - Auto Generators @@ -6909,17 +6909,17 @@ FastAPI framework, high performance, easy to learn, fast to code, ready for production created: '2018-12-08T08:21:47Z' - updated: '2024-01-03T03:11:50Z' + updated: '2024-01-04T03:21:04Z' language: Python archived: false - stars: 66525 + stars: 66582 watchers: 655 - forks: 5627 + forks: 5635 owner: tiangolo logo: https://avatars.githubusercontent.com/u/1326112?v=4 license: MIT - repoEtag: '"e0e1c2bb86ee8437aaa54bb8c101ac28b428b70d7fadf059f81c5f299fee5036"' - repoLastModified: Wed, 03 Jan 2024 03:11:50 GMT + repoEtag: '"85a237641528c88e7f31139e9e1c39cdd906fd64573abf8127c2747234f7940b"' + repoLastModified: Thu, 04 Jan 2024 03:21:04 GMT foundInMaster: true id: 8e11fa45d6f090aa2ed68317cf5a7215 - source: @@ -6937,17 +6937,17 @@ Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API. created: '2011-07-15T22:56:39Z' - updated: '2024-01-02T18:07:02Z' + updated: '2024-01-04T00:16:41Z' language: JavaScript archived: false - stars: 24971 + stars: 24974 watchers: 651 - forks: 8849 + forks: 8850 owner: swagger-api logo: https://avatars.githubusercontent.com/u/7658037?v=4 license: Apache-2.0 - repoEtag: '"a7c4fbcfcecf7edd92d8272d2b239c15a78fbc8fff0f5474358760909871d06a"' - repoLastModified: Tue, 02 Jan 2024 18:07:02 GMT + repoEtag: '"046e65c66f8cc37cd47bb634fb8417c76c6839d4ae8d9c5cc579023058aae53b"' + repoLastModified: Thu, 04 Jan 2024 00:16:41 GMT foundInMaster: true name: swagger-ui homepage: https://github.com/swagger-api/swagger-UI @@ -6980,17 +6980,17 @@ repositoryId: 45250726 description: 📘 OpenAPI/Swagger-generated API Reference Documentation created: '2015-10-30T12:53:02Z' - updated: '2024-01-03T00:39:04Z' + updated: '2024-01-04T01:27:38Z' language: TypeScript archived: false - stars: 21698 + stars: 21710 watchers: 288 - forks: 2265 + forks: 2266 owner: Redocly logo: https://avatars.githubusercontent.com/u/32099856?v=4 license: MIT - repoEtag: '"096f6779fc8f2a6b98b046204be02de0eeae09396b19f9142892e75758d1a155"' - repoLastModified: Wed, 03 Jan 2024 00:39:04 GMT + repoEtag: '"580876bdb2918b7b33126cdaf719dfd705f616418696db3b4c8599fcca1ccd17"' + repoLastModified: Thu, 04 Jan 2024 01:27:38 GMT foundInMaster: true v3_1: true id: 2725d6db6977c1dd12ceaf9701787e07 @@ -7009,17 +7009,17 @@ Full stack, modern web application generator. Using FastAPI, PostgreSQL as database, Docker, automatic HTTPS and more. created: '2019-02-23T15:08:34Z' - updated: '2024-01-03T02:38:39Z' + updated: '2024-01-04T03:26:54Z' language: TypeScript archived: false - stars: 14060 - watchers: 238 - forks: 2513 + stars: 14071 + watchers: 236 + forks: 2518 owner: tiangolo logo: https://avatars.githubusercontent.com/u/1326112?v=4 license: MIT - repoEtag: '"b52b60dc3fd352f723db46fedc1c08b9d68e52d8cf0553478f3b9d52cc69f9e6"' - repoLastModified: Wed, 03 Jan 2024 02:38:39 GMT + repoEtag: '"4ca0907a31d7f794c2ccf953c686d1187413a5499690ea7988823943d45a02cc"' + repoLastModified: Thu, 04 Jan 2024 03:26:54 GMT foundInMaster: true category: Server Implementations id: fd87348d3e68e8838b35571b2a88b798 @@ -7063,17 +7063,17 @@ Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source. created: '2017-07-17T13:19:16Z' - updated: '2024-01-02T16:35:44Z' + updated: '2024-01-04T02:08:03Z' language: TypeScript archived: false - stars: 5602 + stars: 5603 watchers: 59 forks: 315 owner: mockoon logo: https://avatars.githubusercontent.com/u/49429147?v=4 license: NOASSERTION - repoEtag: '"aeb6559c3df951bea95eff11c661b50893917b8d2ce4f496a83bda85fff8b829"' - repoLastModified: Tue, 02 Jan 2024 16:35:44 GMT + repoEtag: '"d62ef33091b87fe15764b0738db60f7b2b034a23749e14f2c77d6c33b3a4f9d8"' + repoLastModified: Thu, 04 Jan 2024 02:08:03 GMT foundInMaster: true category: Testing id: 8728dfca2c1908dbecdcddd31597fad4 @@ -7089,17 +7089,17 @@ repositoryId: 88701696 description: Knife4j is a set of Swagger2 and OpenAPI3 All-in-one enhancement solution created: '2017-04-19T04:44:28Z' - updated: '2024-01-02T14:17:16Z' + updated: '2024-01-03T08:04:33Z' language: HTML archived: false - stars: 3731 + stars: 3732 watchers: 73 forks: 586 owner: xiaoymin logo: https://avatars.githubusercontent.com/u/7894406?v=4 license: Apache-2.0 - repoEtag: '"58b8a419630c0d6bd3b1bf8c6129755bdcd86f970edaf398a508580e5776921f"' - repoLastModified: Tue, 02 Jan 2024 14:17:16 GMT + repoEtag: '"8d3a7252d660870ec5cacb18bb1e83b7fce697cc77b611b8e41651d412638a09"' + repoLastModified: Wed, 03 Jan 2024 08:04:33 GMT category: SDK foundInMaster: true - source: @@ -7116,17 +7116,17 @@ repositoryId: 709571808 description: Chrome extension that generates API specs for any app or website created: '2023-10-25T00:36:06Z' - updated: '2024-01-02T21:44:34Z' + updated: '2024-01-03T14:18:36Z' language: TypeScript archived: false - stars: 3593 + stars: 3594 watchers: 19 forks: 57 owner: AndrewWalsh logo: https://avatars.githubusercontent.com/u/15863952?v=4 license: MIT - repoEtag: '"f946a4ff15987bcbba77a82e2d2f0554db3cb569b453bbc8781a4db01ab0afea"' - repoLastModified: Tue, 02 Jan 2024 21:44:34 GMT + repoEtag: '"54c5e48638b4ca83fc4a385d96fae02bda2f5f7773f66a8ca01d3479499491f5"' + repoLastModified: Wed, 03 Jan 2024 14:18:36 GMT category: Server Implementations foundInMaster: true v3_1: true @@ -7143,17 +7143,17 @@ 🌐 Wikipedia for Web APIs. Directory of REST API definitions in OpenAPI 2.0/3.x format created: '2015-02-22T19:58:12Z' - updated: '2024-01-02T16:18:34Z' + updated: '2024-01-03T18:27:38Z' language: null archived: false - stars: 3493 + stars: 3495 watchers: 112 forks: 571 owner: APIs-guru logo: https://avatars.githubusercontent.com/u/10975548?v=4 license: CC0-1.0 - repoEtag: '"d4f72929eaaabc63c16921fdc04005675ac939149a4cb0675b269e47ea20501c"' - repoLastModified: Tue, 02 Jan 2024 16:18:34 GMT + repoEtag: '"7e79808998f2ecd06474f2e6fa081a0af40f1b72ee06b9371b294bb1907ae248"' + repoLastModified: Wed, 03 Jan 2024 18:27:38 GMT foundInMaster: true category: SDK id: 667f2aef78d9d19418fbd6c0a7835abb @@ -7177,17 +7177,17 @@ repositoryId: 196475719 description: Library for OpenAPI 3 with spring-boot created: '2019-07-11T23:08:20Z' - updated: '2024-01-02T16:15:29Z' + updated: '2024-01-03T07:33:41Z' language: Java archived: false - stars: 2945 + stars: 2946 watchers: 41 forks: 437 owner: springdoc logo: https://avatars.githubusercontent.com/u/52804136?v=4 license: Apache-2.0 - repoEtag: '"d584cb3289f1b69f797567c32414da6027250998c2995df61ab46e0d90bf377e"' - repoLastModified: Tue, 02 Jan 2024 16:15:29 GMT + repoEtag: '"7e52c3d64a4cd0bd6eb557c733c19c5841569842888fdff3cdeb4a7f2a5b2d1f"' + repoLastModified: Wed, 03 Jan 2024 07:33:41 GMT foundInMaster: true id: 901410cec129651fcf7374c79f824f27 - source: @@ -7234,17 +7234,17 @@ web applications in Python with performance auto-tuning. Optionally with Alpine Linux. created: '2019-01-04T17:33:29Z' - updated: '2024-01-02T16:50:03Z' + updated: '2024-01-03T08:28:23Z' language: Python archived: false - stars: 2437 + stars: 2438 watchers: 27 forks: 313 owner: tiangolo logo: https://avatars.githubusercontent.com/u/1326112?v=4 license: MIT - repoEtag: '"78647841ab8ce17c9d1b542f7166644b0e4c0fbe38ef082a285598c5113dc0a0"' - repoLastModified: Tue, 02 Jan 2024 16:50:03 GMT + repoEtag: '"864d23690978972e1b93a46e86560a2ea9e3475ae218a426d76f0ba8c665f4af"' + repoLastModified: Wed, 03 Jan 2024 08:28:23 GMT foundInMaster: true category: Server Implementations id: d0f3fc0bd35fcadacc8ed2c531780739 @@ -7294,17 +7294,17 @@ repositoryId: 244234763 description: Sane and flexible OpenAPI 3 schema generation for Django REST framework. created: '2020-03-01T22:36:54Z' - updated: '2024-01-02T17:03:51Z' + updated: '2024-01-03T13:09:01Z' language: Python archived: false - stars: 1942 + stars: 1943 watchers: 13 - forks: 227 + forks: 229 owner: tfranzel logo: https://avatars.githubusercontent.com/u/13507857?v=4 license: BSD-3-Clause - repoEtag: '"54845ab772e87d021fd0b520e975c355451745cd80881142013e3daa8b132733"' - repoLastModified: Tue, 02 Jan 2024 17:03:51 GMT + repoEtag: '"00a762bb42c887f4f578dd5e553b66ac68ab87f62308e4f1e547451a6d102b5a"' + repoLastModified: Wed, 03 Jan 2024 13:09:01 GMT foundInMaster: true category: Server Implementations id: 520f5c66c3e42a7b3fbface4f156c1dc @@ -7321,17 +7321,17 @@ A compiler for APIs described by the OpenAPI Specification with plugins for code generation and other API support tasks. created: '2016-11-15T19:21:53Z' - updated: '2024-01-02T16:28:55Z' + updated: '2024-01-03T20:08:35Z' language: Go archived: false - stars: 1906 + stars: 1908 watchers: 37 forks: 238 owner: google logo: https://avatars.githubusercontent.com/u/1342004?v=4 license: Apache-2.0 - repoEtag: '"e22e965b93484411d339c519eb481f83f0cbd10e06d64f8f5d336e5db5e4be19"' - repoLastModified: Tue, 02 Jan 2024 16:28:55 GMT + repoEtag: '"ae6b82830d1dc5427fa3b586192a50b791b7ec3a578da229c8b24f59b2abe007"' + repoLastModified: Wed, 03 Jan 2024 20:08:35 GMT foundInMaster: true category: Converters id: 46e070512676eb0fd196ee199e6a0b34 @@ -7351,17 +7351,17 @@ A fast serialization and validation library, with builtin support for JSON, MessagePack, YAML, and TOML created: '2021-01-26T02:53:57Z' - updated: '2024-01-02T19:43:06Z' + updated: '2024-01-04T00:08:42Z' language: Python archived: false - stars: 1602 + stars: 1612 watchers: 14 - forks: 47 + forks: 48 owner: jcrist logo: https://avatars.githubusercontent.com/u/2783717?v=4 license: BSD-3-Clause - repoEtag: '"f4f1f77d07fc07ac11832cfda9964f647ab36407b46c6cba6b0d7fa92964fb8e"' - repoLastModified: Tue, 02 Jan 2024 19:43:06 GMT + repoEtag: '"3e8c0131351c046ba314631a16d56af858243e61579eaf81ef9887117f15a01d"' + repoLastModified: Thu, 04 Jan 2024 00:08:42 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -7377,17 +7377,17 @@ Simple, Fast, Code first and Compile time generated OpenAPI documentation for Rust created: '2021-09-30T22:00:31Z' - updated: '2024-01-02T18:42:29Z' + updated: '2024-01-03T10:37:47Z' language: Rust archived: false - stars: 1591 + stars: 1592 watchers: 8 forks: 131 owner: juhaku logo: https://avatars.githubusercontent.com/u/26358664?v=4 license: Apache-2.0 - repoEtag: '"6a209306cb50d0ab77e91ab21084d140ab0a10e1cca1432844652805d7662b9d"' - repoLastModified: Tue, 02 Jan 2024 18:42:29 GMT + repoEtag: '"27392f64857aa66f4b8a184faec75adfc593f1f3035aac2b07b2f3e45a32621c"' + repoLastModified: Wed, 03 Jan 2024 10:37:47 GMT foundInMaster: true category: Parsers id: 14269a89115b3be71493769fca4d995e @@ -7402,17 +7402,17 @@ repositoryId: 165951750 description: RapiDoc -WebComponent for OpenAPI Spec created: '2019-01-16T01:29:58Z' - updated: '2024-01-02T19:17:43Z' + updated: '2024-01-04T00:37:38Z' language: JavaScript archived: false - stars: 1475 + stars: 1478 watchers: 13 forks: 263 owner: rapi-doc logo: https://avatars.githubusercontent.com/u/104180085?v=4 license: MIT - repoEtag: '"f2923f579a77fe56e442b5837d74d463450a002ace164a47aa3b384823447ff5"' - repoLastModified: Tue, 02 Jan 2024 19:17:43 GMT + repoEtag: '"f245195cf1e76e261570016379a4a0e490cb700f47f42f8446f2d7133eaa9665"' + repoLastModified: Thu, 04 Jan 2024 00:37:38 GMT foundInMaster: true category: - Documentation @@ -7464,17 +7464,17 @@ A node package wrapper for https://github.com/OpenAPITools/openapi-generator created: '2018-10-26T10:21:23Z' - updated: '2024-01-02T19:36:44Z' + updated: '2024-01-03T12:52:06Z' language: TypeScript archived: false - stars: 1196 + stars: 1197 watchers: 17 forks: 137 owner: OpenAPITools logo: https://avatars.githubusercontent.com/u/37325267?v=4 license: Apache-2.0 - repoEtag: '"d706eef541651b681a96497d7eae978d05fae3dd93558fa664bede43862a8f42"' - repoLastModified: Tue, 02 Jan 2024 19:36:44 GMT + repoEtag: '"d3ab5fa5e93fe1f070b793762f6e87516775b1c165e0976fc522045e2b505193"' + repoLastModified: Wed, 03 Jan 2024 12:52:06 GMT foundInMaster: true category: - Code Generators @@ -7493,17 +7493,17 @@ A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification).. created: '2014-10-18T23:48:49Z' - updated: '2024-01-02T16:17:30Z' + updated: '2024-01-03T14:11:43Z' language: Python archived: false - stars: 1066 + stars: 1067 watchers: 25 forks: 170 owner: marshmallow-code logo: https://avatars.githubusercontent.com/u/10334301?v=4 license: MIT - repoEtag: '"9eb768fc67db5483e6883964729603e126a792c1bb822a9ec06b9422be572bd4"' - repoLastModified: Tue, 02 Jan 2024 16:17:30 GMT + repoEtag: '"75c5272a02d854223dcffd7bf3e88fe1375106302967f94e6ba04344f65346d9"' + repoLastModified: Wed, 03 Jan 2024 14:11:43 GMT foundInMaster: true category: Parsers id: c1528764f05dd585ca47886dd6dabb86 @@ -7519,17 +7519,17 @@ repositoryId: 329190167 description: A lightweight Python web API framework. created: '2021-01-13T04:08:48Z' - updated: '2024-01-02T17:15:38Z' + updated: '2024-01-03T14:17:21Z' language: Python archived: false - stars: 898 + stars: 899 watchers: 19 forks: 109 owner: apiflask logo: https://avatars.githubusercontent.com/u/78075725?v=4 license: MIT - repoEtag: '"e558a9be7629579dcc98a8e86d0f5224be507f9199379a255430b1ac54d98a2a"' - repoLastModified: Tue, 02 Jan 2024 17:15:38 GMT + repoEtag: '"c0d67a0644ee8fea75b393cb0de2a5f70764c19fe1ad8fdf728b630802e7867b"' + repoLastModified: Wed, 03 Jan 2024 14:17:21 GMT category: Server Implementations foundInMaster: true oldLocations: @@ -7546,7 +7546,7 @@ repositoryId: 372032505 description: OpenAPI v3 code generator for go created: '2021-05-29T17:25:48Z' - updated: '2024-01-02T11:05:22Z' + updated: '2024-01-03T23:58:52Z' language: Go archived: false stars: 882 @@ -7555,8 +7555,8 @@ owner: ogen-go logo: https://avatars.githubusercontent.com/u/85122432?v=4 license: Apache-2.0 - repoEtag: '"71f4b729dc1825668c19613527c8efecfa2456dd9207e03f0f09f2b3a1e4f63e"' - repoLastModified: Tue, 02 Jan 2024 11:05:22 GMT + repoEtag: '"02232df7d9d07f749af25a50f3cbe9f726ef74bdf4ce959dfea7505461b3016b"' + repoLastModified: Wed, 03 Jan 2024 23:58:52 GMT category: Parsers foundInMaster: true - source: openapi3 tags @@ -7580,7 +7580,7 @@ owner: microsoft logo: https://avatars.githubusercontent.com/u/6154722?v=4 license: MIT - repoEtag: '"dde4cf950bafee92908b2d76d01a3c8bcaa6300bf4e4739d01e973d119c430f0"' + repoEtag: '"bf5007833f613dbded2adc67046bd3a0d9b99a9f24d435dcdec4ac4085e43a73"' repoLastModified: Tue, 02 Jan 2024 22:22:58 GMT category: Server Implementations foundInMaster: true @@ -7624,17 +7624,17 @@ A fast Java JSON schema validator that supports draft V4, V6, V7, V2019-09 and V2020-12 created: '2016-09-15T12:24:16Z' - updated: '2023-12-29T06:33:29Z' + updated: '2024-01-04T02:56:01Z' language: Java archived: false - stars: 720 + stars: 722 watchers: 43 forks: 305 owner: networknt logo: https://avatars.githubusercontent.com/u/8740739?v=4 license: Apache-2.0 - repoEtag: '"e9422ee9f4c9f3126b9bb51e42074707ee1666fbc07bb52ccb03914006ac737c"' - repoLastModified: Fri, 29 Dec 2023 06:33:29 GMT + repoEtag: '"e72026c86d17e585036409801ec1e2bdc864bf4a224fcc4a2dad53f0db8eccab"' + repoLastModified: Thu, 04 Jan 2024 02:56:01 GMT foundInMaster: true category: Parsers id: 69c6f349899d198b4045edb7ffa3fb74 @@ -7658,7 +7658,7 @@ owner: OpenAPITools logo: https://avatars.githubusercontent.com/u/37325267?v=4 license: Apache-2.0 - repoEtag: '"fefb2cae14ac485f9edf9cd715c249452bba0fea6729075d13a9826a14e953f8"' + repoEtag: '"2d8f0c2649a2142d06dcd2595b3e97f5ecef866327596f75949f86958aa29db9"' repoLastModified: Thu, 28 Dec 2023 03:21:22 GMT foundInMaster: true category: Parsers @@ -7860,17 +7860,17 @@ repositoryId: 481579846 description: A library that generates OpenAPI (Swagger) docs from Zod schemas created: '2022-04-14T11:32:57Z' - updated: '2024-01-02T19:34:36Z' + updated: '2024-01-03T20:51:49Z' language: TypeScript archived: false - stars: 536 + stars: 538 watchers: 10 forks: 43 owner: asteasolutions logo: https://avatars.githubusercontent.com/u/5244095?v=4 license: MIT - repoEtag: '"2849c07b98d546eb254c2679e466efb584d3c09c777f112dca57eaeb10222225"' - repoLastModified: Tue, 02 Jan 2024 19:34:36 GMT + repoEtag: '"2c61f07fd0c56c6ed73dad215ce38ae58704907e46e00c7fc2b1785155ee44d6"' + repoLastModified: Wed, 03 Jan 2024 20:51:49 GMT category: Parsers foundInMaster: true - source: openapi3 tags @@ -8099,17 +8099,17 @@ response status codes and parameters. At the end, it generates the .json file containing the Swagger format specification. created: '2020-04-13T01:37:33Z' - updated: '2023-12-31T08:27:52Z' + updated: '2024-01-03T04:15:29Z' language: JavaScript archived: false - stars: 395 + stars: 396 watchers: 5 forks: 60 owner: swagger-autogen logo: https://avatars.githubusercontent.com/u/137681762?v=4 license: MIT - repoEtag: '"8fae69160825ad85b24e87907540ade1cd61237612c718334508505d10d79a36"' - repoLastModified: Sun, 31 Dec 2023 08:27:52 GMT + repoEtag: '"ec13b9c3eeea4490977371c2bb0d9d638643e17bec3b84ff486839637a4f1983"' + repoLastModified: Wed, 03 Jan 2024 04:15:29 GMT category: Parsers foundInMaster: true oldLocations: @@ -8152,17 +8152,17 @@ repositoryId: 293245471 description: Convert between JSON Schema, TypeScript, GraphQL, Open API and SureType created: '2020-09-06T09:40:04Z' - updated: '2023-12-18T16:03:43Z' + updated: '2024-01-03T13:16:21Z' language: TypeScript archived: false - stars: 375 + stars: 376 watchers: 5 forks: 9 owner: grantila logo: https://avatars.githubusercontent.com/u/5362579?v=4 license: MIT - repoEtag: '"35ed561b0e5a745417f054856434e9b537d70044d7bb3724ead61186f5470f1c"' - repoLastModified: Mon, 18 Dec 2023 16:03:43 GMT + repoEtag: '"82807861d73a79f21590b81e2d16270a84a8d626f71a50e839ff8291f0881045"' + repoLastModified: Wed, 03 Jan 2024 13:16:21 GMT foundInMaster: true category: Parsers id: 31c759927a7f06228ec927500d9722c5 @@ -8228,17 +8228,17 @@ repositoryId: 239108172 description: 📘 Multi-file boilerplate for Open API Specification created: '2020-02-08T10:23:15Z' - updated: '2023-12-28T15:33:26Z' + updated: '2024-01-04T02:53:21Z' language: Shell archived: false - stars: 338 + stars: 339 watchers: 5 forks: 81 owner: dgarcia360 logo: https://avatars.githubusercontent.com/u/9107969?v=4 license: NOASSERTION - repoEtag: '"c6e5148c2f6b21b9b79ed32622a99cd9626f80fd4a0c2c3b7b559f1702ab0377"' - repoLastModified: Thu, 28 Dec 2023 15:33:26 GMT + repoEtag: '"c5c14ebe2e120646dd04694c1d42196088eaa9c02eeb78d75608e8bfc9a331f1"' + repoLastModified: Thu, 04 Jan 2024 02:53:21 GMT foundInMaster: true category: - Description Validators @@ -8258,17 +8258,17 @@ traffic with apidump. Model API behavior with apispec. Compare API behavior with apidiff. created: '2021-02-19T00:43:53Z' - updated: '2024-01-02T17:16:43Z' + updated: '2024-01-04T03:21:33Z' language: Go archived: false - stars: 335 + stars: 336 watchers: 8 forks: 27 owner: akitasoftware logo: https://avatars.githubusercontent.com/u/44328574?v=4 license: Apache-2.0 - repoEtag: '"13cae5057c67396cba081d5f38d1396b662d3d34cd8f8b28c9f43e3db5c8f67f"' - repoLastModified: Tue, 02 Jan 2024 17:16:43 GMT + repoEtag: '"b75dc472e324ab683dfa6c7af61e8d50773e84ab10a70d21ede4588e3faec049"' + repoLastModified: Thu, 04 Jan 2024 03:21:33 GMT foundInMaster: true category: - SDK @@ -8315,11 +8315,11 @@ archived: false stars: 297 watchers: 5 - forks: 54 + forks: 55 owner: epiphone logo: https://avatars.githubusercontent.com/u/1923531?v=4 license: MIT - repoEtag: '"50ea6a41e0f29f0bf195fb5499db61e251e79676f02e4939821e1d40a529e418"' + repoEtag: '"a2c232505ebbb511c661c9f5abc156b36d3572f478fb33e6e11b42b310dc78ab"' repoLastModified: Fri, 01 Dec 2023 14:53:51 GMT foundInMaster: true category: Parsers @@ -8346,11 +8346,11 @@ archived: false stars: 294 watchers: 9 - forks: 61 + forks: 60 owner: python-openapi logo: https://avatars.githubusercontent.com/u/126442889?v=4 license: Apache-2.0 - repoEtag: '"d819d36e84a7e7fb65ac563dff226f479acb09d1294887087a332361e980b7ed"' + repoEtag: '"dbd367ccb1bd07c8ded856ce9fa5b2a8db8fce85fb6250d2ba3f6cd401f0ad31"' repoLastModified: Sat, 23 Dec 2023 01:40:37 GMT category: Parsers oldLocations: @@ -8456,17 +8456,17 @@ repositoryId: 306110879 description: Web services with OpenAPI and JSON Schema done quick in Go created: '2020-10-21T18:16:16Z' - updated: '2023-12-29T08:55:21Z' + updated: '2024-01-03T14:13:30Z' language: Go archived: false - stars: 272 + stars: 273 watchers: 4 forks: 13 owner: swaggest logo: https://avatars.githubusercontent.com/u/19609628?v=4 license: MIT - repoEtag: '"cfd82a79a233a1cf56e1c3138eedb509b37df36a4113d29fd3533a85a70bb09a"' - repoLastModified: Fri, 29 Dec 2023 08:55:21 GMT + repoEtag: '"34b12b5f000eb6f15d9f2c4de2c8ddb66b45c015f1345b21d1b15255c94dab47"' + repoLastModified: Wed, 03 Jan 2024 14:13:30 GMT foundInMaster: true id: ecd2fef7bb4079bda209503f9fb9820b - source: @@ -8485,17 +8485,17 @@ Openapi-core is a Python library that adds client-side and server-side support for the OpenAPI v3.0 and OpenAPI v3.1 specification. created: '2017-09-20T10:25:35Z' - updated: '2023-12-21T19:45:58Z' + updated: '2024-01-03T17:50:24Z' language: Python archived: false - stars: 257 + stars: 258 watchers: 10 forks: 119 owner: python-openapi logo: https://avatars.githubusercontent.com/u/126442889?v=4 license: BSD-3-Clause - repoEtag: '"7d76ea767bebd34eb2cb10ebfce375003d934f5b3e5abc46b7c81f3f33f8ffb6"' - repoLastModified: Thu, 21 Dec 2023 19:45:58 GMT + repoEtag: '"eb78497f3735458424b8ae8db590de473dbf6a75e7657e49295baaa5480d7774"' + repoLastModified: Wed, 03 Jan 2024 17:50:24 GMT category: - Data Validators - Parsers @@ -8599,17 +8599,17 @@ corresponding API documents and codes to help developers develop APIs more quickly and efficiently. created: '2022-05-05T06:44:36Z' - updated: '2023-12-28T00:19:14Z' + updated: '2024-01-03T10:32:06Z' language: Go archived: false - stars: 229 + stars: 233 watchers: 6 - forks: 28 + forks: 29 owner: apicat logo: https://avatars.githubusercontent.com/u/64158984?v=4 license: MIT - repoEtag: '"49128421c307c627ebd8dc6fac5368372d37d37b4d8d1cf558c2633436b5917d"' - repoLastModified: Thu, 28 Dec 2023 00:19:14 GMT + repoEtag: '"f609c314ecbe25d8f187767e65f308dac62f4fc023107fd988306a611e4798ac"' + repoLastModified: Wed, 03 Jan 2024 10:32:06 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -8665,7 +8665,7 @@ owner: asyncapi logo: https://avatars.githubusercontent.com/u/16401334?v=4 license: Apache-2.0 - repoEtag: '"6718d2e014683b1dc7a93cb283513d433d2102d906a570b7c007867854c8ba1a"' + repoEtag: '"9bb7063dcf1ab147c0d7e83d790084d2cfa00d8474358df9137326c98492c598"' repoLastModified: Mon, 01 Jan 2024 20:13:24 GMT foundInMaster: true - source: openapi3 tags @@ -8706,17 +8706,17 @@ repositoryId: 67692955 description: Resolving Swagger/OpenAPI 2.0 and 3.0 Parser created: '2016-09-08T10:23:39Z' - updated: '2023-12-29T08:57:55Z' + updated: '2024-01-03T14:14:04Z' language: Python archived: false - stars: 213 + stars: 214 watchers: 9 forks: 40 owner: RonnyPfannschmidt logo: https://avatars.githubusercontent.com/u/156838?v=4 license: NOASSERTION - repoEtag: '"1f3d1035befc58a2fdb5b34fbefa76b6aedc332c494294b8d17454b60f4ca2f1"' - repoLastModified: Fri, 29 Dec 2023 08:57:55 GMT + repoEtag: '"cf32a456a40f9ca0847f08db7464fa503c35b42fb691d3f104243297d65b0d60"' + repoLastModified: Wed, 03 Jan 2024 14:14:04 GMT foundInMaster: true id: 06b2469a97224b07993ee5f7d921ea36 - source: openapi3 tags @@ -8878,11 +8878,11 @@ archived: false stars: 199 watchers: 14 - forks: 280 + forks: 281 owner: swagger-api logo: https://avatars.githubusercontent.com/u/7658037?v=4 license: Apache-2.0 - repoEtag: '"c07df6a7e097b9f02c6bee96f4aec311a54349dd70a9552f6f19d1046179ac29"' + repoEtag: '"228d8cd50fc9ef142254b72a9ee312fd6535eed144386b78ef8af4abd9d8f1f3"' repoLastModified: Wed, 27 Dec 2023 13:36:36 GMT foundInMaster: true category: @@ -8980,17 +8980,17 @@ Query, provision and operate Cloud and SaaS resources and APIs using an extensible SQL based framework created: '2022-01-03T08:20:06Z' - updated: '2024-01-03T02:47:42Z' + updated: '2024-01-03T19:19:11Z' language: Go archived: false - stars: 201 + stars: 217 watchers: 6 forks: 26 owner: stackql logo: https://avatars.githubusercontent.com/u/95105302?v=4 license: MIT - repoEtag: '"9bc348fd1c806e9313a82060c4366346499b3532b6065bcefecbadfcac92fae3"' - repoLastModified: Wed, 03 Jan 2024 02:47:42 GMT + repoEtag: '"393a05ad79c1b5b1a79882f99c8a96fb41983afa642f669a81615c89ee9158c7"' + repoLastModified: Wed, 03 Jan 2024 19:19:11 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -9013,7 +9013,7 @@ owner: microsoft logo: https://avatars.githubusercontent.com/u/6154722?v=4 license: MIT - repoEtag: '"3dd96075b470bde9904a7aededbdf34ec454a6041d91e9de20623400fedb25b9"' + repoEtag: '"49f367446938724429d8397e60753667464313ebd084b1ddf8275c00cf3e2223"' repoLastModified: Thu, 07 Dec 2023 17:00:56 GMT foundInMaster: true category: @@ -9145,7 +9145,7 @@ owner: aress31 logo: https://avatars.githubusercontent.com/u/11601622?v=4 license: Apache-2.0 - repoEtag: '"d01fe4ed1d96d2385b133fa3c6bcdec8dae4b30d9cc9246f00732115ced02343"' + repoEtag: '"b80bba4f40524d079f5e5c68676cb7da2ef7e0cbcfea22493731d2d59818d85c"' repoLastModified: Fri, 29 Dec 2023 14:25:26 GMT foundInMaster: true category: @@ -9166,17 +9166,17 @@ repositoryId: 563328514 description: OpenAPI 3 schema generator and validator for Cloudflare Workers created: '2022-11-08T11:43:41Z' - updated: '2024-01-02T17:16:27Z' + updated: '2024-01-03T09:29:55Z' language: TypeScript archived: false - stars: 180 + stars: 181 watchers: 10 forks: 28 owner: cloudflare logo: https://avatars.githubusercontent.com/u/314135?v=4 license: MIT - repoEtag: '"713bd4092e52bd8637620a3c1e7565762a78e62ae6ace2a139c31ee5abc3b042"' - repoLastModified: Tue, 02 Jan 2024 17:16:27 GMT + repoEtag: '"3c6fc54a359b6c5d94261d44d2c2f1481e368215e9d557799eeddb55db044c9a"' + repoLastModified: Wed, 03 Jan 2024 09:29:55 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -9493,17 +9493,17 @@ repositoryId: 362315893 description: Generate REST API and OpenAPI documentation for your Flask project. created: '2021-04-28T02:39:57Z' - updated: '2023-12-29T09:00:50Z' + updated: '2024-01-03T14:17:28Z' language: Python archived: false - stars: 129 + stars: 130 watchers: 7 forks: 25 owner: luolingchun logo: https://avatars.githubusercontent.com/u/22740403?v=4 license: MIT - repoEtag: '"a6d5d10f04a6b9be1ac86df2add17650f528f9a035b42a83d8fd8f058ab9578d"' - repoLastModified: Fri, 29 Dec 2023 09:00:50 GMT + repoEtag: '"056766ce1039a6e370f6329eb473e41df23f15aaa095ee85b691c5e36d8cd825"' + repoLastModified: Wed, 03 Jan 2024 14:17:28 GMT foundInMaster: true category: Server Implementations id: 7baa4046f5397a8fd006511115871ac0 @@ -9555,7 +9555,7 @@ owner: christianhelle logo: https://avatars.githubusercontent.com/u/710400?v=4 license: GPL-3.0 - repoEtag: '"499c2375f16f08f2b5e9ca1817cd3a85195516748014b8246d2b7a83e1ef1d38"' + repoEtag: '"ea691215a09c55e1b6f334ae5d738dd057b17f5ea3908b8eade5c69c18c7e038"' repoLastModified: Mon, 01 Jan 2024 17:44:21 GMT category: SDK foundInMaster: true @@ -9761,12 +9761,12 @@ language: Python archived: false stars: 105 - watchers: 13 + watchers: 14 forks: 74 owner: sphinx-contrib logo: https://avatars.githubusercontent.com/u/31936682?v=4 license: BSD-2-Clause - repoEtag: '"52c7dd9561ef8289b1d4417e95c02a8c2f0be995ca907df2b26005e2536fcb36"' + repoEtag: '"5cae35bdea1c2c617c10e0960ca9379faa1f85286ec38b816ec9ab8e7d5744b1"' repoLastModified: Thu, 23 Nov 2023 05:41:48 GMT foundInMaster: true category: @@ -9874,17 +9874,17 @@ repositoryId: 263836606 description: 'OpenAPI (v3) specification schema as pydantic class ' created: '2020-05-14T06:42:49Z' - updated: '2023-12-29T09:00:26Z' + updated: '2024-01-03T14:17:01Z' language: Python archived: false - stars: 99 + stars: 100 watchers: 4 forks: 16 owner: kuimono logo: https://avatars.githubusercontent.com/u/16016416?v=4 license: MIT - repoEtag: '"d401b66392244de5d7808016a716f6aaf939e12ddeaa84f33ed0d002f7e32e47"' - repoLastModified: Fri, 29 Dec 2023 09:00:26 GMT + repoEtag: '"e064d46d92f6c4e0aad47745704fce2536d6c4b29bb289ffefe24a911985da9b"' + repoLastModified: Wed, 03 Jan 2024 14:17:01 GMT foundInMaster: true category: Parsers id: db4e005af8e10dd51fade90218a598f9 @@ -9962,11 +9962,11 @@ archived: false stars: 89 watchers: 6 - forks: 11 + forks: 10 owner: contiamo logo: https://avatars.githubusercontent.com/u/862286?v=4 license: MIT - repoEtag: '"e4573c4f34f55b45418e14ad0d5dfa3c1723b6b111224b59435c01f68ba18804"' + repoEtag: '"22bb2450c5972c78f4479b444998e1ffb68ebfced13552cb65a2af7de10eaec5"' repoLastModified: Fri, 29 Dec 2023 15:54:46 GMT foundInMaster: true category: Server Implementations @@ -10058,23 +10058,23 @@ id: 17db61563d8b069fd3d4a63d36459a68 repositoryMetadata: base64Readme: >- - WyFbQnVpbGRdKGh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9hY3Rpb25zL3dvcmtmbG93cy9idWlsZC55bWwvYmFkZ2Uuc3ZnKV0oaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2FjdGlvbnMvd29ya2Zsb3dzL2J1aWxkLnltbCkKWyFbU21va2UgVGVzdHNdKGh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9hY3Rpb25zL3dvcmtmbG93cy9zbW9rZS10ZXN0cy55bWwvYmFkZ2Uuc3ZnKV0oaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2FjdGlvbnMvd29ya2Zsb3dzL3Ntb2tlLXRlc3RzLnltbCkKWyFbTnVHZXRdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vbnVnZXQvdi9yZWZpdHRlcj9jb2xvcj1ibHVlKV0oaHR0cHM6Ly93d3cubnVnZXQub3JnL3BhY2thZ2VzL3JlZml0dGVyKQpbIVtRdWFsaXR5IEdhdGUgU3RhdHVzXShodHRwczovL3NvbmFyY2xvdWQuaW8vYXBpL3Byb2plY3RfYmFkZ2VzL21lYXN1cmU/cHJvamVjdD1jaHJpc3RpYW5oZWxsZV9yZWZpdHRlciZtZXRyaWM9YWxlcnRfc3RhdHVzKV0oaHR0cHM6Ly9zb25hcmNsb3VkLmlvL3N1bW1hcnkvbmV3X2NvZGU/aWQ9Y2hyaXN0aWFuaGVsbGVfcmVmaXR0ZXIpClshW2NvZGVjb3ZdKGh0dHBzOi8vY29kZWNvdi5pby9naC9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9ncmFwaC9iYWRnZS5zdmc/dG9rZW49MjQyWVQxTjZUMildKGh0dHBzOi8vY29kZWNvdi5pby9naC9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlcikKWyFbUW9kYW5hXShodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvYWN0aW9ucy93b3JrZmxvd3MvcW9kYW5hLnltbC9iYWRnZS5zdmcpXShodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvYWN0aW9ucy93b3JrZmxvd3MvcW9kYW5hLnltbCkKCjwhLS0gQUxMLUNPTlRSSUJVVE9SUy1CQURHRTpTVEFSVCAtIERvIG5vdCByZW1vdmUgb3IgbW9kaWZ5IHRoaXMgc2VjdGlvbiAtLT4KWyFbQWxsIENvbnRyaWJ1dG9yc10oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9iYWRnZS9hbGxfY29udHJpYnV0b3JzLTMyLW9yYW5nZS5zdmc/c3R5bGU9ZmxhdC1zcXVhcmUpXSgjY29udHJpYnV0b3JzLSkKPCEtLSBBTEwtQ09OVFJJQlVUT1JTLUJBREdFOkVORCAtLT4KCiMgUmVmaXR0ZXIKUmVmaXR0ZXIgaXMgYSB0b29sIGZvciBnZW5lcmF0aW5nIGEgQyMgUkVTVCBBUEkgQ2xpZW50IHVzaW5nIHRoZSBbUmVmaXRdKGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdGl2ZXVpL3JlZml0KSBsaWJyYXJ5LiBSZWZpdHRlciBjYW4gZ2VuZXJhdGUgdGhlIFJlZml0IGludGVyZmFjZSBhbmQgY29udHJhY3RzIGZyb20gT3BlbkFQSSBzcGVjaWZpY2F0aW9ucy4gCgpSZWZpdHRlciBjb21lcyBpbiAyIGZvcm1zOgotIEEgWy5ORVQgQ0xJIFRvb2xdKCNjbGktdG9vbCkgZGlzdHJpYnV0ZWQgdmlhIFtudWdldC5vcmddKGh0dHA6Ly93d3cubnVnZXQub3JnL3BhY2thZ2VzL3JlZml0dGVyKSB0aGF0IG91dHB1dHMgYSBzaW5nbGUgQyMgZmlsZSBvbiBkaXNrCi0gQSBbQyMgU291cmNlIEdlbmVyYXRvcl0oI3NvdXJjZS1nZW5lcmF0b3IpIHZpYSB0aGUgW1JlZml0dGVyLlNvdXJjZUdlbmVyYXRvcl0oaHR0cDovL3d3dy5udWdldC5vcmcvcGFja2FnZXMvcmVmaXR0ZXIuc291cmNlZ2VuZXJhdG9yKSBwYWNrYWdlIHRoYXQgZ2VuZXJhdGVzIGNvZGUgb24gY29tcGlsZSB0aW1lIGJhc2VkIG9uIGEgWy5yZWZpdHRlcl0oIy5yZWZpdHRlci1maWxlLWZvcm1hdCkgd2l0aGluIHRoZSBwcm9qZWN0IGRpcmVjdG9yeS4KCiMjIENMSSBUb29sCgojIyMgSW5zdGFsbGF0aW9uOgoKVGhlIHRvb2wgaXMgcGFja2FnZWQgYXMgYSAuTkVUIFRvb2wgYW5kIGlzIHB1Ymxpc2hlZCB0byBudWdldC5vcmcuIFlvdSBjYW4gaW5zdGFsbCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyB0b29sIGxpa2UgdGhpczoKCmBgYHNoZWxsCmRvdG5ldCB0b29sIGluc3RhbGwgLS1nbG9iYWwgUmVmaXR0ZXIKYGBgCgojIyMgVXNhZ2U6CgpgYGBzaGVsbAokIHJlZml0dGVyIC0taGVscApgYGAKCmBgYHB3c2gKVVNBR0U6CiAgICByZWZpdHRlciBbVVJMIG9yIGlucHV0IGZpbGVdIFtPUFRJT05TXQoKRVhBTVBMRVM6CiAgICByZWZpdHRlciAuL29wZW5hcGkuanNvbgogICAgcmVmaXR0ZXIgaHR0cHM6Ly9wZXRzdG9yZTMuc3dhZ2dlci5pby9hcGkvdjMvb3BlbmFwaS55YW1sCiAgICByZWZpdHRlciAuL29wZW5hcGkuanNvbiAtLXNldHRpbmdzLWZpbGUgLi9vcGVuYXBpLnJlZml0dGVyIC0tb3V0cHV0IC4vR2VuZXJhdGVkQ29kZS5jcwogICAgcmVmaXR0ZXIgLi9vcGVuYXBpLmpzb24gLS1uYW1lc3BhY2UgIllvdXIuTmFtZXNwYWNlLk9mLkNob2ljZS5HZW5lcmF0ZWRDb2RlIiAtLW91dHB1dCAuL0dlbmVyYXRlZENvZGUuY3MKICAgIHJlZml0dGVyIC4vb3BlbmFwaS5qc29uIC0tbmFtZXNwYWNlICJZb3VyLk5hbWVzcGFjZS5PZi5DaG9pY2UuR2VuZXJhdGVkQ29kZSIgLS1pbnRlcm5hbAogICAgcmVmaXR0ZXIgLi9vcGVuYXBpLmpzb24gLS1vdXRwdXQgLi9JR2VuZXJhdGVkQ29kZS5jcyAtLWludGVyZmFjZS1vbmx5CiAgICByZWZpdHRlciAuL29wZW5hcGkuanNvbiAtLXVzZS1hcGktcmVzcG9uc2UKICAgIHJlZml0dGVyIC4vb3BlbmFwaS5qc29uIC0tY2FuY2VsbGF0aW9uLXRva2VucwogICAgcmVmaXR0ZXIgLi9vcGVuYXBpLmpzb24gLS1uby1vcGVyYXRpb24taGVhZGVycwogICAgcmVmaXR0ZXIgLi9vcGVuYXBpLmpzb24gLS1uby1hY2NlcHQtaGVhZGVycwogICAgcmVmaXR0ZXIgLi9vcGVuYXBpLmpzb24gLS11c2UtaXNvLWRhdGUtZm9ybWF0CiAgICByZWZpdHRlciAuL29wZW5hcGkuanNvbiAtLWFkZGl0aW9uYWwtbmFtZXNwYWNlICJZb3VyLkFkZGl0aW9uYWwuTmFtZXNwYWNlIiAtLWFkZGl0aW9uYWwtbmFtZXNwYWNlICJZb3VyLk90aGVyLkFkZGl0aW9uYWwuTmFtZXNwYWNlIgogICAgcmVmaXR0ZXIgLi9vcGVuYXBpLmpzb24gLS1tdWx0aXBsZS1pbnRlcmZhY2VzIEJ5RW5kcG9pbnQKICAgIHJlZml0dGVyIC4vb3BlbmFwaS5qc29uIC0tdGFnIFBldCAtLXRhZyBTdG9yZSAtLXRhZyBVc2VyCiAgICByZWZpdHRlciAuL29wZW5hcGkuanNvbiAtLW1hdGNoLXBhdGggJ14vcGV0Ly4qJwogICAgcmVmaXR0ZXIgLi9vcGVuYXBpLmpzb24gLS10cmltLXVudXNlZC1zY2hlbWEKICAgIHJlZml0dGVyIC4vb3BlbmFwaS5qc29uIC0tdHJpbS11bnVzZWQtc2NoZW1hICAtLWtlZXAtc2NoZW1hICdeTW9kZWwkJyAtLWtlZXAtc2NoZW1hICdeUGVyc29uLisnCiAgICByZWZpdHRlciAuL29wZW5hcGkuanNvbiAtLW5vLWRlcHJlY2F0ZWQtb3BlcmF0aW9ucwogICAgcmVmaXR0ZXIgLi9vcGVuYXBpLmpzb24gLS1vcGVyYXRpb24tbmFtZS10ZW1wbGF0ZSAne29wZXJhdGlvbk5hbWV9QXN5bmMnCiAgICByZWZpdHRlciAuL29wZW5hcGkuanNvbiAtLW9wdGlvbmFsLW51bGxhYmxlLXBhcmFtZXRlcnMKCkFSR1VNRU5UUzoKICAgIFtVUkwgb3IgaW5wdXQgZmlsZV0gICAgVVJMIG9yIGZpbGUgcGF0aCB0byBPcGVuQVBJIFNwZWNpZmljYXRpb24gZmlsZQoKT1BUSU9OUzoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVGQVVMVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmludHMgaGVscCBpbmZvcm1hdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmludHMgdmVyc2lvbiBpbmZvcm1hdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgIC1zLCAtLXNldHRpbmdzLWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXRoIHRvIC5yZWZpdHRlciBzZXR0aW5ncyBmaWxlLiBTcGVjaWZ5aW5nIHRoaXMgd2lsbCBpZ25vcmUgYWxsIG90aGVyIHNldHRpbmdzIChleGNlcHQgZm9yIC0tb3V0cHV0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgIC1uLCAtLW5hbWVzcGFjZSAgICAgICAgICAgICAgICAgICAgICAgR2VuZXJhdGVkQ29kZSAgICBEZWZhdWx0IG5hbWVzcGFjZSB0byB1c2UgZm9yIGdlbmVyYXRlZCB0eXBlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgIC1vLCAtLW91dHB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0LmNzICAgICAgICBQYXRoIHRvIE91dHB1dCBmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLW5vLWF1dG8tZ2VuZXJhdGVkLWhlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICBEb24ndCBhZGQgPGF1dG8tZ2VuZXJhdGVkPiBoZWFkZXIgdG8gb3V0cHV0IGZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLW5vLWFjY2VwdC1oZWFkZXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb24ndCBhZGQgPEFjY2VwdD4gaGVhZGVyIHRvIG91dHB1dCBmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLWludGVyZmFjZS1vbmx5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb24ndCBnZW5lcmF0ZSBjb250cmFjdCB0eXBlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLXVzZS1hcGktcmVzcG9uc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gVGFzazxJQXBpUmVzcG9uc2U8VD4+IGluc3RlYWQgb2YgVGFzazxUPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLWludGVybmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZXQgdGhlIGFjY2Vzc2liaWxpdHkgb2YgdGhlIGdlbmVyYXRlZCB0eXBlcyB0byAnaW50ZXJuYWwnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLWNhbmNlbGxhdGlvbi10b2tlbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc2UgY2FuY2VsbGF0aW9uIHRva2VucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLW5vLW9wZXJhdGlvbi1oZWFkZXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb24ndCBnZW5lcmF0ZSBvcGVyYXRpb24gaGVhZGVycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLW5vLWxvZ2dpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb24ndCBsb2cgZXJyb3JzIG9yIGNvbGxlY3QgdGVsZW1ldHJ5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLWFkZGl0aW9uYWwtbmFtZXNwYWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGQgYWRkaXRpb25hbCBuYW1lc3BhY2UgdG8gZ2VuZXJhdGVkIHR5cGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLXVzZS1pc28tZGF0ZS1mb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeHBsaWNpdGx5IGZvcm1hdCBkYXRlIHF1ZXJ5IHN0cmluZyBwYXJhbWV0ZXJzIGluIElTTyA4NjAxIHN0YW5kYXJkIGRhdGUgZm9ybWF0IHVzaW5nIGRlbGltaXRlcnMgKDIwMjMtMDYtMTUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLW11bHRpcGxlLWludGVyZmFjZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZW5lcmF0ZSBhIFJlZml0IGludGVyZmFjZSBmb3IgZWFjaCBlbmRwb2ludC4gTWF5IGJlIG9uZSBvZiBCeUVuZHBvaW50LCBCeVRhZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLW1hdGNoLXBhdGggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPbmx5IGluY2x1ZGUgUGF0aHMgdGhhdCBtYXRjaCB0aGUgcHJvdmlkZWQgcmVndWxhciBleHByZXNzaW9uLiBNYXkgYmUgc2V0IG11bHRpcGxlIHRpbWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLXRhZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPbmx5IGluY2x1ZGUgRW5kcG9pbnRzIHRoYXQgY29udGFpbiB0aGlzIHRhZy4gTWF5IGJlIHNldCBtdWx0aXBsZSB0aW1lcyBhbmQgcmVzdWx0IGluIE9SJ2VkIGV2YWx1YXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLXNraXAtdmFsaWRhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTa2lwIHZhbGlkYXRpb24gb2YgdGhlIE9wZW5BUEkgc3BlY2lmaWNhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLW5vLWRlcHJlY2F0ZWQtb3BlcmF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICBEb24ndCBnZW5lcmF0ZSBkZXByZWNhdGVkIG9wZXJhdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLW9wZXJhdGlvbi1uYW1lLXRlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgICAgICBHZW5lcmF0ZSBvcGVyYXRpb24gbmFtZXMgdXNpbmcgcGF0dGVybi4gV2hlbiB1c2luZyAtLW11bHRpcGxlLWludGVyZmFjZXMgQnlFbmRwb2ludCwgdGhpcyBpcyBuYW1lIG9mIHRoZSBFeGVjdXRlKCkgbWV0aG9kIGluIHRoZSBpbnRlcmZhY2UKICAgICAgICAtLW9wdGlvbmFsLW51bGxhYmxlLXBhcmFtZXRlcnMgICAgICAgICAgICAgICAgICAgICBHZW5lcmF0ZSBudWxsYWJsZSBwYXJhbWV0ZXJzIGFzIG9wdGlvbmFsIHBhcmFtZXRlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLXRyaW0tdW51c2VkLXNjaGVtYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW1vdmVzIHVucmVmZXJlbmNlZCBjb21wb25lbnRzIHNjaGVtYSB0byBrZWVwIHRoZSBnZW5lcmF0ZWQgb3V0cHV0IHRvIGEgbWluaW11bSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLWtlZXAtc2NoZW1hICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZSB0byBrZWVwIG1hdGNoaW5nIHNjaGVtYSwgdXNlcyByZWd1bGFyIGV4cHJlc3Npb25zLiBVc2UgdG9nZXRoZXIgd2l0aCAiLS10cmltLXVudXNlZC1zY2hlbWEiLiBDYW4gYmUgc2V0IG11bHRpcGxlIHRpbWVzICAgICAgICAgICAgICAKICAgICAgICAtLW5vLWJhbm5lciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb24ndCBzaG93IGRvbmF0aW9uIGJhbm5lciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApgYGAKClRvIGdlbmVyYXRlIGNvZGUgZnJvbSBhbiBPcGVuQVBJIHNwZWNpZmljYXRpb25zIGZpbGUsIHJ1biB0aGUgZm9sbG93aW5nOgoKYGBgc2hlbGwKJCByZWZpdHRlciBbcGF0aCB0byBPcGVuQVBJIHNwZWMgZmlsZV0gLS1uYW1lc3BhY2UgIltZb3VyLk5hbWVzcGFjZS5PZi5DaG9pY2UuR2VuZXJhdGVkQ29kZV0iCmBgYAoKVGhpcyB3aWxsIGdlbmVyYXRlIGEgZmlsZSBjYWxsZWQgYE91dHB1dC5jc2Agd2hpY2ggY29udGFpbnMgdGhlIFJlZml0IGludGVyZmFjZSBhbmQgY29udHJhY3QgY2xhc3NlcyBnZW5lcmF0ZWQgdXNpbmcgW05Td2FnXShodHRwczovL2dpdGh1Yi5jb20vUmljb1N1dGVyL05Td2FnKQoKIyMgU291cmNlIEdlbmVyYXRvcgoKUmVmaXR0ZXIgaXMgYXZhaWxhYmxlIGFzIGEgQyMgU291cmNlIEdlbmVyYXRvciB0aGF0IHVzZXMgdGhlIFtSZWZpdHRlci5Db3JlXShodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvdHJlZS9tYWluL3NyYy9SZWZpdHRlci5Db3JlKSBsaWJyYXJ5IGZvciBnZW5lcmF0aW5nIGEgUkVTVCBBUEkgQ2xpZW50IHVzaW5nIHRoZSBbUmVmaXRdKGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdGl2ZXVpL3JlZml0KSBsaWJyYXJ5LiBSZWZpdHRlciBjYW4gZ2VuZXJhdGUgdGhlIFJlZml0IGludGVyZmFjZSBmcm9tIE9wZW5BUEkgc3BlY2lmaWNhdGlvbnMKClRoZSBSZWZpdHRlciBzb3VyY2UgZ2VuZXJhdG9yIGlzIGEgYml0IHVudHJhZGl0aW9uYWwgaW4gYSBzZW5zZSB0aGF0IGl0IGNyZWF0ZXMgYSBmb2xkZXIgY2FsbGVkIGBHZW5lcmF0ZWRgIGluIHRoZSBzYW1lIGxvY2F0aW9uIGFzIHRoZSBgLnJlZml0dGVyYCBmaWxlIGFuZCBnZW5lcmF0ZXMgZmlsZXMgdG8gZGlzayB1bmRlciB0aGUgYEdlbmVyYXRlZGAgZm9sZGVyIChjYW4gYmUgY2hhbmdlZCB3aXRoIGAtLW91dHB1dEZvbGRlcmApLiBUaGUgc291cmNlIGdlbmVyYXRvciBvdXRwdXQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSBwcm9qZWN0IGFuZCBjb21taXR0ZWQgdG8gc291cmNlIGNvbnRyb2wuIFRoaXMgaXMgZG9uZSBiZWNhdXNlIHRoZXJlIGlzIG5vIG90aGVyIHdheSB0byB0cmlnZ2VyIHRoZSBSZWZpdCBzb3VyY2UgZ2VuZXJhdG9yIHRvIHBpY2t1cCB0aGUgUmVmaXR0ZXIgZ2VuZXJhdGVkIGNvZGUgCgoqKiooVHJhbnNsYXRpb246IEkgY291bGRuJ3QgZm9yIHRoZSBsaWZlIG9mIG1lIGZpZ3VyZSBob3cgdG8gZ2V0IHRoYXQgdG8gd29yaywgc29ycnkpKioqCgojIyMgSW5zdGFsbGF0aW9uCgpUaGUgc291cmNlIGdlbmVyYXRvciBpcyBkaXN0cmlidXRlZCBhcyBhIE51R2V0IHBhY2thZ2UgYW5kIHNob3VsZCBiZSBpbnN0YWxsZWQgdG8gdGhlIHByb2plY3QgdGhhdCB3aWxsIGNvbnRhaW4gdGhlIGdlbmVyYXRlZCBjb2RlCgpgYGBzaGVsbApkb3RuZXQgYWRkIHBhY2thZ2UgUmVmaXR0ZXIuU291cmNlR2VuZXJhdG9yCmBgYAoKIyMjIFVzYWdlCgpUaGlzIHNvdXJjZSBnZW5lcmF0b3IgZ2VuZXJhdGVzIGNvZGUgYmFzZWQgb24gYW55IGAucmVmaXR0ZXJgIGZpbGUgaW5jbHVkZWQgdG8gdGhlIHByb2plY3QgYXMgYEFkZGl0aW9uYWxGaWxlc2AuCgpUaGUgZ2VuZXJhdG9yIGNhbiBhdXRvbWF0aWNhbGx5IGRldGVjdCBhbGwgYC5yZWZpdHRlcmAgZmlsZXMgaW5zaWRlIHRoZSBwcm9qZWN0IHRoYXQgcmVmZXJlbmNlZCB0aGUgYFJlZml0dGVyLlNvdXJjZUdlbmVyYXRvcmAgcGFja2FnZSBhbmQgdGhlcmUgaXMgbm8gbmVlZCB0byBpbmNsdWRlIHRoZW0gbWFudWFsbHkgYXMgYEFkZGl0aW9uYWxGaWxlc2AKCiMjIyAuUmVmaXR0ZXIgRmlsZSBmb3JtYXQKClRoZSBmb2xsb3dpbmcgaXMgYW4gZXhhbXBsZSBgLnJlZml0dGVyYCBmaWxlCgpgYGBqcwp7CiAgIm9wZW5BcGlQYXRoIjogIi9wYXRoL3RvL3lvdXIvb3BlbkFQSSIsIC8vIFJlcXVpcmVkCiAgIm5hbWVzcGFjZSI6ICJPcmcuU3lzdGVtLlNlcnZpY2UuQXBpLkdlbmVyYXRlZENvZGUiLCAvLyBPcHRpb25hbC4gRGVmYXVsdD1HZW5lcmF0ZWRDb2RlCiAgIm5hbWluZyI6IHsKICAgICJ1c2VPcGVuQXBpVGl0bGUiOiBmYWxzZSwgLy8gT3B0aW9uYWwuIERlZmF1bHQ9dHJ1ZQogICAgImludGVyZmFjZU5hbWUiOiAiTXlBcGlDbGllbnQiIC8vIE9wdGlvbmFsLiBEZWZhdWx0PUFwaUNsaWVudAogIH0sCiAgImdlbmVyYXRlQ29udHJhY3RzIjogdHJ1ZSwgLy8gT3B0aW9uYWwuIERlZmF1bHQ9dHJ1ZQogICJnZW5lcmF0ZVhtbERvY0NvZGVDb21tZW50cyI6IHRydWUsIC8vIE9wdGlvbmFsLiBEZWZhdWx0PXRydWUKICAiYWRkQXV0b0dlbmVyYXRlZEhlYWRlciI6IHRydWUsIC8vIE9wdGlvbmFsLiBEZWZhdWx0PXRydWUKICAiYWRkQWNjZXB0SGVhZGVycyI6IHRydWUsIC8vIE9wdGlvbmFsLiBEZWZhdWx0PXRydWUKICAicmV0dXJuSUFwaVJlc3BvbnNlIjogZmFsc2UsIC8vIE9wdGlvbmFsLiBEZWZhdWx0PWZhbHNlCiAgImdlbmVyYXRlT3BlcmF0aW9uSGVhZGVycyI6IHRydWUsIC8vIE9wdGlvbmFsLiBEZWZhdWx0PXRydWUKICAidHlwZUFjY2Vzc2liaWxpdHkiOiAiUHVibGljIiwgLy8gT3B0aW9uYWwuIFZhbHVlcz1QdWJsaWN8SW50ZXJuYWwuIERlZmF1bHQ9UHVibGljCiAgInVzZUNhbmNlbGxhdGlvblRva2VucyI6IGZhbHNlLCAvLyBPcHRpb25hbC4gRGVmYXVsdD1mYWxzZQogICJ1c2VJc29EYXRlRm9ybWF0IjogZmFsc2UsIC8vIE9wdGlvbmFsLiBEZWZhdWx0PWZhbHNlCiAgIm11bHRpcGxlSW50ZXJmYWNlcyI6ICJCeUVuZHBvaW50IiwgLy8gT3B0aW9uYWwuIE1heSBiZSBvbmUgb2YgIkJ5RW5kcG9pbnQiIG9yICJCeVRhZyIKICAiZ2VuZXJhdGVEZXByZWNhdGVkT3BlcmF0aW9ucyI6IGZhbHNlLCAvLyBPcHRpb25hbC4gRGVmYXVsdD10cnVlCiAgIm9wZXJhdGlvbk5hbWVUZW1wbGF0ZSI6ICJ7b3BlcmF0aW9uTmFtZX1Bc3luYyIsIC8vIE9wdGlvbmFsLiBNdXN0IGNvbnRhaW4ge29wZXJhdGlvbk5hbWV9IHdoZW4gbXVsdGlwbGVJbnRlcmZhY2VzICE9IEJ5RW5kcG9pbnQKICAib3B0aW9uYWxQYXJhbWV0ZXJzIjogZmFsc2UsIC8vIE9wdGlvbmFsLiBEZWZhdWx0PWZhbHNlCiAgIm91dHB1dEZvbGRlciI6ICIuLi9DdXN0b21PdXRwdXQiIC8vIE9wdGlvbmFsLiBEZWZhdWx0PS4vR2VuZXJhdGVkCiAgIm91dHB1dEZpbGVuYW1lIjogIlJlZml0SW50ZXJmYWNlLmNzIiwgLy8gT3B0aW9uYWwuIERlZmF1bHQ9T3V0cHV0LmNzIGZvciBDTEkgdG9vbAogICJhZGRpdGlvbmFsTmFtZXNwYWNlcyI6IFsgLy8gT3B0aW9uYWwKICAgICJOYW1lc3BhY2UxIiwKICAgICJOYW1lc3BhY2UyIgogIF0sCiAgImluY2x1ZGVUYWdzIjogWyAvLyBPcHRpb25hbC4gT3BlbkFQSSBUYWcgdG8gaW5jbHVkZSB3aGVuIGdlbmVyYXRpbmcgY29kZQogICAgIlBldCIsCiAgICAiU3RvcmUiLAogICAgIlVzZXIiCiAgXSwKICAiaW5jbHVkZVBhdGhNYXRjaGVzIjogWyAvLyBPcHRpb25hbC4gT25seSBpbmNsdWRlIFBhdGhzIHRoYXQgbWF0Y2ggdGhlIHByb3ZpZGVkIHJlZ3VsYXIgZXhwcmVzc2lvbgogICAgIl4vcGV0Ly4qIiwKICAgICJeL3N0b3JlLy4qIgogIF0sCiAgInRyaW1VbnVzZWRTY2hlbWEiOiBmYWxzZSwgLy8gT3B0aW9uYWwuIERlZmF1bHQ9ZmFsc2UKICAia2VlcFNjaGVtYVBhdHRlcm5zIjogWyAvLyBPcHRpb25hbC4gRm9yY2UgdG8ga2VlcCBtYXRjaGluZyBzY2hlbWEsIHVzZXMgcmVndWxhciBleHByZXNzaW9ucy4gVXNlIHRvZ2V0aGVyIHdpdGggdHJpbVVudXNlZFNjaGVtYT10cnVlCiAgICAiXk1vZGVsJCIsCiAgICAiXlBlcnNvbi4rIgogIF0sCiAgImRlcGVuZGVuY3lJbmplY3Rpb25TZXR0aW5ncyI6IHsgLy8gT3B0aW9uYWwKICAgICJiYXNlVXJsIjogImh0dHBzOi8vcGV0c3RvcmUzLnN3YWdnZXIuaW8vYXBpL3YzIiwgLy8gT3B0aW9uYWwuIExlYXZlIHRoaXMgYmxhbmsgdG8gc2V0IHRoZSBiYXNlIGFkZHJlc3MgbWFudWFsbHkKICAgICJodHRwTWVzc2FnZUhhbmRsZXJzIjogWyAvLyBPcHRpb25hbAogICAgICAgICJBdXRob3JpemF0aW9uTWVzc2FnZUhhbmRsZXIiLCAKICAgICAgICAiVGVsZW1ldHJ5TWVzc2FnZUhhbmRsZXIiIAogICAgXSwKICAgICJ1c2VQb2xseSI6IHRydWUsIC8vIE9wdGlvbmFsLiBTZXQgdGhpcyB0byB0cnVlLCB0byBjb25maWd1cmUgUG9sbHkgd2l0aCBhIHJldHJ5IHBvbGljeSB0aGF0IHVzZXMgYSBqaXR0ZXJlZCBiYWNrb2ZmLiBEZWZhdWx0PWZhbHNlCiAgICAicG9sbHlNYXhSZXRyeUNvdW50IjogMywgLy8gT3B0aW9uYWwuIERlZmF1bHQ9NgogICAgImZpcnN0QmFja29mZlJldHJ5SW5TZWNvbmRzIjogMC41IC8vIE9wdGlvbmFsLiBEZWZhdWx0PTEuMAogIH0sCiAgImNvZGVHZW5lcmF0b3JTZXR0aW5ncyI6IHsgLy8gT3B0aW9uYWwuIERlZmF1bHQgc2V0dGluZ3MgYXJlIHRoZSB2YWx1ZXMgc2V0IGluIHRoaXMgZXhhbXBsZQogICAgInJlcXVpcmVkUHJvcGVydGllc011c3RCZURlZmluZWQiOiB0cnVlLAogICAgImdlbmVyYXRlRGF0YUFubm90YXRpb25zIjogdHJ1ZSwKICAgICJhbnlUeXBlIjogIm9iamVjdCIsCiAgICAiZGF0ZVR5cGUiOiAiU3lzdGVtLkRhdGVUaW1lT2Zmc2V0IiwKICAgICJkYXRlVGltZVR5cGUiOiAiU3lzdGVtLkRhdGVUaW1lT2Zmc2V0IiwKICAgICJ0aW1lVHlwZSI6ICJTeXN0ZW0uVGltZVNwYW4iLAogICAgInRpbWVTcGFuVHlwZSI6ICJTeXN0ZW0uVGltZVNwYW4iLAogICAgImFycmF5VHlwZSI6ICJTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5JQ29sbGVjdGlvbiIsCiAgICAiZGljdGlvbmFyeVR5cGUiOiAiU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuSURpY3Rpb25hcnkiLAogICAgImFycmF5SW5zdGFuY2VUeXBlIjogIlN5c3RlbS5Db2xsZWN0aW9ucy5PYmplY3RNb2RlbC5Db2xsZWN0aW9uIiwKICAgICJkaWN0aW9uYXJ5SW5zdGFuY2VUeXBlIjogIlN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkRpY3Rpb25hcnkiLAogICAgImFycmF5QmFzZVR5cGUiOiAiU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsLkNvbGxlY3Rpb24iLAogICAgImRpY3Rpb25hcnlCYXNlVHlwZSI6ICJTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5EaWN0aW9uYXJ5IiwKICAgICJwcm9wZXJ0eVNldHRlckFjY2Vzc01vZGlmaWVyIjogIiIsCiAgICAiZ2VuZXJhdGVJbW11dGFibGVBcnJheVByb3BlcnRpZXMiOiBmYWxzZSwKICAgICJnZW5lcmF0ZUltbXV0YWJsZURpY3Rpb25hcnlQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAiaGFuZGxlUmVmZXJlbmNlcyI6IGZhbHNlLAogICAgImpzb25TZXJpYWxpemVyU2V0dGluZ3NUcmFuc2Zvcm1hdGlvbk1ldGhvZCI6IG51bGwsCiAgICAiZ2VuZXJhdGVKc29uTWV0aG9kcyI6IGZhbHNlLAogICAgImVuZm9yY2VGbGFnRW51bXMiOiBmYWxzZSwKICAgICJpbmxpbmVOYW1lZERpY3Rpb25hcmllcyI6IGZhbHNlLAogICAgImlubGluZU5hbWVkVHVwbGVzIjogdHJ1ZSwKICAgICJpbmxpbmVOYW1lZEFycmF5cyI6IGZhbHNlLAogICAgImdlbmVyYXRlT3B0aW9uYWxQcm9wZXJ0aWVzQXNOdWxsYWJsZSI6IGZhbHNlLAogICAgImdlbmVyYXRlTnVsbGFibGVSZWZlcmVuY2VUeXBlcyI6IGZhbHNlLAogICAgImdlbmVyYXRlTmF0aXZlUmVjb3JkcyI6IGZhbHNlLAogICAgImdlbmVyYXRlRGVmYXVsdFZhbHVlcyI6IHRydWUsCiAgICAiaW5saW5lTmFtZWRBbnkiOiBmYWxzZSwKICAgICJleGNsdWRlZFR5cGVOYW1lcyI6IFsKICAgICAgIkV4Y2x1ZGVkVHlwZUZvbyIsCiAgICAgICJFeGNsdWRlZFR5cGVCYXIiCiAgICBdCiAgfQp9CmBgYAoKLSBgb3BlbkFwaVBhdGhgIC0gcG9pbnRzIHRvIHRoZSBPcGVuQVBJIFNwZWNpZmljYXRpb25zIGZpbGUuIFRoaXMgY2FuIGJlIHRoZSBwYXRoIHRvIGEgZmlsZSBzdG9yZWQgb24gZGlzaywgcmVsYXRpdmUgdG8gdGhlIGAucmVmaXR0ZXJgIGZpbGUuIFRoaXMgY2FuIGFsc28gYmUgYSBVUkwgdG8gYSByZW1vdGUgZmlsZSB0aGF0IHdpbGwgYmUgZG93bmxvYWRlZCBvdmVyIEhUVFAvSFRUUFMKLSBgbmFtZXNwYWNlYCAtIHRoZSBuYW1lc3BhY2UgdXNlZCBpbiB0aGUgZ2VuZXJhdGVkIGNvZGUuIElmIG5vdCBzcGVjaWZpZWQsIHRoaXMgZGVmYXVsdHMgdG8gYEdlbmVyYXRlZENvZGVgCi0gYG5hbWluZy51c2VPcGVuQXBpVGl0bGVgIC0gYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgT3BlbkFwaSB0aXRsZSBzaG91bGQgYmUgdXNlZC4gRGVmYXVsdCBpcyBgdHJ1ZWAKLSBgbmFtaW5nLmludGVyZmFjZU5hbWVgIC0gdGhlIG5hbWUgb2YgdGhlIGdlbmVyYXRlZCBpbnRlcmZhY2UuIFRoZSBnZW5lcmF0ZWQgY29kZSB3aWxsIGF1dG9tYXRpY2FsbHkgcHJlZml4IHRoaXMgd2l0aCBgSWAgc28gaWYgdGhpcyBzZXQgdG8gYE15QXBpQ2xpZW50YCB0aGVuIHRoZSBnZW5lcmF0ZWQgaW50ZXJmYWNlIGlzIGNhbGxlZCBgSU15QXBpQ2xpZW50YC4gRGVmYXVsdCBpcyBgQXBpQ2xpZW50YAotIGBnZW5lcmF0ZUNvbnRyYWN0c2AgLSBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIGNvbnRyYWN0cyBzaG91bGQgYmUgZ2VuZXJhdGVkLiBBIHVzZSBjYXNlIGZvciB0aGlzIGlzIHNldmVyYWwgQVBJIGNsaWVudHMgdXNlIHRoZSBzYW1lIGNvbnRyYWN0cy4gRGVmYXVsdCBpcyBgdHJ1ZWAKLSBgZ2VuZXJhdGVYbWxEb2NDb2RlQ29tbWVudHNgIC0gYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciBYTUwgZG9jIGNvbW1lbnRzIHNob3VsZCBiZSBnZW5lcmF0ZWQuIERlZmF1bHQgaXMgYHRydWVgCi0gYGFkZEF1dG9HZW5lcmF0ZWRIZWFkZXJgIC0gYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciBYTUwgZG9jIGNvbW1lbnRzIHNob3VsZCBiZSBnZW5lcmF0ZWQuIERlZmF1bHQgaXMgYHRydWVgCi0gYGFkZEFjY2VwdEhlYWRlcnNgIC0gIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdG8gYWRkIGFjY2VwdCBoZWFkZXJzIFtIZWFkZXJzKCJBY2NlcHQ6IGFwcGxpY2F0aW9uL2pzb24iKV0uIERlZmF1bHQgaXMgYHRydWVgCi0gYHJldHVybklBcGlSZXNwb25zZWAgLSBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRvIHJldHVybiBgSUFwaVJlc3BvbnNlPFQ+YCBvYmplY3RzLiBEZWZhdWx0IGlzIGBmYWxzZWAKLSBgZ2VuZXJhdGVPcGVyYXRpb25IZWFkZXJzYCAtIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdG8gdXNlIG9wZXJhdGlvbiBoZWFkZXJzIGluIHRoZSBnZW5lcmF0ZWQgbWV0aG9kcy4gRGVmYXVsdCBpcyBgdHJ1ZWAKLSBgdHlwZUFjY2Vzc2liaWxpdHlgIC0gdGhlIGdlbmVyYXRlZCB0eXBlIGFjY2Vzc2liaWxpdHkuIFBvc3NpYmxlIHZhbHVlcyBhcmUgYFB1YmxpY2AgYW5kIGBJbnRlcm5hbGAuIERlZmF1bHQgaXMgYFB1YmxpY2AKLSBgdXNlQ2FuY2VsbGF0aW9uVG9rZW5zYCAtIFVzZSBjYW5jZWxsYXRpb24gdG9rZW5zIGluIHRoZSBnZW5lcmF0ZWQgbWV0aG9kcy4gRGVmYXVsdCBpcyBgZmFsc2VgCi0gYHVzZUlzb0RhdGVGb3JtYXRgIC0gU2V0IHRvIGB0cnVlYCB0byBleHBsaWNpdGx5IGZvcm1hdCBkYXRlIHF1ZXJ5IHN0cmluZyBwYXJhbWV0ZXJzIGluIElTTyA4NjAxIHN0YW5kYXJkIGRhdGUgZm9ybWF0IHVzaW5nIGRlbGltaXRlcnMgKGZvciBleGFtcGxlOiAyMDIzLTA2LTE1KS4gRGVmYXVsdCBpcyBgZmFsc2VgCi0gYG11bHRpcGxlSW50ZXJmYWNlc2AgLSBTZXQgdG8gYEJ5RW5kcG9pbnRgIHRvIGdlbmVyYXRlIGFuIGludGVyZmFjZSBmb3IgZWFjaCBlbmRwb2ludCwgb3IgYEJ5VGFnYCB0byBncm91cCBFbmRwb2ludHMgYnkgdGhlaXIgVGFnIChsaWtlIFN3YWdnZXJVSSBncm91cHMgdGhlbSkuCi0gYG91dHB1dEZvbGRlcmAgLSBhIHN0cmluZyBkZXNjcmliaW5nIGEgcmVsYXRpdmUgcGF0aCB0byBhIGRlc2lyZWQgb3V0cHV0IGZvbGRlci4gRGVmYXVsdCBpcyBgLi9HZW5lcmF0ZWRgCi0gYG91dHB1dEZpbGVuYW1lYCAtIE91dHB1dCBmaWxlbmFtZS4gRGVmYXVsdCBpcyBgT3V0cHV0LmNzYCB3aGVuIHVzZWQgZnJvbSB0aGUgQ0xJIHRvb2wsIG90aGVyd2lzZSBpdHMgdGhlIC5yZWZpdHRlciBmaWxlbmFtZS4gU28gYFBldHN0b3JlLnJlZml0dGVyYCBiZWNvbWVzIGBQZXRzdG9yZS5jc2AuCi0gYGFkZGl0aW9uYWxOYW1lc3BhY2VzYCAtIEEgY29sbGVjdGlvbiBvZiBhZGRpdGlvbmFsIG5hbWVzcGFjZXMgdG8gaW5jbHVkZSBpbiB0aGUgZ2VuZXJhdGVkIGZpbGUuIEEgdXNlIGNhc2UgZm9yIHRoaXMgaXMgd2hlbiB5b3Ugd2FudCB0byByZXVzZSBjb250cmFjdHMgZnJvbSBhIGRpZmZlcmVudCBuYW1lc3BhY2UgdGhhbiB0aGUgZ2VuZXJhdGVkIGNvZGUuIERlZmF1bHQgaXMgZW1wdHkKLSBgaW5jbHVkZVRhZ3NgIC0gQSBjb2xsZWN0aW9uIG9mIHRhZ3MgdG8gdXNlIGEgZmlsdGVyIGZvciBpbmNsdWRpbmcgZW5kcG9pbnRzIHRoYXQgY29udGFpbiB0aGlzIHRhZy4KLSBgaW5jbHVkZVBhdGhNYXRjaGVzYCAtIEEgY29sbGVjdGlvbiBvZiByZWd1bGFyIGV4cHJlc3Npb25zIHVzZWQgdG8gZmlsdGVyIHBhdGhzLgotIGBnZW5lcmF0ZURlcHJlY2F0ZWRPcGVyYXRpb25zYCAtIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgZGVwcmVjYXRlZCBvcGVyYXRpb25zIHNob3VsZCBiZSBnZW5lcmF0ZWQgb3Igc2tpcHBlZC4gRGVmYXVsdCBpcyBgdHJ1ZWAKLSBgb3BlcmF0aW9uTmFtZVRlbXBsYXRlYCAtIEdlbmVyYXRlIG9wZXJhdGlvbiBuYW1lcyB1c2luZyBwYXR0ZXJuLiBUaGlzIG11c3QgY29udGFpbiB0aGUgc3RyaW5nIHtvcGVyYXRpb25OYW1lfS4gQW4gZXhhbXBsZSB1c2FnZSBvZiB0aGlzIGNvdWxkIGJlIGB7b3BlcmF0aW9uTmFtZX1Bc3luY2AgdG8gc3VmZml4IGFsbCBtZXRob2QgbmFtZXMgd2l0aCBBc3luYwotIGBvcHRpb25hbFBhcmFtZXRlcnNgIC0gR2VuZXJhdGUgbm9uLXJlcXVpcmVkIHBhcmFtZXRlcnMgYXMgbnVsbGFibGUgb3B0aW9uYWwgcGFyYW1ldGVycwotIGB0cmltVW51c2VkU2NoZW1hYCAtIFJlbW92ZXMgdW5yZWZlcmVuY2VkIGNvbXBvbmVudHMgc2NoZW1hIHRvIGtlZXAgdGhlIGdlbmVyYXRlZCBvdXRwdXQgdG8gYSBtaW5pbXVtCi0gYGtlZXBTY2hlbWFQYXR0ZXJuc2A6IEEgY29sbGVjdGlvbiBvZiByZWd1bGFyIGV4cHJlc3Npb25zIHRvIGZvcmNlIHRvIGtlZXAgbWF0Y2hpbmcgc2NoZW1hLiBUaGlzIGlzIHVzZWQgdG9nZXRoZXIgd2l0aCBgdHJpbVVudXNlZFNjaGVtYWAKLSBgZGVwZW5kZW5jeUluamVjdGlvblNldHRpbmdzYCAtIFNldHRpbmcgdGhpcyB3aWxsIGdlbmVyYXRlZCBleHRlbnNpb24gbWV0aG9kcyB0byBgSVNlcnZpY2VDb2xsZWN0aW9uYCBmb3IgY29uZmlndXJpbmcgUmVmaXQgY2xpZW50cwogIC0gYGJhc2VVcmxgIC0gVXNlZCBhcyB0aGUgSHR0cENsaWVudCBiYXNlIGFkZHJlc3MuIExlYXZlIHRoaXMgYmxhbmsgdG8gbWFudWFsbHkgc2V0IHRoZSBiYXNlIFVSTAogIC0gYGh0dHBNZXNzYWdlSGFuZGxlcnNgIC0gQSBjb2xsZWN0aW9uIG9mIGBIdHRwTWVzc2FnZUhhbmRsZXJgIHRoYXQgaXMgYWRkZWQgdG8gdGhlIEh0dHBDbGllbnQgcGlwZWxpbmUKICAtIGB1c2VQb2xseWAgLSBTZXQgdGhpcyB0byB0cnVlIHRvIGNvbmZpZ3VyZSB0aGUgSHR0cENsaWVudCB0byB1c2UgUG9sbHkgdXNpbmcgYSByZXRyeSBwb2xpY3kgd2l0aCBhIGppdHRlcmVkIGJhY2tvZmYKICAtIGBwb2xseU1heFJldHJ5Q291bnRgIC0gVGhpcyBpcyB0aGUgbWF4IHJldHJ5IGNvdW50IHVzZWQgaW4gdGhlIFBvbGx5IHJldHJ5IHBvbGljeS4gRGVmYXVsdCBpcyA2CiAgLSBgZmlyc3RCYWNrb2ZmUmV0cnlJblNlY29uZHNgIC0gVGhpcyBpcyB0aGUgZHVyYXRpb24gb2YgdGhlIGluaXRpYWwgcmV0cnkgYmFja29mZi4gRGVmYXVsdCBpcyAxIHNlY29uZAotIGBjb2RlR2VuZXJhdG9yU2V0dGluZ3NgIC0gU2V0dGluZyB0aGlzIGFsbG93cyBjdXN0b21pemF0aW9uIG9mIHRoZSBOU3dhZyBnZW5lcmF0ZWQgdHlwZXMgYW5kIGNvbnRyYWN0cwogIC0gYHJlcXVpcmVkUHJvcGVydGllc011c3RCZURlZmluZWRgIC0gRGVmYXVsdCBpcyB0cnVlLAogIC0gYGdlbmVyYXRlRGF0YUFubm90YXRpb25zYCAtIERlZmF1bHQgaXMgdHJ1ZSwKICAtIGBhbnlUeXBlYCAtIERlZmF1bHQgaXMgYG9iamVjdGAsCiAgLSBgZGF0ZVR5cGVgIC0gRGVmYXVsdCBpcyBgU3lzdGVtLkRhdGVUaW1lT2Zmc2V0YCwKICAtIGBkYXRlVGltZVR5cGVgIC0gRGVmYXVsdCBpcyBgU3lzdGVtLkRhdGVUaW1lT2Zmc2V0YCwKICAtIGB0aW1lVHlwZWAgLSBEZWZhdWx0IGlzIGBTeXN0ZW0uVGltZVNwYW5gLAogIC0gYHRpbWVTcGFuVHlwZWAgLSBEZWZhdWx0IGlzIGBTeXN0ZW0uVGltZVNwYW5gLAogIC0gYGFycmF5VHlwZWAgLSBEZWZhdWx0IGlzIGBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5JQ29sbGVjdGlvbmAsCiAgLSBgZGljdGlvbmFyeVR5cGVgIC0gRGVmYXVsdCBpcyBgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuSURpY3Rpb25hcnlgLAogIC0gYGFycmF5SW5zdGFuY2VUeXBlYCAtIERlZmF1bHQgaXMgYFN5c3RlbS5Db2xsZWN0aW9ucy5PYmplY3RNb2RlbC5Db2xsZWN0aW9uYCwKICAtIGBkaWN0aW9uYXJ5SW5zdGFuY2VUeXBlYCAtIERlZmF1bHQgaXMgYFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkRpY3Rpb25hcnlgLAogIC0gYGFycmF5QmFzZVR5cGVgIC0gRGVmYXVsdCBpcyBgU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsLkNvbGxlY3Rpb25gLAogIC0gYGRpY3Rpb25hcnlCYXNlVHlwZWAgLSBEZWZhdWx0IGlzIGBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5EaWN0aW9uYXJ5YCwKICAtIGBwcm9wZXJ0eVNldHRlckFjY2Vzc01vZGlmaWVyYCAtIERlZmF1bHQgaXMgYGAsCiAgLSBgZ2VuZXJhdGVJbW11dGFibGVBcnJheVByb3BlcnRpZXNgIC0gRGVmYXVsdCBpcyBmYWxzZSwKICAtIGBnZW5lcmF0ZUltbXV0YWJsZURpY3Rpb25hcnlQcm9wZXJ0aWVzYCAtIERlZmF1bHQgaXMgZmFsc2UsCiAgLSBgaGFuZGxlUmVmZXJlbmNlc2AgLSBEZWZhdWx0IGlzIGZhbHNlLAogIC0gYGpzb25TZXJpYWxpemVyU2V0dGluZ3NUcmFuc2Zvcm1hdGlvbk1ldGhvZGAgLSBEZWZhdWx0IGlzIG51bGwsCiAgLSBgZ2VuZXJhdGVKc29uTWV0aG9kc2AgLSBEZWZhdWx0IGlzIGZhbHNlLAogIC0gYGVuZm9yY2VGbGFnRW51bXNgIC0gRGVmYXVsdCBpcyBmYWxzZSwKICAtIGBpbmxpbmVOYW1lZERpY3Rpb25hcmllc2AgLSBEZWZhdWx0IGlzIGZhbHNlLAogIC0gYGlubGluZU5hbWVkVHVwbGVzYCAtIERlZmF1bHQgaXMgdHJ1ZSwKICAtIGBpbmxpbmVOYW1lZEFycmF5c2AgLSBEZWZhdWx0IGlzIGZhbHNlLAogIC0gYGdlbmVyYXRlT3B0aW9uYWxQcm9wZXJ0aWVzQXNOdWxsYWJsZWAgLSBEZWZhdWx0IGlzIGZhbHNlLAogIC0gYGdlbmVyYXRlTnVsbGFibGVSZWZlcmVuY2VUeXBlc2AgLSBEZWZhdWx0IGlzIGZhbHNlLAogIC0gYGdlbmVyYXRlTmF0aXZlUmVjb3Jkc2AgLSBEZWZhdWx0IGlzIGZhbHNlCiAgLSBgZ2VuZXJhdGVEZWZhdWx0VmFsdWVzYCAtIERlZmF1bHQgaXMgdHJ1ZQogIC0gYGlubGluZU5hbWVkQW55YCAtIERlZmF1bHQgaXMgZmFsc2UKICAtIGBleGNsdWRlZFR5cGVOYW1lc2AgLSBEZWZhdWx0IGlzIGVtcHR5CgoKIyBVc2luZyB0aGUgZ2VuZXJhdGVkIGNvZGUKCkhlcmUncyBhbiBleGFtcGxlIGdlbmVyYXRlZCBvdXRwdXQgZnJvbSB0aGUgW1N3YWdnZXIgUGV0c3RvcmUgZXhhbXBsZV0oaHR0cHM6Ly9wZXRzdG9yZTMuc3dhZ2dlci5pbykgdXNpbmcgdGhlIGRlZmF1bHQgc2V0dGluZ3MKCioqQ0xJIFRvb2wqKgoKYGBgYmFzaAokIHJlZml0dGVyIC4vb3BlbmFwaS5qc29uIC0tbmFtZXNwYWNlICJZb3VyLk5hbWVzcGFjZS5PZi5DaG9pY2UuR2VuZXJhdGVkQ29kZSIKYGBgCgoqKlNvdXJjZSBHZW5lcmF0b3IgKioqLnJlZml0dGVyKioqIGZpbGUqKgoKYGBganNvbgp7CiAgIm9wZW5BcGlQYXRoIjogIi4vb3BlbmFwaS5qc29uIiwKICAibmFtZXNwYWNlIjogIllvdXIuTmFtZXNwYWNlLk9mLkNob2ljZS5HZW5lcmF0ZWRDb2RlIgp9CmBgYAoKKipPdXRwdXQqKgoKYGBgY3MKdXNpbmcgUmVmaXQ7CnVzaW5nIFN5c3RlbS5UaHJlYWRpbmcuVGFza3M7CnVzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOwoKbmFtZXNwYWNlIFlvdXIuTmFtZXNwYWNlLk9mLkNob2ljZS5HZW5lcmF0ZWRDb2RlCnsKICAgIHB1YmxpYyBwYXJ0aWFsIGludGVyZmFjZSBJU3dhZ2dlclBldHN0b3JlCiAgICB7CiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBVcGRhdGUgYW4gZXhpc3RpbmcgcGV0IGJ5IElkCiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbUHV0KCIvcGV0IildCiAgICAgICAgVGFzazxQZXQ+IFVwZGF0ZVBldChbQm9keV0gUGV0IGJvZHkpOwoKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIEFkZCBhIG5ldyBwZXQgdG8gdGhlIHN0b3JlCiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbUG9zdCgiL3BldCIpXQogICAgICAgIFRhc2s8UGV0PiBBZGRQZXQoW0JvZHldIFBldCBib2R5KTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBNdWx0aXBsZSBzdGF0dXMgdmFsdWVzIGNhbiBiZSBwcm92aWRlZCB3aXRoIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmdzCiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbR2V0KCIvcGV0L2ZpbmRCeVN0YXR1cyIpXQogICAgICAgIFRhc2s8SUNvbGxlY3Rpb248UGV0Pj4gRmluZFBldHNCeVN0YXR1cyhbUXVlcnldIFN0YXR1cz8gc3RhdHVzKTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBNdWx0aXBsZSB0YWdzIGNhbiBiZSBwcm92aWRlZCB3aXRoIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmdzLiBVc2UgdGFnMSwgdGFnMiwgdGFnMyBmb3IgdGVzdGluZy4KICAgICAgICAvLy8gPC9zdW1tYXJ5PgogICAgICAgIFtHZXQoIi9wZXQvZmluZEJ5VGFncyIpXQogICAgICAgIFRhc2s8SUNvbGxlY3Rpb248UGV0Pj4gRmluZFBldHNCeVRhZ3MoW1F1ZXJ5KENvbGxlY3Rpb25Gb3JtYXQuTXVsdGkpXSBJRW51bWVyYWJsZTxzdHJpbmc+IHRhZ3MpOwoKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIFJldHVybnMgYSBzaW5nbGUgcGV0CiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbR2V0KCIvcGV0L3twZXRJZH0iKV0KICAgICAgICBUYXNrPFBldD4gR2V0UGV0QnlJZChsb25nIHBldElkKTsKCiAgICAgICAgW1Bvc3QoIi9wZXQve3BldElkfSIpXQogICAgICAgIFRhc2sgVXBkYXRlUGV0V2l0aEZvcm0obG9uZyBwZXRJZCwgW1F1ZXJ5XSBzdHJpbmcgbmFtZSwgW1F1ZXJ5XSBzdHJpbmcgc3RhdHVzKTsKCiAgICAgICAgW0RlbGV0ZSgiL3BldC97cGV0SWR9IildCiAgICAgICAgVGFzayBEZWxldGVQZXQobG9uZyBwZXRJZCwgW0hlYWRlcigiYXBpX2tleSIpXSBzdHJpbmcgYXBpX2tleSk7CgogICAgICAgIFtQb3N0KCIvcGV0L3twZXRJZH0vdXBsb2FkSW1hZ2UiKV0KICAgICAgICBUYXNrPEFwaVJlc3BvbnNlPiBVcGxvYWRGaWxlKGxvbmcgcGV0SWQsIFtRdWVyeV0gc3RyaW5nIGFkZGl0aW9uYWxNZXRhZGF0YSwgU3RyZWFtUGFydCBib2R5KTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBSZXR1cm5zIGEgbWFwIG9mIHN0YXR1cyBjb2RlcyB0byBxdWFudGl0aWVzCiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbR2V0KCIvc3RvcmUvaW52ZW50b3J5IildCiAgICAgICAgVGFzazxJRGljdGlvbmFyeTxzdHJpbmcsIGludD4+IEdldEludmVudG9yeSgpOwoKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIFBsYWNlIGEgbmV3IG9yZGVyIGluIHRoZSBzdG9yZQogICAgICAgIC8vLyA8L3N1bW1hcnk+CiAgICAgICAgW1Bvc3QoIi9zdG9yZS9vcmRlciIpXQogICAgICAgIFRhc2s8T3JkZXI+IFBsYWNlT3JkZXIoW0JvZHldIE9yZGVyIGJvZHkpOwoKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIEZvciB2YWxpZCByZXNwb25zZSB0cnkgaW50ZWdlciBJRHMgd2l0aCB2YWx1ZSA8PSA1IG9yID4gMTAuIE90aGVyIHZhbHVlcyB3aWxsIGdlbmVyYXRlZCBleGNlcHRpb25zCiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbR2V0KCIvc3RvcmUvb3JkZXIve29yZGVySWR9IildCiAgICAgICAgVGFzazxPcmRlcj4gR2V0T3JkZXJCeUlkKGxvbmcgb3JkZXJJZCk7CgogICAgICAgIC8vLyA8c3VtbWFyeT4KICAgICAgICAvLy8gRm9yIHZhbGlkIHJlc3BvbnNlIHRyeSBpbnRlZ2VyIElEcyB3aXRoIHZhbHVlIDwgMTAwMC4gQW55dGhpbmcgYWJvdmUgMTAwMCBvciBub25pbnRlZ2VycyB3aWxsIGdlbmVyYXRlIEFQSSBlcnJvcnMKICAgICAgICAvLy8gPC9zdW1tYXJ5PgogICAgICAgIFtEZWxldGUoIi9zdG9yZS9vcmRlci97b3JkZXJJZH0iKV0KICAgICAgICBUYXNrIERlbGV0ZU9yZGVyKGxvbmcgb3JkZXJJZCk7CgogICAgICAgIC8vLyA8c3VtbWFyeT4KICAgICAgICAvLy8gVGhpcyBjYW4gb25seSBiZSBkb25lIGJ5IHRoZSBsb2dnZWQgaW4gdXNlci4KICAgICAgICAvLy8gPC9zdW1tYXJ5PgogICAgICAgIFtQb3N0KCIvdXNlciIpXQogICAgICAgIFRhc2sgQ3JlYXRlVXNlcihbQm9keV0gVXNlciBib2R5KTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBDcmVhdGVzIGxpc3Qgb2YgdXNlcnMgd2l0aCBnaXZlbiBpbnB1dCBhcnJheQogICAgICAgIC8vLyA8L3N1bW1hcnk+CiAgICAgICAgW1Bvc3QoIi91c2VyL2NyZWF0ZVdpdGhMaXN0IildCiAgICAgICAgVGFzazxVc2VyPiBDcmVhdGVVc2Vyc1dpdGhMaXN0SW5wdXQoW0JvZHldIElFbnVtZXJhYmxlPFVzZXI+IGJvZHkpOwoKICAgICAgICBbR2V0KCIvdXNlci9sb2dpbiIpXQogICAgICAgIFRhc2s8c3RyaW5nPiBMb2dpblVzZXIoW1F1ZXJ5XSBzdHJpbmcgdXNlcm5hbWUsIFtRdWVyeV0gc3RyaW5nIHBhc3N3b3JkKTsKCiAgICAgICAgW0dldCgiL3VzZXIvbG9nb3V0IildCiAgICAgICAgVGFzayBMb2dvdXRVc2VyKCk7CgogICAgICAgIFtHZXQoIi91c2VyL3t1c2VybmFtZX0iKV0KICAgICAgICBUYXNrPFVzZXI+IEdldFVzZXJCeU5hbWUoc3RyaW5nIHVzZXJuYW1lKTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBUaGlzIGNhbiBvbmx5IGJlIGRvbmUgYnkgdGhlIGxvZ2dlZCBpbiB1c2VyLgogICAgICAgIC8vLyA8L3N1bW1hcnk+CiAgICAgICAgW1B1dCgiL3VzZXIve3VzZXJuYW1lfSIpXQogICAgICAgIFRhc2sgVXBkYXRlVXNlcihzdHJpbmcgdXNlcm5hbWUsIFtCb2R5XSBVc2VyIGJvZHkpOwoKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIFRoaXMgY2FuIG9ubHkgYmUgZG9uZSBieSB0aGUgbG9nZ2VkIGluIHVzZXIuCiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbRGVsZXRlKCIvdXNlci97dXNlcm5hbWV9IildCiAgICAgICAgVGFzayBEZWxldGVVc2VyKHN0cmluZyB1c2VybmFtZSk7CiAgICB9Cn0KYGBgCgpIZXJlJ3MgYW4gZXhhbXBsZSBnZW5lcmF0ZWQgb3V0cHV0IGZyb20gdGhlIFtTd2FnZ2VyIFBldHN0b3JlIGV4YW1wbGVdKGh0dHBzOi8vcGV0c3RvcmUzLnN3YWdnZXIuaW8pIGNvbmZpZ3VyZWQgdG8gd3JhcCB0aGUgcmV0dXJuIHR5cGUgaW4gYElBcGlSZXNwb25zZTxUPmAKCioqQ0xJIFRvb2wqKgoKYGBgYmFzaAokIHJlZml0dGVyIC4vb3BlbmFwaS5qc29uIC0tbmFtZXNwYWNlICJZb3VyLk5hbWVzcGFjZS5PZi5DaG9pY2UuR2VuZXJhdGVkQ29kZSIgLS11c2UtYXBpLXJlc3BvbnNlCmBgYAoKKipTb3VyY2UgR2VuZXJhdG9yICoqKi5yZWZpdHRlcioqKiBmaWxlKioKCmBgYGpzb24KewogICJvcGVuQXBpUGF0aCI6ICIuL29wZW5hcGkuanNvbiIsCiAgIm5hbWVzcGFjZSI6ICJZb3VyLk5hbWVzcGFjZS5PZi5DaG9pY2UuR2VuZXJhdGVkQ29kZSIsCiAgInJldHVybklBcGlSZXNwb25zZSI6IHRydWUKfQpgYGAKCioqT3V0cHV0KioKCmBgYGNzCnVzaW5nIFJlZml0Owp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKCm5hbWVzcGFjZSBZb3VyLk5hbWVzcGFjZS5PZi5DaG9pY2UuR2VuZXJhdGVkQ29kZS5XaXRoQXBpUmVzcG9uc2UKewogICAgcHVibGljIHBhcnRpYWwgaW50ZXJmYWNlIElTd2FnZ2VyUGV0c3RvcmUKICAgIHsKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIFVwZGF0ZSBhbiBleGlzdGluZyBwZXQgYnkgSWQKICAgICAgICAvLy8gPC9zdW1tYXJ5PgogICAgICAgIFtQdXQoIi9wZXQiKV0KICAgICAgICBUYXNrPElBcGlSZXNwb25zZTxQZXQ+PiBVcGRhdGVQZXQoW0JvZHldIFBldCBib2R5KTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBBZGQgYSBuZXcgcGV0IHRvIHRoZSBzdG9yZQogICAgICAgIC8vLyA8L3N1bW1hcnk+CiAgICAgICAgW1Bvc3QoIi9wZXQiKV0KICAgICAgICBUYXNrPElBcGlSZXNwb25zZTxQZXQ+PiBBZGRQZXQoW0JvZHldIFBldCBib2R5KTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBNdWx0aXBsZSBzdGF0dXMgdmFsdWVzIGNhbiBiZSBwcm92aWRlZCB3aXRoIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmdzCiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbR2V0KCIvcGV0L2ZpbmRCeVN0YXR1cyIpXQogICAgICAgIFRhc2s8SUFwaVJlc3BvbnNlPElDb2xsZWN0aW9uPFBldD4+PiBGaW5kUGV0c0J5U3RhdHVzKFtRdWVyeV0gU3RhdHVzPyBzdGF0dXMpOwoKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIE11bHRpcGxlIHRhZ3MgY2FuIGJlIHByb3ZpZGVkIHdpdGggY29tbWEgc2VwYXJhdGVkIHN0cmluZ3MuIFVzZSB0YWcxLCB0YWcyLCB0YWczIGZvciB0ZXN0aW5nLgogICAgICAgIC8vLyA8L3N1bW1hcnk+CiAgICAgICAgW0dldCgiL3BldC9maW5kQnlUYWdzIildCiAgICAgICAgVGFzazxJQXBpUmVzcG9uc2U8SUNvbGxlY3Rpb248UGV0Pj4+IEZpbmRQZXRzQnlUYWdzKFtRdWVyeShDb2xsZWN0aW9uRm9ybWF0Lk11bHRpKV0gSUVudW1lcmFibGU8c3RyaW5nPiB0YWdzKTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBSZXR1cm5zIGEgc2luZ2xlIHBldAogICAgICAgIC8vLyA8L3N1bW1hcnk+CiAgICAgICAgW0dldCgiL3BldC97cGV0SWR9IildCiAgICAgICAgVGFzazxJQXBpUmVzcG9uc2U8UGV0Pj4gR2V0UGV0QnlJZChsb25nIHBldElkKTsKCiAgICAgICAgW1Bvc3QoIi9wZXQve3BldElkfSIpXQogICAgICAgIFRhc2sgVXBkYXRlUGV0V2l0aEZvcm0obG9uZyBwZXRJZCwgW1F1ZXJ5XSBzdHJpbmcgbmFtZSwgW1F1ZXJ5XSBzdHJpbmcgc3RhdHVzKTsKCiAgICAgICAgW0RlbGV0ZSgiL3BldC97cGV0SWR9IildCiAgICAgICAgVGFzayBEZWxldGVQZXQobG9uZyBwZXRJZCwgW0hlYWRlcigiYXBpX2tleSIpXSBzdHJpbmcgYXBpX2tleSk7CgogICAgICAgIFtQb3N0KCIvcGV0L3twZXRJZH0vdXBsb2FkSW1hZ2UiKV0KICAgICAgICBUYXNrPElBcGlSZXNwb25zZTxBcGlSZXNwb25zZT4+IFVwbG9hZEZpbGUobG9uZyBwZXRJZCwgW1F1ZXJ5XSBzdHJpbmcgYWRkaXRpb25hbE1ldGFkYXRhLCBTdHJlYW1QYXJ0IGJvZHkpOwoKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIFJldHVybnMgYSBtYXAgb2Ygc3RhdHVzIGNvZGVzIHRvIHF1YW50aXRpZXMKICAgICAgICAvLy8gPC9zdW1tYXJ5PgogICAgICAgIFtHZXQoIi9zdG9yZS9pbnZlbnRvcnkiKV0KICAgICAgICBUYXNrPElBcGlSZXNwb25zZTxJRGljdGlvbmFyeTxzdHJpbmcsIGludD4+PiBHZXRJbnZlbnRvcnkoKTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBQbGFjZSBhIG5ldyBvcmRlciBpbiB0aGUgc3RvcmUKICAgICAgICAvLy8gPC9zdW1tYXJ5PgogICAgICAgIFtQb3N0KCIvc3RvcmUvb3JkZXIiKV0KICAgICAgICBUYXNrPElBcGlSZXNwb25zZTxPcmRlcj4+IFBsYWNlT3JkZXIoW0JvZHldIE9yZGVyIGJvZHkpOwoKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIEZvciB2YWxpZCByZXNwb25zZSB0cnkgaW50ZWdlciBJRHMgd2l0aCB2YWx1ZSA8PSA1IG9yID4gMTAuIE90aGVyIHZhbHVlcyB3aWxsIGdlbmVyYXRlZCBleGNlcHRpb25zCiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbR2V0KCIvc3RvcmUvb3JkZXIve29yZGVySWR9IildCiAgICAgICAgVGFzazxJQXBpUmVzcG9uc2U8T3JkZXI+PiBHZXRPcmRlckJ5SWQobG9uZyBvcmRlcklkKTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBGb3IgdmFsaWQgcmVzcG9uc2UgdHJ5IGludGVnZXIgSURzIHdpdGggdmFsdWUgPCAxMDAwLiBBbnl0aGluZyBhYm92ZSAxMDAwIG9yIG5vbmludGVnZXJzIHdpbGwgZ2VuZXJhdGUgQVBJIGVycm9ycwogICAgICAgIC8vLyA8L3N1bW1hcnk+CiAgICAgICAgW0RlbGV0ZSgiL3N0b3JlL29yZGVyL3tvcmRlcklkfSIpXQogICAgICAgIFRhc2sgRGVsZXRlT3JkZXIobG9uZyBvcmRlcklkKTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBUaGlzIGNhbiBvbmx5IGJlIGRvbmUgYnkgdGhlIGxvZ2dlZCBpbiB1c2VyLgogICAgICAgIC8vLyA8L3N1bW1hcnk+CiAgICAgICAgW1Bvc3QoIi91c2VyIildCiAgICAgICAgVGFzayBDcmVhdGVVc2VyKFtCb2R5XSBVc2VyIGJvZHkpOwoKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIENyZWF0ZXMgbGlzdCBvZiB1c2VycyB3aXRoIGdpdmVuIGlucHV0IGFycmF5CiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbUG9zdCgiL3VzZXIvY3JlYXRlV2l0aExpc3QiKV0KICAgICAgICBUYXNrPElBcGlSZXNwb25zZTxVc2VyPj4gQ3JlYXRlVXNlcnNXaXRoTGlzdElucHV0KFtCb2R5XSBJRW51bWVyYWJsZTxVc2VyPiBib2R5KTsKCiAgICAgICAgW0dldCgiL3VzZXIvbG9naW4iKV0KICAgICAgICBUYXNrPElBcGlSZXNwb25zZTxzdHJpbmc+PiBMb2dpblVzZXIoW1F1ZXJ5XSBzdHJpbmcgdXNlcm5hbWUsIFtRdWVyeV0gc3RyaW5nIHBhc3N3b3JkKTsKCiAgICAgICAgW0dldCgiL3VzZXIvbG9nb3V0IildCiAgICAgICAgVGFzayBMb2dvdXRVc2VyKCk7CgogICAgICAgIFtHZXQoIi91c2VyL3t1c2VybmFtZX0iKV0KICAgICAgICBUYXNrPElBcGlSZXNwb25zZTxVc2VyPj4gR2V0VXNlckJ5TmFtZShzdHJpbmcgdXNlcm5hbWUpOwoKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIFRoaXMgY2FuIG9ubHkgYmUgZG9uZSBieSB0aGUgbG9nZ2VkIGluIHVzZXIuCiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbUHV0KCIvdXNlci97dXNlcm5hbWV9IildCiAgICAgICAgVGFzayBVcGRhdGVVc2VyKHN0cmluZyB1c2VybmFtZSwgW0JvZHldIFVzZXIgYm9keSk7CgogICAgICAgIC8vLyA8c3VtbWFyeT4KICAgICAgICAvLy8gVGhpcyBjYW4gb25seSBiZSBkb25lIGJ5IHRoZSBsb2dnZWQgaW4gdXNlci4KICAgICAgICAvLy8gPC9zdW1tYXJ5PgogICAgICAgIFtEZWxldGUoIi91c2VyL3t1c2VybmFtZX0iKV0KICAgICAgICBUYXNrIERlbGV0ZVVzZXIoc3RyaW5nIHVzZXJuYW1lKTsKICAgIH0KfQpgYGAKCkhlcmUncyBhbiBleGFtcGxlIGdlbmVyYXRlZCBvdXRwdXQgZnJvbSB0aGUgW1N3YWdnZXIgUGV0c3RvcmUgZXhhbXBsZV0oaHR0cHM6Ly9wZXRzdG9yZTMuc3dhZ2dlci5pbykgY29uZmlndXJlZCB0byBnZW5lcmF0ZSBhbiBpbnRlcmZhY2UgZm9yIGVhY2ggZW5kcG9pbnQKCioqQ0xJIFRvb2wqKgoKYGBgYmFzaAokIHJlZml0dGVyIC4vb3BlbmFwaS5qc29uIC0tbmFtZXNwYWNlICJZb3VyLk5hbWVzcGFjZS5PZi5DaG9pY2UuR2VuZXJhdGVkQ29kZSIgLS1tdWx0aXBsZS1pbnRlcmZhY2VzIEJ5RW5kcG9pbnQKYGBgCgoqKlNvdXJjZSBHZW5lcmF0b3IgKioqLnJlZml0dGVyKioqIGZpbGUqKgoKYGBganNvbgp7CiAgIm9wZW5BcGlQYXRoIjogIi4vb3BlbmFwaS5qc29uIiwKICAibmFtZXNwYWNlIjogIllvdXIuTmFtZXNwYWNlLk9mLkNob2ljZS5HZW5lcmF0ZWRDb2RlIiwKICAibXVsdGlwbGVJbnRlcmZhY2VzIjogIkJ5RW5kcG9pbnQiCn0KYGBgCgoqKk91dHB1dCoqCgpgYGBjcwovLy8gPHN1bW1hcnk+Ci8vLyBVcGRhdGUgYW4gZXhpc3RpbmcgcGV0Ci8vLyA8L3N1bW1hcnk+CnB1YmxpYyBwYXJ0aWFsIGludGVyZmFjZSBJVXBkYXRlUGV0RW5kcG9pbnQKewogICAgLy8vIDxzdW1tYXJ5PgogICAgLy8vIFVwZGF0ZSBhbiBleGlzdGluZyBwZXQgYnkgSWQKICAgIC8vLyA8L3N1bW1hcnk+CiAgICBbUHV0KCIvcGV0IildCiAgICBUYXNrPFBldD4gRXhlY3V0ZShbQm9keV0gUGV0IGJvZHkpOwp9CgovLy8gPHN1bW1hcnk+Ci8vLyBBZGQgYSBuZXcgcGV0IHRvIHRoZSBzdG9yZQovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgcGFydGlhbCBpbnRlcmZhY2UgSUFkZFBldEVuZHBvaW50CnsKICAgIC8vLyA8c3VtbWFyeT4KICAgIC8vLyBBZGQgYSBuZXcgcGV0IHRvIHRoZSBzdG9yZQogICAgLy8vIDwvc3VtbWFyeT4KICAgIFtQb3N0KCIvcGV0IildCiAgICBUYXNrPFBldD4gRXhlY3V0ZShbQm9keV0gUGV0IGJvZHkpOwp9CgovLy8gPHN1bW1hcnk+Ci8vLyBGaW5kcyBQZXRzIGJ5IHN0YXR1cwovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgcGFydGlhbCBpbnRlcmZhY2UgSUZpbmRQZXRzQnlTdGF0dXNFbmRwb2ludAp7CiAgICAvLy8gPHN1bW1hcnk+CiAgICAvLy8gTXVsdGlwbGUgc3RhdHVzIHZhbHVlcyBjYW4gYmUgcHJvdmlkZWQgd2l0aCBjb21tYSBzZXBhcmF0ZWQgc3RyaW5ncwogICAgLy8vIDwvc3VtbWFyeT4KICAgIFtHZXQoIi9wZXQvZmluZEJ5U3RhdHVzIildCiAgICBUYXNrPElDb2xsZWN0aW9uPFBldD4+IEV4ZWN1dGUoW1F1ZXJ5XSBTdGF0dXM/IHN0YXR1cyk7Cn0KCi8vLyA8c3VtbWFyeT4KLy8vIEZpbmRzIFBldHMgYnkgdGFncwovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgcGFydGlhbCBpbnRlcmZhY2UgSUZpbmRQZXRzQnlUYWdzRW5kcG9pbnQKewogICAgLy8vIDxzdW1tYXJ5PgogICAgLy8vIE11bHRpcGxlIHRhZ3MgY2FuIGJlIHByb3ZpZGVkIHdpdGggY29tbWEgc2VwYXJhdGVkIHN0cmluZ3MuIFVzZSB0YWcxLCB0YWcyLCB0YWczIGZvciB0ZXN0aW5nLgogICAgLy8vIDwvc3VtbWFyeT4KICAgIFtHZXQoIi9wZXQvZmluZEJ5VGFncyIpXQogICAgVGFzazxJQ29sbGVjdGlvbjxQZXQ+PiBFeGVjdXRlKFtRdWVyeShDb2xsZWN0aW9uRm9ybWF0Lk11bHRpKV0gSUVudW1lcmFibGU8c3RyaW5nPiB0YWdzKTsKfQoKLy8vIDxzdW1tYXJ5PgovLy8gRmluZCBwZXQgYnkgSUQKLy8vIDwvc3VtbWFyeT4KcHVibGljIHBhcnRpYWwgaW50ZXJmYWNlIElHZXRQZXRCeUlkRW5kcG9pbnQKewogICAgLy8vIDxzdW1tYXJ5PgogICAgLy8vIFJldHVybnMgYSBzaW5nbGUgcGV0CiAgICAvLy8gPC9zdW1tYXJ5PgogICAgW0dldCgiL3BldC97cGV0SWR9IildCiAgICBUYXNrPFBldD4gRXhlY3V0ZShsb25nIHBldElkKTsKfQoKLy8vIDxzdW1tYXJ5PgovLy8gVXBkYXRlcyBhIHBldCBpbiB0aGUgc3RvcmUgd2l0aCBmb3JtIGRhdGEKLy8vIDwvc3VtbWFyeT4KcHVibGljIHBhcnRpYWwgaW50ZXJmYWNlIElVcGRhdGVQZXRXaXRoRm9ybUVuZHBvaW50CnsKICAgIFtQb3N0KCIvcGV0L3twZXRJZH0iKV0KICAgIFRhc2sgRXhlY3V0ZShsb25nIHBldElkLCBbUXVlcnldIHN0cmluZyBuYW1lLCBbUXVlcnldIHN0cmluZyBzdGF0dXMpOwp9CgovLy8gPHN1bW1hcnk+Ci8vLyBEZWxldGVzIGEgcGV0Ci8vLyA8L3N1bW1hcnk+CnB1YmxpYyBwYXJ0aWFsIGludGVyZmFjZSBJRGVsZXRlUGV0RW5kcG9pbnQKewogICAgW0RlbGV0ZSgiL3BldC97cGV0SWR9IildCiAgICBUYXNrIEV4ZWN1dGUobG9uZyBwZXRJZCwgW0hlYWRlcigiYXBpX2tleSIpXSBzdHJpbmcgYXBpX2tleSk7Cn0KCi8vLyA8c3VtbWFyeT4KLy8vIHVwbG9hZHMgYW4gaW1hZ2UKLy8vIDwvc3VtbWFyeT4KcHVibGljIHBhcnRpYWwgaW50ZXJmYWNlIElVcGxvYWRGaWxlRW5kcG9pbnQKewogICAgW1Bvc3QoIi9wZXQve3BldElkfS91cGxvYWRJbWFnZSIpXQogICAgVGFzazxBcGlSZXNwb25zZT4gRXhlY3V0ZShsb25nIHBldElkLCBbUXVlcnldIHN0cmluZyBhZGRpdGlvbmFsTWV0YWRhdGEsIFN0cmVhbVBhcnQgYm9keSk7Cn0KCi8vLyA8c3VtbWFyeT4KLy8vIFJldHVybnMgcGV0IGludmVudG9yaWVzIGJ5IHN0YXR1cwovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgcGFydGlhbCBpbnRlcmZhY2UgSUdldEludmVudG9yeUVuZHBvaW50CnsKICAgIC8vLyA8c3VtbWFyeT4KICAgIC8vLyBSZXR1cm5zIGEgbWFwIG9mIHN0YXR1cyBjb2RlcyB0byBxdWFudGl0aWVzCiAgICAvLy8gPC9zdW1tYXJ5PgogICAgW0dldCgiL3N0b3JlL2ludmVudG9yeSIpXQogICAgVGFzazxJRGljdGlvbmFyeTxzdHJpbmcsIGludD4+IEV4ZWN1dGUoKTsKfQoKLy8vIDxzdW1tYXJ5PgovLy8gUGxhY2UgYW4gb3JkZXIgZm9yIGEgcGV0Ci8vLyA8L3N1bW1hcnk+CnB1YmxpYyBwYXJ0aWFsIGludGVyZmFjZSBJUGxhY2VPcmRlckVuZHBvaW50CnsKICAgIC8vLyA8c3VtbWFyeT4KICAgIC8vLyBQbGFjZSBhIG5ldyBvcmRlciBpbiB0aGUgc3RvcmUKICAgIC8vLyA8L3N1bW1hcnk+CiAgICBbUG9zdCgiL3N0b3JlL29yZGVyIildCiAgICBUYXNrPE9yZGVyPiBFeGVjdXRlKFtCb2R5XSBPcmRlciBib2R5KTsKfQoKLy8vIDxzdW1tYXJ5PgovLy8gRmluZCBwdXJjaGFzZSBvcmRlciBieSBJRAovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgcGFydGlhbCBpbnRlcmZhY2UgSUdldE9yZGVyQnlJZEVuZHBvaW50CnsKICAgIC8vLyA8c3VtbWFyeT4KICAgIC8vLyBGb3IgdmFsaWQgcmVzcG9uc2UgdHJ5IGludGVnZXIgSURzIHdpdGggdmFsdWUgPD0gNSBvciA+IDEwLiBPdGhlciB2YWx1ZXMgd2lsbCBnZW5lcmF0ZWQgZXhjZXB0aW9ucwogICAgLy8vIDwvc3VtbWFyeT4KICAgIFtHZXQoIi9zdG9yZS9vcmRlci97b3JkZXJJZH0iKV0KICAgIFRhc2s8T3JkZXI+IEV4ZWN1dGUobG9uZyBvcmRlcklkKTsKfQoKLy8vIDxzdW1tYXJ5PgovLy8gRGVsZXRlIHB1cmNoYXNlIG9yZGVyIGJ5IElECi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBwYXJ0aWFsIGludGVyZmFjZSBJRGVsZXRlT3JkZXJFbmRwb2ludAp7CiAgICAvLy8gPHN1bW1hcnk+CiAgICAvLy8gRm9yIHZhbGlkIHJlc3BvbnNlIHRyeSBpbnRlZ2VyIElEcyB3aXRoIHZhbHVlIDwgMTAwMC4gQW55dGhpbmcgYWJvdmUgMTAwMCBvciBub25pbnRlZ2VycyB3aWxsIGdlbmVyYXRlIEFQSSBlcnJvcnMKICAgIC8vLyA8L3N1bW1hcnk+CiAgICBbRGVsZXRlKCIvc3RvcmUvb3JkZXIve29yZGVySWR9IildCiAgICBUYXNrIEV4ZWN1dGUobG9uZyBvcmRlcklkKTsKfQoKLy8vIDxzdW1tYXJ5PgovLy8gQ3JlYXRlIHVzZXIKLy8vIDwvc3VtbWFyeT4KcHVibGljIHBhcnRpYWwgaW50ZXJmYWNlIElDcmVhdGVVc2VyRW5kcG9pbnQKewogICAgLy8vIDxzdW1tYXJ5PgogICAgLy8vIFRoaXMgY2FuIG9ubHkgYmUgZG9uZSBieSB0aGUgbG9nZ2VkIGluIHVzZXIuCiAgICAvLy8gPC9zdW1tYXJ5PgogICAgW1Bvc3QoIi91c2VyIildCiAgICBUYXNrIEV4ZWN1dGUoW0JvZHldIFVzZXIgYm9keSk7Cn0KCi8vLyA8c3VtbWFyeT4KLy8vIENyZWF0ZXMgbGlzdCBvZiB1c2VycyB3aXRoIGdpdmVuIGlucHV0IGFycmF5Ci8vLyA8L3N1bW1hcnk+CnB1YmxpYyBwYXJ0aWFsIGludGVyZmFjZSBJQ3JlYXRlVXNlcnNXaXRoTGlzdElucHV0RW5kcG9pbnQKewogICAgLy8vIDxzdW1tYXJ5PgogICAgLy8vIENyZWF0ZXMgbGlzdCBvZiB1c2VycyB3aXRoIGdpdmVuIGlucHV0IGFycmF5CiAgICAvLy8gPC9zdW1tYXJ5PgogICAgW1Bvc3QoIi91c2VyL2NyZWF0ZVdpdGhMaXN0IildCiAgICBUYXNrPFVzZXI+IEV4ZWN1dGUoW0JvZHldIElFbnVtZXJhYmxlPFVzZXI+IGJvZHkpOwp9CgovLy8gPHN1bW1hcnk+Ci8vLyBMb2dzIHVzZXIgaW50byB0aGUgc3lzdGVtCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBwYXJ0aWFsIGludGVyZmFjZSBJTG9naW5Vc2VyRW5kcG9pbnQKewogICAgW0dldCgiL3VzZXIvbG9naW4iKV0KICAgIFRhc2s8c3RyaW5nPiBFeGVjdXRlKFtRdWVyeV0gc3RyaW5nIHVzZXJuYW1lLCBbUXVlcnldIHN0cmluZyBwYXNzd29yZCk7Cn0KCi8vLyA8c3VtbWFyeT4KLy8vIExvZ3Mgb3V0IGN1cnJlbnQgbG9nZ2VkIGluIHVzZXIgc2Vzc2lvbgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgcGFydGlhbCBpbnRlcmZhY2UgSUxvZ291dFVzZXJFbmRwb2ludAp7CiAgICBbR2V0KCIvdXNlci9sb2dvdXQiKV0KICAgIFRhc2sgRXhlY3V0ZSgpOwp9CgovLy8gPHN1bW1hcnk+Ci8vLyBHZXQgdXNlciBieSB1c2VyIG5hbWUKLy8vIDwvc3VtbWFyeT4KcHVibGljIHBhcnRpYWwgaW50ZXJmYWNlIElHZXRVc2VyQnlOYW1lRW5kcG9pbnQKewogICAgW0dldCgiL3VzZXIve3VzZXJuYW1lfSIpXQogICAgVGFzazxVc2VyPiBFeGVjdXRlKHN0cmluZyB1c2VybmFtZSk7Cn0KCi8vLyA8c3VtbWFyeT4KLy8vIFVwZGF0ZSB1c2VyCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBwYXJ0aWFsIGludGVyZmFjZSBJVXBkYXRlVXNlckVuZHBvaW50CnsKICAgIC8vLyA8c3VtbWFyeT4KICAgIC8vLyBUaGlzIGNhbiBvbmx5IGJlIGRvbmUgYnkgdGhlIGxvZ2dlZCBpbiB1c2VyLgogICAgLy8vIDwvc3VtbWFyeT4KICAgIFtQdXQoIi91c2VyL3t1c2VybmFtZX0iKV0KICAgIFRhc2sgRXhlY3V0ZShzdHJpbmcgdXNlcm5hbWUsIFtCb2R5XSBVc2VyIGJvZHkpOwp9CgovLy8gPHN1bW1hcnk+Ci8vLyBEZWxldGUgdXNlcgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgcGFydGlhbCBpbnRlcmZhY2UgSURlbGV0ZVVzZXJFbmRwb2ludAp7CiAgICAvLy8gPHN1bW1hcnk+CiAgICAvLy8gVGhpcyBjYW4gb25seSBiZSBkb25lIGJ5IHRoZSBsb2dnZWQgaW4gdXNlci4KICAgIC8vLyA8L3N1bW1hcnk+CiAgICBbRGVsZXRlKCIvdXNlci97dXNlcm5hbWV9IildCiAgICBUYXNrIEV4ZWN1dGUoc3RyaW5nIHVzZXJuYW1lKTsKfQpgYGAKCiMjIFJlc3RTZXJ2aWNlCgpIZXJlJ3MgYW4gZXhhbXBsZSB1c2FnZSBvZiB0aGUgZ2VuZXJhdGVkIGNvZGUgYWJvdmUKCmBgYGNzCnVzaW5nIFJlZml0Owp1c2luZyBTeXN0ZW07CnVzaW5nIFN5c3RlbS5UaHJlYWRpbmcuVGFza3M7CgpuYW1lc3BhY2UgWW91ci5OYW1lc3BhY2UuT2YuQ2hvaWNlLkdlbmVyYXRlZENvZGU7CgppbnRlcm5hbCBjbGFzcyBQcm9ncmFtCnsKICAgIHByaXZhdGUgc3RhdGljIGFzeW5jIFRhc2sgTWFpbihzdHJpbmdbXSBhcmdzKQogICAgewogICAgICAgIHZhciBjbGllbnQgPSBSZXN0U2VydmljZS5Gb3I8SVN3YWdnZXJQZXRzdG9yZT4oImh0dHBzOi8vcGV0c3RvcmUzLnN3YWdnZXIuaW8vYXBpL3YzIik7CiAgICAgICAgdmFyIHBldCA9IGF3YWl0IGNsaWVudC5HZXRQZXRCeUlkKDEpOwoKICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiIyMgVXNpbmcgVGFzazxUPiBhcyByZXR1cm4gdHlwZSAjIyIpOwogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCQiTmFtZToge3BldC5OYW1lfSIpOwogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCQiQ2F0ZWdvcnk6IHtwZXQuQ2F0ZWdvcnkuTmFtZX0iKTsKICAgICAgICBDb25zb2xlLldyaXRlTGluZSgkIlN0YXR1czoge3BldC5TdGF0dXN9Iik7CiAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoKTsKCiAgICAgICAgdmFyIGNsaWVudDIgPSBSZXN0U2VydmljZS5Gb3I8V2l0aEFwaVJlc3BvbnNlLklTd2FnZ2VyUGV0c3RvcmU+KCJodHRwczovL3BldHN0b3JlMy5zd2FnZ2VyLmlvL2FwaS92MyIpOwogICAgICAgIHZhciByZXNwb25zZSA9IGF3YWl0IGNsaWVudDIuR2V0UGV0QnlJZCgyKTsKCiAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIiMjIFVzaW5nIFRhc2s8SUFwaVJlc3BvbnNlPFQ+PiBhcyByZXR1cm4gdHlwZSAjIyIpOwogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCQiSFRUUCBTdGF0dXMgQ29kZToge3Jlc3BvbnNlLlN0YXR1c0NvZGV9Iik7CiAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoJCJOYW1lOiB7cmVzcG9uc2UuQ29udGVudC5OYW1lfSIpOwogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCQiQ2F0ZWdvcnk6IHtyZXNwb25zZS5Db250ZW50LkNhdGVnb3J5Lk5hbWV9Iik7CiAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoJCJTdGF0dXM6IHtyZXNwb25zZS5Db250ZW50LlN0YXR1c30iKTsKICAgIH0KfQpgYGAKClRoZSBgUmVzdFNlcnZpY2VgIGNsYXNzIGdlbmVyYXRlcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiBgSVN3YWdnZXJQZXRzdG9yZWAgdGhhdCB1c2VzIGBIdHRwQ2xpZW50YCB0byBtYWtlIGl0cyBjYWxscy4gCgpUaGUgY29kZSBhYm92ZSB3aGVuIHJ1biB3aWxsIG91dHB1dCBzb21ldGhpbmcgbGlrZSB0aGlzOgoKYGBgCiMjIFVzaW5nIFRhc2s8VD4gYXMgcmV0dXJuIHR5cGUgIyMKTmFtZTogR2F0aXRvdG90b3RvCkNhdGVnb3J5OiBDaGF1Y2l0bwpTdGF0dXM6IFNvbGQKCiMjIFVzaW5nIFRhc2s8SUFwaVJlc3BvbnNlPFQ+PiBhcyByZXR1cm4gdHlwZSAjIwpIVFRQIFN0YXR1cyBDb2RlOiBPSwpOYW1lOiBHYXRpdG90b3RvdG8KQ2F0ZWdvcnk6IENoYXVjaXRvClN0YXR1czogU29sZApgYGAKCiMjIEFTUC5ORVQgQ29yZSBhbmQgSHR0cENsaWVudEZhY3RvcnkKCkhlcmUncyBhbiBleGFtcGxlIE1pbmltYWwgQVBJIHdpdGggdGhlIFtgUmVmaXQuSHR0cENsaWVudEZhY3RvcnlgXShodHRwczovL3d3dy5udWdldC5vcmcvcGFja2FnZXMvUmVmaXQuSHR0cENsaWVudEZhY3RvcnkpIGxpYnJhcnk6CgpgYGBjcwp1c2luZyBSZWZpdDsKdXNpbmcgWW91ci5OYW1lc3BhY2UuT2YuQ2hvaWNlLkdlbmVyYXRlZENvZGU7Cgp2YXIgYnVpbGRlciA9IFdlYkFwcGxpY2F0aW9uLkNyZWF0ZUJ1aWxkZXIoYXJncyk7CmJ1aWxkZXIuU2VydmljZXMuQWRkRW5kcG9pbnRzQXBpRXhwbG9yZXIoKTsKYnVpbGRlci5TZXJ2aWNlcy5BZGRTd2FnZ2VyR2VuKCk7CmJ1aWxkZXIuU2VydmljZXMKICAgIC5BZGRSZWZpdENsaWVudDxJU3dhZ2dlclBldHN0b3JlPigpCiAgICAuQ29uZmlndXJlSHR0cENsaWVudChjID0+IGMuQmFzZUFkZHJlc3MgPSBuZXcgVXJpKCJodHRwczovL3BldHN0b3JlMy5zd2FnZ2VyLmlvL2FwaS92MyIpKTsKCnZhciBhcHAgPSBidWlsZGVyLkJ1aWxkKCk7CmFwcC5NYXBHZXQoCiAgICAgICAgIi9wZXQve2lkOmxvbmd9IiwKICAgICAgICBhc3luYyAoSVN3YWdnZXJQZXRzdG9yZSBwZXRzdG9yZSwgbG9uZyBpZCkgPT4KICAgICAgICB7CiAgICAgICAgICAgIHRyeQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICByZXR1cm4gUmVzdWx0cy5Payhhd2FpdCBwZXRzdG9yZS5HZXRQZXRCeUlkKGlkKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY2F0Y2ggKFJlZml0LkFwaUV4Y2VwdGlvbiBlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICByZXR1cm4gUmVzdWx0cy5TdGF0dXNDb2RlKChpbnQpZS5TdGF0dXNDb2RlKTsKICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAuV2l0aE5hbWUoIkdldFBldEJ5SWQiKQogICAgLldpdGhPcGVuQXBpKCk7CgphcHAuVXNlSHR0cHNSZWRpcmVjdGlvbigpOwphcHAuVXNlU3dhZ2dlclVJKCk7CmFwcC5Vc2VTd2FnZ2VyKCk7CmFwcC5SdW4oKTsKYGBgCgouTkVUIENvcmUgc3VwcG9ydHMgcmVnaXN0ZXJpbmcgdGhlIGdlbmVyYXRlZCBgSVN3YWdnZXJQZXRzdG9yZWAgaW50ZXJmYWNlIHZpYSBgSHR0cENsaWVudEZhY3RvcnlgCgpUaGUgZm9sbG93aW5nIHJlcXVlc3QgdG8gdGhlIEFQSSBhYm92ZQpgYGBzaGVsbAokIGN1cmwgLVggJ0dFVCcgJ2h0dHBzOi8vbG9jYWxob3N0OjUwMDEvcGV0LzEnIC1IICdhY2NlcHQ6IGFwcGxpY2F0aW9uL2pzb24nCmBgYAoKUmV0dXJucyBhIHJlc3BvbnNlIHRoYXQgbG9va3Mgc29tZXRoaW5nIGxpa2UgdGhpczoKYGBganNvbgp7CiAgImlkIjogMSwKICAibmFtZSI6ICJTcGVjaWFsX2NoYXJfb3duZXJfIUAjJF4mKClgLnRlc3RpbmciLAogICJwaG90b1VybHMiOiBbCiAgICAiaHR0cHM6Ly9wZXRzdG9yZTMuc3dhZ2dlci5pby9yZXNvdXJjZXMvcGhvdG9zLzYyMzM4OTA5NS5qcGciCiAgXSwKICAidGFncyI6IFtdLAogICJzdGF0dXMiOiAiU29sZCIKfQpgYGAKCiMjIFN5c3RlbSByZXF1aXJlbWVudHMKLk5FVCA4LjAgKExUUykKCiMjIENvbnRyaWJ1dG9ycwoKPCEtLSBBTEwtQ09OVFJJQlVUT1JTLUxJU1Q6U1RBUlQgLSBEbyBub3QgcmVtb3ZlIG9yIG1vZGlmeSB0aGlzIHNlY3Rpb24gLS0+CjwhLS0gcHJldHRpZXItaWdub3JlLXN0YXJ0IC0tPgo8IS0tIG1hcmtkb3dubGludC1kaXNhYmxlIC0tPgo8dGFibGU+CiAgPHRib2R5PgogICAgPHRyPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9uZW9HZW5ldmEiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvODA0NzI0P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJQaGlsaXAgQ294Ii8+PGJyIC8+PHN1Yj48Yj5QaGlsaXAgQ294PC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvY29tbWl0cz9hdXRob3I9bmVvR2VuZXZhIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vY2FtLm1hY2Zhci5sYW5kLyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xMjk4ODQ3P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJDYW1lcm9uIE1hY0ZhcmxhbmQiLz48YnIgLz48c3ViPjxiPkNhbWVyb24gTWFjRmFybGFuZDwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2NvbW1pdHM/YXV0aG9yPWRpc3RhbnRjYW0iIHRpdGxlPSJDb2RlIj7wn5K7PC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cDovL2tnYW1lLnR3Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM2NDY1MzI/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9ImtnYW1lIi8+PGJyIC8+PHN1Yj48Yj5rZ2FtZTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2NvbW1pdHM/YXV0aG9yPWtnYW1lY2FydGVyIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHA6Ly95cmtpLm5vIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzExNTczNjAxP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJUaG9tYXMgUGV0dGVyc2VuIC8gWXJraSIvPjxiciAvPjxzdWI+PGI+VGhvbWFzIFBldHRlcnNlbiAvIFlya2k8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9jb21taXRzP2F1dGhvcj0iIHRpdGxlPSJDb2RlIj7wn5K7PC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tLzFrdmluIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzQ2NDI1OTgwP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJBcnRlbSIvPjxiciAvPjxzdWI+PGI+QXJ0ZW08L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9pc3N1ZXM/cT1hdXRob3IlM0Exa3ZpbiIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL203Y2xhcmtlIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzQ3NDM5MTQ0P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJtN2NsYXJrZSIvPjxiciAvPjxzdWI+PGI+bTdjbGFya2U8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9pc3N1ZXM/cT1hdXRob3IlM0FtN2NsYXJrZSIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2tpcmlkZXMiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTM2MDIxNDM/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9ImtpcmlkZXMiLz48YnIgLz48c3ViPjxiPmtpcmlkZXM8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9pc3N1ZXM/cT1hdXRob3IlM0FraXJpZGVzIiB0aXRsZT0iQnVnIHJlcG9ydHMiPvCfkJs8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9jb21taXRzP2F1dGhvcj1raXJpZGVzIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZ3VpbGxhdW1lc2VyYWxlIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzY2NzI0MDY/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9Imd1aWxsYXVtZXNlcmFsZSIvPjxiciAvPjxzdWI+PGI+Z3VpbGxhdW1lc2VyYWxlPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvY29tbWl0cz9hdXRob3I9Z3VpbGxhdW1lc2VyYWxlIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2lzc3Vlcz9xPWF1dGhvciUzQWd1aWxsYXVtZXNlcmFsZSIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL1JvZmxpbmNvcHRlciI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNjkwMjQzP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJEZW5uaXMgQnJlbnRqZXMiLz48YnIgLz48c3ViPjxiPkRlbm5pcyBCcmVudGplczwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2NvbW1pdHM/YXV0aG9yPVJvZmxpbmNvcHRlciIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+IDxhIGhyZWY9IiNpZGVhcy1Sb2ZsaW5jb3B0ZXIiIHRpdGxlPSJJZGVhcywgUGxhbm5pbmcsICYgRmVlZGJhY2siPvCfpJQ8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL3d3dy5saW5rZWRpbi5jb20vaW4vaGlja2V5ZGFtaWFuLyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS81NzQzNj92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iRGFtaWFuIEhpY2tleSIvPjxiciAvPjxzdWI+PGI+RGFtaWFuIEhpY2tleTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2lzc3Vlcz9xPWF1dGhvciUzQWRhbWlhbmgiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9yaWNoYXJkaHUtbG1nIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzEyNjQzMDc4Nz92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0icmljaGFyZGh1LWxtZyIvPjxiciAvPjxzdWI+PGI+cmljaGFyZGh1LWxtZzwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2lzc3Vlcz9xPWF1dGhvciUzQXJpY2hhcmRodS1sbWciIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9icmVhc2UtY29saW4iPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNDczNTg5MzU/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9ImJyZWFzZS1jb2xpbiIvPjxiciAvPjxzdWI+PGI+YnJlYXNlLWNvbGluPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvaXNzdWVzP3E9YXV0aG9yJTNBYnJlYXNlLWNvbGluIiB0aXRsZT0iQnVnIHJlcG9ydHMiPvCfkJs8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYW5nZWxvZmIiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjAzMjI1Nz92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iYW5nZWxvZmIiLz48YnIgLz48c3ViPjxiPmFuZ2Vsb2ZiPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvY29tbWl0cz9hdXRob3I9YW5nZWxvZmIiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL05vR1JvIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzU2NjUyNzM/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IkRpbSBOb2dybyIvPjxiciAvPjxzdWI+PGI+RGltIE5vZ3JvPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvY29tbWl0cz9hdXRob3I9Tm9HUm8iIHRpdGxlPSJDb2RlIj7wn5K7PC9hPjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS95YWRhbmlsb3YxOSI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNzE2MTA2NT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0ieWFkYW5pbG92MTkiLz48YnIgLz48c3ViPjxiPnlhZGFuaWxvdjE5PC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSIjaWRlYXMteWFkYW5pbG92MTkiIHRpdGxlPSJJZGVhcywgUGxhbm5pbmcsICYgRmVlZGJhY2siPvCfpJQ8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZGFucG93ZWxsODgiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTEwMDM5Nz92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iRGFuaWVsIFBvd2VsbCIvPjxiciAvPjxzdWI+PGI+RGFuaWVsIFBvd2VsbDwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2lzc3Vlcz9xPWF1dGhvciUzQWRhbnBvd2VsbDg4IiB0aXRsZT0iQnVnIHJlcG9ydHMiPvCfkJs8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vRWtrZWlyIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM2MTk0Njg1P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJFa2tlaXIiLz48YnIgLz48c3ViPjxiPkVra2VpcjwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2NvbW1pdHM/YXV0aG9yPUVra2VpciIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9pc3N1ZXM/cT1hdXRob3IlM0FFa2tlaXIiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93YXlsb25tdHoiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNDYwNDU3OT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iV2F5bG9uIE1hcnRpbmV6Ii8+PGJyIC8+PHN1Yj48Yj5XYXlsb24gTWFydGluZXo8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9pc3N1ZXM/cT1hdXRob3IlM0F3YXlsb25tdHoiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS92aW5heW1hZHVwYXRoaSI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8zODEwMjkwMD92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0idmttYWR1cGEiLz48YnIgLz48c3ViPjxiPnZrbWFkdXBhPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvaXNzdWVzP3E9YXV0aG9yJTNBdmluYXltYWR1cGF0aGkiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9Ob2JsaXgiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjIwNzY4ODM/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9Ik5vYmxpeCIvPjxiciAvPjxzdWI+PGI+Tm9ibGl4PC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvY29tbWl0cz9hdXRob3I9Tm9ibGl4IiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iI2lkZWFzLU5vYmxpeCIgdGl0bGU9IklkZWFzLCBQbGFubmluZywgJiBGZWVkYmFjayI+8J+klDwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnZlZXpsYS5pbyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8yMzA0MzI/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IkF0dGlsYSBIYWpkcmlrIi8+PGJyIC8+PHN1Yj48Yj5BdHRpbGEgSGFqZHJpazwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iI2lkZWFzLWF0dGlsYWgiIHRpdGxlPSJJZGVhcywgUGxhbm5pbmcsICYgRmVlZGJhY2siPvCfpJQ8L2E+PC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2JpZWxpazAxIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzkyMDk1MD92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iYmllbGlrMDEiLz48YnIgLz48c3ViPjxiPmJpZWxpazAxPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvaXNzdWVzP3E9YXV0aG9yJTNBYmllbGlrMDEiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT4gPGEgaHJlZj0iI2lkZWFzLWJpZWxpazAxIiB0aXRsZT0iSWRlYXMsIFBsYW5uaW5nLCAmIEZlZWRiYWNrIj7wn6SUPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL25hYWVlZiI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS80MzMzOTA3MT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0ibmFhZWVmIi8+PGJyIC8+PHN1Yj48Yj5uYWFlZWY8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9IiNpZGVhcy1uYWFlZWYiIHRpdGxlPSJJZGVhcywgUGxhbm5pbmcsICYgRmVlZGJhY2siPvCfpJQ8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYWxyeiI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8zMTA1OTc5P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJBbGlyZXphIEhhYmliaSIvPjxiciAvPjxzdWI+PGI+QWxpcmV6YSBIYWJpYmk8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9pc3N1ZXM/cT1hdXRob3IlM0FhbHJ6IiB0aXRsZT0iQnVnIHJlcG9ydHMiPvCfkJs8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vRUVQYXJrZXIiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4NzQwNzY/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IkplZmYgUGFya2VyLCBQRSIvPjxiciAvPjxzdWI+PGI+SmVmZiBQYXJrZXIsIFBFPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvaXNzdWVzP3E9YXV0aG9yJTNBRUVQYXJrZXIiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9qb2RzNCI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8zODMyODIwP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJqb2RzIi8+PGJyIC8+PHN1Yj48Yj5qb2RzPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSIjaWRlYXMtam9kczQiIHRpdGxlPSJJZGVhcywgUGxhbm5pbmcsICYgRmVlZGJhY2siPvCfpJQ8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZWRpbWFycXVleiI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS80MTc5MTcxOT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iRWRpbWFycXVleiBNZWRlaXJvcyIvPjxiciAvPjxzdWI+PGI+RWRpbWFycXVleiBNZWRlaXJvczwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2NvbW1pdHM/YXV0aG9yPWVkaW1hcnF1ZXoiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3NhZmFra2VzaWtjaSI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS83MDY3MjUyP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJzYWZha2tlc2lrY2kiLz48YnIgLz48c3ViPjxiPnNhZmFra2VzaWtjaTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2lzc3Vlcz9xPWF1dGhvciUzQXNhZmFra2VzaWtjaSIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9mb2xicmVjaHQiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ1NTM3ODQ2P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJmb2xicmVjaHQiLz48YnIgLz48c3ViPjxiPmZvbGJyZWNodDwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2lzc3Vlcz9xPWF1dGhvciUzQWZvbGJyZWNodCIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL21vcnRlbmxhdXJzZW4iPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjg3NTk3Mzc/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9Im1vcnRlbmxhdXJzZW4iLz48YnIgLz48c3ViPjxiPm1vcnRlbmxhdXJzZW48L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9jb21taXRzP2F1dGhvcj1tb3J0ZW5sYXVyc2VuIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9tYW51ZWwtZmVybmFuZGV6LXJvZHJpZ3VleiI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS80ODUyMDIwNT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0ibWFudWVsLWZlcm5hbmRlei1yb2RyaWd1ZXoiLz48YnIgLz48c3ViPjxiPm1hbnVlbC1mZXJuYW5kZXotcm9kcmlndWV6PC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvaXNzdWVzP3E9YXV0aG9yJTNBbWFudWVsLWZlcm5hbmRlei1yb2RyaWd1ZXoiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9lbGl5YW1taW5lIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzY2NDQ4MDc/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IkVsaSBZYW1taW5lIi8+PGJyIC8+PHN1Yj48Yj5FbGkgWWFtbWluZTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2lzc3Vlcz9xPWF1dGhvciUzQWVsaXlhbW1pbmUiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgPC90cj4KICA8L3Rib2R5Pgo8L3RhYmxlPgoKPCEtLSBtYXJrZG93bmxpbnQtcmVzdG9yZSAtLT4KPCEtLSBwcmV0dGllci1pZ25vcmUtZW5kIC0tPgoKPCEtLSBBTEwtQ09OVFJJQlVUT1JTLUxJU1Q6RU5EIC0tPgoKIwoKRm9yIHRpcHMgYW5kIHRyaWNrcyBvbiBzb2Z0d2FyZSBkZXZlbG9wbWVudCwgY2hlY2sgb3V0IFtteSBibG9nXShodHRwczovL2NocmlzdGlhbmhlbGxlLmNvbSkKCklmIHlvdSBmaW5kIHRoaXMgdXNlZnVsIGFuZCBmZWVsIGEgYml0IGdlbmVyb3VzIHRoZW4gZmVlbCBmcmVlIHRvIFtidXkgbWUgYSBjb2ZmZWUg4piVXShodHRwczovL3d3dy5idXltZWFjb2ZmZWUuY29tL2NocmlzdGlhbmhlbGxlKQo= - readmeEtag: '"e443474e076b2ad38eaab56eb119b8edc55ad4fc7e4a3a41562c6bd3be91cbea"' - readmeLastModified: Tue, 02 Jan 2024 11:40:02 GMT + WyFbQnVpbGRdKGh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9hY3Rpb25zL3dvcmtmbG93cy9idWlsZC55bWwvYmFkZ2Uuc3ZnKV0oaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2FjdGlvbnMvd29ya2Zsb3dzL2J1aWxkLnltbCkKWyFbU21va2UgVGVzdHNdKGh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9hY3Rpb25zL3dvcmtmbG93cy9zbW9rZS10ZXN0cy55bWwvYmFkZ2Uuc3ZnKV0oaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2FjdGlvbnMvd29ya2Zsb3dzL3Ntb2tlLXRlc3RzLnltbCkKWyFbTnVHZXRdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vbnVnZXQvdi9yZWZpdHRlcj9jb2xvcj1ibHVlKV0oaHR0cHM6Ly93d3cubnVnZXQub3JnL3BhY2thZ2VzL3JlZml0dGVyKQpbIVtRdWFsaXR5IEdhdGUgU3RhdHVzXShodHRwczovL3NvbmFyY2xvdWQuaW8vYXBpL3Byb2plY3RfYmFkZ2VzL21lYXN1cmU/cHJvamVjdD1jaHJpc3RpYW5oZWxsZV9yZWZpdHRlciZtZXRyaWM9YWxlcnRfc3RhdHVzKV0oaHR0cHM6Ly9zb25hcmNsb3VkLmlvL3N1bW1hcnkvbmV3X2NvZGU/aWQ9Y2hyaXN0aWFuaGVsbGVfcmVmaXR0ZXIpClshW2NvZGVjb3ZdKGh0dHBzOi8vY29kZWNvdi5pby9naC9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9ncmFwaC9iYWRnZS5zdmc/dG9rZW49MjQyWVQxTjZUMildKGh0dHBzOi8vY29kZWNvdi5pby9naC9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlcikKWyFbUW9kYW5hXShodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvYWN0aW9ucy93b3JrZmxvd3MvcW9kYW5hLnltbC9iYWRnZS5zdmcpXShodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvYWN0aW9ucy93b3JrZmxvd3MvcW9kYW5hLnltbCkKCjwhLS0gQUxMLUNPTlRSSUJVVE9SUy1CQURHRTpTVEFSVCAtIERvIG5vdCByZW1vdmUgb3IgbW9kaWZ5IHRoaXMgc2VjdGlvbiAtLT4KWyFbQWxsIENvbnRyaWJ1dG9yc10oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9iYWRnZS9hbGxfY29udHJpYnV0b3JzLTMzLW9yYW5nZS5zdmc/c3R5bGU9ZmxhdC1zcXVhcmUpXSgjY29udHJpYnV0b3JzLSkKPCEtLSBBTEwtQ09OVFJJQlVUT1JTLUJBREdFOkVORCAtLT4KCiMgUmVmaXR0ZXIKUmVmaXR0ZXIgaXMgYSB0b29sIGZvciBnZW5lcmF0aW5nIGEgQyMgUkVTVCBBUEkgQ2xpZW50IHVzaW5nIHRoZSBbUmVmaXRdKGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdGl2ZXVpL3JlZml0KSBsaWJyYXJ5LiBSZWZpdHRlciBjYW4gZ2VuZXJhdGUgdGhlIFJlZml0IGludGVyZmFjZSBhbmQgY29udHJhY3RzIGZyb20gT3BlbkFQSSBzcGVjaWZpY2F0aW9ucy4gCgpSZWZpdHRlciBjb21lcyBpbiAyIGZvcm1zOgotIEEgWy5ORVQgQ0xJIFRvb2xdKCNjbGktdG9vbCkgZGlzdHJpYnV0ZWQgdmlhIFtudWdldC5vcmddKGh0dHA6Ly93d3cubnVnZXQub3JnL3BhY2thZ2VzL3JlZml0dGVyKSB0aGF0IG91dHB1dHMgYSBzaW5nbGUgQyMgZmlsZSBvbiBkaXNrCi0gQSBbQyMgU291cmNlIEdlbmVyYXRvcl0oI3NvdXJjZS1nZW5lcmF0b3IpIHZpYSB0aGUgW1JlZml0dGVyLlNvdXJjZUdlbmVyYXRvcl0oaHR0cDovL3d3dy5udWdldC5vcmcvcGFja2FnZXMvcmVmaXR0ZXIuc291cmNlZ2VuZXJhdG9yKSBwYWNrYWdlIHRoYXQgZ2VuZXJhdGVzIGNvZGUgb24gY29tcGlsZSB0aW1lIGJhc2VkIG9uIGEgWy5yZWZpdHRlcl0oIy5yZWZpdHRlci1maWxlLWZvcm1hdCkgd2l0aGluIHRoZSBwcm9qZWN0IGRpcmVjdG9yeS4KCiMjIENMSSBUb29sCgojIyMgSW5zdGFsbGF0aW9uOgoKVGhlIHRvb2wgaXMgcGFja2FnZWQgYXMgYSAuTkVUIFRvb2wgYW5kIGlzIHB1Ymxpc2hlZCB0byBudWdldC5vcmcuIFlvdSBjYW4gaW5zdGFsbCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyB0b29sIGxpa2UgdGhpczoKCmBgYHNoZWxsCmRvdG5ldCB0b29sIGluc3RhbGwgLS1nbG9iYWwgUmVmaXR0ZXIKYGBgCgojIyMgVXNhZ2U6CgpgYGBzaGVsbAokIHJlZml0dGVyIC0taGVscApgYGAKCmBgYHB3c2gKVVNBR0U6CiAgICByZWZpdHRlciBbVVJMIG9yIGlucHV0IGZpbGVdIFtPUFRJT05TXQoKRVhBTVBMRVM6CiAgICByZWZpdHRlciAuL29wZW5hcGkuanNvbgogICAgcmVmaXR0ZXIgaHR0cHM6Ly9wZXRzdG9yZTMuc3dhZ2dlci5pby9hcGkvdjMvb3BlbmFwaS55YW1sCiAgICByZWZpdHRlciAuL29wZW5hcGkuanNvbiAtLXNldHRpbmdzLWZpbGUgLi9vcGVuYXBpLnJlZml0dGVyIC0tb3V0cHV0IC4vR2VuZXJhdGVkQ29kZS5jcwogICAgcmVmaXR0ZXIgLi9vcGVuYXBpLmpzb24gLS1uYW1lc3BhY2UgIllvdXIuTmFtZXNwYWNlLk9mLkNob2ljZS5HZW5lcmF0ZWRDb2RlIiAtLW91dHB1dCAuL0dlbmVyYXRlZENvZGUuY3MKICAgIHJlZml0dGVyIC4vb3BlbmFwaS5qc29uIC0tbmFtZXNwYWNlICJZb3VyLk5hbWVzcGFjZS5PZi5DaG9pY2UuR2VuZXJhdGVkQ29kZSIgLS1pbnRlcm5hbAogICAgcmVmaXR0ZXIgLi9vcGVuYXBpLmpzb24gLS1vdXRwdXQgLi9JR2VuZXJhdGVkQ29kZS5jcyAtLWludGVyZmFjZS1vbmx5CiAgICByZWZpdHRlciAuL29wZW5hcGkuanNvbiAtLXVzZS1hcGktcmVzcG9uc2UKICAgIHJlZml0dGVyIC4vb3BlbmFwaS5qc29uIC0tY2FuY2VsbGF0aW9uLXRva2VucwogICAgcmVmaXR0ZXIgLi9vcGVuYXBpLmpzb24gLS1uby1vcGVyYXRpb24taGVhZGVycwogICAgcmVmaXR0ZXIgLi9vcGVuYXBpLmpzb24gLS1uby1hY2NlcHQtaGVhZGVycwogICAgcmVmaXR0ZXIgLi9vcGVuYXBpLmpzb24gLS11c2UtaXNvLWRhdGUtZm9ybWF0CiAgICByZWZpdHRlciAuL29wZW5hcGkuanNvbiAtLWFkZGl0aW9uYWwtbmFtZXNwYWNlICJZb3VyLkFkZGl0aW9uYWwuTmFtZXNwYWNlIiAtLWFkZGl0aW9uYWwtbmFtZXNwYWNlICJZb3VyLk90aGVyLkFkZGl0aW9uYWwuTmFtZXNwYWNlIgogICAgcmVmaXR0ZXIgLi9vcGVuYXBpLmpzb24gLS1tdWx0aXBsZS1pbnRlcmZhY2VzIEJ5RW5kcG9pbnQKICAgIHJlZml0dGVyIC4vb3BlbmFwaS5qc29uIC0tdGFnIFBldCAtLXRhZyBTdG9yZSAtLXRhZyBVc2VyCiAgICByZWZpdHRlciAuL29wZW5hcGkuanNvbiAtLW1hdGNoLXBhdGggJ14vcGV0Ly4qJwogICAgcmVmaXR0ZXIgLi9vcGVuYXBpLmpzb24gLS10cmltLXVudXNlZC1zY2hlbWEKICAgIHJlZml0dGVyIC4vb3BlbmFwaS5qc29uIC0tdHJpbS11bnVzZWQtc2NoZW1hICAtLWtlZXAtc2NoZW1hICdeTW9kZWwkJyAtLWtlZXAtc2NoZW1hICdeUGVyc29uLisnCiAgICByZWZpdHRlciAuL29wZW5hcGkuanNvbiAtLW5vLWRlcHJlY2F0ZWQtb3BlcmF0aW9ucwogICAgcmVmaXR0ZXIgLi9vcGVuYXBpLmpzb24gLS1vcGVyYXRpb24tbmFtZS10ZW1wbGF0ZSAne29wZXJhdGlvbk5hbWV9QXN5bmMnCiAgICByZWZpdHRlciAuL29wZW5hcGkuanNvbiAtLW9wdGlvbmFsLW51bGxhYmxlLXBhcmFtZXRlcnMKCkFSR1VNRU5UUzoKICAgIFtVUkwgb3IgaW5wdXQgZmlsZV0gICAgVVJMIG9yIGZpbGUgcGF0aCB0byBPcGVuQVBJIFNwZWNpZmljYXRpb24gZmlsZQoKT1BUSU9OUzoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVGQVVMVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmludHMgaGVscCBpbmZvcm1hdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmludHMgdmVyc2lvbiBpbmZvcm1hdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgIC1zLCAtLXNldHRpbmdzLWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXRoIHRvIC5yZWZpdHRlciBzZXR0aW5ncyBmaWxlLiBTcGVjaWZ5aW5nIHRoaXMgd2lsbCBpZ25vcmUgYWxsIG90aGVyIHNldHRpbmdzIChleGNlcHQgZm9yIC0tb3V0cHV0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgIC1uLCAtLW5hbWVzcGFjZSAgICAgICAgICAgICAgICAgICAgICAgR2VuZXJhdGVkQ29kZSAgICBEZWZhdWx0IG5hbWVzcGFjZSB0byB1c2UgZm9yIGdlbmVyYXRlZCB0eXBlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgIC1vLCAtLW91dHB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgT3V0cHV0LmNzICAgICAgICBQYXRoIHRvIE91dHB1dCBmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLW5vLWF1dG8tZ2VuZXJhdGVkLWhlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICBEb24ndCBhZGQgPGF1dG8tZ2VuZXJhdGVkPiBoZWFkZXIgdG8gb3V0cHV0IGZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLW5vLWFjY2VwdC1oZWFkZXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb24ndCBhZGQgPEFjY2VwdD4gaGVhZGVyIHRvIG91dHB1dCBmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLWludGVyZmFjZS1vbmx5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb24ndCBnZW5lcmF0ZSBjb250cmFjdCB0eXBlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLXVzZS1hcGktcmVzcG9uc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gVGFzazxJQXBpUmVzcG9uc2U8VD4+IGluc3RlYWQgb2YgVGFzazxUPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLWludGVybmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZXQgdGhlIGFjY2Vzc2liaWxpdHkgb2YgdGhlIGdlbmVyYXRlZCB0eXBlcyB0byAnaW50ZXJuYWwnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLWNhbmNlbGxhdGlvbi10b2tlbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc2UgY2FuY2VsbGF0aW9uIHRva2VucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLW5vLW9wZXJhdGlvbi1oZWFkZXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb24ndCBnZW5lcmF0ZSBvcGVyYXRpb24gaGVhZGVycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLW5vLWxvZ2dpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb24ndCBsb2cgZXJyb3JzIG9yIGNvbGxlY3QgdGVsZW1ldHJ5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLWFkZGl0aW9uYWwtbmFtZXNwYWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGQgYWRkaXRpb25hbCBuYW1lc3BhY2UgdG8gZ2VuZXJhdGVkIHR5cGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLXVzZS1pc28tZGF0ZS1mb3JtYXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeHBsaWNpdGx5IGZvcm1hdCBkYXRlIHF1ZXJ5IHN0cmluZyBwYXJhbWV0ZXJzIGluIElTTyA4NjAxIHN0YW5kYXJkIGRhdGUgZm9ybWF0IHVzaW5nIGRlbGltaXRlcnMgKDIwMjMtMDYtMTUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLW11bHRpcGxlLWludGVyZmFjZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZW5lcmF0ZSBhIFJlZml0IGludGVyZmFjZSBmb3IgZWFjaCBlbmRwb2ludC4gTWF5IGJlIG9uZSBvZiBCeUVuZHBvaW50LCBCeVRhZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLW1hdGNoLXBhdGggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPbmx5IGluY2x1ZGUgUGF0aHMgdGhhdCBtYXRjaCB0aGUgcHJvdmlkZWQgcmVndWxhciBleHByZXNzaW9uLiBNYXkgYmUgc2V0IG11bHRpcGxlIHRpbWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLXRhZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPbmx5IGluY2x1ZGUgRW5kcG9pbnRzIHRoYXQgY29udGFpbiB0aGlzIHRhZy4gTWF5IGJlIHNldCBtdWx0aXBsZSB0aW1lcyBhbmQgcmVzdWx0IGluIE9SJ2VkIGV2YWx1YXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLXNraXAtdmFsaWRhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTa2lwIHZhbGlkYXRpb24gb2YgdGhlIE9wZW5BUEkgc3BlY2lmaWNhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLW5vLWRlcHJlY2F0ZWQtb3BlcmF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICBEb24ndCBnZW5lcmF0ZSBkZXByZWNhdGVkIG9wZXJhdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLW9wZXJhdGlvbi1uYW1lLXRlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgICAgICBHZW5lcmF0ZSBvcGVyYXRpb24gbmFtZXMgdXNpbmcgcGF0dGVybi4gV2hlbiB1c2luZyAtLW11bHRpcGxlLWludGVyZmFjZXMgQnlFbmRwb2ludCwgdGhpcyBpcyBuYW1lIG9mIHRoZSBFeGVjdXRlKCkgbWV0aG9kIGluIHRoZSBpbnRlcmZhY2UKICAgICAgICAtLW9wdGlvbmFsLW51bGxhYmxlLXBhcmFtZXRlcnMgICAgICAgICAgICAgICAgICAgICBHZW5lcmF0ZSBudWxsYWJsZSBwYXJhbWV0ZXJzIGFzIG9wdGlvbmFsIHBhcmFtZXRlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLXRyaW0tdW51c2VkLXNjaGVtYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW1vdmVzIHVucmVmZXJlbmNlZCBjb21wb25lbnRzIHNjaGVtYSB0byBrZWVwIHRoZSBnZW5lcmF0ZWQgb3V0cHV0IHRvIGEgbWluaW11bSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAtLWtlZXAtc2NoZW1hICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3JjZSB0byBrZWVwIG1hdGNoaW5nIHNjaGVtYSwgdXNlcyByZWd1bGFyIGV4cHJlc3Npb25zLiBVc2UgdG9nZXRoZXIgd2l0aCAiLS10cmltLXVudXNlZC1zY2hlbWEiLiBDYW4gYmUgc2V0IG11bHRpcGxlIHRpbWVzICAgICAgICAgICAgICAKICAgICAgICAtLW5vLWJhbm5lciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb24ndCBzaG93IGRvbmF0aW9uIGJhbm5lciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApgYGAKClRvIGdlbmVyYXRlIGNvZGUgZnJvbSBhbiBPcGVuQVBJIHNwZWNpZmljYXRpb25zIGZpbGUsIHJ1biB0aGUgZm9sbG93aW5nOgoKYGBgc2hlbGwKJCByZWZpdHRlciBbcGF0aCB0byBPcGVuQVBJIHNwZWMgZmlsZV0gLS1uYW1lc3BhY2UgIltZb3VyLk5hbWVzcGFjZS5PZi5DaG9pY2UuR2VuZXJhdGVkQ29kZV0iCmBgYAoKVGhpcyB3aWxsIGdlbmVyYXRlIGEgZmlsZSBjYWxsZWQgYE91dHB1dC5jc2Agd2hpY2ggY29udGFpbnMgdGhlIFJlZml0IGludGVyZmFjZSBhbmQgY29udHJhY3QgY2xhc3NlcyBnZW5lcmF0ZWQgdXNpbmcgW05Td2FnXShodHRwczovL2dpdGh1Yi5jb20vUmljb1N1dGVyL05Td2FnKQoKIyMgU291cmNlIEdlbmVyYXRvcgoKUmVmaXR0ZXIgaXMgYXZhaWxhYmxlIGFzIGEgQyMgU291cmNlIEdlbmVyYXRvciB0aGF0IHVzZXMgdGhlIFtSZWZpdHRlci5Db3JlXShodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvdHJlZS9tYWluL3NyYy9SZWZpdHRlci5Db3JlKSBsaWJyYXJ5IGZvciBnZW5lcmF0aW5nIGEgUkVTVCBBUEkgQ2xpZW50IHVzaW5nIHRoZSBbUmVmaXRdKGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdGl2ZXVpL3JlZml0KSBsaWJyYXJ5LiBSZWZpdHRlciBjYW4gZ2VuZXJhdGUgdGhlIFJlZml0IGludGVyZmFjZSBmcm9tIE9wZW5BUEkgc3BlY2lmaWNhdGlvbnMKClRoZSBSZWZpdHRlciBzb3VyY2UgZ2VuZXJhdG9yIGlzIGEgYml0IHVudHJhZGl0aW9uYWwgaW4gYSBzZW5zZSB0aGF0IGl0IGNyZWF0ZXMgYSBmb2xkZXIgY2FsbGVkIGBHZW5lcmF0ZWRgIGluIHRoZSBzYW1lIGxvY2F0aW9uIGFzIHRoZSBgLnJlZml0dGVyYCBmaWxlIGFuZCBnZW5lcmF0ZXMgZmlsZXMgdG8gZGlzayB1bmRlciB0aGUgYEdlbmVyYXRlZGAgZm9sZGVyIChjYW4gYmUgY2hhbmdlZCB3aXRoIGAtLW91dHB1dEZvbGRlcmApLiBUaGUgc291cmNlIGdlbmVyYXRvciBvdXRwdXQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSBwcm9qZWN0IGFuZCBjb21taXR0ZWQgdG8gc291cmNlIGNvbnRyb2wuIFRoaXMgaXMgZG9uZSBiZWNhdXNlIHRoZXJlIGlzIG5vIG90aGVyIHdheSB0byB0cmlnZ2VyIHRoZSBSZWZpdCBzb3VyY2UgZ2VuZXJhdG9yIHRvIHBpY2t1cCB0aGUgUmVmaXR0ZXIgZ2VuZXJhdGVkIGNvZGUgCgoqKiooVHJhbnNsYXRpb246IEkgY291bGRuJ3QgZm9yIHRoZSBsaWZlIG9mIG1lIGZpZ3VyZSBob3cgdG8gZ2V0IHRoYXQgdG8gd29yaywgc29ycnkpKioqCgojIyMgSW5zdGFsbGF0aW9uCgpUaGUgc291cmNlIGdlbmVyYXRvciBpcyBkaXN0cmlidXRlZCBhcyBhIE51R2V0IHBhY2thZ2UgYW5kIHNob3VsZCBiZSBpbnN0YWxsZWQgdG8gdGhlIHByb2plY3QgdGhhdCB3aWxsIGNvbnRhaW4gdGhlIGdlbmVyYXRlZCBjb2RlCgpgYGBzaGVsbApkb3RuZXQgYWRkIHBhY2thZ2UgUmVmaXR0ZXIuU291cmNlR2VuZXJhdG9yCmBgYAoKIyMjIFVzYWdlCgpUaGlzIHNvdXJjZSBnZW5lcmF0b3IgZ2VuZXJhdGVzIGNvZGUgYmFzZWQgb24gYW55IGAucmVmaXR0ZXJgIGZpbGUgaW5jbHVkZWQgdG8gdGhlIHByb2plY3QgYXMgYEFkZGl0aW9uYWxGaWxlc2AuCgpUaGUgZ2VuZXJhdG9yIGNhbiBhdXRvbWF0aWNhbGx5IGRldGVjdCBhbGwgYC5yZWZpdHRlcmAgZmlsZXMgaW5zaWRlIHRoZSBwcm9qZWN0IHRoYXQgcmVmZXJlbmNlZCB0aGUgYFJlZml0dGVyLlNvdXJjZUdlbmVyYXRvcmAgcGFja2FnZSBhbmQgdGhlcmUgaXMgbm8gbmVlZCB0byBpbmNsdWRlIHRoZW0gbWFudWFsbHkgYXMgYEFkZGl0aW9uYWxGaWxlc2AKCiMjIyAuUmVmaXR0ZXIgRmlsZSBmb3JtYXQKClRoZSBmb2xsb3dpbmcgaXMgYW4gZXhhbXBsZSBgLnJlZml0dGVyYCBmaWxlCgpgYGBqcwp7CiAgIm9wZW5BcGlQYXRoIjogIi9wYXRoL3RvL3lvdXIvb3BlbkFQSSIsIC8vIFJlcXVpcmVkCiAgIm5hbWVzcGFjZSI6ICJPcmcuU3lzdGVtLlNlcnZpY2UuQXBpLkdlbmVyYXRlZENvZGUiLCAvLyBPcHRpb25hbC4gRGVmYXVsdD1HZW5lcmF0ZWRDb2RlCiAgIm5hbWluZyI6IHsKICAgICJ1c2VPcGVuQXBpVGl0bGUiOiBmYWxzZSwgLy8gT3B0aW9uYWwuIERlZmF1bHQ9dHJ1ZQogICAgImludGVyZmFjZU5hbWUiOiAiTXlBcGlDbGllbnQiIC8vIE9wdGlvbmFsLiBEZWZhdWx0PUFwaUNsaWVudAogIH0sCiAgImdlbmVyYXRlQ29udHJhY3RzIjogdHJ1ZSwgLy8gT3B0aW9uYWwuIERlZmF1bHQ9dHJ1ZQogICJnZW5lcmF0ZVhtbERvY0NvZGVDb21tZW50cyI6IHRydWUsIC8vIE9wdGlvbmFsLiBEZWZhdWx0PXRydWUKICAiYWRkQXV0b0dlbmVyYXRlZEhlYWRlciI6IHRydWUsIC8vIE9wdGlvbmFsLiBEZWZhdWx0PXRydWUKICAiYWRkQWNjZXB0SGVhZGVycyI6IHRydWUsIC8vIE9wdGlvbmFsLiBEZWZhdWx0PXRydWUKICAicmV0dXJuSUFwaVJlc3BvbnNlIjogZmFsc2UsIC8vIE9wdGlvbmFsLiBEZWZhdWx0PWZhbHNlCiAgImdlbmVyYXRlT3BlcmF0aW9uSGVhZGVycyI6IHRydWUsIC8vIE9wdGlvbmFsLiBEZWZhdWx0PXRydWUKICAidHlwZUFjY2Vzc2liaWxpdHkiOiAiUHVibGljIiwgLy8gT3B0aW9uYWwuIFZhbHVlcz1QdWJsaWN8SW50ZXJuYWwuIERlZmF1bHQ9UHVibGljCiAgInVzZUNhbmNlbGxhdGlvblRva2VucyI6IGZhbHNlLCAvLyBPcHRpb25hbC4gRGVmYXVsdD1mYWxzZQogICJ1c2VJc29EYXRlRm9ybWF0IjogZmFsc2UsIC8vIE9wdGlvbmFsLiBEZWZhdWx0PWZhbHNlCiAgIm11bHRpcGxlSW50ZXJmYWNlcyI6ICJCeUVuZHBvaW50IiwgLy8gT3B0aW9uYWwuIE1heSBiZSBvbmUgb2YgIkJ5RW5kcG9pbnQiIG9yICJCeVRhZyIKICAiZ2VuZXJhdGVEZXByZWNhdGVkT3BlcmF0aW9ucyI6IGZhbHNlLCAvLyBPcHRpb25hbC4gRGVmYXVsdD10cnVlCiAgIm9wZXJhdGlvbk5hbWVUZW1wbGF0ZSI6ICJ7b3BlcmF0aW9uTmFtZX1Bc3luYyIsIC8vIE9wdGlvbmFsLiBNdXN0IGNvbnRhaW4ge29wZXJhdGlvbk5hbWV9IHdoZW4gbXVsdGlwbGVJbnRlcmZhY2VzICE9IEJ5RW5kcG9pbnQKICAib3B0aW9uYWxQYXJhbWV0ZXJzIjogZmFsc2UsIC8vIE9wdGlvbmFsLiBEZWZhdWx0PWZhbHNlCiAgIm91dHB1dEZvbGRlciI6ICIuLi9DdXN0b21PdXRwdXQiIC8vIE9wdGlvbmFsLiBEZWZhdWx0PS4vR2VuZXJhdGVkCiAgIm91dHB1dEZpbGVuYW1lIjogIlJlZml0SW50ZXJmYWNlLmNzIiwgLy8gT3B0aW9uYWwuIERlZmF1bHQ9T3V0cHV0LmNzIGZvciBDTEkgdG9vbAogICJhZGRpdGlvbmFsTmFtZXNwYWNlcyI6IFsgLy8gT3B0aW9uYWwKICAgICJOYW1lc3BhY2UxIiwKICAgICJOYW1lc3BhY2UyIgogIF0sCiAgImluY2x1ZGVUYWdzIjogWyAvLyBPcHRpb25hbC4gT3BlbkFQSSBUYWcgdG8gaW5jbHVkZSB3aGVuIGdlbmVyYXRpbmcgY29kZQogICAgIlBldCIsCiAgICAiU3RvcmUiLAogICAgIlVzZXIiCiAgXSwKICAiaW5jbHVkZVBhdGhNYXRjaGVzIjogWyAvLyBPcHRpb25hbC4gT25seSBpbmNsdWRlIFBhdGhzIHRoYXQgbWF0Y2ggdGhlIHByb3ZpZGVkIHJlZ3VsYXIgZXhwcmVzc2lvbgogICAgIl4vcGV0Ly4qIiwKICAgICJeL3N0b3JlLy4qIgogIF0sCiAgInRyaW1VbnVzZWRTY2hlbWEiOiBmYWxzZSwgLy8gT3B0aW9uYWwuIERlZmF1bHQ9ZmFsc2UKICAia2VlcFNjaGVtYVBhdHRlcm5zIjogWyAvLyBPcHRpb25hbC4gRm9yY2UgdG8ga2VlcCBtYXRjaGluZyBzY2hlbWEsIHVzZXMgcmVndWxhciBleHByZXNzaW9ucy4gVXNlIHRvZ2V0aGVyIHdpdGggdHJpbVVudXNlZFNjaGVtYT10cnVlCiAgICAiXk1vZGVsJCIsCiAgICAiXlBlcnNvbi4rIgogIF0sCiAgImRlcGVuZGVuY3lJbmplY3Rpb25TZXR0aW5ncyI6IHsgLy8gT3B0aW9uYWwKICAgICJiYXNlVXJsIjogImh0dHBzOi8vcGV0c3RvcmUzLnN3YWdnZXIuaW8vYXBpL3YzIiwgLy8gT3B0aW9uYWwuIExlYXZlIHRoaXMgYmxhbmsgdG8gc2V0IHRoZSBiYXNlIGFkZHJlc3MgbWFudWFsbHkKICAgICJodHRwTWVzc2FnZUhhbmRsZXJzIjogWyAvLyBPcHRpb25hbAogICAgICAgICJBdXRob3JpemF0aW9uTWVzc2FnZUhhbmRsZXIiLCAKICAgICAgICAiVGVsZW1ldHJ5TWVzc2FnZUhhbmRsZXIiIAogICAgXSwKICAgICJ1c2VQb2xseSI6IHRydWUsIC8vIE9wdGlvbmFsLiBTZXQgdGhpcyB0byB0cnVlLCB0byBjb25maWd1cmUgUG9sbHkgd2l0aCBhIHJldHJ5IHBvbGljeSB0aGF0IHVzZXMgYSBqaXR0ZXJlZCBiYWNrb2ZmLiBEZWZhdWx0PWZhbHNlCiAgICAicG9sbHlNYXhSZXRyeUNvdW50IjogMywgLy8gT3B0aW9uYWwuIERlZmF1bHQ9NgogICAgImZpcnN0QmFja29mZlJldHJ5SW5TZWNvbmRzIjogMC41IC8vIE9wdGlvbmFsLiBEZWZhdWx0PTEuMAogIH0sCiAgImNvZGVHZW5lcmF0b3JTZXR0aW5ncyI6IHsgLy8gT3B0aW9uYWwuIERlZmF1bHQgc2V0dGluZ3MgYXJlIHRoZSB2YWx1ZXMgc2V0IGluIHRoaXMgZXhhbXBsZQogICAgInJlcXVpcmVkUHJvcGVydGllc011c3RCZURlZmluZWQiOiB0cnVlLAogICAgImdlbmVyYXRlRGF0YUFubm90YXRpb25zIjogdHJ1ZSwKICAgICJhbnlUeXBlIjogIm9iamVjdCIsCiAgICAiZGF0ZVR5cGUiOiAiU3lzdGVtLkRhdGVUaW1lT2Zmc2V0IiwKICAgICJkYXRlVGltZVR5cGUiOiAiU3lzdGVtLkRhdGVUaW1lT2Zmc2V0IiwKICAgICJ0aW1lVHlwZSI6ICJTeXN0ZW0uVGltZVNwYW4iLAogICAgInRpbWVTcGFuVHlwZSI6ICJTeXN0ZW0uVGltZVNwYW4iLAogICAgImFycmF5VHlwZSI6ICJTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5JQ29sbGVjdGlvbiIsCiAgICAiZGljdGlvbmFyeVR5cGUiOiAiU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuSURpY3Rpb25hcnkiLAogICAgImFycmF5SW5zdGFuY2VUeXBlIjogIlN5c3RlbS5Db2xsZWN0aW9ucy5PYmplY3RNb2RlbC5Db2xsZWN0aW9uIiwKICAgICJkaWN0aW9uYXJ5SW5zdGFuY2VUeXBlIjogIlN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkRpY3Rpb25hcnkiLAogICAgImFycmF5QmFzZVR5cGUiOiAiU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsLkNvbGxlY3Rpb24iLAogICAgImRpY3Rpb25hcnlCYXNlVHlwZSI6ICJTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5EaWN0aW9uYXJ5IiwKICAgICJwcm9wZXJ0eVNldHRlckFjY2Vzc01vZGlmaWVyIjogIiIsCiAgICAiZ2VuZXJhdGVJbW11dGFibGVBcnJheVByb3BlcnRpZXMiOiBmYWxzZSwKICAgICJnZW5lcmF0ZUltbXV0YWJsZURpY3Rpb25hcnlQcm9wZXJ0aWVzIjogZmFsc2UsCiAgICAiaGFuZGxlUmVmZXJlbmNlcyI6IGZhbHNlLAogICAgImpzb25TZXJpYWxpemVyU2V0dGluZ3NUcmFuc2Zvcm1hdGlvbk1ldGhvZCI6IG51bGwsCiAgICAiZ2VuZXJhdGVKc29uTWV0aG9kcyI6IGZhbHNlLAogICAgImVuZm9yY2VGbGFnRW51bXMiOiBmYWxzZSwKICAgICJpbmxpbmVOYW1lZERpY3Rpb25hcmllcyI6IGZhbHNlLAogICAgImlubGluZU5hbWVkVHVwbGVzIjogdHJ1ZSwKICAgICJpbmxpbmVOYW1lZEFycmF5cyI6IGZhbHNlLAogICAgImdlbmVyYXRlT3B0aW9uYWxQcm9wZXJ0aWVzQXNOdWxsYWJsZSI6IGZhbHNlLAogICAgImdlbmVyYXRlTnVsbGFibGVSZWZlcmVuY2VUeXBlcyI6IGZhbHNlLAogICAgImdlbmVyYXRlTmF0aXZlUmVjb3JkcyI6IGZhbHNlLAogICAgImdlbmVyYXRlRGVmYXVsdFZhbHVlcyI6IHRydWUsCiAgICAiaW5saW5lTmFtZWRBbnkiOiBmYWxzZSwKICAgICJleGNsdWRlZFR5cGVOYW1lcyI6IFsKICAgICAgIkV4Y2x1ZGVkVHlwZUZvbyIsCiAgICAgICJFeGNsdWRlZFR5cGVCYXIiCiAgICBdCiAgfQp9CmBgYAoKLSBgb3BlbkFwaVBhdGhgIC0gcG9pbnRzIHRvIHRoZSBPcGVuQVBJIFNwZWNpZmljYXRpb25zIGZpbGUuIFRoaXMgY2FuIGJlIHRoZSBwYXRoIHRvIGEgZmlsZSBzdG9yZWQgb24gZGlzaywgcmVsYXRpdmUgdG8gdGhlIGAucmVmaXR0ZXJgIGZpbGUuIFRoaXMgY2FuIGFsc28gYmUgYSBVUkwgdG8gYSByZW1vdGUgZmlsZSB0aGF0IHdpbGwgYmUgZG93bmxvYWRlZCBvdmVyIEhUVFAvSFRUUFMKLSBgbmFtZXNwYWNlYCAtIHRoZSBuYW1lc3BhY2UgdXNlZCBpbiB0aGUgZ2VuZXJhdGVkIGNvZGUuIElmIG5vdCBzcGVjaWZpZWQsIHRoaXMgZGVmYXVsdHMgdG8gYEdlbmVyYXRlZENvZGVgCi0gYG5hbWluZy51c2VPcGVuQXBpVGl0bGVgIC0gYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgT3BlbkFwaSB0aXRsZSBzaG91bGQgYmUgdXNlZC4gRGVmYXVsdCBpcyBgdHJ1ZWAKLSBgbmFtaW5nLmludGVyZmFjZU5hbWVgIC0gdGhlIG5hbWUgb2YgdGhlIGdlbmVyYXRlZCBpbnRlcmZhY2UuIFRoZSBnZW5lcmF0ZWQgY29kZSB3aWxsIGF1dG9tYXRpY2FsbHkgcHJlZml4IHRoaXMgd2l0aCBgSWAgc28gaWYgdGhpcyBzZXQgdG8gYE15QXBpQ2xpZW50YCB0aGVuIHRoZSBnZW5lcmF0ZWQgaW50ZXJmYWNlIGlzIGNhbGxlZCBgSU15QXBpQ2xpZW50YC4gRGVmYXVsdCBpcyBgQXBpQ2xpZW50YAotIGBnZW5lcmF0ZUNvbnRyYWN0c2AgLSBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIGNvbnRyYWN0cyBzaG91bGQgYmUgZ2VuZXJhdGVkLiBBIHVzZSBjYXNlIGZvciB0aGlzIGlzIHNldmVyYWwgQVBJIGNsaWVudHMgdXNlIHRoZSBzYW1lIGNvbnRyYWN0cy4gRGVmYXVsdCBpcyBgdHJ1ZWAKLSBgZ2VuZXJhdGVYbWxEb2NDb2RlQ29tbWVudHNgIC0gYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciBYTUwgZG9jIGNvbW1lbnRzIHNob3VsZCBiZSBnZW5lcmF0ZWQuIERlZmF1bHQgaXMgYHRydWVgCi0gYGFkZEF1dG9HZW5lcmF0ZWRIZWFkZXJgIC0gYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciBYTUwgZG9jIGNvbW1lbnRzIHNob3VsZCBiZSBnZW5lcmF0ZWQuIERlZmF1bHQgaXMgYHRydWVgCi0gYGFkZEFjY2VwdEhlYWRlcnNgIC0gIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdG8gYWRkIGFjY2VwdCBoZWFkZXJzIFtIZWFkZXJzKCJBY2NlcHQ6IGFwcGxpY2F0aW9uL2pzb24iKV0uIERlZmF1bHQgaXMgYHRydWVgCi0gYHJldHVybklBcGlSZXNwb25zZWAgLSBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRvIHJldHVybiBgSUFwaVJlc3BvbnNlPFQ+YCBvYmplY3RzLiBEZWZhdWx0IGlzIGBmYWxzZWAKLSBgZ2VuZXJhdGVPcGVyYXRpb25IZWFkZXJzYCAtIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdG8gdXNlIG9wZXJhdGlvbiBoZWFkZXJzIGluIHRoZSBnZW5lcmF0ZWQgbWV0aG9kcy4gRGVmYXVsdCBpcyBgdHJ1ZWAKLSBgdHlwZUFjY2Vzc2liaWxpdHlgIC0gdGhlIGdlbmVyYXRlZCB0eXBlIGFjY2Vzc2liaWxpdHkuIFBvc3NpYmxlIHZhbHVlcyBhcmUgYFB1YmxpY2AgYW5kIGBJbnRlcm5hbGAuIERlZmF1bHQgaXMgYFB1YmxpY2AKLSBgdXNlQ2FuY2VsbGF0aW9uVG9rZW5zYCAtIFVzZSBjYW5jZWxsYXRpb24gdG9rZW5zIGluIHRoZSBnZW5lcmF0ZWQgbWV0aG9kcy4gRGVmYXVsdCBpcyBgZmFsc2VgCi0gYHVzZUlzb0RhdGVGb3JtYXRgIC0gU2V0IHRvIGB0cnVlYCB0byBleHBsaWNpdGx5IGZvcm1hdCBkYXRlIHF1ZXJ5IHN0cmluZyBwYXJhbWV0ZXJzIGluIElTTyA4NjAxIHN0YW5kYXJkIGRhdGUgZm9ybWF0IHVzaW5nIGRlbGltaXRlcnMgKGZvciBleGFtcGxlOiAyMDIzLTA2LTE1KS4gRGVmYXVsdCBpcyBgZmFsc2VgCi0gYG11bHRpcGxlSW50ZXJmYWNlc2AgLSBTZXQgdG8gYEJ5RW5kcG9pbnRgIHRvIGdlbmVyYXRlIGFuIGludGVyZmFjZSBmb3IgZWFjaCBlbmRwb2ludCwgb3IgYEJ5VGFnYCB0byBncm91cCBFbmRwb2ludHMgYnkgdGhlaXIgVGFnIChsaWtlIFN3YWdnZXJVSSBncm91cHMgdGhlbSkuCi0gYG91dHB1dEZvbGRlcmAgLSBhIHN0cmluZyBkZXNjcmliaW5nIGEgcmVsYXRpdmUgcGF0aCB0byBhIGRlc2lyZWQgb3V0cHV0IGZvbGRlci4gRGVmYXVsdCBpcyBgLi9HZW5lcmF0ZWRgCi0gYG91dHB1dEZpbGVuYW1lYCAtIE91dHB1dCBmaWxlbmFtZS4gRGVmYXVsdCBpcyBgT3V0cHV0LmNzYCB3aGVuIHVzZWQgZnJvbSB0aGUgQ0xJIHRvb2wsIG90aGVyd2lzZSBpdHMgdGhlIC5yZWZpdHRlciBmaWxlbmFtZS4gU28gYFBldHN0b3JlLnJlZml0dGVyYCBiZWNvbWVzIGBQZXRzdG9yZS5jc2AuCi0gYGFkZGl0aW9uYWxOYW1lc3BhY2VzYCAtIEEgY29sbGVjdGlvbiBvZiBhZGRpdGlvbmFsIG5hbWVzcGFjZXMgdG8gaW5jbHVkZSBpbiB0aGUgZ2VuZXJhdGVkIGZpbGUuIEEgdXNlIGNhc2UgZm9yIHRoaXMgaXMgd2hlbiB5b3Ugd2FudCB0byByZXVzZSBjb250cmFjdHMgZnJvbSBhIGRpZmZlcmVudCBuYW1lc3BhY2UgdGhhbiB0aGUgZ2VuZXJhdGVkIGNvZGUuIERlZmF1bHQgaXMgZW1wdHkKLSBgaW5jbHVkZVRhZ3NgIC0gQSBjb2xsZWN0aW9uIG9mIHRhZ3MgdG8gdXNlIGEgZmlsdGVyIGZvciBpbmNsdWRpbmcgZW5kcG9pbnRzIHRoYXQgY29udGFpbiB0aGlzIHRhZy4KLSBgaW5jbHVkZVBhdGhNYXRjaGVzYCAtIEEgY29sbGVjdGlvbiBvZiByZWd1bGFyIGV4cHJlc3Npb25zIHVzZWQgdG8gZmlsdGVyIHBhdGhzLgotIGBnZW5lcmF0ZURlcHJlY2F0ZWRPcGVyYXRpb25zYCAtIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgZGVwcmVjYXRlZCBvcGVyYXRpb25zIHNob3VsZCBiZSBnZW5lcmF0ZWQgb3Igc2tpcHBlZC4gRGVmYXVsdCBpcyBgdHJ1ZWAKLSBgb3BlcmF0aW9uTmFtZVRlbXBsYXRlYCAtIEdlbmVyYXRlIG9wZXJhdGlvbiBuYW1lcyB1c2luZyBwYXR0ZXJuLiBUaGlzIG11c3QgY29udGFpbiB0aGUgc3RyaW5nIHtvcGVyYXRpb25OYW1lfS4gQW4gZXhhbXBsZSB1c2FnZSBvZiB0aGlzIGNvdWxkIGJlIGB7b3BlcmF0aW9uTmFtZX1Bc3luY2AgdG8gc3VmZml4IGFsbCBtZXRob2QgbmFtZXMgd2l0aCBBc3luYwotIGBvcHRpb25hbFBhcmFtZXRlcnNgIC0gR2VuZXJhdGUgbm9uLXJlcXVpcmVkIHBhcmFtZXRlcnMgYXMgbnVsbGFibGUgb3B0aW9uYWwgcGFyYW1ldGVycwotIGB0cmltVW51c2VkU2NoZW1hYCAtIFJlbW92ZXMgdW5yZWZlcmVuY2VkIGNvbXBvbmVudHMgc2NoZW1hIHRvIGtlZXAgdGhlIGdlbmVyYXRlZCBvdXRwdXQgdG8gYSBtaW5pbXVtCi0gYGtlZXBTY2hlbWFQYXR0ZXJuc2A6IEEgY29sbGVjdGlvbiBvZiByZWd1bGFyIGV4cHJlc3Npb25zIHRvIGZvcmNlIHRvIGtlZXAgbWF0Y2hpbmcgc2NoZW1hLiBUaGlzIGlzIHVzZWQgdG9nZXRoZXIgd2l0aCBgdHJpbVVudXNlZFNjaGVtYWAKLSBgZGVwZW5kZW5jeUluamVjdGlvblNldHRpbmdzYCAtIFNldHRpbmcgdGhpcyB3aWxsIGdlbmVyYXRlZCBleHRlbnNpb24gbWV0aG9kcyB0byBgSVNlcnZpY2VDb2xsZWN0aW9uYCBmb3IgY29uZmlndXJpbmcgUmVmaXQgY2xpZW50cwogIC0gYGJhc2VVcmxgIC0gVXNlZCBhcyB0aGUgSHR0cENsaWVudCBiYXNlIGFkZHJlc3MuIExlYXZlIHRoaXMgYmxhbmsgdG8gbWFudWFsbHkgc2V0IHRoZSBiYXNlIFVSTAogIC0gYGh0dHBNZXNzYWdlSGFuZGxlcnNgIC0gQSBjb2xsZWN0aW9uIG9mIGBIdHRwTWVzc2FnZUhhbmRsZXJgIHRoYXQgaXMgYWRkZWQgdG8gdGhlIEh0dHBDbGllbnQgcGlwZWxpbmUKICAtIGB1c2VQb2xseWAgLSBTZXQgdGhpcyB0byB0cnVlIHRvIGNvbmZpZ3VyZSB0aGUgSHR0cENsaWVudCB0byB1c2UgUG9sbHkgdXNpbmcgYSByZXRyeSBwb2xpY3kgd2l0aCBhIGppdHRlcmVkIGJhY2tvZmYKICAtIGBwb2xseU1heFJldHJ5Q291bnRgIC0gVGhpcyBpcyB0aGUgbWF4IHJldHJ5IGNvdW50IHVzZWQgaW4gdGhlIFBvbGx5IHJldHJ5IHBvbGljeS4gRGVmYXVsdCBpcyA2CiAgLSBgZmlyc3RCYWNrb2ZmUmV0cnlJblNlY29uZHNgIC0gVGhpcyBpcyB0aGUgZHVyYXRpb24gb2YgdGhlIGluaXRpYWwgcmV0cnkgYmFja29mZi4gRGVmYXVsdCBpcyAxIHNlY29uZAotIGBjb2RlR2VuZXJhdG9yU2V0dGluZ3NgIC0gU2V0dGluZyB0aGlzIGFsbG93cyBjdXN0b21pemF0aW9uIG9mIHRoZSBOU3dhZyBnZW5lcmF0ZWQgdHlwZXMgYW5kIGNvbnRyYWN0cwogIC0gYHJlcXVpcmVkUHJvcGVydGllc011c3RCZURlZmluZWRgIC0gRGVmYXVsdCBpcyB0cnVlLAogIC0gYGdlbmVyYXRlRGF0YUFubm90YXRpb25zYCAtIERlZmF1bHQgaXMgdHJ1ZSwKICAtIGBhbnlUeXBlYCAtIERlZmF1bHQgaXMgYG9iamVjdGAsCiAgLSBgZGF0ZVR5cGVgIC0gRGVmYXVsdCBpcyBgU3lzdGVtLkRhdGVUaW1lT2Zmc2V0YCwKICAtIGBkYXRlVGltZVR5cGVgIC0gRGVmYXVsdCBpcyBgU3lzdGVtLkRhdGVUaW1lT2Zmc2V0YCwKICAtIGB0aW1lVHlwZWAgLSBEZWZhdWx0IGlzIGBTeXN0ZW0uVGltZVNwYW5gLAogIC0gYHRpbWVTcGFuVHlwZWAgLSBEZWZhdWx0IGlzIGBTeXN0ZW0uVGltZVNwYW5gLAogIC0gYGFycmF5VHlwZWAgLSBEZWZhdWx0IGlzIGBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5JQ29sbGVjdGlvbmAsCiAgLSBgZGljdGlvbmFyeVR5cGVgIC0gRGVmYXVsdCBpcyBgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuSURpY3Rpb25hcnlgLAogIC0gYGFycmF5SW5zdGFuY2VUeXBlYCAtIERlZmF1bHQgaXMgYFN5c3RlbS5Db2xsZWN0aW9ucy5PYmplY3RNb2RlbC5Db2xsZWN0aW9uYCwKICAtIGBkaWN0aW9uYXJ5SW5zdGFuY2VUeXBlYCAtIERlZmF1bHQgaXMgYFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkRpY3Rpb25hcnlgLAogIC0gYGFycmF5QmFzZVR5cGVgIC0gRGVmYXVsdCBpcyBgU3lzdGVtLkNvbGxlY3Rpb25zLk9iamVjdE1vZGVsLkNvbGxlY3Rpb25gLAogIC0gYGRpY3Rpb25hcnlCYXNlVHlwZWAgLSBEZWZhdWx0IGlzIGBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5EaWN0aW9uYXJ5YCwKICAtIGBwcm9wZXJ0eVNldHRlckFjY2Vzc01vZGlmaWVyYCAtIERlZmF1bHQgaXMgYGAsCiAgLSBgZ2VuZXJhdGVJbW11dGFibGVBcnJheVByb3BlcnRpZXNgIC0gRGVmYXVsdCBpcyBmYWxzZSwKICAtIGBnZW5lcmF0ZUltbXV0YWJsZURpY3Rpb25hcnlQcm9wZXJ0aWVzYCAtIERlZmF1bHQgaXMgZmFsc2UsCiAgLSBgaGFuZGxlUmVmZXJlbmNlc2AgLSBEZWZhdWx0IGlzIGZhbHNlLAogIC0gYGpzb25TZXJpYWxpemVyU2V0dGluZ3NUcmFuc2Zvcm1hdGlvbk1ldGhvZGAgLSBEZWZhdWx0IGlzIG51bGwsCiAgLSBgZ2VuZXJhdGVKc29uTWV0aG9kc2AgLSBEZWZhdWx0IGlzIGZhbHNlLAogIC0gYGVuZm9yY2VGbGFnRW51bXNgIC0gRGVmYXVsdCBpcyBmYWxzZSwKICAtIGBpbmxpbmVOYW1lZERpY3Rpb25hcmllc2AgLSBEZWZhdWx0IGlzIGZhbHNlLAogIC0gYGlubGluZU5hbWVkVHVwbGVzYCAtIERlZmF1bHQgaXMgdHJ1ZSwKICAtIGBpbmxpbmVOYW1lZEFycmF5c2AgLSBEZWZhdWx0IGlzIGZhbHNlLAogIC0gYGdlbmVyYXRlT3B0aW9uYWxQcm9wZXJ0aWVzQXNOdWxsYWJsZWAgLSBEZWZhdWx0IGlzIGZhbHNlLAogIC0gYGdlbmVyYXRlTnVsbGFibGVSZWZlcmVuY2VUeXBlc2AgLSBEZWZhdWx0IGlzIGZhbHNlLAogIC0gYGdlbmVyYXRlTmF0aXZlUmVjb3Jkc2AgLSBEZWZhdWx0IGlzIGZhbHNlCiAgLSBgZ2VuZXJhdGVEZWZhdWx0VmFsdWVzYCAtIERlZmF1bHQgaXMgdHJ1ZQogIC0gYGlubGluZU5hbWVkQW55YCAtIERlZmF1bHQgaXMgZmFsc2UKICAtIGBleGNsdWRlZFR5cGVOYW1lc2AgLSBEZWZhdWx0IGlzIGVtcHR5CgoKIyBVc2luZyB0aGUgZ2VuZXJhdGVkIGNvZGUKCkhlcmUncyBhbiBleGFtcGxlIGdlbmVyYXRlZCBvdXRwdXQgZnJvbSB0aGUgW1N3YWdnZXIgUGV0c3RvcmUgZXhhbXBsZV0oaHR0cHM6Ly9wZXRzdG9yZTMuc3dhZ2dlci5pbykgdXNpbmcgdGhlIGRlZmF1bHQgc2V0dGluZ3MKCioqQ0xJIFRvb2wqKgoKYGBgYmFzaAokIHJlZml0dGVyIC4vb3BlbmFwaS5qc29uIC0tbmFtZXNwYWNlICJZb3VyLk5hbWVzcGFjZS5PZi5DaG9pY2UuR2VuZXJhdGVkQ29kZSIKYGBgCgoqKlNvdXJjZSBHZW5lcmF0b3IgKioqLnJlZml0dGVyKioqIGZpbGUqKgoKYGBganNvbgp7CiAgIm9wZW5BcGlQYXRoIjogIi4vb3BlbmFwaS5qc29uIiwKICAibmFtZXNwYWNlIjogIllvdXIuTmFtZXNwYWNlLk9mLkNob2ljZS5HZW5lcmF0ZWRDb2RlIgp9CmBgYAoKKipPdXRwdXQqKgoKYGBgY3MKdXNpbmcgUmVmaXQ7CnVzaW5nIFN5c3RlbS5UaHJlYWRpbmcuVGFza3M7CnVzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOwoKbmFtZXNwYWNlIFlvdXIuTmFtZXNwYWNlLk9mLkNob2ljZS5HZW5lcmF0ZWRDb2RlCnsKICAgIHB1YmxpYyBwYXJ0aWFsIGludGVyZmFjZSBJU3dhZ2dlclBldHN0b3JlCiAgICB7CiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBVcGRhdGUgYW4gZXhpc3RpbmcgcGV0IGJ5IElkCiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbUHV0KCIvcGV0IildCiAgICAgICAgVGFzazxQZXQ+IFVwZGF0ZVBldChbQm9keV0gUGV0IGJvZHkpOwoKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIEFkZCBhIG5ldyBwZXQgdG8gdGhlIHN0b3JlCiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbUG9zdCgiL3BldCIpXQogICAgICAgIFRhc2s8UGV0PiBBZGRQZXQoW0JvZHldIFBldCBib2R5KTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBNdWx0aXBsZSBzdGF0dXMgdmFsdWVzIGNhbiBiZSBwcm92aWRlZCB3aXRoIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmdzCiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbR2V0KCIvcGV0L2ZpbmRCeVN0YXR1cyIpXQogICAgICAgIFRhc2s8SUNvbGxlY3Rpb248UGV0Pj4gRmluZFBldHNCeVN0YXR1cyhbUXVlcnldIFN0YXR1cz8gc3RhdHVzKTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBNdWx0aXBsZSB0YWdzIGNhbiBiZSBwcm92aWRlZCB3aXRoIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmdzLiBVc2UgdGFnMSwgdGFnMiwgdGFnMyBmb3IgdGVzdGluZy4KICAgICAgICAvLy8gPC9zdW1tYXJ5PgogICAgICAgIFtHZXQoIi9wZXQvZmluZEJ5VGFncyIpXQogICAgICAgIFRhc2s8SUNvbGxlY3Rpb248UGV0Pj4gRmluZFBldHNCeVRhZ3MoW1F1ZXJ5KENvbGxlY3Rpb25Gb3JtYXQuTXVsdGkpXSBJRW51bWVyYWJsZTxzdHJpbmc+IHRhZ3MpOwoKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIFJldHVybnMgYSBzaW5nbGUgcGV0CiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbR2V0KCIvcGV0L3twZXRJZH0iKV0KICAgICAgICBUYXNrPFBldD4gR2V0UGV0QnlJZChsb25nIHBldElkKTsKCiAgICAgICAgW1Bvc3QoIi9wZXQve3BldElkfSIpXQogICAgICAgIFRhc2sgVXBkYXRlUGV0V2l0aEZvcm0obG9uZyBwZXRJZCwgW1F1ZXJ5XSBzdHJpbmcgbmFtZSwgW1F1ZXJ5XSBzdHJpbmcgc3RhdHVzKTsKCiAgICAgICAgW0RlbGV0ZSgiL3BldC97cGV0SWR9IildCiAgICAgICAgVGFzayBEZWxldGVQZXQobG9uZyBwZXRJZCwgW0hlYWRlcigiYXBpX2tleSIpXSBzdHJpbmcgYXBpX2tleSk7CgogICAgICAgIFtQb3N0KCIvcGV0L3twZXRJZH0vdXBsb2FkSW1hZ2UiKV0KICAgICAgICBUYXNrPEFwaVJlc3BvbnNlPiBVcGxvYWRGaWxlKGxvbmcgcGV0SWQsIFtRdWVyeV0gc3RyaW5nIGFkZGl0aW9uYWxNZXRhZGF0YSwgU3RyZWFtUGFydCBib2R5KTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBSZXR1cm5zIGEgbWFwIG9mIHN0YXR1cyBjb2RlcyB0byBxdWFudGl0aWVzCiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbR2V0KCIvc3RvcmUvaW52ZW50b3J5IildCiAgICAgICAgVGFzazxJRGljdGlvbmFyeTxzdHJpbmcsIGludD4+IEdldEludmVudG9yeSgpOwoKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIFBsYWNlIGEgbmV3IG9yZGVyIGluIHRoZSBzdG9yZQogICAgICAgIC8vLyA8L3N1bW1hcnk+CiAgICAgICAgW1Bvc3QoIi9zdG9yZS9vcmRlciIpXQogICAgICAgIFRhc2s8T3JkZXI+IFBsYWNlT3JkZXIoW0JvZHldIE9yZGVyIGJvZHkpOwoKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIEZvciB2YWxpZCByZXNwb25zZSB0cnkgaW50ZWdlciBJRHMgd2l0aCB2YWx1ZSA8PSA1IG9yID4gMTAuIE90aGVyIHZhbHVlcyB3aWxsIGdlbmVyYXRlZCBleGNlcHRpb25zCiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbR2V0KCIvc3RvcmUvb3JkZXIve29yZGVySWR9IildCiAgICAgICAgVGFzazxPcmRlcj4gR2V0T3JkZXJCeUlkKGxvbmcgb3JkZXJJZCk7CgogICAgICAgIC8vLyA8c3VtbWFyeT4KICAgICAgICAvLy8gRm9yIHZhbGlkIHJlc3BvbnNlIHRyeSBpbnRlZ2VyIElEcyB3aXRoIHZhbHVlIDwgMTAwMC4gQW55dGhpbmcgYWJvdmUgMTAwMCBvciBub25pbnRlZ2VycyB3aWxsIGdlbmVyYXRlIEFQSSBlcnJvcnMKICAgICAgICAvLy8gPC9zdW1tYXJ5PgogICAgICAgIFtEZWxldGUoIi9zdG9yZS9vcmRlci97b3JkZXJJZH0iKV0KICAgICAgICBUYXNrIERlbGV0ZU9yZGVyKGxvbmcgb3JkZXJJZCk7CgogICAgICAgIC8vLyA8c3VtbWFyeT4KICAgICAgICAvLy8gVGhpcyBjYW4gb25seSBiZSBkb25lIGJ5IHRoZSBsb2dnZWQgaW4gdXNlci4KICAgICAgICAvLy8gPC9zdW1tYXJ5PgogICAgICAgIFtQb3N0KCIvdXNlciIpXQogICAgICAgIFRhc2sgQ3JlYXRlVXNlcihbQm9keV0gVXNlciBib2R5KTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBDcmVhdGVzIGxpc3Qgb2YgdXNlcnMgd2l0aCBnaXZlbiBpbnB1dCBhcnJheQogICAgICAgIC8vLyA8L3N1bW1hcnk+CiAgICAgICAgW1Bvc3QoIi91c2VyL2NyZWF0ZVdpdGhMaXN0IildCiAgICAgICAgVGFzazxVc2VyPiBDcmVhdGVVc2Vyc1dpdGhMaXN0SW5wdXQoW0JvZHldIElFbnVtZXJhYmxlPFVzZXI+IGJvZHkpOwoKICAgICAgICBbR2V0KCIvdXNlci9sb2dpbiIpXQogICAgICAgIFRhc2s8c3RyaW5nPiBMb2dpblVzZXIoW1F1ZXJ5XSBzdHJpbmcgdXNlcm5hbWUsIFtRdWVyeV0gc3RyaW5nIHBhc3N3b3JkKTsKCiAgICAgICAgW0dldCgiL3VzZXIvbG9nb3V0IildCiAgICAgICAgVGFzayBMb2dvdXRVc2VyKCk7CgogICAgICAgIFtHZXQoIi91c2VyL3t1c2VybmFtZX0iKV0KICAgICAgICBUYXNrPFVzZXI+IEdldFVzZXJCeU5hbWUoc3RyaW5nIHVzZXJuYW1lKTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBUaGlzIGNhbiBvbmx5IGJlIGRvbmUgYnkgdGhlIGxvZ2dlZCBpbiB1c2VyLgogICAgICAgIC8vLyA8L3N1bW1hcnk+CiAgICAgICAgW1B1dCgiL3VzZXIve3VzZXJuYW1lfSIpXQogICAgICAgIFRhc2sgVXBkYXRlVXNlcihzdHJpbmcgdXNlcm5hbWUsIFtCb2R5XSBVc2VyIGJvZHkpOwoKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIFRoaXMgY2FuIG9ubHkgYmUgZG9uZSBieSB0aGUgbG9nZ2VkIGluIHVzZXIuCiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbRGVsZXRlKCIvdXNlci97dXNlcm5hbWV9IildCiAgICAgICAgVGFzayBEZWxldGVVc2VyKHN0cmluZyB1c2VybmFtZSk7CiAgICB9Cn0KYGBgCgpIZXJlJ3MgYW4gZXhhbXBsZSBnZW5lcmF0ZWQgb3V0cHV0IGZyb20gdGhlIFtTd2FnZ2VyIFBldHN0b3JlIGV4YW1wbGVdKGh0dHBzOi8vcGV0c3RvcmUzLnN3YWdnZXIuaW8pIGNvbmZpZ3VyZWQgdG8gd3JhcCB0aGUgcmV0dXJuIHR5cGUgaW4gYElBcGlSZXNwb25zZTxUPmAKCioqQ0xJIFRvb2wqKgoKYGBgYmFzaAokIHJlZml0dGVyIC4vb3BlbmFwaS5qc29uIC0tbmFtZXNwYWNlICJZb3VyLk5hbWVzcGFjZS5PZi5DaG9pY2UuR2VuZXJhdGVkQ29kZSIgLS11c2UtYXBpLXJlc3BvbnNlCmBgYAoKKipTb3VyY2UgR2VuZXJhdG9yICoqKi5yZWZpdHRlcioqKiBmaWxlKioKCmBgYGpzb24KewogICJvcGVuQXBpUGF0aCI6ICIuL29wZW5hcGkuanNvbiIsCiAgIm5hbWVzcGFjZSI6ICJZb3VyLk5hbWVzcGFjZS5PZi5DaG9pY2UuR2VuZXJhdGVkQ29kZSIsCiAgInJldHVybklBcGlSZXNwb25zZSI6IHRydWUKfQpgYGAKCioqT3V0cHV0KioKCmBgYGNzCnVzaW5nIFJlZml0Owp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKCm5hbWVzcGFjZSBZb3VyLk5hbWVzcGFjZS5PZi5DaG9pY2UuR2VuZXJhdGVkQ29kZS5XaXRoQXBpUmVzcG9uc2UKewogICAgcHVibGljIHBhcnRpYWwgaW50ZXJmYWNlIElTd2FnZ2VyUGV0c3RvcmUKICAgIHsKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIFVwZGF0ZSBhbiBleGlzdGluZyBwZXQgYnkgSWQKICAgICAgICAvLy8gPC9zdW1tYXJ5PgogICAgICAgIFtQdXQoIi9wZXQiKV0KICAgICAgICBUYXNrPElBcGlSZXNwb25zZTxQZXQ+PiBVcGRhdGVQZXQoW0JvZHldIFBldCBib2R5KTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBBZGQgYSBuZXcgcGV0IHRvIHRoZSBzdG9yZQogICAgICAgIC8vLyA8L3N1bW1hcnk+CiAgICAgICAgW1Bvc3QoIi9wZXQiKV0KICAgICAgICBUYXNrPElBcGlSZXNwb25zZTxQZXQ+PiBBZGRQZXQoW0JvZHldIFBldCBib2R5KTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBNdWx0aXBsZSBzdGF0dXMgdmFsdWVzIGNhbiBiZSBwcm92aWRlZCB3aXRoIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmdzCiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbR2V0KCIvcGV0L2ZpbmRCeVN0YXR1cyIpXQogICAgICAgIFRhc2s8SUFwaVJlc3BvbnNlPElDb2xsZWN0aW9uPFBldD4+PiBGaW5kUGV0c0J5U3RhdHVzKFtRdWVyeV0gU3RhdHVzPyBzdGF0dXMpOwoKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIE11bHRpcGxlIHRhZ3MgY2FuIGJlIHByb3ZpZGVkIHdpdGggY29tbWEgc2VwYXJhdGVkIHN0cmluZ3MuIFVzZSB0YWcxLCB0YWcyLCB0YWczIGZvciB0ZXN0aW5nLgogICAgICAgIC8vLyA8L3N1bW1hcnk+CiAgICAgICAgW0dldCgiL3BldC9maW5kQnlUYWdzIildCiAgICAgICAgVGFzazxJQXBpUmVzcG9uc2U8SUNvbGxlY3Rpb248UGV0Pj4+IEZpbmRQZXRzQnlUYWdzKFtRdWVyeShDb2xsZWN0aW9uRm9ybWF0Lk11bHRpKV0gSUVudW1lcmFibGU8c3RyaW5nPiB0YWdzKTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBSZXR1cm5zIGEgc2luZ2xlIHBldAogICAgICAgIC8vLyA8L3N1bW1hcnk+CiAgICAgICAgW0dldCgiL3BldC97cGV0SWR9IildCiAgICAgICAgVGFzazxJQXBpUmVzcG9uc2U8UGV0Pj4gR2V0UGV0QnlJZChsb25nIHBldElkKTsKCiAgICAgICAgW1Bvc3QoIi9wZXQve3BldElkfSIpXQogICAgICAgIFRhc2sgVXBkYXRlUGV0V2l0aEZvcm0obG9uZyBwZXRJZCwgW1F1ZXJ5XSBzdHJpbmcgbmFtZSwgW1F1ZXJ5XSBzdHJpbmcgc3RhdHVzKTsKCiAgICAgICAgW0RlbGV0ZSgiL3BldC97cGV0SWR9IildCiAgICAgICAgVGFzayBEZWxldGVQZXQobG9uZyBwZXRJZCwgW0hlYWRlcigiYXBpX2tleSIpXSBzdHJpbmcgYXBpX2tleSk7CgogICAgICAgIFtQb3N0KCIvcGV0L3twZXRJZH0vdXBsb2FkSW1hZ2UiKV0KICAgICAgICBUYXNrPElBcGlSZXNwb25zZTxBcGlSZXNwb25zZT4+IFVwbG9hZEZpbGUobG9uZyBwZXRJZCwgW1F1ZXJ5XSBzdHJpbmcgYWRkaXRpb25hbE1ldGFkYXRhLCBTdHJlYW1QYXJ0IGJvZHkpOwoKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIFJldHVybnMgYSBtYXAgb2Ygc3RhdHVzIGNvZGVzIHRvIHF1YW50aXRpZXMKICAgICAgICAvLy8gPC9zdW1tYXJ5PgogICAgICAgIFtHZXQoIi9zdG9yZS9pbnZlbnRvcnkiKV0KICAgICAgICBUYXNrPElBcGlSZXNwb25zZTxJRGljdGlvbmFyeTxzdHJpbmcsIGludD4+PiBHZXRJbnZlbnRvcnkoKTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBQbGFjZSBhIG5ldyBvcmRlciBpbiB0aGUgc3RvcmUKICAgICAgICAvLy8gPC9zdW1tYXJ5PgogICAgICAgIFtQb3N0KCIvc3RvcmUvb3JkZXIiKV0KICAgICAgICBUYXNrPElBcGlSZXNwb25zZTxPcmRlcj4+IFBsYWNlT3JkZXIoW0JvZHldIE9yZGVyIGJvZHkpOwoKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIEZvciB2YWxpZCByZXNwb25zZSB0cnkgaW50ZWdlciBJRHMgd2l0aCB2YWx1ZSA8PSA1IG9yID4gMTAuIE90aGVyIHZhbHVlcyB3aWxsIGdlbmVyYXRlZCBleGNlcHRpb25zCiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbR2V0KCIvc3RvcmUvb3JkZXIve29yZGVySWR9IildCiAgICAgICAgVGFzazxJQXBpUmVzcG9uc2U8T3JkZXI+PiBHZXRPcmRlckJ5SWQobG9uZyBvcmRlcklkKTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBGb3IgdmFsaWQgcmVzcG9uc2UgdHJ5IGludGVnZXIgSURzIHdpdGggdmFsdWUgPCAxMDAwLiBBbnl0aGluZyBhYm92ZSAxMDAwIG9yIG5vbmludGVnZXJzIHdpbGwgZ2VuZXJhdGUgQVBJIGVycm9ycwogICAgICAgIC8vLyA8L3N1bW1hcnk+CiAgICAgICAgW0RlbGV0ZSgiL3N0b3JlL29yZGVyL3tvcmRlcklkfSIpXQogICAgICAgIFRhc2sgRGVsZXRlT3JkZXIobG9uZyBvcmRlcklkKTsKCiAgICAgICAgLy8vIDxzdW1tYXJ5PgogICAgICAgIC8vLyBUaGlzIGNhbiBvbmx5IGJlIGRvbmUgYnkgdGhlIGxvZ2dlZCBpbiB1c2VyLgogICAgICAgIC8vLyA8L3N1bW1hcnk+CiAgICAgICAgW1Bvc3QoIi91c2VyIildCiAgICAgICAgVGFzayBDcmVhdGVVc2VyKFtCb2R5XSBVc2VyIGJvZHkpOwoKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIENyZWF0ZXMgbGlzdCBvZiB1c2VycyB3aXRoIGdpdmVuIGlucHV0IGFycmF5CiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbUG9zdCgiL3VzZXIvY3JlYXRlV2l0aExpc3QiKV0KICAgICAgICBUYXNrPElBcGlSZXNwb25zZTxVc2VyPj4gQ3JlYXRlVXNlcnNXaXRoTGlzdElucHV0KFtCb2R5XSBJRW51bWVyYWJsZTxVc2VyPiBib2R5KTsKCiAgICAgICAgW0dldCgiL3VzZXIvbG9naW4iKV0KICAgICAgICBUYXNrPElBcGlSZXNwb25zZTxzdHJpbmc+PiBMb2dpblVzZXIoW1F1ZXJ5XSBzdHJpbmcgdXNlcm5hbWUsIFtRdWVyeV0gc3RyaW5nIHBhc3N3b3JkKTsKCiAgICAgICAgW0dldCgiL3VzZXIvbG9nb3V0IildCiAgICAgICAgVGFzayBMb2dvdXRVc2VyKCk7CgogICAgICAgIFtHZXQoIi91c2VyL3t1c2VybmFtZX0iKV0KICAgICAgICBUYXNrPElBcGlSZXNwb25zZTxVc2VyPj4gR2V0VXNlckJ5TmFtZShzdHJpbmcgdXNlcm5hbWUpOwoKICAgICAgICAvLy8gPHN1bW1hcnk+CiAgICAgICAgLy8vIFRoaXMgY2FuIG9ubHkgYmUgZG9uZSBieSB0aGUgbG9nZ2VkIGluIHVzZXIuCiAgICAgICAgLy8vIDwvc3VtbWFyeT4KICAgICAgICBbUHV0KCIvdXNlci97dXNlcm5hbWV9IildCiAgICAgICAgVGFzayBVcGRhdGVVc2VyKHN0cmluZyB1c2VybmFtZSwgW0JvZHldIFVzZXIgYm9keSk7CgogICAgICAgIC8vLyA8c3VtbWFyeT4KICAgICAgICAvLy8gVGhpcyBjYW4gb25seSBiZSBkb25lIGJ5IHRoZSBsb2dnZWQgaW4gdXNlci4KICAgICAgICAvLy8gPC9zdW1tYXJ5PgogICAgICAgIFtEZWxldGUoIi91c2VyL3t1c2VybmFtZX0iKV0KICAgICAgICBUYXNrIERlbGV0ZVVzZXIoc3RyaW5nIHVzZXJuYW1lKTsKICAgIH0KfQpgYGAKCkhlcmUncyBhbiBleGFtcGxlIGdlbmVyYXRlZCBvdXRwdXQgZnJvbSB0aGUgW1N3YWdnZXIgUGV0c3RvcmUgZXhhbXBsZV0oaHR0cHM6Ly9wZXRzdG9yZTMuc3dhZ2dlci5pbykgY29uZmlndXJlZCB0byBnZW5lcmF0ZSBhbiBpbnRlcmZhY2UgZm9yIGVhY2ggZW5kcG9pbnQKCioqQ0xJIFRvb2wqKgoKYGBgYmFzaAokIHJlZml0dGVyIC4vb3BlbmFwaS5qc29uIC0tbmFtZXNwYWNlICJZb3VyLk5hbWVzcGFjZS5PZi5DaG9pY2UuR2VuZXJhdGVkQ29kZSIgLS1tdWx0aXBsZS1pbnRlcmZhY2VzIEJ5RW5kcG9pbnQKYGBgCgoqKlNvdXJjZSBHZW5lcmF0b3IgKioqLnJlZml0dGVyKioqIGZpbGUqKgoKYGBganNvbgp7CiAgIm9wZW5BcGlQYXRoIjogIi4vb3BlbmFwaS5qc29uIiwKICAibmFtZXNwYWNlIjogIllvdXIuTmFtZXNwYWNlLk9mLkNob2ljZS5HZW5lcmF0ZWRDb2RlIiwKICAibXVsdGlwbGVJbnRlcmZhY2VzIjogIkJ5RW5kcG9pbnQiCn0KYGBgCgoqKk91dHB1dCoqCgpgYGBjcwovLy8gPHN1bW1hcnk+Ci8vLyBVcGRhdGUgYW4gZXhpc3RpbmcgcGV0Ci8vLyA8L3N1bW1hcnk+CnB1YmxpYyBwYXJ0aWFsIGludGVyZmFjZSBJVXBkYXRlUGV0RW5kcG9pbnQKewogICAgLy8vIDxzdW1tYXJ5PgogICAgLy8vIFVwZGF0ZSBhbiBleGlzdGluZyBwZXQgYnkgSWQKICAgIC8vLyA8L3N1bW1hcnk+CiAgICBbUHV0KCIvcGV0IildCiAgICBUYXNrPFBldD4gRXhlY3V0ZShbQm9keV0gUGV0IGJvZHkpOwp9CgovLy8gPHN1bW1hcnk+Ci8vLyBBZGQgYSBuZXcgcGV0IHRvIHRoZSBzdG9yZQovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgcGFydGlhbCBpbnRlcmZhY2UgSUFkZFBldEVuZHBvaW50CnsKICAgIC8vLyA8c3VtbWFyeT4KICAgIC8vLyBBZGQgYSBuZXcgcGV0IHRvIHRoZSBzdG9yZQogICAgLy8vIDwvc3VtbWFyeT4KICAgIFtQb3N0KCIvcGV0IildCiAgICBUYXNrPFBldD4gRXhlY3V0ZShbQm9keV0gUGV0IGJvZHkpOwp9CgovLy8gPHN1bW1hcnk+Ci8vLyBGaW5kcyBQZXRzIGJ5IHN0YXR1cwovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgcGFydGlhbCBpbnRlcmZhY2UgSUZpbmRQZXRzQnlTdGF0dXNFbmRwb2ludAp7CiAgICAvLy8gPHN1bW1hcnk+CiAgICAvLy8gTXVsdGlwbGUgc3RhdHVzIHZhbHVlcyBjYW4gYmUgcHJvdmlkZWQgd2l0aCBjb21tYSBzZXBhcmF0ZWQgc3RyaW5ncwogICAgLy8vIDwvc3VtbWFyeT4KICAgIFtHZXQoIi9wZXQvZmluZEJ5U3RhdHVzIildCiAgICBUYXNrPElDb2xsZWN0aW9uPFBldD4+IEV4ZWN1dGUoW1F1ZXJ5XSBTdGF0dXM/IHN0YXR1cyk7Cn0KCi8vLyA8c3VtbWFyeT4KLy8vIEZpbmRzIFBldHMgYnkgdGFncwovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgcGFydGlhbCBpbnRlcmZhY2UgSUZpbmRQZXRzQnlUYWdzRW5kcG9pbnQKewogICAgLy8vIDxzdW1tYXJ5PgogICAgLy8vIE11bHRpcGxlIHRhZ3MgY2FuIGJlIHByb3ZpZGVkIHdpdGggY29tbWEgc2VwYXJhdGVkIHN0cmluZ3MuIFVzZSB0YWcxLCB0YWcyLCB0YWczIGZvciB0ZXN0aW5nLgogICAgLy8vIDwvc3VtbWFyeT4KICAgIFtHZXQoIi9wZXQvZmluZEJ5VGFncyIpXQogICAgVGFzazxJQ29sbGVjdGlvbjxQZXQ+PiBFeGVjdXRlKFtRdWVyeShDb2xsZWN0aW9uRm9ybWF0Lk11bHRpKV0gSUVudW1lcmFibGU8c3RyaW5nPiB0YWdzKTsKfQoKLy8vIDxzdW1tYXJ5PgovLy8gRmluZCBwZXQgYnkgSUQKLy8vIDwvc3VtbWFyeT4KcHVibGljIHBhcnRpYWwgaW50ZXJmYWNlIElHZXRQZXRCeUlkRW5kcG9pbnQKewogICAgLy8vIDxzdW1tYXJ5PgogICAgLy8vIFJldHVybnMgYSBzaW5nbGUgcGV0CiAgICAvLy8gPC9zdW1tYXJ5PgogICAgW0dldCgiL3BldC97cGV0SWR9IildCiAgICBUYXNrPFBldD4gRXhlY3V0ZShsb25nIHBldElkKTsKfQoKLy8vIDxzdW1tYXJ5PgovLy8gVXBkYXRlcyBhIHBldCBpbiB0aGUgc3RvcmUgd2l0aCBmb3JtIGRhdGEKLy8vIDwvc3VtbWFyeT4KcHVibGljIHBhcnRpYWwgaW50ZXJmYWNlIElVcGRhdGVQZXRXaXRoRm9ybUVuZHBvaW50CnsKICAgIFtQb3N0KCIvcGV0L3twZXRJZH0iKV0KICAgIFRhc2sgRXhlY3V0ZShsb25nIHBldElkLCBbUXVlcnldIHN0cmluZyBuYW1lLCBbUXVlcnldIHN0cmluZyBzdGF0dXMpOwp9CgovLy8gPHN1bW1hcnk+Ci8vLyBEZWxldGVzIGEgcGV0Ci8vLyA8L3N1bW1hcnk+CnB1YmxpYyBwYXJ0aWFsIGludGVyZmFjZSBJRGVsZXRlUGV0RW5kcG9pbnQKewogICAgW0RlbGV0ZSgiL3BldC97cGV0SWR9IildCiAgICBUYXNrIEV4ZWN1dGUobG9uZyBwZXRJZCwgW0hlYWRlcigiYXBpX2tleSIpXSBzdHJpbmcgYXBpX2tleSk7Cn0KCi8vLyA8c3VtbWFyeT4KLy8vIHVwbG9hZHMgYW4gaW1hZ2UKLy8vIDwvc3VtbWFyeT4KcHVibGljIHBhcnRpYWwgaW50ZXJmYWNlIElVcGxvYWRGaWxlRW5kcG9pbnQKewogICAgW1Bvc3QoIi9wZXQve3BldElkfS91cGxvYWRJbWFnZSIpXQogICAgVGFzazxBcGlSZXNwb25zZT4gRXhlY3V0ZShsb25nIHBldElkLCBbUXVlcnldIHN0cmluZyBhZGRpdGlvbmFsTWV0YWRhdGEsIFN0cmVhbVBhcnQgYm9keSk7Cn0KCi8vLyA8c3VtbWFyeT4KLy8vIFJldHVybnMgcGV0IGludmVudG9yaWVzIGJ5IHN0YXR1cwovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgcGFydGlhbCBpbnRlcmZhY2UgSUdldEludmVudG9yeUVuZHBvaW50CnsKICAgIC8vLyA8c3VtbWFyeT4KICAgIC8vLyBSZXR1cm5zIGEgbWFwIG9mIHN0YXR1cyBjb2RlcyB0byBxdWFudGl0aWVzCiAgICAvLy8gPC9zdW1tYXJ5PgogICAgW0dldCgiL3N0b3JlL2ludmVudG9yeSIpXQogICAgVGFzazxJRGljdGlvbmFyeTxzdHJpbmcsIGludD4+IEV4ZWN1dGUoKTsKfQoKLy8vIDxzdW1tYXJ5PgovLy8gUGxhY2UgYW4gb3JkZXIgZm9yIGEgcGV0Ci8vLyA8L3N1bW1hcnk+CnB1YmxpYyBwYXJ0aWFsIGludGVyZmFjZSBJUGxhY2VPcmRlckVuZHBvaW50CnsKICAgIC8vLyA8c3VtbWFyeT4KICAgIC8vLyBQbGFjZSBhIG5ldyBvcmRlciBpbiB0aGUgc3RvcmUKICAgIC8vLyA8L3N1bW1hcnk+CiAgICBbUG9zdCgiL3N0b3JlL29yZGVyIildCiAgICBUYXNrPE9yZGVyPiBFeGVjdXRlKFtCb2R5XSBPcmRlciBib2R5KTsKfQoKLy8vIDxzdW1tYXJ5PgovLy8gRmluZCBwdXJjaGFzZSBvcmRlciBieSBJRAovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgcGFydGlhbCBpbnRlcmZhY2UgSUdldE9yZGVyQnlJZEVuZHBvaW50CnsKICAgIC8vLyA8c3VtbWFyeT4KICAgIC8vLyBGb3IgdmFsaWQgcmVzcG9uc2UgdHJ5IGludGVnZXIgSURzIHdpdGggdmFsdWUgPD0gNSBvciA+IDEwLiBPdGhlciB2YWx1ZXMgd2lsbCBnZW5lcmF0ZWQgZXhjZXB0aW9ucwogICAgLy8vIDwvc3VtbWFyeT4KICAgIFtHZXQoIi9zdG9yZS9vcmRlci97b3JkZXJJZH0iKV0KICAgIFRhc2s8T3JkZXI+IEV4ZWN1dGUobG9uZyBvcmRlcklkKTsKfQoKLy8vIDxzdW1tYXJ5PgovLy8gRGVsZXRlIHB1cmNoYXNlIG9yZGVyIGJ5IElECi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBwYXJ0aWFsIGludGVyZmFjZSBJRGVsZXRlT3JkZXJFbmRwb2ludAp7CiAgICAvLy8gPHN1bW1hcnk+CiAgICAvLy8gRm9yIHZhbGlkIHJlc3BvbnNlIHRyeSBpbnRlZ2VyIElEcyB3aXRoIHZhbHVlIDwgMTAwMC4gQW55dGhpbmcgYWJvdmUgMTAwMCBvciBub25pbnRlZ2VycyB3aWxsIGdlbmVyYXRlIEFQSSBlcnJvcnMKICAgIC8vLyA8L3N1bW1hcnk+CiAgICBbRGVsZXRlKCIvc3RvcmUvb3JkZXIve29yZGVySWR9IildCiAgICBUYXNrIEV4ZWN1dGUobG9uZyBvcmRlcklkKTsKfQoKLy8vIDxzdW1tYXJ5PgovLy8gQ3JlYXRlIHVzZXIKLy8vIDwvc3VtbWFyeT4KcHVibGljIHBhcnRpYWwgaW50ZXJmYWNlIElDcmVhdGVVc2VyRW5kcG9pbnQKewogICAgLy8vIDxzdW1tYXJ5PgogICAgLy8vIFRoaXMgY2FuIG9ubHkgYmUgZG9uZSBieSB0aGUgbG9nZ2VkIGluIHVzZXIuCiAgICAvLy8gPC9zdW1tYXJ5PgogICAgW1Bvc3QoIi91c2VyIildCiAgICBUYXNrIEV4ZWN1dGUoW0JvZHldIFVzZXIgYm9keSk7Cn0KCi8vLyA8c3VtbWFyeT4KLy8vIENyZWF0ZXMgbGlzdCBvZiB1c2VycyB3aXRoIGdpdmVuIGlucHV0IGFycmF5Ci8vLyA8L3N1bW1hcnk+CnB1YmxpYyBwYXJ0aWFsIGludGVyZmFjZSBJQ3JlYXRlVXNlcnNXaXRoTGlzdElucHV0RW5kcG9pbnQKewogICAgLy8vIDxzdW1tYXJ5PgogICAgLy8vIENyZWF0ZXMgbGlzdCBvZiB1c2VycyB3aXRoIGdpdmVuIGlucHV0IGFycmF5CiAgICAvLy8gPC9zdW1tYXJ5PgogICAgW1Bvc3QoIi91c2VyL2NyZWF0ZVdpdGhMaXN0IildCiAgICBUYXNrPFVzZXI+IEV4ZWN1dGUoW0JvZHldIElFbnVtZXJhYmxlPFVzZXI+IGJvZHkpOwp9CgovLy8gPHN1bW1hcnk+Ci8vLyBMb2dzIHVzZXIgaW50byB0aGUgc3lzdGVtCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBwYXJ0aWFsIGludGVyZmFjZSBJTG9naW5Vc2VyRW5kcG9pbnQKewogICAgW0dldCgiL3VzZXIvbG9naW4iKV0KICAgIFRhc2s8c3RyaW5nPiBFeGVjdXRlKFtRdWVyeV0gc3RyaW5nIHVzZXJuYW1lLCBbUXVlcnldIHN0cmluZyBwYXNzd29yZCk7Cn0KCi8vLyA8c3VtbWFyeT4KLy8vIExvZ3Mgb3V0IGN1cnJlbnQgbG9nZ2VkIGluIHVzZXIgc2Vzc2lvbgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgcGFydGlhbCBpbnRlcmZhY2UgSUxvZ291dFVzZXJFbmRwb2ludAp7CiAgICBbR2V0KCIvdXNlci9sb2dvdXQiKV0KICAgIFRhc2sgRXhlY3V0ZSgpOwp9CgovLy8gPHN1bW1hcnk+Ci8vLyBHZXQgdXNlciBieSB1c2VyIG5hbWUKLy8vIDwvc3VtbWFyeT4KcHVibGljIHBhcnRpYWwgaW50ZXJmYWNlIElHZXRVc2VyQnlOYW1lRW5kcG9pbnQKewogICAgW0dldCgiL3VzZXIve3VzZXJuYW1lfSIpXQogICAgVGFzazxVc2VyPiBFeGVjdXRlKHN0cmluZyB1c2VybmFtZSk7Cn0KCi8vLyA8c3VtbWFyeT4KLy8vIFVwZGF0ZSB1c2VyCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBwYXJ0aWFsIGludGVyZmFjZSBJVXBkYXRlVXNlckVuZHBvaW50CnsKICAgIC8vLyA8c3VtbWFyeT4KICAgIC8vLyBUaGlzIGNhbiBvbmx5IGJlIGRvbmUgYnkgdGhlIGxvZ2dlZCBpbiB1c2VyLgogICAgLy8vIDwvc3VtbWFyeT4KICAgIFtQdXQoIi91c2VyL3t1c2VybmFtZX0iKV0KICAgIFRhc2sgRXhlY3V0ZShzdHJpbmcgdXNlcm5hbWUsIFtCb2R5XSBVc2VyIGJvZHkpOwp9CgovLy8gPHN1bW1hcnk+Ci8vLyBEZWxldGUgdXNlcgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgcGFydGlhbCBpbnRlcmZhY2UgSURlbGV0ZVVzZXJFbmRwb2ludAp7CiAgICAvLy8gPHN1bW1hcnk+CiAgICAvLy8gVGhpcyBjYW4gb25seSBiZSBkb25lIGJ5IHRoZSBsb2dnZWQgaW4gdXNlci4KICAgIC8vLyA8L3N1bW1hcnk+CiAgICBbRGVsZXRlKCIvdXNlci97dXNlcm5hbWV9IildCiAgICBUYXNrIEV4ZWN1dGUoc3RyaW5nIHVzZXJuYW1lKTsKfQpgYGAKCiMjIFJlc3RTZXJ2aWNlCgpIZXJlJ3MgYW4gZXhhbXBsZSB1c2FnZSBvZiB0aGUgZ2VuZXJhdGVkIGNvZGUgYWJvdmUKCmBgYGNzCnVzaW5nIFJlZml0Owp1c2luZyBTeXN0ZW07CnVzaW5nIFN5c3RlbS5UaHJlYWRpbmcuVGFza3M7CgpuYW1lc3BhY2UgWW91ci5OYW1lc3BhY2UuT2YuQ2hvaWNlLkdlbmVyYXRlZENvZGU7CgppbnRlcm5hbCBjbGFzcyBQcm9ncmFtCnsKICAgIHByaXZhdGUgc3RhdGljIGFzeW5jIFRhc2sgTWFpbihzdHJpbmdbXSBhcmdzKQogICAgewogICAgICAgIHZhciBjbGllbnQgPSBSZXN0U2VydmljZS5Gb3I8SVN3YWdnZXJQZXRzdG9yZT4oImh0dHBzOi8vcGV0c3RvcmUzLnN3YWdnZXIuaW8vYXBpL3YzIik7CiAgICAgICAgdmFyIHBldCA9IGF3YWl0IGNsaWVudC5HZXRQZXRCeUlkKDEpOwoKICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiIyMgVXNpbmcgVGFzazxUPiBhcyByZXR1cm4gdHlwZSAjIyIpOwogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCQiTmFtZToge3BldC5OYW1lfSIpOwogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCQiQ2F0ZWdvcnk6IHtwZXQuQ2F0ZWdvcnkuTmFtZX0iKTsKICAgICAgICBDb25zb2xlLldyaXRlTGluZSgkIlN0YXR1czoge3BldC5TdGF0dXN9Iik7CiAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoKTsKCiAgICAgICAgdmFyIGNsaWVudDIgPSBSZXN0U2VydmljZS5Gb3I8V2l0aEFwaVJlc3BvbnNlLklTd2FnZ2VyUGV0c3RvcmU+KCJodHRwczovL3BldHN0b3JlMy5zd2FnZ2VyLmlvL2FwaS92MyIpOwogICAgICAgIHZhciByZXNwb25zZSA9IGF3YWl0IGNsaWVudDIuR2V0UGV0QnlJZCgyKTsKCiAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIiMjIFVzaW5nIFRhc2s8SUFwaVJlc3BvbnNlPFQ+PiBhcyByZXR1cm4gdHlwZSAjIyIpOwogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCQiSFRUUCBTdGF0dXMgQ29kZToge3Jlc3BvbnNlLlN0YXR1c0NvZGV9Iik7CiAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoJCJOYW1lOiB7cmVzcG9uc2UuQ29udGVudC5OYW1lfSIpOwogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCQiQ2F0ZWdvcnk6IHtyZXNwb25zZS5Db250ZW50LkNhdGVnb3J5Lk5hbWV9Iik7CiAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoJCJTdGF0dXM6IHtyZXNwb25zZS5Db250ZW50LlN0YXR1c30iKTsKICAgIH0KfQpgYGAKClRoZSBgUmVzdFNlcnZpY2VgIGNsYXNzIGdlbmVyYXRlcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiBgSVN3YWdnZXJQZXRzdG9yZWAgdGhhdCB1c2VzIGBIdHRwQ2xpZW50YCB0byBtYWtlIGl0cyBjYWxscy4gCgpUaGUgY29kZSBhYm92ZSB3aGVuIHJ1biB3aWxsIG91dHB1dCBzb21ldGhpbmcgbGlrZSB0aGlzOgoKYGBgCiMjIFVzaW5nIFRhc2s8VD4gYXMgcmV0dXJuIHR5cGUgIyMKTmFtZTogR2F0aXRvdG90b3RvCkNhdGVnb3J5OiBDaGF1Y2l0bwpTdGF0dXM6IFNvbGQKCiMjIFVzaW5nIFRhc2s8SUFwaVJlc3BvbnNlPFQ+PiBhcyByZXR1cm4gdHlwZSAjIwpIVFRQIFN0YXR1cyBDb2RlOiBPSwpOYW1lOiBHYXRpdG90b3RvdG8KQ2F0ZWdvcnk6IENoYXVjaXRvClN0YXR1czogU29sZApgYGAKCiMjIEFTUC5ORVQgQ29yZSBhbmQgSHR0cENsaWVudEZhY3RvcnkKCkhlcmUncyBhbiBleGFtcGxlIE1pbmltYWwgQVBJIHdpdGggdGhlIFtgUmVmaXQuSHR0cENsaWVudEZhY3RvcnlgXShodHRwczovL3d3dy5udWdldC5vcmcvcGFja2FnZXMvUmVmaXQuSHR0cENsaWVudEZhY3RvcnkpIGxpYnJhcnk6CgpgYGBjcwp1c2luZyBSZWZpdDsKdXNpbmcgWW91ci5OYW1lc3BhY2UuT2YuQ2hvaWNlLkdlbmVyYXRlZENvZGU7Cgp2YXIgYnVpbGRlciA9IFdlYkFwcGxpY2F0aW9uLkNyZWF0ZUJ1aWxkZXIoYXJncyk7CmJ1aWxkZXIuU2VydmljZXMuQWRkRW5kcG9pbnRzQXBpRXhwbG9yZXIoKTsKYnVpbGRlci5TZXJ2aWNlcy5BZGRTd2FnZ2VyR2VuKCk7CmJ1aWxkZXIuU2VydmljZXMKICAgIC5BZGRSZWZpdENsaWVudDxJU3dhZ2dlclBldHN0b3JlPigpCiAgICAuQ29uZmlndXJlSHR0cENsaWVudChjID0+IGMuQmFzZUFkZHJlc3MgPSBuZXcgVXJpKCJodHRwczovL3BldHN0b3JlMy5zd2FnZ2VyLmlvL2FwaS92MyIpKTsKCnZhciBhcHAgPSBidWlsZGVyLkJ1aWxkKCk7CmFwcC5NYXBHZXQoCiAgICAgICAgIi9wZXQve2lkOmxvbmd9IiwKICAgICAgICBhc3luYyAoSVN3YWdnZXJQZXRzdG9yZSBwZXRzdG9yZSwgbG9uZyBpZCkgPT4KICAgICAgICB7CiAgICAgICAgICAgIHRyeQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICByZXR1cm4gUmVzdWx0cy5Payhhd2FpdCBwZXRzdG9yZS5HZXRQZXRCeUlkKGlkKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY2F0Y2ggKFJlZml0LkFwaUV4Y2VwdGlvbiBlKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICByZXR1cm4gUmVzdWx0cy5TdGF0dXNDb2RlKChpbnQpZS5TdGF0dXNDb2RlKTsKICAgICAgICAgICAgfQogICAgICAgIH0pCiAgICAuV2l0aE5hbWUoIkdldFBldEJ5SWQiKQogICAgLldpdGhPcGVuQXBpKCk7CgphcHAuVXNlSHR0cHNSZWRpcmVjdGlvbigpOwphcHAuVXNlU3dhZ2dlclVJKCk7CmFwcC5Vc2VTd2FnZ2VyKCk7CmFwcC5SdW4oKTsKYGBgCgouTkVUIENvcmUgc3VwcG9ydHMgcmVnaXN0ZXJpbmcgdGhlIGdlbmVyYXRlZCBgSVN3YWdnZXJQZXRzdG9yZWAgaW50ZXJmYWNlIHZpYSBgSHR0cENsaWVudEZhY3RvcnlgCgpUaGUgZm9sbG93aW5nIHJlcXVlc3QgdG8gdGhlIEFQSSBhYm92ZQpgYGBzaGVsbAokIGN1cmwgLVggJ0dFVCcgJ2h0dHBzOi8vbG9jYWxob3N0OjUwMDEvcGV0LzEnIC1IICdhY2NlcHQ6IGFwcGxpY2F0aW9uL2pzb24nCmBgYAoKUmV0dXJucyBhIHJlc3BvbnNlIHRoYXQgbG9va3Mgc29tZXRoaW5nIGxpa2UgdGhpczoKYGBganNvbgp7CiAgImlkIjogMSwKICAibmFtZSI6ICJTcGVjaWFsX2NoYXJfb3duZXJfIUAjJF4mKClgLnRlc3RpbmciLAogICJwaG90b1VybHMiOiBbCiAgICAiaHR0cHM6Ly9wZXRzdG9yZTMuc3dhZ2dlci5pby9yZXNvdXJjZXMvcGhvdG9zLzYyMzM4OTA5NS5qcGciCiAgXSwKICAidGFncyI6IFtdLAogICJzdGF0dXMiOiAiU29sZCIKfQpgYGAKCiMjIFN5c3RlbSByZXF1aXJlbWVudHMKLk5FVCA4LjAgKExUUykKCiMjIENvbnRyaWJ1dG9ycwoKPCEtLSBBTEwtQ09OVFJJQlVUT1JTLUxJU1Q6U1RBUlQgLSBEbyBub3QgcmVtb3ZlIG9yIG1vZGlmeSB0aGlzIHNlY3Rpb24gLS0+CjwhLS0gcHJldHRpZXItaWdub3JlLXN0YXJ0IC0tPgo8IS0tIG1hcmtkb3dubGludC1kaXNhYmxlIC0tPgo8dGFibGU+CiAgPHRib2R5PgogICAgPHRyPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9uZW9HZW5ldmEiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvODA0NzI0P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJQaGlsaXAgQ294Ii8+PGJyIC8+PHN1Yj48Yj5QaGlsaXAgQ294PC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvY29tbWl0cz9hdXRob3I9bmVvR2VuZXZhIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vY2FtLm1hY2Zhci5sYW5kLyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xMjk4ODQ3P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJDYW1lcm9uIE1hY0ZhcmxhbmQiLz48YnIgLz48c3ViPjxiPkNhbWVyb24gTWFjRmFybGFuZDwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2NvbW1pdHM/YXV0aG9yPWRpc3RhbnRjYW0iIHRpdGxlPSJDb2RlIj7wn5K7PC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cDovL2tnYW1lLnR3Ij48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM2NDY1MzI/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9ImtnYW1lIi8+PGJyIC8+PHN1Yj48Yj5rZ2FtZTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2NvbW1pdHM/YXV0aG9yPWtnYW1lY2FydGVyIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHA6Ly95cmtpLm5vIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzExNTczNjAxP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJUaG9tYXMgUGV0dGVyc2VuIC8gWXJraSIvPjxiciAvPjxzdWI+PGI+VGhvbWFzIFBldHRlcnNlbiAvIFlya2k8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9jb21taXRzP2F1dGhvcj0iIHRpdGxlPSJDb2RlIj7wn5K7PC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tLzFrdmluIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzQ2NDI1OTgwP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJBcnRlbSIvPjxiciAvPjxzdWI+PGI+QXJ0ZW08L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9pc3N1ZXM/cT1hdXRob3IlM0Exa3ZpbiIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL203Y2xhcmtlIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzQ3NDM5MTQ0P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJtN2NsYXJrZSIvPjxiciAvPjxzdWI+PGI+bTdjbGFya2U8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9pc3N1ZXM/cT1hdXRob3IlM0FtN2NsYXJrZSIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2tpcmlkZXMiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTM2MDIxNDM/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9ImtpcmlkZXMiLz48YnIgLz48c3ViPjxiPmtpcmlkZXM8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9pc3N1ZXM/cT1hdXRob3IlM0FraXJpZGVzIiB0aXRsZT0iQnVnIHJlcG9ydHMiPvCfkJs8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9jb21taXRzP2F1dGhvcj1raXJpZGVzIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZ3VpbGxhdW1lc2VyYWxlIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzY2NzI0MDY/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9Imd1aWxsYXVtZXNlcmFsZSIvPjxiciAvPjxzdWI+PGI+Z3VpbGxhdW1lc2VyYWxlPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvY29tbWl0cz9hdXRob3I9Z3VpbGxhdW1lc2VyYWxlIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2lzc3Vlcz9xPWF1dGhvciUzQWd1aWxsYXVtZXNlcmFsZSIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL1JvZmxpbmNvcHRlciI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNjkwMjQzP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJEZW5uaXMgQnJlbnRqZXMiLz48YnIgLz48c3ViPjxiPkRlbm5pcyBCcmVudGplczwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2NvbW1pdHM/YXV0aG9yPVJvZmxpbmNvcHRlciIgdGl0bGU9IkNvZGUiPvCfkrs8L2E+IDxhIGhyZWY9IiNpZGVhcy1Sb2ZsaW5jb3B0ZXIiIHRpdGxlPSJJZGVhcywgUGxhbm5pbmcsICYgRmVlZGJhY2siPvCfpJQ8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL3d3dy5saW5rZWRpbi5jb20vaW4vaGlja2V5ZGFtaWFuLyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS81NzQzNj92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iRGFtaWFuIEhpY2tleSIvPjxiciAvPjxzdWI+PGI+RGFtaWFuIEhpY2tleTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2lzc3Vlcz9xPWF1dGhvciUzQWRhbWlhbmgiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9yaWNoYXJkaHUtbG1nIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzEyNjQzMDc4Nz92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0icmljaGFyZGh1LWxtZyIvPjxiciAvPjxzdWI+PGI+cmljaGFyZGh1LWxtZzwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2lzc3Vlcz9xPWF1dGhvciUzQXJpY2hhcmRodS1sbWciIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9icmVhc2UtY29saW4iPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNDczNTg5MzU/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9ImJyZWFzZS1jb2xpbiIvPjxiciAvPjxzdWI+PGI+YnJlYXNlLWNvbGluPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvaXNzdWVzP3E9YXV0aG9yJTNBYnJlYXNlLWNvbGluIiB0aXRsZT0iQnVnIHJlcG9ydHMiPvCfkJs8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYW5nZWxvZmIiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjAzMjI1Nz92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iYW5nZWxvZmIiLz48YnIgLz48c3ViPjxiPmFuZ2Vsb2ZiPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvY29tbWl0cz9hdXRob3I9YW5nZWxvZmIiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL05vR1JvIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzU2NjUyNzM/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IkRpbSBOb2dybyIvPjxiciAvPjxzdWI+PGI+RGltIE5vZ3JvPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvY29tbWl0cz9hdXRob3I9Tm9HUm8iIHRpdGxlPSJDb2RlIj7wn5K7PC9hPjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS95YWRhbmlsb3YxOSI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNzE2MTA2NT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0ieWFkYW5pbG92MTkiLz48YnIgLz48c3ViPjxiPnlhZGFuaWxvdjE5PC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSIjaWRlYXMteWFkYW5pbG92MTkiIHRpdGxlPSJJZGVhcywgUGxhbm5pbmcsICYgRmVlZGJhY2siPvCfpJQ8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZGFucG93ZWxsODgiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTEwMDM5Nz92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iRGFuaWVsIFBvd2VsbCIvPjxiciAvPjxzdWI+PGI+RGFuaWVsIFBvd2VsbDwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2lzc3Vlcz9xPWF1dGhvciUzQWRhbnBvd2VsbDg4IiB0aXRsZT0iQnVnIHJlcG9ydHMiPvCfkJs8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vRWtrZWlyIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM2MTk0Njg1P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJFa2tlaXIiLz48YnIgLz48c3ViPjxiPkVra2VpcjwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2NvbW1pdHM/YXV0aG9yPUVra2VpciIgdGl0bGU9IkRvY3VtZW50YXRpb24iPvCfk5Y8L2E+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9pc3N1ZXM/cT1hdXRob3IlM0FFa2tlaXIiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS93YXlsb25tdHoiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNDYwNDU3OT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iV2F5bG9uIE1hcnRpbmV6Ii8+PGJyIC8+PHN1Yj48Yj5XYXlsb24gTWFydGluZXo8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9pc3N1ZXM/cT1hdXRob3IlM0F3YXlsb25tdHoiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS92aW5heW1hZHVwYXRoaSI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8zODEwMjkwMD92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0idmttYWR1cGEiLz48YnIgLz48c3ViPjxiPnZrbWFkdXBhPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvaXNzdWVzP3E9YXV0aG9yJTNBdmluYXltYWR1cGF0aGkiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9Ob2JsaXgiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjIwNzY4ODM/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9Ik5vYmxpeCIvPjxiciAvPjxzdWI+PGI+Tm9ibGl4PC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvY29tbWl0cz9hdXRob3I9Tm9ibGl4IiB0aXRsZT0iQ29kZSI+8J+SuzwvYT4gPGEgaHJlZj0iI2lkZWFzLU5vYmxpeCIgdGl0bGU9IklkZWFzLCBQbGFubmluZywgJiBGZWVkYmFjayI+8J+klDwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vd3d3LnZlZXpsYS5pbyI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8yMzA0MzI/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IkF0dGlsYSBIYWpkcmlrIi8+PGJyIC8+PHN1Yj48Yj5BdHRpbGEgSGFqZHJpazwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iI2lkZWFzLWF0dGlsYWgiIHRpdGxlPSJJZGVhcywgUGxhbm5pbmcsICYgRmVlZGJhY2siPvCfpJQ8L2E+PC90ZD4KICAgIDwvdHI+CiAgICA8dHI+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2JpZWxpazAxIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzkyMDk1MD92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iYmllbGlrMDEiLz48YnIgLz48c3ViPjxiPmJpZWxpazAxPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvaXNzdWVzP3E9YXV0aG9yJTNBYmllbGlrMDEiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT4gPGEgaHJlZj0iI2lkZWFzLWJpZWxpazAxIiB0aXRsZT0iSWRlYXMsIFBsYW5uaW5nLCAmIEZlZWRiYWNrIj7wn6SUPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL25hYWVlZiI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS80MzMzOTA3MT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0ibmFhZWVmIi8+PGJyIC8+PHN1Yj48Yj5uYWFlZWY8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9IiNpZGVhcy1uYWFlZWYiIHRpdGxlPSJJZGVhcywgUGxhbm5pbmcsICYgRmVlZGJhY2siPvCfpJQ8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYWxyeiI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8zMTA1OTc5P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJBbGlyZXphIEhhYmliaSIvPjxiciAvPjxzdWI+PGI+QWxpcmV6YSBIYWJpYmk8L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9pc3N1ZXM/cT1hdXRob3IlM0FhbHJ6IiB0aXRsZT0iQnVnIHJlcG9ydHMiPvCfkJs8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vRUVQYXJrZXIiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4NzQwNzY/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IkplZmYgUGFya2VyLCBQRSIvPjxiciAvPjxzdWI+PGI+SmVmZiBQYXJrZXIsIFBFPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvaXNzdWVzP3E9YXV0aG9yJTNBRUVQYXJrZXIiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9qb2RzNCI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8zODMyODIwP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJqb2RzIi8+PGJyIC8+PHN1Yj48Yj5qb2RzPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSIjaWRlYXMtam9kczQiIHRpdGxlPSJJZGVhcywgUGxhbm5pbmcsICYgRmVlZGJhY2siPvCfpJQ8L2E+PC90ZD4KICAgICAgPHRkIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIiB3aWR0aD0iMTQuMjglIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZWRpbWFycXVleiI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS80MTc5MTcxOT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0iRWRpbWFycXVleiBNZWRlaXJvcyIvPjxiciAvPjxzdWI+PGI+RWRpbWFycXVleiBNZWRlaXJvczwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2NvbW1pdHM/YXV0aG9yPWVkaW1hcnF1ZXoiIHRpdGxlPSJDb2RlIj7wn5K7PC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3NhZmFra2VzaWtjaSI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS83MDY3MjUyP3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJzYWZha2tlc2lrY2kiLz48YnIgLz48c3ViPjxiPnNhZmFra2VzaWtjaTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2lzc3Vlcz9xPWF1dGhvciUzQXNhZmFra2VzaWtjaSIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPjwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9mb2xicmVjaHQiPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ1NTM3ODQ2P3Y9ND9zPTEwMCIgd2lkdGg9IjEwMHB4OyIgYWx0PSJmb2xicmVjaHQiLz48YnIgLz48c3ViPjxiPmZvbGJyZWNodDwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2lzc3Vlcz9xPWF1dGhvciUzQWZvbGJyZWNodCIgdGl0bGU9IkJ1ZyByZXBvcnRzIj7wn5CbPC9hPjwvdGQ+CiAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCIgd2lkdGg9IjE0LjI4JSI+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL21vcnRlbmxhdXJzZW4iPjxpbWcgc3JjPSJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjg3NTk3Mzc/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9Im1vcnRlbmxhdXJzZW4iLz48YnIgLz48c3ViPjxiPm1vcnRlbmxhdXJzZW48L2I+PC9zdWI+PC9hPjxiciAvPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RpYW5oZWxsZS9yZWZpdHRlci9jb21taXRzP2F1dGhvcj1tb3J0ZW5sYXVyc2VuIiB0aXRsZT0iQ29kZSI+8J+SuzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9tYW51ZWwtZmVybmFuZGV6LXJvZHJpZ3VleiI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS80ODUyMDIwNT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0ibWFudWVsLWZlcm5hbmRlei1yb2RyaWd1ZXoiLz48YnIgLz48c3ViPjxiPm1hbnVlbC1mZXJuYW5kZXotcm9kcmlndWV6PC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0aWFuaGVsbGUvcmVmaXR0ZXIvaXNzdWVzP3E9YXV0aG9yJTNBbWFudWVsLWZlcm5hbmRlei1yb2RyaWd1ZXoiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9lbGl5YW1taW5lIj48aW1nIHNyYz0iaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzY2NDQ4MDc/dj00P3M9MTAwIiB3aWR0aD0iMTAwcHg7IiBhbHQ9IkVsaSBZYW1taW5lIi8+PGJyIC8+PHN1Yj48Yj5FbGkgWWFtbWluZTwvYj48L3N1Yj48L2E+PGJyIC8+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NocmlzdGlhbmhlbGxlL3JlZml0dGVyL2lzc3Vlcz9xPWF1dGhvciUzQWVsaXlhbW1pbmUiIHRpdGxlPSJCdWcgcmVwb3J0cyI+8J+QmzwvYT48L3RkPgogICAgICA8dGQgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiIHdpZHRoPSIxNC4yOCUiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9rYW1pLXBvaSI+PGltZyBzcmM9Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS80NzMyMjY5MT92PTQ/cz0xMDAiIHdpZHRoPSIxMDBweDsiIGFsdD0ia2FtaS1wb2kiLz48YnIgLz48c3ViPjxiPmthbWktcG9pPC9iPjwvc3ViPjwvYT48YnIgLz48YSBocmVmPSIjaWRlYXMta2FtaS1wb2kiIHRpdGxlPSJJZGVhcywgUGxhbm5pbmcsICYgRmVlZGJhY2siPvCfpJQ8L2E+PC90ZD4KICAgIDwvdHI+CiAgPC90Ym9keT4KPC90YWJsZT4KCjwhLS0gbWFya2Rvd25saW50LXJlc3RvcmUgLS0+CjwhLS0gcHJldHRpZXItaWdub3JlLWVuZCAtLT4KCjwhLS0gQUxMLUNPTlRSSUJVVE9SUy1MSVNUOkVORCAtLT4KCiMKCkZvciB0aXBzIGFuZCB0cmlja3Mgb24gc29mdHdhcmUgZGV2ZWxvcG1lbnQsIGNoZWNrIG91dCBbbXkgYmxvZ10oaHR0cHM6Ly9jaHJpc3RpYW5oZWxsZS5jb20pCgpJZiB5b3UgZmluZCB0aGlzIHVzZWZ1bCBhbmQgZmVlbCBhIGJpdCBnZW5lcm91cyB0aGVuIGZlZWwgZnJlZSB0byBbYnV5IG1lIGEgY29mZmVlIOKYlV0oaHR0cHM6Ly93d3cuYnV5bWVhY29mZmVlLmNvbS9jaHJpc3RpYW5oZWxsZSkK + readmeEtag: '"4c4b13281ba610cbf4a11a4d3d59d5024f454f8ac01dcbddfa93c183933a1a6b"' + readmeLastModified: Wed, 03 Jan 2024 09:49:22 GMT repositoryId: 598846021 description: Refit Client API Generator for OpenAPI created: '2023-02-07T23:18:12Z' - updated: '2024-01-02T16:31:40Z' + updated: '2024-01-03T14:15:16Z' language: C# archived: false - stars: 86 + stars: 87 watchers: 6 forks: 21 owner: christianhelle logo: https://avatars.githubusercontent.com/u/710400?v=4 license: GPL-3.0 - repoEtag: '"577784615d50f7e3711094958ab90298f5bea86804184de9b72cf8e2ff5b2c93"' - repoLastModified: Tue, 02 Jan 2024 16:31:40 GMT + repoEtag: '"57724a7955965a8ff7ac1663775f7fe48fae5ffa5942317714814cd44c5c055c"' + repoLastModified: Wed, 03 Jan 2024 14:15:16 GMT category: Parsers foundInMaster: true - source: openapi3 tags @@ -10115,17 +10115,17 @@ repositoryId: 142623136 description: OpenApi 3.0.0 docs + Swagger UI for oatpp services created: '2018-07-27T20:59:35Z' - updated: '2024-01-02T08:46:32Z' + updated: '2024-01-03T13:31:34Z' language: C++ archived: false - stars: 84 + stars: 85 watchers: 8 forks: 52 owner: oatpp logo: https://avatars.githubusercontent.com/u/37167448?v=4 license: Apache-2.0 - repoEtag: '"71132b81558d7d3400dde482ff8733384d89e8e2a0a42b46ba0f09eba23da129"' - repoLastModified: Tue, 02 Jan 2024 08:46:32 GMT + repoEtag: '"3adb657839017e265dac87200339c7f42b8253a5317a8f309817f07cf7ae7a1b"' + repoLastModified: Wed, 03 Jan 2024 13:31:34 GMT foundInMaster: true category: Low-level Tooling id: e2b5ed322cb3283e7ad1edd0b0634fc4 @@ -10141,17 +10141,17 @@ repositoryId: 628179878 description: Use Zod Schemas to create OpenAPI v3.x documentation created: '2023-04-15T06:28:51Z' - updated: '2024-01-02T17:39:58Z' + updated: '2024-01-04T00:34:13Z' language: TypeScript archived: false - stars: 83 + stars: 85 watchers: 2 forks: 6 owner: samchungy logo: https://avatars.githubusercontent.com/u/18017094?v=4 license: MIT - repoEtag: '"f317f4f434af23a9bb0ff10d9c5c292bbe9e2cebeee4ce5d8bdad8e806b59231"' - repoLastModified: Tue, 02 Jan 2024 17:39:58 GMT + repoEtag: '"89879b8ce6d65660b6b39de68533e4bdb5cf3ffdc4e0fe290a62d979b4e0441c"' + repoLastModified: Thu, 04 Jan 2024 00:34:13 GMT category: Parsers foundInMaster: true - source: openapi3 tags @@ -10245,17 +10245,17 @@ repositoryId: 673944158 description: This repository contains the specification files for PayPal REST APIs. created: '2023-08-02T19:26:26Z' - updated: '2023-12-28T03:00:41Z' + updated: '2024-01-03T08:31:47Z' language: null archived: false - stars: 79 + stars: 80 watchers: 12 - forks: 85 + forks: 87 owner: paypal logo: https://avatars.githubusercontent.com/u/476675?v=4 license: Apache-2.0 - repoEtag: '"78472a63e7815166e6a81a93bb41712c92c5a03e0dec1700430b364079acd0bc"' - repoLastModified: Thu, 28 Dec 2023 03:00:41 GMT + repoEtag: '"f973b6a60c894a18c9a18392e97b0e4453ddc26928d4a584662d769544440bb9"' + repoLastModified: Wed, 03 Jan 2024 08:31:47 GMT category: Code Generators foundInMaster: true - source: openapi3 tags @@ -10661,7 +10661,7 @@ owner: ahx logo: https://avatars.githubusercontent.com/u/8669?v=4 license: MIT - repoEtag: '"bbf03bddb985fc7011a2ae73c61b8baad1e926026e4666f2d031679498f7be0e"' + repoEtag: '"90ed8757a8d4f012d6dca434f2be5ec7e4eea98ee6fdf4fded61f4ac09339609"' repoLastModified: Fri, 22 Dec 2023 11:57:28 GMT foundInMaster: true category: @@ -10682,16 +10682,16 @@ A collection of open-source and commercial tools for creating your APIs with OpenAPI - Sourced from and published for the community created: '2022-01-14T19:24:14Z' - updated: '2023-12-22T18:20:34Z' + updated: '2024-01-03T18:25:09Z' language: JavaScript archived: false - stars: 59 + stars: 60 watchers: 8 forks: 18 owner: OAI logo: https://avatars.githubusercontent.com/u/16343502?v=4 - repoEtag: '"c8e5f6669b2276598aee454d8b61a256f4b77789ca2065e809bdf73469b0db48"' - repoLastModified: Fri, 22 Dec 2023 18:20:34 GMT + repoEtag: '"6f7cf64074ca5f98d05e0685436a35d2609921d3953a26da53d05f82b3728128"' + repoLastModified: Wed, 03 Jan 2024 18:25:09 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -11012,7 +11012,7 @@ forks: 12 owner: swagger-api logo: https://avatars.githubusercontent.com/u/7658037?v=4 - repoEtag: '"8b4e6f2399c2da54df1634d15700121fd13a142365e69edd68b63bed08a2c290"' + repoEtag: '"981888d025b72e20f7f842a08a5a81779fa36fc9556a46ff6b5ff3919c160d3b"' repoLastModified: Thu, 28 Dec 2023 04:34:11 GMT category: Parsers foundInMaster: true @@ -11429,17 +11429,17 @@ repositoryId: 591665560 description: APIBrew is Low code software to automate building CRUDs from yaml files created: '2023-01-21T13:22:13Z' - updated: '2024-01-02T04:35:44Z' + updated: '2024-01-03T15:22:29Z' language: Go archived: false - stars: 38 + stars: 39 watchers: 4 forks: 2 owner: apibrew logo: https://avatars.githubusercontent.com/u/132176743?v=4 license: MIT - repoEtag: '"31e15260921d77af8acad642fee35fdf295bd0a5b151db771194a8c62ac9aac8"' - repoLastModified: Tue, 02 Jan 2024 04:35:44 GMT + repoEtag: '"1f4f6190218c331c4024417c47746bd4a275dd557c38d0a5c6597112f46546ff"' + repoLastModified: Wed, 03 Jan 2024 15:22:29 GMT category: Server Implementations oldLocations: - https://github.com/tislib/apibrew @@ -11457,17 +11457,17 @@ repositoryId: 439764250 description: OpenAPI v3.1 Spec implementation in Go with generics created: '2021-12-19T03:11:04Z' - updated: '2023-12-27T06:45:21Z' + updated: '2024-01-03T12:10:18Z' language: Go archived: false - stars: 36 + stars: 37 watchers: 2 forks: 7 owner: sv-tools logo: https://avatars.githubusercontent.com/u/59230487?v=4 license: MIT - repoEtag: '"be2da1c07c15fa39f3238183e34f3f2ed97a79a5f633702106561e4c45e669d8"' - repoLastModified: Wed, 27 Dec 2023 06:45:21 GMT + repoEtag: '"fb32b51572b9739602160b7f49d75612532e730a54f055243017532e87e2b272"' + repoLastModified: Wed, 03 Jan 2024 12:10:18 GMT foundInMaster: true category: - Low-level Tooling @@ -11523,7 +11523,7 @@ owner: Backbase logo: https://avatars.githubusercontent.com/u/1914334?v=4 license: NOASSERTION - repoEtag: '"6a0ce88e82347bdf789d129ac9f783f9d3146817acf59aeccb837a5cf29d1b52"' + repoEtag: '"a41cb424353779e3a8f6b6b24760de915ee55d675e22e90dae942df3746c425b"' repoLastModified: Fri, 20 Oct 2023 12:33:10 GMT foundInMaster: true category: SDK @@ -11976,7 +11976,7 @@ owner: data-fair logo: https://avatars.githubusercontent.com/u/83776320?v=4 license: AGPL-3.0 - repoEtag: '"d55e97f8ab608d1d34ea19e9088689cb0f30fde8a2d1e38408245e58c369983f"' + repoEtag: '"81b33b24be3184225f34c677afd4a1de3473f6d900a9d6a07359c5b9edd79e6b"' repoLastModified: Wed, 06 Dec 2023 04:10:05 GMT foundInMaster: true category: @@ -12338,7 +12338,7 @@ owner: hei-school logo: https://avatars.githubusercontent.com/u/88576095?v=4 license: MIT - repoEtag: '"6e04caf4c9ae5a82c4fbbd1f40a95546fe4ce37ca372d5fd66056ba7d6a8c7fc"' + repoEtag: '"b7f6fb195babbfd21d94add3b37155f45872be2d6284f6d3004e9a9ae7bf2b86"' repoLastModified: Tue, 19 Dec 2023 14:16:16 GMT foundInMaster: true category: Code Generators @@ -12636,7 +12636,7 @@ owner: eropple logo: https://avatars.githubusercontent.com/u/109262?v=4 license: LGPL-3.0 - repoEtag: '"fe93b3dd6fe709962477107cec9b4cf4892cd4b7cadb01855748eb2d5a6da514"' + repoEtag: '"1930c8305373de7fb83922c56f0bddef271691ac1581d8ce59212fafd23f9db1"' repoLastModified: Mon, 09 Oct 2023 00:00:41 GMT foundInMaster: true category: @@ -13340,16 +13340,16 @@ This project contains the source code of a Spring Boot 3 REST API example application. created: '2018-10-25T00:16:09Z' - updated: '2023-12-13T13:25:53Z' + updated: '2024-01-03T09:54:51Z' language: Java archived: false - stars: 17 + stars: 18 watchers: 1 forks: 11 owner: igor-baiborodine logo: https://avatars.githubusercontent.com/u/1027701?v=4 - repoEtag: '"ae8e45c06d4985420d4a41447b38d3c29f2644238dc4a1f5b1c716888e47bf3b"' - repoLastModified: Wed, 13 Dec 2023 13:25:53 GMT + repoEtag: '"da0ec336dac7b5e0d0a84590c3578d17e349976f274571bd99dfa1f0794da113"' + repoLastModified: Wed, 03 Jan 2024 09:54:51 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -14235,7 +14235,7 @@ owner: bcgov logo: https://avatars.githubusercontent.com/u/916280?v=4 license: Apache-2.0 - repoEtag: '"5e0aa207bef371a727d25c32d8a3eb8486d0e820e6ecc2185d5e9c62b7f5240a"' + repoEtag: '"3bdd03c065934f7f3d23a08d6b38bb40405402c6c0d1dacc85c489ec7e67bc93"' repoLastModified: Wed, 04 Oct 2023 21:10:59 GMT category: Documentation foundInMaster: true @@ -14699,7 +14699,7 @@ owner: christianhelle logo: https://avatars.githubusercontent.com/u/710400?v=4 license: MIT - repoEtag: '"a76bd854c78bfc3adea0c554a7c70ff50093ece0d69276c502da9d1ad3d4b0fb"' + repoEtag: '"ab604ca881ec6eeb7d1f57e16ff5db4d5c39a34a4165a252359c79df712803c2"' repoLastModified: Thu, 14 Dec 2023 07:27:47 GMT category: Parsers foundInMaster: true @@ -14779,7 +14779,7 @@ repositoryId: 443839740 description: 'Python OpenAPI3 client/validator w\ {a,}syncio ' created: '2022-01-02T18:23:26Z' - updated: '2023-12-26T02:25:45Z' + updated: '2024-01-03T08:00:54Z' language: Python archived: false stars: 11 @@ -14788,8 +14788,8 @@ owner: commonism logo: https://avatars.githubusercontent.com/u/164513?v=4 license: BSD-3-Clause - repoEtag: '"359df49e5d5313c9d734450cb15614a960f52b533661b3e12160fc1b57b9d729"' - repoLastModified: Tue, 26 Dec 2023 02:25:45 GMT + repoEtag: '"b03ead3d5f1b1a55c201913b0ece6fec54469cbb7e281167eb5c4c276064b1ef"' + repoLastModified: Wed, 03 Jan 2024 08:00:54 GMT foundInMaster: true id: f7fe65d08545a563279e1526fe797380 v3: true @@ -15436,7 +15436,7 @@ owner: Jnig logo: https://avatars.githubusercontent.com/u/3729585?v=4 license: MIT - repoEtag: '"a9b87dbe043f04a8d024d6a7baed306e6e926f1a847ca3ac6093ac6578f44caa"' + repoEtag: '"770c7f4fe0ae9288b789d4d203aeae69196698d3c79f9810938c9798add71cb5"' repoLastModified: Mon, 21 Aug 2023 21:29:33 GMT category: - Data Validators @@ -15554,25 +15554,25 @@ id: cca834879fa03e42847529ee34ced019 repositoryMetadata: base64Readme: >- - RW5nbGlzaCDCtyBb5Lit5paHXSguL1JFQURNRS16aF9DTi5tZCkKCiMgb3BlbkFQSSBVSQphIHNpbXBsZXIgYW5kIG1vcmUgYmVhdXRpZnVsIG9wZW5hcGkgZG9jdW1lbnQgdGhhbiBzd2FnZ2VyLXVpLCBxdWlja2x5IGdlbmVyYXRlIG1vY2sgcGFyYW1zIGFuZCBjYWxsIGFwaSByZXF1ZXN0CgojIyMjIHF1aWNrIHN0YXJ0CmBgYGJhc2gKLy8gbm9kZSB2ZXJzaW9uID49IDE4Ci8vIGRvd25sb2FkIG5vZGVfbW9kdWxlcwpwbnBtIGluc3RhbGwKIyBvciBtYWtlIGluc3RhbGwKCi8vIHN0YXJ0Cm5wbSBydW4gZGV2CiMgb3IgbWFrZSBkZXYKYGBgCgojIyMjIHNvbWUgc2NyaXB0CmBgYGJhc2gKLy8gYnVpbGQKbnBtIHJ1biBidWlsZAojIG9yIG1ha2UgYnVpbGQKCi8vIG1ha2UgZG9ja2VyIGltYWdlCm1ha2UgZG9ja2VyLWJ1aWxkCgovLyBydW4gZG9ja2VyIGltYWdlCm1ha2UgZG9ja2VyLXJ1bgoKLy8gbWFrZSBkb2NrZXIgaW1hZ2UgYW5kIHJ1biBkb2NrZXIgaW1hZ2UKbWFrZSBkb2NrZXItYnVpbGQtcnVuCmBgYAoKIyMjIyBhYm91dCBzdXBwb3J0IGRhdGEgZm9ybWF0Ciogc3dhZ2dlcjIuanNvbi9zd2FnZ2VyMi55bWwKKiBvcGVuYXBpMy5qc29uL29wZW5hcGkzLnltbAoKIyMjIyBhYm91dCBob3cgdG8gdXNlCiogZW50ZXIgc3dhZ2dlcjIvb3BlbmFwaTMgYXBpIGdhdGV3YXkgVVJMCiogdXBsb2FkIHN3YWdnZXIyL29wZW5hcGkzIGZpbGUKKiBlbnRlciBzd2FnZ2VyMi9vcGVuYXBpMyB0ZXh0CgojIyMjIGFib3V0IG1vY2sgcmVxdWVzdCBwYXJhbXMKKiBpZiB0aGUgc2NoZW1hIGNvbnRhaW5zIHRoZSBmb3JtYXQgZmllbGQsIHRoZW4gdXNlIFtvcGVuYXBpLXNhbXBsZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9SZWRvY2x5L29wZW5hcGktc2FtcGxlcikgdG8gbW9jayByZXF1ZXN0IHBhcmFtcwoqIGlmIHRoZSBzY2hlbWEgZG9lcyBub3QgY29udGFpbiB0aGUgZm9ybWF0IGZpZWxkLCB0aGVuIHVzZSBmYWtlciB0byBtb2NrIHJlcXVlc3QgcGFyYW1zCgojIyMjIGFib3V0IGNvbmZpZwoqIHN1cHBvcnRzIGNvbmZpZ3VyZSByZXF1ZXN0IHRpbWVvdXQKKiBzdXBwb3J0cyBjb25maWd1cmUgcmVxdWVzdCBBdXRob3JpemF0aW9uCgojIyMjIGFib3V0IHVuYWJsZSB0byBjb25uZWN0IGludHJhbmV0IGFwaQoqIGlmIHVuYWJsZSB0byBjb25uZWN0IGludHJhbmV0IGFwaSwgeW91IGNhbiBydW4gdGhpcyBwcm9qZWN0IGxvY2FsbHkgb3IgdXNlIGRvY2tlciB0byBkZXBsb3kgdGhpcyBwcm9qZWN0IGxvY2FsbHkgb3Igb24gdGhlIHNlcnZlcgoKIyMjIyBhYm91dCBzaGFyZSBVUkwKKiBpbiBvcmRlciB0byBrZWVwIHRoZSBVUkwgc2ltcGxlLCB0aGUgc2hhcmluZyBVUkwgbmVlZHMgdG8gYmUgZ2VuZXJhdGVkIHRocm91Z2ggdGhlIGJ1dHRvbiBpbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyIG9mIHRoZSBwYWdlCgojIyMjIGFib3V0IHN1cHBvcnQgbXVsdGlwbGUgYXBpIGdhdGV3YXkgVVJMCiogdGhlIGNhY2hpbmcgc3RyYXRlZ3kgdXNlZCBpcyBzZXNzaW9uIHN0b3JhZ2UsIHNvIHlvdSBjYW4gb3BlbiBtdWx0aXBsZSBwYWdlcyBhdCB0aGUgc2FtZSB0aW1lCgojIyMjIGFib3V0IG5vZGUgdmVyc2lvbgpub2RlID49IDE4 - readmeEtag: '"acc64131c4b25d1369b47c7e327321fb16914059f82b6e938a8317d4e7556b33"' - readmeLastModified: Wed, 03 Jan 2024 03:16:44 GMT + RW5nbGlzaCDCtyBb5Lit5paHXSguL1JFQURNRS16aF9DTi5tZCkKCiMgb3BlbkFQSSBVSQphIHNpbXBsZXIgYW5kIG1vcmUgYmVhdXRpZnVsIG9wZW5hcGkgZG9jdW1lbnQgdGhhbiBzd2FnZ2VyLXVpLCBxdWlja2x5IGdlbmVyYXRlIG1vY2sgcGFyYW1zIGFuZCBjYWxsIGFwaSByZXF1ZXN0CgojIyMgcXVpY2sgc3RhcnQKYGBgYmFzaAovLyBub2RlIHZlcnNpb24gPj0gMTgKLy8gZG93bmxvYWQgbm9kZV9tb2R1bGVzCnBucG0gaW5zdGFsbAojIG9yIG1ha2UgaW5zdGFsbAoKLy8gc3RhcnQKbnBtIHJ1biBkZXYKIyBvciBtYWtlIGRldgpgYGAKCiMjIyBzb21lIHNjcmlwdApgYGBiYXNoCi8vIGJ1aWxkCm5wbSBydW4gYnVpbGQKIyBvciBtYWtlIGJ1aWxkCgovLyBtYWtlIGRvY2tlciBpbWFnZQptYWtlIGRvY2tlci1idWlsZAoKLy8gcnVuIGRvY2tlciBpbWFnZQptYWtlIGRvY2tlci1ydW4KCi8vIG1ha2UgZG9ja2VyIGltYWdlIGFuZCBydW4gZG9ja2VyIGltYWdlCm1ha2UgZG9ja2VyLWJ1aWxkLXJ1bgpgYGAKCiMjIyBhYm91dCBzdXBwb3J0IGRhdGEgZm9ybWF0Ciogc3dhZ2dlcjIuanNvbi9zd2FnZ2VyMi55bWwKKiBvcGVuYXBpMy5qc29uL29wZW5hcGkzLnltbAoKIyMjIGFib3V0IGhvdyB0byB1c2UKKiBlbnRlciBzd2FnZ2VyMi9vcGVuYXBpMyBhcGkgZ2F0ZXdheSBVUkwKKiB1cGxvYWQgc3dhZ2dlcjIvb3BlbmFwaTMgZmlsZQoqIGVudGVyIHN3YWdnZXIyL29wZW5hcGkzIHRleHQKCiMjIyBhYm91dCBtb2NrIHJlcXVlc3QgcGFyYW1zCiogaWYgdGhlIHNjaGVtYSBjb250YWlucyB0aGUgZm9ybWF0IGZpZWxkLCB0aGVuIHVzZSBbb3BlbmFwaS1zYW1wbGVyXShodHRwczovL2dpdGh1Yi5jb20vUmVkb2NseS9vcGVuYXBpLXNhbXBsZXIpIHRvIG1vY2sgcmVxdWVzdCBwYXJhbXMKKiBpZiB0aGUgc2NoZW1hIGRvZXMgbm90IGNvbnRhaW4gdGhlIGZvcm1hdCBmaWVsZCwgdGhlbiB1c2UgZmFrZXIgdG8gbW9jayByZXF1ZXN0IHBhcmFtcwoKIyMjIGFib3V0IGNvbmZpZwoqIHN1cHBvcnRzIGNvbmZpZ3VyZSByZXF1ZXN0IHRpbWVvdXQKKiBzdXBwb3J0cyBjb25maWd1cmUgcmVxdWVzdCBBdXRob3JpemF0aW9uCgojIyMgYWJvdXQgdW5hYmxlIHRvIGNvbm5lY3QgaW50cmFuZXQgYXBpCiogaWYgdW5hYmxlIHRvIGNvbm5lY3QgaW50cmFuZXQgYXBpLCB5b3UgY2FuIHJ1biB0aGlzIHByb2plY3QgbG9jYWxseSBvciB1c2UgZG9ja2VyIHRvIGRlcGxveSB0aGlzIHByb2plY3QgbG9jYWxseSBvciBvbiB0aGUgc2VydmVyCgojIyMgYWJvdXQgc2hhcmUgVVJMCiogaW4gb3JkZXIgdG8ga2VlcCB0aGUgVVJMIHNpbXBsZSwgdGhlIHNoYXJpbmcgVVJMIG5lZWRzIHRvIGJlIGdlbmVyYXRlZCB0aHJvdWdoIHRoZSBidXR0b24gaW4gdGhlIHVwcGVyIHJpZ2h0IGNvcm5lciBvZiB0aGUgcGFnZQoKIyMjIGFib3V0IHN1cHBvcnQgbXVsdGlwbGUgYXBpIGdhdGV3YXkgVVJMCiogdGhlIGNhY2hpbmcgc3RyYXRlZ3kgdXNlZCBpcyBzZXNzaW9uIHN0b3JhZ2UsIHNvIHlvdSBjYW4gb3BlbiBtdWx0aXBsZSBwYWdlcyBhdCB0aGUgc2FtZSB0aW1lCgojIyMgYWJvdXQgbm9kZSB2ZXJzaW9uCm5vZGUgPj0gMTg= + readmeEtag: '"2eefe863b6e3657f39a447da32eb9080de0cbf134ffcdff8d650a6c1ca075ef2"' + readmeLastModified: Thu, 04 Jan 2024 01:07:30 GMT repositoryId: 733969338 description: >- a simpler and more beautiful openapi document than swagger-ui, quickly generate mock params and call api request created: '2023-12-20T14:51:12Z' - updated: '2023-12-28T10:14:12Z' + updated: '2024-01-03T09:39:14Z' language: TypeScript archived: false - stars: 9 + stars: 14 watchers: 1 forks: 0 owner: rookie-luochao logo: https://avatars.githubusercontent.com/u/22948077?v=4 license: MIT - repoEtag: '"5bcb75acdf28a33d166780918d3b265d4789b995fd9b504cac5cc350ade46fc7"' - repoLastModified: Thu, 28 Dec 2023 10:14:12 GMT + repoEtag: '"f9fae70284604cdcebb48779fbaf1ed5592c77de82eee15a7c6c2056b64cd11d"' + repoLastModified: Wed, 03 Jan 2024 09:39:14 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -16086,7 +16086,7 @@ owner: danicc097 logo: https://avatars.githubusercontent.com/u/71724149?v=4 license: Apache-2.0 - repoEtag: '"e824c948d0e06bbe081fa16b59e3d36b170dca40c05eeb7cc5e6d684d74e0524"' + repoEtag: '"a7ae04e1ce37e6257c4b8fe81ce05e129af39d928d8b891e70700ace8207d5db"' repoLastModified: Sat, 11 Nov 2023 00:21:23 GMT category: Parsers foundInMaster: true @@ -17201,7 +17201,7 @@ owner: meabed logo: https://avatars.githubusercontent.com/u/45731?v=4 license: MIT - repoEtag: '"43dc83b52663fc64b77795999784f667866e48b3673fc05b90824d98a9b2e926"' + repoEtag: '"d65042cea0685df19df9ab65cae270ddd7ccb16d9bbee5ed16fb81685819a856"' repoLastModified: Sun, 02 Apr 2023 20:55:39 GMT foundInMaster: true category: @@ -18054,7 +18054,7 @@ owner: mulesoft-consulting logo: https://avatars.githubusercontent.com/u/7331519?v=4 license: Unlicense - repoEtag: '"8774a9a1c48a41b76983d45cd3f53c30ccff2856301249b71b0627f15406f7e7"' + repoEtag: '"866e4846d5e553bfc12ea78f498b9c55377f7d0160e82cedde5f7515cc28bae2"' repoLastModified: Tue, 28 Feb 2023 10:05:33 GMT foundInMaster: true category: Parsers @@ -18286,7 +18286,7 @@ owner: criteria-labs logo: https://avatars.githubusercontent.com/u/88253836?v=4 license: MIT - repoEtag: '"0716c8a128d3bdb0065d4452a94f492fa81b1b93914bd0e0c8f9acd4b073633a"' + repoEtag: '"6ab11ed4d7e8d194386f8ef53f6393af4be370e9b81f2d25cdb2d1279f32f2d6"' repoLastModified: Sun, 31 Dec 2023 05:01:56 GMT foundInMaster: true - source: openapi3 tags @@ -18309,7 +18309,7 @@ owner: eliezio logo: https://avatars.githubusercontent.com/u/1125375?v=4 license: NOASSERTION - repoEtag: '"2dc3c6cd5b84ac0de86dece38759a1f2fc035d3f466d814aea7dbf0554ccafed"' + repoEtag: '"812792d163513d7dacf5c3c4a11a860b2a6682e8cc807cd5fa284deb14dbe664"' repoLastModified: Wed, 02 Nov 2022 15:22:40 GMT foundInMaster: true category: Server @@ -19802,9 +19802,9 @@ id: 0812df37e319298aadaf68398b59b2d5 repositoryMetadata: base64Readme: >- - IyBERVBMT1kuQ2FjaG9ycm8uQXBpCgohW0ltYWdlbSBwcm9qZXRvIGFwaSBkZSBjYWNob3Jyb10oLi9kb2NzL2ltZ3JlYWRtZTEucG5nKQoKWyFbUXVhbGl0eSBnYXRlXShodHRwczovL3NvbmFyY2xvdWQuaW8vYXBpL3Byb2plY3RfYmFkZ2VzL3F1YWxpdHlfZ2F0ZT9wcm9qZWN0PWZlbGlwZW1lbnRlbF9ERVBMT1kuQ2FjaG9ycm8uQXBpKV0oaHR0cHM6Ly9zb25hcmNsb3VkLmlvL3N1bW1hcnkvbmV3X2NvZGU/aWQ9ZmVsaXBlbWVudGVsX0RFUExPWS5DYWNob3Jyby5BcGkpCgojIENvbmZpZ3VyYcOnw6NvIGxvY2FsIGRvIEdpdAoKYGBgCmdpdCBjb25maWcgLS1sb2NhbCAtLWxpc3QKYGBgCgpgYGAKZ2l0IGNvbmZpZyAtLWxvY2FsIHVzZXIubmFtZSAiRmVsaXBlIEF1Z3VzdG8iCmBgYAoKYGBgCmdpdCBjb25maWcgLS1sb2NhbCB1c2VyLmVtYWlsIGZlbGlwZW1lbnRlbEBob3RtYWlsLmNvbQpgYGAKClByb2pldG8gZWR1Y2FjaW9uYWwsIGNyaWFkbyBlIG1hbnRpZG8gYXRyYXbDqXMgZG8gY2FuYWwgREVQTE9ZIG5vIFlvdVR1YmUuCgo+IFBhcmEgY3JpYXIgYSBpbWFnZW0sIGEgcGFydGlyIGRvIGRpcmV0w7NyaW8gcm9vdCBkYSBhcGxpY2HDp8OjbyAocGFzdGEgcXVlIGNvbnRlbSBvIGFycXVpdm8gc2xuKQoKIyBwcmUtcmVxdWlzaXRvcyBwYXJhIGV4ZWN1dGFyIG8gcHJvamV0bwoKMS4gRG9ja2VyCjIuIFVtIGNvbnRhIG5vIEF6dXJlIHBhcmEgY3JpYXIgcmVjdXJzb3MKCj4gUGFyYSBleGVjdXRhciBvIHByb2pldG8gbG9jYWw6Cgpkb3RuZXQgcnVuIC0tcHJvamVjdCAuL3NyYy9ERVBMT1kuQ2FjaG9ycm8uQXBpL0RFUExPWS5DYWNob3Jyby5BcGkuY3Nwcm9qIEFTUE5FVENPUkVfRU5WSVJPTk1FTlQ9YWFhIENvbm5lY3Rpb25TdHJpbmdzOkFwcGxpY2F0aW9uSW5zaWdodHM9ImJiYiIgQ29ubmVjdGlvblN0cmluZ3M6RGVmYXVsdENvbm5lY3Rpb249ImNjYyIgQ29ubmVjdGlvblN0cmluZ3M6QXBwQ29uZmlndXJhdGlvbj0iZGRkIgpBcHBsaWNhdGlvbkluc2lnaHRzOkFwaUtleT0iZWVlIiBLZXlWYXVsdDpWYXVsdFVyaT0iZmZmIgoKPiBQYXJhIGV4ZWN1dGFyIG8gcHJvamV0byBsb2NhbCwgdXRpbGl6YW5kbyBkb2NrZXIKCmBgYApkb2NrZXIgY29udGFpbmVyIHJ1biAtLXJtIC1wIDgwODg6ODAgXAotZSBBU1BORVRDT1JFX0VOVklST05NRU5UPWFhYSBcCi1lIENvbm5lY3Rpb25TdHJpbmdzX19BcHBsaWNhdGlvbkluc2lnaHRzPSJiYmIiIFwKLWUgQ29ubmVjdGlvblN0cmluZ3NfX0RlZmF1bHRDb25uZWN0aW9uPSJjY2MiIFwKLWUgQ29ubmVjdGlvblN0cmluZ3NfX0FwcENvbmZpZ3VyYXRpb249ImRkZCIgXAotZSBBcHBsaWNhdGlvbkluc2lnaHRzX19BcGlLZXk9ImVlZSIgXAotZSBLZXlWYXVsdF9fVmF1bHRVcmk9ImZmZiIgXApmZWxpcGVtZW50ZWwvY2FjaG9ycm8uYXBpOmxhdGVzdApgYGAKCmBgYAphYWEgPSBEZXZlbG9wbWVudHxQcm9kdWN0aW9uCmBgYAoKYGBgCmJiYiA9IENvbm5lY3Rpb25TdHJpbmcgZG8gQXBwbGljYXRpb24gSW5zaWdodHMKYGBgCgpgYGAKY2NjID0gQ29ubmVjdGlvbiBTdHJpbmcgKEF6dXJlIFNRTCBEYXRhYmFzZSBvdSBodHRwczovL2h1Yi5kb2NrZXIuY29tL18vbWljcm9zb2Z0LWF6dXJlLXNxbC1lZGdlKQpgYGAKCmBgYApkZGQgPSBDb25uZWN0aW9uIHN0cmluZyBkbyBBcHAgQ29uZmlndXJhdGlvbgpgYGAKCmBgYAplZWUgPSBBcGlLZXkgZ2VyYWRhIGRlbnRybyBkbyBBcHBsaWNhdGlvbiBJbnNpZ2h0cwpgYGAKCmBgYApmZmYgPSBVUkkgZG8gQXp1cmUgS2V5VmF1bHQKYGBgCgpDb21hbmRvIHBhcmEgc3ViaXIgbyBiYW5jbyBkZSBkYWRvcyBsb2NhbDoKCmBgYApkb2NrZXIgcnVuIC0tY2FwLWFkZCBTWVNfUFRSQUNFIC1lICdBQ0NFUFRfRVVMQT0xJyAtZSAnTVNTUUxfU0FfUEFTU1dPUkQ9QWJjZDEyMzQlJyAtZSAnTVNTUUxfUElEPURldmVsb3BlcicgLXAgMTQzMzoxNDMzIC0tbmFtZSBhenVyZXNxbGVkZ2UgLWQgbWNyLm1pY3Jvc29mdC5jb20vYXp1cmUtc3FsLWVkZ2U6Mi4wLjAKYGBgCgpDYXNvIHF1ZWlyYSB0ZXN0YXIgY29tIG91dHJhIHRhZywgdXRpbGl6ZSBvcyBjb21hbmRvcyBhYmFpeG8gcGFyYSBvYnRlciBhIGxpc3RhIGRlIHRhZ3MKCmBgYApodHRwczovL21jci5taWNyb3NvZnQuY29tL3YyL2F6dXJlLXNxbC1lZGdlL3RhZ3MvbGlzdApgYGAKCiMgVGVzdGVzIGRlIHVuaWRhZGUKClRlY25vbG9naWE6IFhVbml0CgowLiBQcmUgcmVxdWlzaXRvCiAgIFNlcsOhIG5lY2Vzc8OhcmlvIGluc3RhbGFyIG9zIGRvaXMgcGFjb3RlcyBhYmFpeG8gcGFyYSB0ZXIgc3VjZXNzbyBhbyBleGVjdXRhciBvcyBjb21hbmRvcyBkZXNjcml0b3MgbmVzc2UgYXJxdWl2by4KCmBgYApkb3RuZXQgdG9vbCBpbnN0YWxsIC0tZ2xvYmFsIGRvdG5ldC1yZXBvcnRnZW5lcmF0b3ItZ2xvYmFsdG9vbApgYGAKCmBgYApkb3RuZXQgdG9vbCBpbnN0YWxsIC0tZ2xvYmFsIGRvdG5ldC1jb3ZlcmFnZQpgYGAKCjEuIENvbW8gRXhlY3V0YXI6CiAgIDEuMSBBIHBhcnRpciBkYSBwYXN0YSBzcmMgZXhlY3V0ZSBvIGNvbWFuZG86CgpgYGAKZG90bmV0IHRlc3QKYGBgCgoyLiBHZXJhw6fDo28gZGUgcmVsYXTDs3JpbyBkZSB0ZXN0ZXMKCiAgIDEuMSBBIHBhcnRpciBkYSBwYXN0YSBzcmMgZXhlY3V0ZSBvIGNvbWFuZG86CgpgYGAKZG90bmV0IHRlc3QgLS1jb2xsZWN0OiJYUGxhdCBDb2RlIENvdmVyYWdlIiAtLWxvZ2dlciAiY29uc29sZTt2ZXJib3NpdHk9ZGV0YWlsZWQiIC0tcmVzdWx0cy1kaXJlY3RvcnkgLlxERVBMT1kuQ2FjaG9ycm8uQXBpLlRlc3RzXFRlc3RSZXN1bHRzXFhQbGF0Q29kZUNvdmVyYWdlXApgYGAKCmUgZGVwb2lzIGV4ZWN1dGU6CgpgYGAKcmVwb3J0Z2VuZXJhdG9yIC1yZXBvcnRzOi5cREVQTE9ZLkNhY2hvcnJvLkFwaS5UZXN0c1xUZXN0UmVzdWx0c1xYUGxhdENvZGVDb3ZlcmFnZVwqKlxjb3ZlcmFnZS5jb2JlcnR1cmEueG1sICAtdGFyZ2V0ZGlyOi4vREVQTE9ZLkNhY2hvcnJvLkFwaS5UZXN0cy9UZXN0UmVzdWx0cy9YUGxhdENvZGVDb3ZlcmFnZS9Db3ZlcmFnZVJlcG9ydCAtcmVwb3J0dHlwZXM6Ikh0bWw7U29uYXJRdWJlO0pzb25TdW1tYXJ5O0JhZGdlcyIgLXZlcmJvc2l0eTpWZXJib3NlIC10aXRsZTpDYWNob3Jyby5BUEkgLXRhZzpjYW5hbC1kZXBsb3kKYGBgCgpvdQoKYGBgCiR2YXIgPSAoR2V0LURhdGUpLlRvU3RyaW5nKCJ5eXl5TU1kZC1ISG1tc3MiKTsgZG90bmV0LWNvdmVyYWdlIGNvbGxlY3QgImRvdG5ldCB0ZXN0IiAtZiB4bWwgLW8gIi5cREVQTE9ZLkNhY2hvcnJvLkFwaS5UZXN0c1xUZXN0UmVzdWx0c1xEb3RuZXRDb3ZlcmFnZUNvbGxlY3RcJHZhclxjb3ZlcmFnZS5jb2JlcnR1cmEueG1sIgpgYGAKCmUgZGVwb2lzIGV4ZWN1dGU6CgpgYGAKcmVwb3J0Z2VuZXJhdG9yIC1yZXBvcnRzOi5cREVQTE9ZLkNhY2hvcnJvLkFwaS5UZXN0c1xUZXN0UmVzdWx0c1xEb3RuZXRDb3ZlcmFnZUNvbGxlY3RcKipcY292ZXJhZ2UuY29iZXJ0dXJhLnhtbCAgLXRhcmdldGRpcjouL0RFUExPWS5DYWNob3Jyby5BcGkuVGVzdHMvVGVzdFJlc3VsdHMvRG90bmV0Q292ZXJhZ2VDb2xsZWN0L0NvdmVyYWdlUmVwb3J0IC1yZXBvcnR0eXBlczoiSHRtbDtTb25hclF1YmU7SnNvblN1bW1hcnk7QmFkZ2VzIiAtdmVyYm9zaXR5OlZlcmJvc2UgLXRpdGxlOkNhY2hvcnJvLkFQSSAtdGFnOmNhbmFsLWRlcGxveQpgYGAKCjEuMiBBIHBhcnRpciBkYSBwYXN0YSBzcmMgZXhlY3V0ZSBvIGNvbWFuZG86CgotLS0KCiMgRW50aXR5RnJhbWV3b3JrIENvbW1hbmRzCgpgYGAKCmRvdG5ldCB0b29sIGluc3RhbGwgLS1nbG9iYWwgZG90bmV0LWVmCgpgYGAKCmBgYAoKZG90bmV0IGVmIG1pZ3JhdGlvbnMgYWRkIEluaXREYXRhYmFzZUFQSSAtcyBERVBMT1kuQ2FjaG9ycm8uQXBpIC1wIERFUExPWS5DYWNob3Jyby5SZXBvc2l0b3J5IC1jIERFUExPWS5DYWNob3Jyby5SZXBvc2l0b3J5LkNhY2hvcnJvRGJDb250ZXh0IC0tb3V0cHV0LWRpciBNaWdyYXRpb25zL0FQSSAtdgoKYGBgCgpgYGAKCmRvdG5ldCBlZiBkYXRhYmFzZSB1cGRhdGUgSW5pdERhdGFiYXNlQVBJIC0tc3RhcnR1cC1wcm9qZWN0IERFUExPWS5DYWNob3Jyby5BcGkgLS1wcm9qZWN0IERFUExPWS5DYWNob3Jyby5SZXBvc2l0b3J5IC0tY29udGV4dCBERVBMT1kuQ2FjaG9ycm8uUmVwb3NpdG9yeS5DYWNob3Jyb0RiQ29udGV4dCAtLXZlcmJvc2UKCmBgYAoKQ29ubmVjdGlvbiBTdHJpbmcKCmBgYAoKRGF0YSBTb3VyY2U9MTI3LjAuMC4xLDE0MzM7SW5pdGlhbCBDYXRhbG9nPUNhY2hvcnJvO1VzZXIgSWQ9c2E7UGFzc3dvcmQ9QWJjZDEyMzQlO0ludGVncmF0ZWQgU2VjdXJpdHk9RmFsc2U7TXVsdGlwbGVBY3RpdmVSZXN1bHRTZXRzPVRydWU7VHJ1c3RTZXJ2ZXJDZXJ0aWZpY2F0ZT10cnVlOwoKYGBgCgo8YnIvPgo8YnIvPgo8YnIvPgo8YnIvPgo8YnIvPgoKIyBMaW5rIGRlIGRvY3VtZW50YcOnw7VlcyBjaXRhZGFzIGR1cmFudGUgYSBjcmlhw6dhbyBkbyBwcm9qZXRvCgpgYGAKaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2RvdG5ldC9jb3JlL3Rvb2xzL2RvdG5ldApgYGAKCmBgYAoKaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2FzcG5ldC9jb3JlL2Z1bmRhbWVudGFscy9sb2dnaW5nLz92aWV3PWFzcG5ldGNvcmUtNy4wCgpgYGAKCmBgYAoKaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2FzcG5ldC9jb3JlL3NlY3VyaXR5L2FwcC1zZWNyZXRzP3ZpZXc9YXNwbmV0Y29yZS03LjAmdGFicz13aW5kb3dzCgpgYGAKCklMb2dnZXIKCmBgYAoKaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2FzcG5ldC9jb3JlL2Z1bmRhbWVudGFscy9sb2dnaW5nLz92aWV3PWFzcG5ldGNvcmUtNy4wCgpgYGAKCmBgYAoKaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2RvdG5ldC9jb3JlL3Rvb2xzL2RvdG5ldC10ZXN0CgpgYGAKCmBgYAoKaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2F6dXJlL2F6dXJlLW1vbml0b3IvYXBwL2lsb2dnZXI/dGFicz1kb3RuZXQ2CgpgYGAKCkFwcGxpY2F0aW9uIEluc2lnaHRzCgpgYGAKCmh0dHBzOi8vbGVhcm4ubWljcm9zb2Z0LmNvbS9wdC1ici9henVyZS9henVyZS1tb25pdG9yL2FwcC9hc3AtbmV0LWNvcmU/dGFicz1uZXRjb3JlbmV3JTJDbmV0Y29yZTYKCmBgYAoKTGl2ZSBTdHJlYW0gLyBMaXZlIE1ldHJpY3MKCmBgYAoKaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2F6dXJlL2F6dXJlLW1vbml0b3IvYXBwL2xpdmUtc3RyZWFtP3RhYnM9ZG90bmV0NgoKYGBgCgpLZXkgVmF1bHQKCmBgYAoKaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL3B0LWJyL2F6dXJlL2tleS12YXVsdC9nZW5lcmFsL2Jhc2ljLWNvbmNlcHRzCgpgYGAKCmBgYApodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vZW4tdXMvZG90bmV0L2F6dXJlL3Nkay9kZXBlbmRlbmN5LWluamVjdGlvbj90YWJzPXdlYi1hcHAtYnVpbGRlcgpgYGAKCmBgYApodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vcHQtYnIvYXNwbmV0L2NvcmUvc2VjdXJpdHkva2V5LXZhdWx0LWNvbmZpZ3VyYXRpb24/dmlldz1hc3BuZXRjb3JlLTMuMQpgYGAKCkNvbmZpZ3VyYXRpb24KCmBgYAoKaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2FzcG5ldC9jb3JlL2Z1bmRhbWVudGFscy9jb25maWd1cmF0aW9uLz92aWV3PWFzcG5ldGNvcmUtNy4wCgpgYGAKCkF6dXJlIEFwcCBDb25maWd1cmF0aW9uCgpgYGAKCmh0dHBzOi8vbGVhcm4ubWljcm9zb2Z0LmNvbS9lbi11cy9henVyZS9henVyZS1hcHAtY29uZmlndXJhdGlvbi9xdWlja3N0YXJ0LWFzcG5ldC1jb3JlLWFwcD90YWJzPWNvcmU2eApgYGAKCmBgYApodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvYXp1cmUtYXBwLWNvbmZpZ3VyYXRpb24vaG93dG8tZmVhdHVyZS1maWx0ZXJzLWFzcG5ldC1jb3JlCmBgYAoKYGBgCmh0dHBzOi8vbGVhcm4ubWljcm9zb2Z0LmNvbS9lbi11cy9henVyZS9henVyZS1hcHAtY29uZmlndXJhdGlvbi9lbmFibGUtZHluYW1pYy1jb25maWd1cmF0aW9uLWFzcG5ldC1jb3JlP3RhYnM9Y29yZTZ4CgpgYGAKCkRvY2tlciBDb21tYW5kcwoKYGBgCgpkb2NrZXIgY29udGFpbmVyIHJtIC1mICQoZG9ja2VyIGNvbnRhaW5lciBscyAtYSAtcSkKCmBgYAoKYGBgCgpkb2NrZXIgdm9sdW1lIHJtICQoZG9ja2VyIHZvbHVtZSBscyAtcSkKCmBgYAoKYGBgCgpkb2NrZXIgaW1hZ2Ugcm0gLWYgJChkb2NrZXIgaW1hZ2UgbHMgLWEgLXEpCgpgYGAKCmBgYAoKZG9ja2VyIHN5c3RlbSBwcnVuZQoKYGBgCgpgYGAKCmRvY2tlciBpbWFnZSBscwoKYGBgCgpgYGAKCmRvY2tlciBidWlsZCAtZiAuL3NyYy9ERVBMT1kuQ2FjaG9ycm8uQXBpL0RvY2tlcmZpbGUgLXQgZmVsaXBlbWVudGVsL2NhY2hvcnJvLmFwaTpsb2NhbCAuL3NyYwoKYGBgCgpgYGAKCmRvY2tlciB0YWcgNDMwZjVkOWY0MjI5IGNyY2FuYWxkZXBsb3lkZXYuYXp1cmVjci5pby9jYWNob3Jyby5hcGk6bGF0ZXN0CgpgYGAKCmBgYAoKZG9ja2VyIHB1c2ggY3JjYW5hbGRlcGxveWRldi5henVyZWNyLmlvL2NhY2hvcnJvLmFwaTpsYXRlc3QKCmBgYAoKYGBgCgpkb2NrZXIgcHVzaCBnaGNyLmlvL2ZlbGlwZW1lbnRlbC9jYWNob3Jyby5hcGk6bGF0ZXN0CgpgYGAKCmBgYAoKZG9ja2VyIGNvbnRhaW5lciBydW4gLXAgODA4ODo4MCBjcmNhbmFsZGVwbG95ZGV2LmF6dXJlY3IuaW8vY2FjaG9ycm8uYXBpOmxhdGVzdAoKYGBgCgpgYGAKCmRvY2tlciBjb250YWluZXIgcnVuIC0tcm0gLS1uYW1lIHNvbmFyLWNhbmFsLWRlcGxveSAtcCA5MDQ0OjkwMDAgc29uYXJxdWJlOjEwLjMuMC1jb21tdW5pdHkKCmBgYAoKQ29tYW5kb3MgQXp1cmUgS2V5IFZhdWx0CgpgYGAKCmF6IGtleXZhdWx0IHNlY3JldCBzaG93IC0tbmFtZSBDYWNob3Jyb0Nvbm5lY3Rpb25TdHJpbmcgLS12YXVsdC1uYW1lIGt2LWNhbmFsZGVwbG95LWRldgoKYGBgCgpgYGAKCkBNaWNyb3NvZnQuS2V5VmF1bHQoU2VjcmV0VXJpPWh0dHBzOi8va3YtY2FuYWxkZXBsb3ktZGV2LnZhdWx0LmF6dXJlLm5ldC9zZWNyZXRzL0Nvbm5lY3Rpb25TdHJpbmdzLS1BcHBsaWNhdGlvbkluc2lnaHRzLykKCmBgYAoKYGBgCgpATWljcm9zb2Z0LktleVZhdWx0KFZhdWx0TmFtZT1rdi1jYW5hbGRlcGxveS1kZXY7U2VjcmV0TmFtZT1Db25uZWN0aW9uU3RyaW5ncy0tQXBwbGljYXRpb25JbnNpZ2h0cykKCmBgYAoKQ29tYW5kb3MgQXp1cmUgQ29udGFpbmVyIEluc3RhbmNlCgpgYGAKCmF6IGNvbnRhaW5lciBsb2dzIC0tcmVzb3VyY2UtZ3JvdXAgcmctY2FuYWxkZXBsb3ktZGV2IC0tbmFtZSBhcGktY2FjaG9ycm8KCmBgYAoKYGBgCgpheiBjb250YWluZXIgZXhlYyAtZyBnLWNhbmFsZGVwbG95LWRldiAtLW5hbWUgY2FjaG9ycm8uYXBpIC0tZXhlYy1jb21tYW5kICIvYmluL2Jhc2giCgpgYGAKCiNnaXQKI2dpdGh1YgojZ2l0aHViLWFjdGlvbnMKI3NvbmFyLXF1YmUKI3dzbC0yCiNkb2NrZXIKI2RvY2tlci1jb21wb3NlCiNkb2NrZXItaHViCiNkb25ldAojZWYtY29yZQojZW50aXR5LWZyYW1ld29yay1jb3JlCiN4LXVuaXQKI3Bvc3RtYW4KI2F6dXJlCiNhenVyZS1hcHBsaWNhdGlvbi1pbmdpc2h0cwojYXp1cmUtc3FsLWRhdGFiYXNlCiNhenVyZS1hcHAtY29uZmlndXJhdGlvbgojYXp1cmUtY29udGFpbmVyLXJlZ2lzdHJ5CiNhenVyZS1jb250YWluZXItaW5zdGFuY2UKI2F6dXJlLWNvbnRhaW5lci1hcHBzCiNhenVyZS1rZXktdmF1bHQK - readmeEtag: '"c1bd398d9986cdecc5c3e20f10754e51942b5d408c6b163699e99f47ce85eb66"' - readmeLastModified: Sun, 17 Dec 2023 18:36:10 GMT + IyBERVBMT1kuQ2FjaG9ycm8uQXBpCgohW0ltYWdlbSBwcm9qZXRvIGFwaSBkZSBjYWNob3Jyb10oLi9kb2NzL2ltZ3JlYWRtZTEucG5nKQoKWyFbUXVhbGl0eSBnYXRlXShodHRwczovL3NvbmFyY2xvdWQuaW8vYXBpL3Byb2plY3RfYmFkZ2VzL3F1YWxpdHlfZ2F0ZT9wcm9qZWN0PWZlbGlwZW1lbnRlbF9ERVBMT1kuQ2FjaG9ycm8uQXBpKV0oaHR0cHM6Ly9zb25hcmNsb3VkLmlvL3N1bW1hcnkvbmV3X2NvZGU/aWQ9ZmVsaXBlbWVudGVsX0RFUExPWS5DYWNob3Jyby5BcGkpCgojIENvbmZpZ3VyYcOnw6NvIGxvY2FsIGRvIEdpdAoKYGBgCmdpdCBjb25maWcgLS1sb2NhbCAtLWxpc3QKYGBgCgpgYGAKZ2l0IGNvbmZpZyAtLWxvY2FsIHVzZXIubmFtZSAiRmVsaXBlIEF1Z3VzdG8iCmBgYAoKYGBgCmdpdCBjb25maWcgLS1sb2NhbCB1c2VyLmVtYWlsIGZlbGlwZW1lbnRlbEBob3RtYWlsLmNvbQpgYGAKCmBgYAoKZ2l0IGZldGNoIG9yaWdpbiAtLXBydW5lCgpgYGAKClByb2pldG8gZWR1Y2FjaW9uYWwsIGNyaWFkbyBlIG1hbnRpZG8gYXRyYXbDqXMgZG8gY2FuYWwgREVQTE9ZIG5vIFlvdVR1YmUuCgo+IFBhcmEgY3JpYXIgYSBpbWFnZW0sIGEgcGFydGlyIGRvIGRpcmV0w7NyaW8gcm9vdCBkYSBhcGxpY2HDp8OjbyAocGFzdGEgcXVlIGNvbnRlbSBvIGFycXVpdm8gc2xuKQoKIyBwcmUtcmVxdWlzaXRvcyBwYXJhIGV4ZWN1dGFyIG8gcHJvamV0bwoKMS4gRG9ja2VyCjIuIFVtIGNvbnRhIG5vIEF6dXJlIHBhcmEgY3JpYXIgcmVjdXJzb3MKCj4gUGFyYSBleGVjdXRhciBvIHByb2pldG8gbG9jYWw6CgpgYGAKZG90bmV0IHJ1biAtLXByb2plY3QgLi9zcmMvREVQTE9ZLkNhY2hvcnJvLkFwaS9ERVBMT1kuQ2FjaG9ycm8uQXBpLmNzcHJvaiBBU1BORVRDT1JFX0VOVklST05NRU5UPWFhYSBDb25uZWN0aW9uU3RyaW5nczpBcHBsaWNhdGlvbkluc2lnaHRzPSJiYmIiIENvbm5lY3Rpb25TdHJpbmdzOkRlZmF1bHRDb25uZWN0aW9uPSJjY2MiIENvbm5lY3Rpb25TdHJpbmdzOkFwcENvbmZpZ3VyYXRpb249ImRkZCIKQXBwbGljYXRpb25JbnNpZ2h0czpBcGlLZXk9ImVlZSIgS2V5VmF1bHQ6VmF1bHRVcmk9ImZmZiIKYGBgCgo+IFBhcmEgZXhlY3V0YXIgbyBwcm9qZXRvIGxvY2FsLCB1dGlsaXphbmRvIGRvY2tlcgoKYGBgCmRvY2tlciBjb250YWluZXIgcnVuIC0tcm0gLXAgODA4ODo4MCBcCi1lIEFTUE5FVENPUkVfRU5WSVJPTk1FTlQ9YWFhIFwKLWUgQ29ubmVjdGlvblN0cmluZ3NfX0FwcGxpY2F0aW9uSW5zaWdodHM9ImJiYiIgXAotZSBDb25uZWN0aW9uU3RyaW5nc19fRGVmYXVsdENvbm5lY3Rpb249ImNjYyIgXAotZSBDb25uZWN0aW9uU3RyaW5nc19fQXBwQ29uZmlndXJhdGlvbj0iZGRkIiBcCi1lIEFwcGxpY2F0aW9uSW5zaWdodHNfX0FwaUtleT0iZWVlIiBcCi1lIEtleVZhdWx0X19WYXVsdFVyaT0iZmZmIiBcCmZlbGlwZW1lbnRlbC9jYWNob3Jyby5hcGk6bGF0ZXN0CmBgYAoKYGBgCmFhYSA9IERldmVsb3BtZW50fFByb2R1Y3Rpb24KYmJiID0gQ29ubmVjdGlvblN0cmluZyBkbyBBcHBsaWNhdGlvbiBJbnNpZ2h0cwpjY2MgPSBDb25uZWN0aW9uIFN0cmluZyAoQXp1cmUgU1FMIERhdGFiYXNlIG91IGh0dHBzOi8vaHViLmRvY2tlci5jb20vXy9taWNyb3NvZnQtYXp1cmUtc3FsLWVkZ2UpCmRkZCA9IENvbm5lY3Rpb24gc3RyaW5nIGRvIEFwcCBDb25maWd1cmF0aW9uCmVlZSA9IEFwaUtleSBnZXJhZGEgZGVudHJvIGRvIEFwcGxpY2F0aW9uIEluc2lnaHRzCmZmZiA9IFVSSSBkbyBBenVyZSBLZXlWYXVsdApgYGAKCkNvbWFuZG8gcGFyYSBzdWJpciBvIGJhbmNvIGRlIGRhZG9zIGxvY2FsOgoKYGBgCmRvY2tlciBydW4gLS1jYXAtYWRkIFNZU19QVFJBQ0UgLWUgJ0FDQ0VQVF9FVUxBPTEnIC1lICdNU1NRTF9TQV9QQVNTV09SRD1BYmNkMTIzNCUnIC1lICdNU1NRTF9QSUQ9RGV2ZWxvcGVyJyAtcCAxNDMzOjE0MzMgLS1uYW1lIGF6dXJlc3FsZWRnZSAtZCBtY3IubWljcm9zb2Z0LmNvbS9henVyZS1zcWwtZWRnZToyLjAuMApgYGAKCkNhc28gcXVlaXJhIHRlc3RhciBjb20gb3V0cmEgdGFnLCB1dGlsaXplIG9zIGNvbWFuZG9zIGFiYWl4byBwYXJhIG9idGVyIGEgbGlzdGEgZGUgdGFncwoKYGBgCmh0dHBzOi8vbWNyLm1pY3Jvc29mdC5jb20vdjIvYXp1cmUtc3FsLWVkZ2UvdGFncy9saXN0CmBgYAoKIyBUZXN0ZXMgZGUgdW5pZGFkZQoKVGVjbm9sb2dpYTogWFVuaXQKCjAuIFByZSByZXF1aXNpdG8KICAgU2Vyw6EgbmVjZXNzw6FyaW8gaW5zdGFsYXIgb3MgZG9pcyBwYWNvdGVzIGFiYWl4byBwYXJhIHRlciBzdWNlc3NvIGFvIGV4ZWN1dGFyIG9zIGNvbWFuZG9zIGRlc2NyaXRvcyBuZXNzZSBhcnF1aXZvLgoKYGBgCmRvdG5ldCB0b29sIGluc3RhbGwgLS1nbG9iYWwgZG90bmV0LXJlcG9ydGdlbmVyYXRvci1nbG9iYWx0b29sCmBgYAoKYGBgCmRvdG5ldCB0b29sIGluc3RhbGwgLS1nbG9iYWwgZG90bmV0LWNvdmVyYWdlCmBgYAoKMS4gQ29tbyBFeGVjdXRhcjoKICAgMS4xIEEgcGFydGlyIGRhIHBhc3RhIHNyYyBleGVjdXRlIG8gY29tYW5kbzoKCmBgYApkb3RuZXQgdGVzdApgYGAKCjIuIEdlcmHDp8OjbyBkZSByZWxhdMOzcmlvIGRlIHRlc3RlcwoKICAgMS4xIEEgcGFydGlyIGRhIHBhc3RhIHNyYyBleGVjdXRlIG8gY29tYW5kbzoKCmBgYApkb3RuZXQgdGVzdCAtLWNvbGxlY3Q6IlhQbGF0IENvZGUgQ292ZXJhZ2UiIC0tbG9nZ2VyICJjb25zb2xlO3ZlcmJvc2l0eT1kZXRhaWxlZCIgLS1yZXN1bHRzLWRpcmVjdG9yeSAuXERFUExPWS5DYWNob3Jyby5BcGkuVGVzdHNcVGVzdFJlc3VsdHNcWFBsYXRDb2RlQ292ZXJhZ2VcCmBgYAoKZSBkZXBvaXMgZXhlY3V0ZToKCmBgYApyZXBvcnRnZW5lcmF0b3IgLXJlcG9ydHM6LlxERVBMT1kuQ2FjaG9ycm8uQXBpLlRlc3RzXFRlc3RSZXN1bHRzXFhQbGF0Q29kZUNvdmVyYWdlXCoqXGNvdmVyYWdlLmNvYmVydHVyYS54bWwgIC10YXJnZXRkaXI6Li9ERVBMT1kuQ2FjaG9ycm8uQXBpLlRlc3RzL1Rlc3RSZXN1bHRzL1hQbGF0Q29kZUNvdmVyYWdlL0NvdmVyYWdlUmVwb3J0IC1yZXBvcnR0eXBlczoiSHRtbDtTb25hclF1YmU7SnNvblN1bW1hcnk7QmFkZ2VzIiAtdmVyYm9zaXR5OlZlcmJvc2UgLXRpdGxlOkNhY2hvcnJvLkFQSSAtdGFnOmNhbmFsLWRlcGxveQpgYGAKCm91CgpgYGAKJHZhciA9IChHZXQtRGF0ZSkuVG9TdHJpbmcoInl5eXlNTWRkLUhIbW1zcyIpOyBkb3RuZXQtY292ZXJhZ2UgY29sbGVjdCAiZG90bmV0IHRlc3QiIC1mIHhtbCAtbyAiLlxERVBMT1kuQ2FjaG9ycm8uQXBpLlRlc3RzXFRlc3RSZXN1bHRzXERvdG5ldENvdmVyYWdlQ29sbGVjdFwkdmFyXGNvdmVyYWdlLmNvYmVydHVyYS54bWwiCmBgYAoKZSBkZXBvaXMgZXhlY3V0ZToKCmBgYApyZXBvcnRnZW5lcmF0b3IgLXJlcG9ydHM6LlxERVBMT1kuQ2FjaG9ycm8uQXBpLlRlc3RzXFRlc3RSZXN1bHRzXERvdG5ldENvdmVyYWdlQ29sbGVjdFwqKlxjb3ZlcmFnZS5jb2JlcnR1cmEueG1sICAtdGFyZ2V0ZGlyOi4vREVQTE9ZLkNhY2hvcnJvLkFwaS5UZXN0cy9UZXN0UmVzdWx0cy9Eb3RuZXRDb3ZlcmFnZUNvbGxlY3QvQ292ZXJhZ2VSZXBvcnQgLXJlcG9ydHR5cGVzOiJIdG1sO1NvbmFyUXViZTtKc29uU3VtbWFyeTtCYWRnZXMiIC12ZXJib3NpdHk6VmVyYm9zZSAtdGl0bGU6Q2FjaG9ycm8uQVBJIC10YWc6Y2FuYWwtZGVwbG95CmBgYAoKMS4yIEEgcGFydGlyIGRhIHBhc3RhIHNyYyBleGVjdXRlIG8gY29tYW5kbzoKCi0tLQoKIyBFbnRpdHlGcmFtZXdvcmsgQ29tbWFuZHMKCmBgYAoKZG90bmV0IHRvb2wgaW5zdGFsbCAtLWdsb2JhbCBkb3RuZXQtZWYKCmBgYAoKYGBgCgpkb3RuZXQgZWYgbWlncmF0aW9ucyBhZGQgSW5pdERhdGFiYXNlQVBJIC1zIERFUExPWS5DYWNob3Jyby5BcGkgLXAgREVQTE9ZLkNhY2hvcnJvLlJlcG9zaXRvcnkgLWMgREVQTE9ZLkNhY2hvcnJvLlJlcG9zaXRvcnkuQ2FjaG9ycm9EYkNvbnRleHQgLS1vdXRwdXQtZGlyIE1pZ3JhdGlvbnMvQVBJIC12CgpgYGAKCmBgYAoKZG90bmV0IGVmIGRhdGFiYXNlIHVwZGF0ZSBJbml0RGF0YWJhc2VBUEkgLS1zdGFydHVwLXByb2plY3QgREVQTE9ZLkNhY2hvcnJvLkFwaSAtLXByb2plY3QgREVQTE9ZLkNhY2hvcnJvLlJlcG9zaXRvcnkgLS1jb250ZXh0IERFUExPWS5DYWNob3Jyby5SZXBvc2l0b3J5LkNhY2hvcnJvRGJDb250ZXh0IC0tdmVyYm9zZQoKYGBgCgpDb25uZWN0aW9uIFN0cmluZwoKYGBgCgpEYXRhIFNvdXJjZT0xMjcuMC4wLjEsMTQzMztJbml0aWFsIENhdGFsb2c9Q2FjaG9ycm87VXNlciBJZD1zYTtQYXNzd29yZD1BYmNkMTIzNCU7SW50ZWdyYXRlZCBTZWN1cml0eT1GYWxzZTtNdWx0aXBsZUFjdGl2ZVJlc3VsdFNldHM9VHJ1ZTtUcnVzdFNlcnZlckNlcnRpZmljYXRlPXRydWU7CgpgYGAKCjxici8+Cjxici8+Cjxici8+Cjxici8+Cjxici8+CgojIyBMaW5rIGRlIGRvY3VtZW50YcOnw7VlcyBjaXRhZGFzIGR1cmFudGUgYSBjcmlhw6dhbyBkbyBwcm9qZXRvCgpgYGAKaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2RvdG5ldC9jb3JlL3Rvb2xzL2RvdG5ldApgYGAKCmBgYAoKaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2FzcG5ldC9jb3JlL2Z1bmRhbWVudGFscy9sb2dnaW5nLz92aWV3PWFzcG5ldGNvcmUtNy4wCgpgYGAKCmBgYApodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vZW4tdXMvZG90bmV0L2NvcmUvY29tcGF0aWJpbGl0eS9jb250YWluZXJzLzguMC9hcHAtdXNlcgoKYGBgCgpgYGAKCmh0dHBzOi8vbGVhcm4ubWljcm9zb2Z0LmNvbS9lbi11cy9hc3BuZXQvY29yZS9zZWN1cml0eS9hcHAtc2VjcmV0cz92aWV3PWFzcG5ldGNvcmUtNy4wJnRhYnM9d2luZG93cwoKYGBgCiMjIyBHaXRodWIKYGBgCmh0dHBzOi8vZG9jcy5naXRodWIuY29tL2VuL2FjdGlvbnMKCmBgYAoKYGBgCmh0dHBzOi8vZ2l0aHViLmNvbS9tYXJrZXRwbGFjZS9hY3Rpb25zL3JlcG9ydGdlbmVyYXRvcgpgYGAKCiMjIyBJTG9nZ2VyCgpgYGAKCmh0dHBzOi8vbGVhcm4ubWljcm9zb2Z0LmNvbS9lbi11cy9hc3BuZXQvY29yZS9mdW5kYW1lbnRhbHMvbG9nZ2luZy8/dmlldz1hc3BuZXRjb3JlLTcuMAoKYGBgCgpgYGAKCmh0dHBzOi8vbGVhcm4ubWljcm9zb2Z0LmNvbS9lbi11cy9kb3RuZXQvY29yZS90b29scy9kb3RuZXQtdGVzdAoKYGBgCgpgYGAKCmh0dHBzOi8vbGVhcm4ubWljcm9zb2Z0LmNvbS9lbi11cy9henVyZS9henVyZS1tb25pdG9yL2FwcC9pbG9nZ2VyP3RhYnM9ZG90bmV0NgoKYGBgCgojIyMgQXBwbGljYXRpb24gSW5zaWdodHMKCmBgYAoKaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL3B0LWJyL2F6dXJlL2F6dXJlLW1vbml0b3IvYXBwL2FzcC1uZXQtY29yZT90YWJzPW5ldGNvcmVuZXclMkNuZXRjb3JlNgoKYGBgCgpMaXZlIFN0cmVhbSAvIExpdmUgTWV0cmljcwoKYGBgCgpodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vZW4tdXMvYXp1cmUvYXp1cmUtbW9uaXRvci9hcHAvbGl2ZS1zdHJlYW0/dGFicz1kb3RuZXQ2CgpgYGAKCiMjIyBLZXkgVmF1bHQKCmBgYAoKaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL3B0LWJyL2F6dXJlL2tleS12YXVsdC9nZW5lcmFsL2Jhc2ljLWNvbmNlcHRzCgpgYGAKCmBgYApodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vZW4tdXMvZG90bmV0L2F6dXJlL3Nkay9kZXBlbmRlbmN5LWluamVjdGlvbj90YWJzPXdlYi1hcHAtYnVpbGRlcgpgYGAKCmBgYApodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vcHQtYnIvYXNwbmV0L2NvcmUvc2VjdXJpdHkva2V5LXZhdWx0LWNvbmZpZ3VyYXRpb24/dmlldz1hc3BuZXRjb3JlLTMuMQpgYGAKCiMjIyBDb25maWd1cmF0aW9uCgpgYGAKCmh0dHBzOi8vbGVhcm4ubWljcm9zb2Z0LmNvbS9lbi11cy9hc3BuZXQvY29yZS9mdW5kYW1lbnRhbHMvY29uZmlndXJhdGlvbi8/dmlldz1hc3BuZXRjb3JlLTcuMAoKYGBgCgojIyMgU29uYXJRdWJlCgpgYGAKCmh0dHBzOi8vZG9jcy5zb25hcnNvdXJjZS5jb20vc29uYXJjbG91ZC9hZHZhbmNlZC1zZXR1cC9hbmFseXNpcy1wYXJhbWV0ZXJzLwoKYGBgCgojIyMgQXp1cmUgQXBwIENvbmZpZ3VyYXRpb24KCmBgYAoKaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2F6dXJlL2F6dXJlLWFwcC1jb25maWd1cmF0aW9uL3F1aWNrc3RhcnQtYXNwbmV0LWNvcmUtYXBwP3RhYnM9Y29yZTZ4CmBgYAoKYGBgCmh0dHBzOi8vbGVhcm4ubWljcm9zb2Z0LmNvbS9lbi11cy9henVyZS9henVyZS1hcHAtY29uZmlndXJhdGlvbi9ob3d0by1mZWF0dXJlLWZpbHRlcnMtYXNwbmV0LWNvcmUKYGBgCgpgYGAKaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2F6dXJlL2F6dXJlLWFwcC1jb25maWd1cmF0aW9uL2VuYWJsZS1keW5hbWljLWNvbmZpZ3VyYXRpb24tYXNwbmV0LWNvcmU/dGFicz1jb3JlNngKCmBgYAoKIyMjIERvY2tlciBDb21tYW5kcwoKYGBgCgpkb2NrZXIgY29udGFpbmVyIHJtIC1mICQoZG9ja2VyIGNvbnRhaW5lciBscyAtYSAtcSkKCmBgYAoKYGBgCgpkb2NrZXIgdm9sdW1lIHJtICQoZG9ja2VyIHZvbHVtZSBscyAtcSkKCmBgYAoKYGBgCgpkb2NrZXIgaW1hZ2Ugcm0gLWYgJChkb2NrZXIgaW1hZ2UgbHMgLWEgLXEpCgpgYGAKCmBgYAoKZG9ja2VyIHN5c3RlbSBwcnVuZQoKYGBgCgpgYGAKCmRvY2tlciBpbWFnZSBscwoKYGBgCgpgYGAKCmRvY2tlciBidWlsZCAtZiAuL3NyYy9ERVBMT1kuQ2FjaG9ycm8uQXBpL0RvY2tlcmZpbGUgLXQgZmVsaXBlbWVudGVsL2NhY2hvcnJvLmFwaTpsb2NhbCAuL3NyYwoKYGBgCgpgYGAKCmRvY2tlciB0YWcgNDMwZjVkOWY0MjI5IGNyY2FuYWxkZXBsb3lkZXYuYXp1cmVjci5pby9jYWNob3Jyby5hcGk6bGF0ZXN0CgpgYGAKCmBgYAoKZG9ja2VyIHB1c2ggY3JjYW5hbGRlcGxveWRldi5henVyZWNyLmlvL2NhY2hvcnJvLmFwaTpsYXRlc3QKCmBgYAoKYGBgCgpkb2NrZXIgcHVzaCBnaGNyLmlvL2ZlbGlwZW1lbnRlbC9jYWNob3Jyby5hcGk6bGF0ZXN0CgpgYGAKCmBgYAoKZG9ja2VyIGNvbnRhaW5lciBydW4gLXAgODA4ODo4MCBjcmNhbmFsZGVwbG95ZGV2LmF6dXJlY3IuaW8vY2FjaG9ycm8uYXBpOmxhdGVzdAoKYGBgCgpgYGAKCmRvY2tlciBjb250YWluZXIgcnVuIC0tcm0gLS1uYW1lIHNvbmFyLWNhbmFsLWRlcGxveSAtcCA5MDQ0OjkwMDAgc29uYXJxdWJlOjEwLjMuMC1jb21tdW5pdHkKCmBgYAoKIyMjIENvbWFuZG9zIEF6dXJlIEtleSBWYXVsdAoKYGBgCgpheiBrZXl2YXVsdCBzZWNyZXQgc2hvdyAtLW5hbWUgQ2FjaG9ycm9Db25uZWN0aW9uU3RyaW5nIC0tdmF1bHQtbmFtZSBrdi1jYW5hbGRlcGxveS1kZXYKCmBgYAoKYGBgCgpATWljcm9zb2Z0LktleVZhdWx0KFNlY3JldFVyaT1odHRwczovL2t2LWNhbmFsZGVwbG95LWRldi52YXVsdC5henVyZS5uZXQvc2VjcmV0cy9Db25uZWN0aW9uU3RyaW5ncy0tQXBwbGljYXRpb25JbnNpZ2h0cy8pCgpgYGAKCmBgYAoKQE1pY3Jvc29mdC5LZXlWYXVsdChWYXVsdE5hbWU9a3YtY2FuYWxkZXBsb3ktZGV2O1NlY3JldE5hbWU9Q29ubmVjdGlvblN0cmluZ3MtLUFwcGxpY2F0aW9uSW5zaWdodHMpCgpgYGAKCiMjIyBDb21hbmRvcyBBenVyZSBDb250YWluZXIgSW5zdGFuY2UKCmBgYAoKYXogY29udGFpbmVyIGxvZ3MgLS1yZXNvdXJjZS1ncm91cCByZy1jYW5hbGRlcGxveS1kZXYgLS1uYW1lIGFwaS1jYWNob3JybwoKYGBgCgpgYGAKCmF6IGNvbnRhaW5lciBleGVjIC1nIGctY2FuYWxkZXBsb3ktZGV2IC0tbmFtZSBjYWNob3Jyby5hcGkgLS1leGVjLWNvbW1hbmQgIi9iaW4vYmFzaCIKCmBgYAoKI2dpdAojZ2l0aHViCiNnaXRodWItYWN0aW9ucwojc29uYXItcXViZQojd3NsLTIKI2RvY2tlcgojZG9ja2VyLWNvbXBvc2UKI2RvY2tlci1odWIKI2RvbmV0CiNlZi1jb3JlCiNlbnRpdHktZnJhbWV3b3JrLWNvcmUKI3gtdW5pdAojcG9zdG1hbgojYXp1cmUKI2F6dXJlLWFwcGxpY2F0aW9uLWluZ2lzaHRzCiNhenVyZS1zcWwtZGF0YWJhc2UKI2F6dXJlLWFwcC1jb25maWd1cmF0aW9uCiNhenVyZS1jb250YWluZXItcmVnaXN0cnkKI2F6dXJlLWNvbnRhaW5lci1pbnN0YW5jZQojYXp1cmUtY29udGFpbmVyLWFwcHMKI2F6dXJlLWtleS12YXVsdAo= + readmeEtag: '"620c29c5d862c01aa31e6e5681ef752e71f466728a03785a96aca856888022b7"' + readmeLastModified: Thu, 04 Jan 2024 01:13:28 GMT repositoryId: 682787791 description: API criada para o canal DEPLOY para fins de estudo created: '2023-08-24T23:30:51Z' @@ -19817,7 +19817,7 @@ owner: felipementel logo: https://avatars.githubusercontent.com/u/14238257?v=4 license: Apache-2.0 - repoEtag: '"c72e825dc42edd7ccaf34158d4fba6792deeda4fa20f7a8f6fc199361842c232"' + repoEtag: '"5a2af6c38ec2ae96efbda1d96cd8b7bc90018f28dc51cb3dcc8738a503d8a437"' repoLastModified: Fri, 15 Dec 2023 01:36:18 GMT category: Code Generators foundInMaster: true @@ -20773,7 +20773,7 @@ OpenAPI(v3) Validators for Symfony http-foundation, using `league/openapi-psr7-validator` and `symfony/psr-http-message-bridge`. created: '2021-09-09T16:22:40Z' - updated: '2021-11-19T13:28:06Z' + updated: '2024-01-03T07:29:13Z' language: PHP archived: false stars: 2 @@ -20782,8 +20782,8 @@ owner: n1215 logo: https://avatars.githubusercontent.com/u/2157593?v=4 license: MIT - repoEtag: '"2d13daf8248d734ad8c376de3de9fc490882e5cf4609e581aa83e59b308d80bd"' - repoLastModified: Fri, 19 Nov 2021 13:28:06 GMT + repoEtag: '"185b3507617bb3232b712d9d61a200d1e47beb7aa7c26f278ec067c79c54ccf5"' + repoLastModified: Wed, 03 Jan 2024 07:29:13 GMT foundInMaster: true category: Data Validators id: e5ae30ae45d597e93d4c0950e4132b19 @@ -21269,11 +21269,11 @@ language: Python archived: false stars: 2 - watchers: 5 + watchers: 6 forks: 2 owner: gbarre logo: https://avatars.githubusercontent.com/u/2445791?v=4 - repoEtag: '"cf845a6c7f2b80f5fb220931e6c07a22e47e04a921feecc657ddc928a7373e56"' + repoEtag: '"df2ba2f67408930901cdcd32c97b4ddef890f48ba79ae1381c90b6484375a61d"' repoLastModified: Wed, 15 Feb 2023 08:54:46 GMT foundInMaster: true category: Server Implementations @@ -21430,7 +21430,7 @@ owner: SierraSoftworks logo: https://avatars.githubusercontent.com/u/5012716?v=4 license: MIT - repoEtag: '"c980833c0394374532291fba96d4f1bde8ca65a387edbc40c305946f4af9968d"' + repoEtag: '"744bbbac3425f78d6f400beaefbd6e512fe122ec4f01c03c3bff27d549881808"' repoLastModified: Mon, 14 Nov 2022 17:18:07 GMT foundInMaster: true category: @@ -22449,17 +22449,17 @@ Goal: Extract Joomla Api Routes to be able to auto-generate always up-to-date OpenAPI Schema created: '2023-09-15T20:49:49Z' - updated: '2023-11-08T14:05:34Z' + updated: '2024-01-03T19:22:12Z' language: PHP archived: false - stars: 2 + stars: 3 watchers: 3 forks: 0 owner: alexandreelise logo: https://avatars.githubusercontent.com/u/51425450?v=4 license: AGPL-3.0 - repoEtag: '"00a7e5b723ae5529ff56c6cd261d87163ac85f94d9fdd1dccb4994263e1d54c1"' - repoLastModified: Wed, 08 Nov 2023 14:05:34 GMT + repoEtag: '"2c4c29b0757e9e8d7cd430102ce0861b986f3b2de5e360251bbd1550ace0145d"' + repoLastModified: Wed, 03 Jan 2024 19:22:12 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -22508,7 +22508,7 @@ owner: python-lapidary logo: https://avatars.githubusercontent.com/u/111730600?v=4 license: MIT - repoEtag: '"305b4c3e932db90291aa97963095f065c13b4de91dec28ab6be10dabfb8c7ed9"' + repoEtag: '"aaff7b653edff21b933a6530149f4b3430a6616c06f98eb3a63ca66991d82447"' repoLastModified: Tue, 16 May 2023 13:20:52 GMT category: - Parsers @@ -26588,7 +26588,7 @@ owner: hiroyoshii logo: https://avatars.githubusercontent.com/u/40140638?v=4 license: Apache-2.0 - repoEtag: '"f2dd35e55cf84df3a48f8605094c6d56241ac15a839b0cf937aba389f9776999"' + repoEtag: '"9dfc7a637441e2c9e0f48652fa1c155f113aef1f1b6dce28ffd920fcbff19615"' repoLastModified: Sat, 02 Sep 2023 16:28:12 GMT category: Server Implementations foundInMaster: true @@ -27314,7 +27314,7 @@ owner: tada5hi logo: https://avatars.githubusercontent.com/u/13162758?v=4 license: MIT - repoEtag: '"5e181391d3e1a1b1cec2603d520a66f921eb3d9f501d0b2b2ec2a1ccd2818109"' + repoEtag: '"4267eab1522751dbb6525fe7b96520479ca546a5a6e209a2966ee61506e2396a"' repoLastModified: Fri, 17 Mar 2023 22:17:59 GMT category: Parsers foundInMaster: true @@ -28063,7 +28063,7 @@ owner: Apiboard logo: https://avatars.githubusercontent.com/u/110201247?v=4 license: MIT - repoEtag: '"da95c5c7df2f69fa7b23fd1f2f7f01dd4e7d749072e5aea7ec236fd61c7a362d"' + repoEtag: '"9f9a8188521aa17fda0f129fd0026a474290f2942ff597c2db8eecb657ee5f90"' repoLastModified: Fri, 31 Mar 2023 21:39:15 GMT category: Parsers foundInMaster: true @@ -30055,13 +30055,13 @@ id: a28256e662d8b3f9b919787f4b645788 repositoryMetadata: base64Readme: >- - WyFbUXVhbGl0eSBHYXRlIFN0YXR1c10oaHR0cHM6Ly9zb25hcmNsb3VkLmlvL2FwaS9wcm9qZWN0X2JhZGdlcy9tZWFzdXJlP3Byb2plY3Q9bHYuaWQuamMlM0FwaWctbGF0aW4tcmVzdCZtZXRyaWM9YWxlcnRfc3RhdHVzKV0oaHR0cHM6Ly9zb25hcmNsb3VkLmlvL3N1bW1hcnkvbmV3X2NvZGU/aWQ9bHYuaWQuamMlM0FwaWctbGF0aW4tcmVzdCkKWyFbQVBJIGRvY3NdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2UvQVBJLWRvY3MtaW5mb3JtYXRpb25hbCldKGh0dHBzOi8vcGlnbGF0aW4uYXp1cmV3ZWJzaXRlcy5uZXQvc3dhZ2dlci11aS9pbmRleC5odG1sKQpbIVtEZXBsb3llZCBvbiBBenVyZV0oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9iYWRnZS9EZXBsb3llZCUyMG9uLUF6dXJlLWJsdWUpXShodHRwczovL3BpZ2xhdGluLmF6dXJld2Vic2l0ZXMubmV0KQoKIyBQaWcgTGF0aW4gVHJhbnNsYXRvcgoKVGhpcyBpcyBhIFJFU1QgYXBwbGljYXRpb24gdGhhdCB0cmFuc2xhdGVzIEVuZ2xpc2ggc2VudGVuY2VzIGludG8gUGlnIExhdGluLiBJdCB3YXMgY3JlYXRlZCB0byBleHBlcmltZW50IHdpdGggdGhlIEFQSS1maXJzdCBhcHByb2FjaDogdGhlIE9wZW5BUEkgc3BlY2lmaWNhdGlvbiB3YXMgY3JlYXRlZCBmaXJzdCwgdGhlbiB0aGUgY29kZSB3YXMgZ2VuZXJhdGVkIGZvciBTcHJpbmcsIGFuZCBmaW5hbGx5LCBjdXN0b20gY29kZSB3YXMgYWRkZWQgdGhhdCBkZXBlbmRzIG9uIHRoZSBnZW5lcmF0ZWQgY29kZS4KCiMjIFJ1bm5pbmcgdGhlIEFwcGxpY2F0aW9uIExvY2FsbHkKClRvIHJ1biB0aGUgYXBwbGljYXRpb24gbG9jYWxseSwgdXNlIHRoZSBmb2xsb3dpbmcgY29tbWFuZDoKCmBgYGJhc2gKbXZuIGNsZWFuIGNvbXBpbGUgc3ByaW5nLWJvb3Q6cnVuCmBgYApUaGlzIHdpbGwgc3RhcnQgdGhlIGFwcGxpY2F0aW9uIG9uIGxvY2FsaG9zdDo4MDgwLiBZb3UgY2FuIGFjY2VzcyB0aGUgU3dhZ2dlciBVSSBhdCBodHRwOi8vbG9jYWxob3N0OjgwODAvc3dhZ2dlci11aS8gYW5kIHRoZSBhcHBsaWNhdGlvbiBlbmRwb2ludCBhdCBodHRwOi8vbG9jYWxob3N0OjgwODAvcGlnLWxhdGluLgoKIyMgRGVwbG95ZWQgQXBwbGljYXRpb24KClRoZSBhcHBsaWNhdGlvbiBpcyBkZXBsb3llZCBvbiBBenVyZSBhdCB0aGUgZm9sbG93aW5nIFVSTDogaHR0cHM6Ly9waWdsYXRpbi5henVyZXdlYnNpdGVzLm5ldC4KCllvdSBjYW4gdXNlIHRoZSBzaW1wbGUgd2ViIGludGVyZmFjZSBhdCBodHRwczovL3BpZ2xhdGluLmF6dXJld2Vic2l0ZXMubmV0IGFuZCB0aGUgU3dhZ2dlciBVSSBhdCBodHRwczovL3BpZ2xhdGluLmF6dXJld2Vic2l0ZXMubmV0L3N3YWdnZXItdWkvaW5kZXguaHRtbC4KCiMjIEFQSSBUZXN0aW5nCgpUaGUgYXBwbGljYXRpb24gaW5jbHVkZXMgQVBJIHRlc3RzIHdyaXR0ZW4gd2l0aCB0d28gZnJhbWV3b3JrczogS2FyYXRlIGFuZCBCcnVuby4KClRvIHJ1biB0aGUgQnJ1bm8gQVBJIHRlc3RzLCB1c2UgdGhlIGZvbGxvd2luZyBjb21tYW5kczoKCmBgYGJhc2gKY2QgYnJ1bm8tdGVzdApucG0gcnVuIHRlc3QKYGBgCgpUbyBydW4gdGhlIEthcmF0ZSBBUEkgdGVzdHMsIHVzZSB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6CgpgYGBiYXNoCm12biBjbGVhbiB0ZXN0IC1EdGVzdD1UZXN0UnVubmVyCmBgYAoKIyMgU3BlY2lmaWNhdGlvbi1GaXJzdCBEZXZlbG9wbWVudAoKVGhpcyBhcHBsaWNhdGlvbiB3YXMgZGV2ZWxvcGVkIHVzaW5nIHRoZSBzcGVjaWZpY2F0aW9uLWZpcnN0IGFwcHJvYWNoLiBUaGUgc3BlY2lmaWNhdGlvbnMgd2VyZSB3cml0dGVuIGZpcnN0IHVzaW5nIHRoZSBTcG9jayBmcmFtZXdvcmssIGFuZCB0aGVuIHRoZSBpbXBsZW1lbnRhdGlvbiB3YXMgYWRkZWQuCg== - readmeEtag: '"55544c627d02efc62a229682eb11931834b0194602888eaee91bae9009d89e67"' - readmeLastModified: Tue, 02 Jan 2024 20:00:19 GMT + WyFbUXVhbGl0eSBHYXRlIFN0YXR1c10oaHR0cHM6Ly9zb25hcmNsb3VkLmlvL2FwaS9wcm9qZWN0X2JhZGdlcy9tZWFzdXJlP3Byb2plY3Q9bHYuaWQuamMlM0FwaWctbGF0aW4tcmVzdCZtZXRyaWM9YWxlcnRfc3RhdHVzKV0oaHR0cHM6Ly9zb25hcmNsb3VkLmlvL3N1bW1hcnkvbmV3X2NvZGU/aWQ9bHYuaWQuamMlM0FwaWctbGF0aW4tcmVzdCkKWyFbQVBJIGRvY3NdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2UvQVBJLWRvY3MtaW5mb3JtYXRpb25hbCldKGh0dHBzOi8vcGlnbGF0aW4uYXp1cmV3ZWJzaXRlcy5uZXQvc3dhZ2dlci11aS9pbmRleC5odG1sKQpbIVtEZXBsb3llZCBvbiBBenVyZV0oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9iYWRnZS9EZXBsb3llZCUyMG9uLUF6dXJlLWJsdWUpXShodHRwczovL3BpZ2xhdGluLmF6dXJld2Vic2l0ZXMubmV0KQoKIyBQaWcgTGF0aW4gVHJhbnNsYXRvcgoKVGhpcyBpcyBhIFJFU1QgYXBwbGljYXRpb24gdGhhdCB0cmFuc2xhdGVzIEVuZ2xpc2ggc2VudGVuY2VzIGludG8gUGlnIExhdGluLiBUaGUgcnVsZXMgYW5kIGluc3RydWN0aW9ucyBmb3IgdGhlIFBpZyBMYXRpbiB0cmFuc2xhdGlvbiB3ZXJlIG9idGFpbmVkIGZyb20gdGhlIFtQaWcgTGF0aW4gZXhlcmNpc2Ugb24gdGhlIEV4ZXJjaXNtIEphdmEgVHJhY2tdKGh0dHBzOi8vZXhlcmNpc20ub3JnL3RyYWNrcy9qYXZhL2V4ZXJjaXNlcy9waWctbGF0aW4pLgoKVGhlIGFwcGxpY2F0aW9uIHdhcyBjcmVhdGVkIHRvIGV4cGVyaW1lbnQgd2l0aCB0aGUgQVBJLWZpcnN0IGFwcHJvYWNoOiB0aGUgT3BlbkFQSSBzcGVjaWZpY2F0aW9uIHdhcyBjcmVhdGVkIGZpcnN0LCB0aGVuIHRoZSBjb2RlIHdhcyBnZW5lcmF0ZWQgZm9yIFNwcmluZywgYW5kIGZpbmFsbHksIGN1c3RvbSBjb2RlIHdhcyBhZGRlZCB0aGF0IGRlcGVuZHMgb24gdGhlIGdlbmVyYXRlZCBjb2RlLgoKIyMgR2V0dGluZyBTdGFydGVkCgpCZWZvcmUgb3BlbmluZyB0aGUgY29kZSBmb3IgZWRpdGluZywgcnVuIHRoZSBmb2xsb3dpbmcgY29tbWFuZCB0byBnZW5lcmF0ZSB0aGUgbmVjZXNzYXJ5IGNvZGU6CgpgYGBiYXNoCm12biBjbGVhbiBjb21waWxlCmBgYAoKVGhpcyBjb21tYW5kIGNsZWFucyB0aGUgcHJvamVjdCwgY29tcGlsZXMgdGhlIHNvdXJjZSBjb2RlLCBhbmQgZ2VuZXJhdGVzIHRoZSBjb2RlIHRoYXQgdGhlIGN1c3RvbSBjb2RlIGRlcGVuZHMgb24uIEFmdGVyIHJ1bm5pbmcgdGhpcyBjb21tYW5kLCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gb3BlbiB0aGUgY29kZSB3aXRob3V0IGdldHRpbmcgYW55IGVycm9yIG1lc3NhZ2VzLgoKIyMgUnVubmluZyB0aGUgQXBwbGljYXRpb24gTG9jYWxseQoKVG8gcnVuIHRoZSBhcHBsaWNhdGlvbiBsb2NhbGx5LCB1c2UgdGhlIGZvbGxvd2luZyBjb21tYW5kOgoKYGBgYmFzaAptdm4gY2xlYW4gY29tcGlsZSBzcHJpbmctYm9vdDpydW4KYGBgClRoaXMgd2lsbCBzdGFydCB0aGUgYXBwbGljYXRpb24gb24gbG9jYWxob3N0OjgwODAuIFlvdSBjYW4gYWNjZXNzIHRoZSBTd2FnZ2VyIFVJIGF0IGh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9zd2FnZ2VyLXVpLyBhbmQgdGhlIGFwcGxpY2F0aW9uIGVuZHBvaW50IGF0IGh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9waWctbGF0aW4uCgojIyBEZXBsb3llZCBBcHBsaWNhdGlvbgoKVGhlIGFwcGxpY2F0aW9uIGlzIGRlcGxveWVkIG9uIEF6dXJlIGF0IHRoZSBmb2xsb3dpbmcgVVJMOiBodHRwczovL3BpZ2xhdGluLmF6dXJld2Vic2l0ZXMubmV0LgoKWW91IGNhbiB1c2UgdGhlIHNpbXBsZSB3ZWIgaW50ZXJmYWNlIGF0IGh0dHBzOi8vcGlnbGF0aW4uYXp1cmV3ZWJzaXRlcy5uZXQgYW5kIHRoZSBTd2FnZ2VyIFVJIGF0IGh0dHBzOi8vcGlnbGF0aW4uYXp1cmV3ZWJzaXRlcy5uZXQvc3dhZ2dlci11aS9pbmRleC5odG1sLgoKIyMgQVBJIFRlc3RpbmcKClRoZSBhcHBsaWNhdGlvbiBpbmNsdWRlcyBBUEkgdGVzdHMgd3JpdHRlbiB3aXRoIHR3byBmcmFtZXdvcmtzOiBLYXJhdGUgYW5kIEJydW5vLgoKVG8gcnVuIHRoZSBCcnVubyBBUEkgdGVzdHMsIHVzZSB0aGUgZm9sbG93aW5nIGNvbW1hbmRzOgoKYGBgYmFzaApjZCBicnVuby10ZXN0Cm5wbSBydW4gdGVzdApgYGAKClRvIHJ1biB0aGUgS2FyYXRlIEFQSSB0ZXN0cywgdXNlIHRoZSBmb2xsb3dpbmcgY29tbWFuZDoKCmBgYGJhc2gKbXZuIGNsZWFuIHRlc3QgLUR0ZXN0PVRlc3RSdW5uZXIKYGBgCgojIyBTcGVjaWZpY2F0aW9uLUZpcnN0IERldmVsb3BtZW50CgpUaGlzIGFwcGxpY2F0aW9uIHdhcyBkZXZlbG9wZWQgdXNpbmcgdGhlIHNwZWNpZmljYXRpb24tZmlyc3QgYXBwcm9hY2guIFRoZSBzcGVjaWZpY2F0aW9ucyB3ZXJlIHdyaXR0ZW4gZmlyc3QgdXNpbmcgdGhlIFNwb2NrIGZyYW1ld29yaywgYW5kIHRoZW4gdGhlIGltcGxlbWVudGF0aW9uIHdhcyBhZGRlZC4K + readmeEtag: '"fe0efaa8b9dd1aa29021d9713b6ea1ce40052ef31fe672aac2fe45e43228ad7c"' + readmeLastModified: Wed, 03 Jan 2024 22:11:15 GMT repositoryId: 735633231 - description: a simple project for experimenting with OpenAPI specification + description: a project for experimenting with OpenAPI specification created: '2023-12-25T16:10:39Z' - updated: '2023-12-28T12:37:31Z' + updated: '2024-01-03T22:01:38Z' language: Groovy archived: false stars: 0 @@ -30070,8 +30070,8 @@ owner: rabestro logo: https://avatars.githubusercontent.com/u/52966251?v=4 license: MIT - repoEtag: '"65d256b2a38b5c44bec0015a40303dcdd8dcb5d00d4a6dede7aa797da3ac2cff"' - repoLastModified: Thu, 28 Dec 2023 12:37:31 GMT + repoEtag: '"bb4e68f767d036ce0f45961885bb944824cd41a65e5e0ea4af13c6cd1b594824"' + repoLastModified: Wed, 03 Jan 2024 22:01:38 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -33583,17 +33583,17 @@ repositoryId: 351849045 description: OpenAPI Web component to generate a UI from the spec. created: '2021-03-26T16:42:43Z' - updated: '2023-12-25T17:55:04Z' + updated: '2024-01-03T04:35:05Z' language: JavaScript archived: false - stars: 250 + stars: 251 watchers: 6 forks: 37 owner: Authress-Engineering logo: https://avatars.githubusercontent.com/u/35577654?v=4 license: Apache-2.0 - repoEtag: '"64221866f0a0705c18032a2fd8c24b9ed57a279c517c734bbf953951053e048e"' - repoLastModified: Mon, 25 Dec 2023 17:55:04 GMT + repoEtag: '"da416b6cf8d0664b93dde498a0a0c0bf5f3db0bc1505abb0eda92d26eb6296db"' + repoLastModified: Wed, 03 Jan 2024 04:35:05 GMT foundInMaster: true id: c8fb58ca4a515c7e0b381f4e63d7c355 oldLocations: @@ -33619,17 +33619,17 @@ repositoryId: 154916760 description: Build, Validate, Route, Authenticate and Mock using OpenAPI created: '2018-10-27T02:31:25Z' - updated: '2023-12-29T08:59:38Z' + updated: '2024-01-03T14:16:02Z' language: TypeScript archived: false - stars: 551 + stars: 552 watchers: 6 forks: 81 owner: openapistack logo: https://avatars.githubusercontent.com/u/147298423?v=4 license: MIT - repoEtag: '"8795a75ff3f65441d1858c156c0e336d9e3e1fc7866ed1a313e178d16af3952a"' - repoLastModified: Fri, 29 Dec 2023 08:59:38 GMT + repoEtag: '"01e2b81e3d59359896fc12dab97c328b225a052a9c0fda87c6cdd4477e910962"' + repoLastModified: Wed, 03 Jan 2024 14:16:02 GMT foundInMaster: true id: 13cdf61fc6370ba6543e5a21256c2dfb oldLocations: @@ -34058,11 +34058,11 @@ language: null archived: false stars: 0 - watchers: 6 + watchers: 7 forks: 1 owner: livingdocsIO logo: https://avatars.githubusercontent.com/u/3775168?v=4 - repoEtag: '"a527a3b6ac5086314fdf791fd0587a8eeed6aba85535ceabf3c8570fd299a3fe"' + repoEtag: '"ca7a13b0111f3ad12fcc98e88e16f2c95d46707b91e3c59dbab3236553413201"' repoLastModified: Thu, 20 Oct 2022 09:26:12 GMT category: Parsers foundInMaster: true @@ -36317,17 +36317,17 @@ in .NET along with common serializers to extract raw OpenAPI JSON and YAML documents from the model. created: '2017-07-14T00:24:14Z' - updated: '2023-12-27T09:46:50Z' + updated: '2024-01-03T16:48:14Z' language: C# archived: false - stars: 1244 + stars: 1247 watchers: 65 forks: 218 owner: microsoft logo: https://avatars.githubusercontent.com/u/6154722?v=4 license: MIT - repoEtag: '"bb09468cc97c85945b88b090bf9f6e0b1e270f6d1c31a92079e63e8a349db7cd"' - repoLastModified: Wed, 27 Dec 2023 09:46:50 GMT + repoEtag: '"5f10791ebbf733fee933fc47d93828bbf375f010a767120d548995b2b7cb4073"' + repoLastModified: Wed, 03 Jan 2024 16:48:14 GMT id: f3215034d64cfcbcc28a4bdb0205a075 - source: IMPLEMENTATIONS.md name: openapi-validator @@ -36626,17 +36626,17 @@ repositoryId: 30567860 description: Single file PHP script that adds a REST API to a SQL database created: '2015-02-10T01:08:52Z' - updated: '2023-12-30T11:26:24Z' + updated: '2024-01-03T16:56:14Z' language: PHP archived: false - stars: 3469 + stars: 3472 watchers: 179 forks: 1031 owner: mevdschee logo: https://avatars.githubusercontent.com/u/1288217?v=4 license: MIT - repoEtag: '"c6ac16489032575e749b83de8a2cd76fd90b729ea0eee366462f8abf651c985a"' - repoLastModified: Sat, 30 Dec 2023 11:26:24 GMT + repoEtag: '"82afcd3a7e86e57cc5b0696b6556f0fca0e59075c4f95d82ac2a935656a86d46"' + repoLastModified: Wed, 03 Jan 2024 16:56:14 GMT id: 84a7be428932f7789a8ad1a220b22216 - source: IMPLEMENTATIONS.md name: Fastify OpenAPI v3 @@ -36736,17 +36736,17 @@ Serverless 1.0 plugin to generate OpenAPI V3 documentation from serverless configuration created: '2017-07-03T04:44:51Z' - updated: '2023-12-30T15:28:40Z' + updated: '2024-01-03T12:13:01Z' language: TypeScript archived: false - stars: 90 + stars: 91 watchers: 7 forks: 126 owner: temando logo: https://avatars.githubusercontent.com/u/2232135?v=4 license: MIT - repoEtag: '"c8046f48af1aa5e6278ae719d55c3f93f6860510281f90bfc3df98a786ca5723"' - repoLastModified: Sat, 30 Dec 2023 15:28:40 GMT + repoEtag: '"3f26c42acac9d428a3caaadddbaa1c5bbee9ef2ecaf921987bd83d7d52c686f1"' + repoLastModified: Wed, 03 Jan 2024 12:13:01 GMT id: 6b703add76932c2d3d042f15bd0fe577 - source: IMPLEMENTATIONS.md name: zero-rails_openapi @@ -37245,17 +37245,17 @@ Connexion is a modern Python web framework that makes spec-first and api-first development easy. created: '2015-05-19T13:05:58Z' - updated: '2024-01-02T16:19:29Z' + updated: '2024-01-03T23:56:11Z' language: Python archived: false - stars: 4357 + stars: 4359 watchers: 86 - forks: 740 + forks: 741 owner: spec-first logo: https://avatars.githubusercontent.com/u/58754196?v=4 license: Apache-2.0 - repoEtag: '"58c0c13233467ce6191c413f33456a51eb77481e5dd9ac1483dbbf5affcccece"' - repoLastModified: Tue, 02 Jan 2024 16:19:29 GMT + repoEtag: '"10d58bddbe648e2ee6f092d3b58fa0298d0a9b3306f154f63479d75fcc41db69"' + repoLastModified: Wed, 03 Jan 2024 23:56:11 GMT foundInMaster: true homepage: https://github.com/zalando/connexion id: 2d575abdf2671028868058b2442d9131 @@ -37547,17 +37547,17 @@ LoopBack makes it easy to build modern API applications that require complex integrations. created: '2017-01-09T17:27:14Z' - updated: '2024-01-02T16:30:15Z' + updated: '2024-01-03T04:20:23Z' language: TypeScript archived: false - stars: 4707 + stars: 4708 watchers: 135 - forks: 1042 + forks: 1043 owner: loopbackio logo: https://avatars.githubusercontent.com/u/22173486?v=4 license: NOASSERTION - repoEtag: '"e7561e055d168b155405e4388c093f6941b861d601d9f87946439cb129be0a6a"' - repoLastModified: Tue, 02 Jan 2024 16:30:15 GMT + repoEtag: '"6d8ea92574103e2215657c106c37f3d0a600905fc8837746161e3051eff656f6"' + repoLastModified: Wed, 03 Jan 2024 04:20:23 GMT foundInMaster: true id: 9132c25ad468bed25b9dbbe3a352abc2 v3: true @@ -37629,17 +37629,17 @@ testing cloud services through their REST APIs and finding security and reliability bugs in these services. created: '2020-07-24T21:40:11Z' - updated: '2024-01-02T22:22:27Z' + updated: '2024-01-03T12:20:08Z' language: Python archived: false - stars: 2361 + stars: 2363 watchers: 36 forks: 272 owner: microsoft logo: https://avatars.githubusercontent.com/u/6154722?v=4 license: MIT - repoEtag: '"840bd5462230b8c828f36d352a38d9c4866b716736c0f3901739a17c3bdeebfd"' - repoLastModified: Tue, 02 Jan 2024 22:22:27 GMT + repoEtag: '"0284ef8412f7a271c639b1c3664d8aa8a2c8a4f952573dc84fbd2e69f4b30eec"' + repoLastModified: Wed, 03 Jan 2024 12:20:08 GMT foundInMaster: true oldLocations: - https://github.com/microsoft/restler @@ -38342,7 +38342,7 @@ owner: vert-x3 logo: https://avatars.githubusercontent.com/u/8124623?v=4 license: Apache-2.0 - repoEtag: '"2335f40c08dae268589a7de4cd76909446fa2c529a71c5a8f288ff41e0a130a4"' + repoEtag: '"ccb7573f1b8697c2e02ebdea66388f4f88172f535a2c10282d6ded42111e2121"' repoLastModified: Sat, 23 Dec 2023 16:59:24 GMT foundInMaster: true v3_link: https://github.com/vert-x3/vertx-web/issues/1872 @@ -38374,17 +38374,17 @@ Protobuf v3 (for grpc) based lightweight microservice framework. It supports monolith service application as well. created: '2021-02-24T07:21:40Z' - updated: '2024-01-02T17:16:51Z' + updated: '2024-01-03T12:04:25Z' language: Go archived: false - stars: 1276 + stars: 1280 watchers: 86 - forks: 259 + forks: 260 owner: unionj-cloud logo: https://avatars.githubusercontent.com/u/79033021?v=4 license: MIT - repoEtag: '"c9ed62cbc6548abf23982ed1e6726e3bede6fad776804f3a2e5b6519075aeac4"' - repoLastModified: Tue, 02 Jan 2024 17:16:51 GMT + repoEtag: '"0f234925ceee2acb35a8bd798d8259ca9530a860eb6140b60effb6e678c028d9"' + repoLastModified: Wed, 03 Jan 2024 12:04:25 GMT foundInMaster: true category: SDK id: aab01f8bda6c542fdacf9ee8dfa7d20d