// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Smithy Api Gateway Java Standalone Unit Tests Synth 1`] = ` Object { ".gitattributes": "# ~~ Generated by projen. To modify, edit src/test/java/projenrc.java and run \\"npx projen\\". /.gitattributes linguist-generated /.github/workflows/pull-request-lint.yml linguist-generated /.gitignore linguist-generated /.projen/** linguist-generated /.projen/deps.json linguist-generated /.projen/files.json linguist-generated /.projen/tasks.json linguist-generated /generated/README.md linguist-generated /pom.xml linguist-generated", ".github/workflows/pull-request-lint.yml": "# ~~ Generated by projen. To modify, edit src/test/java/projenrc.java and run \\"npx projen\\". name: pull-request-lint on: pull_request_target: types: - labeled - opened - synchronize - reopened - ready_for_review - edited jobs: validate: name: Validate PR title runs-on: ubuntu-latest permissions: pull-requests: write steps: - uses: amannn/action-semantic-pull-request@v5.0.2 env: GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }} with: types: |- feat fix chore requireScope: false ", ".gitignore": "# ~~ Generated by projen. To modify, edit src/test/java/projenrc.java and run \\"npx projen\\". node_modules/ !/.gitattributes !/.projen/tasks.json !/.projen/deps.json !/.projen/files.json !/.github/workflows/pull-request-lint.yml !/pom.xml .classpath .project .settings target dist/java smithy/output smithy/gradle smithy/gradlew smithy/gradlew.bat smithy/.gradle smithy/build !/generated/README.md ", ".projen/deps.json": Object { "//": "~~ Generated by projen. To modify, edit src/test/java/projenrc.java and run \\"npx projen\\".", "dependencies": Array [ Object { "metadata": Object { "configuration": Object { "source": "1.8", "target": "1.8", }, }, "name": "org.apache.maven.plugins/maven-compiler-plugin", "type": "build", "version": "3.8.1", }, Object { "metadata": Object { "configuration": Object { "rules": Array [ Object { "requireMavenVersion": Array [ Object { "version": "3.6", }, ], }, ], }, "executions": Array [ Object { "goals": Array [ "enforce", ], "id": "enforce-maven", }, ], }, "name": "org.apache.maven.plugins/maven-enforcer-plugin", "type": "build", "version": "3.0.0-M3", }, Object { "metadata": Object { "configuration": Object { "archive": Object { "index": true, "manifest": Object { "addDefaultImplementationEntries": true, "addDefaultSpecificationEntries": true, }, }, }, }, "name": "org.apache.maven.plugins/maven-jar-plugin", "type": "build", "version": "3.2.0", }, Object { "metadata": Object { "configuration": Object { "additionalJOptions": Object { "additionalJOption": Array [ "-J-XX:+TieredCompilation", "-J-XX:TieredStopAtLevel=1", ], }, "detectJavaApiLink": false, "failOnError": false, "show": "protected", }, "executions": Array [ Object { "goals": Array [ "jar", ], "id": "attach-javadocs", }, ], }, "name": "org.apache.maven.plugins/maven-javadoc-plugin", "type": "build", "version": "3.2.0", }, Object { "metadata": Object { "configuration": Object { "createDependencyReducedPom": false, "finalName": "test-1.0.0", }, "executions": Array [ Object { "goals": Array [ "shade", ], "id": "shade-task", "phase": "package", }, ], }, "name": "org.apache.maven.plugins/maven-shade-plugin", "type": "build", "version": "3.3.0", }, Object { "metadata": Object { "executions": Array [ Object { "goals": Array [ "jar", ], "id": "attach-sources", }, ], }, "name": "org.apache.maven.plugins/maven-source-plugin", "type": "build", "version": "3.2.1", }, Object { "name": "org.codehaus.mojo/exec-maven-plugin", "type": "build", "version": "3.0.0", }, Object { "name": "com.fasterxml.jackson.core/jackson-databind", "type": "runtime", "version": "^2", }, Object { "name": "com.generated.api/test-java", "type": "runtime", "version": "0.0.0", }, Object { "name": "io.github.cdklabs/cdknag", "type": "runtime", "version": "^2", }, Object { "name": "io.github.cdklabs/projen", "type": "runtime", "version": "^0", }, Object { "name": "org.projectlombok/lombok", "type": "runtime", "version": "^1", }, Object { "name": "software.amazon.awscdk/aws-cdk-lib", "type": "runtime", "version": "^2", }, Object { "name": "software.aws.awsprototypingsdk/open-api-gateway", "type": "runtime", "version": "^0", }, Object { "name": "software.constructs/constructs", "type": "runtime", "version": "^10", }, Object { "name": "org.junit.jupiter/junit-jupiter-api", "type": "test", "version": "5.7.0", }, Object { "name": "org.junit.jupiter/junit-jupiter-engine", "type": "test", "version": "5.7.0", }, ], }, ".projen/files.json": Object { "//": "~~ Generated by projen. To modify, edit src/test/java/projenrc.java and run \\"npx projen\\".", "files": Array [ ".gitattributes", ".github/workflows/pull-request-lint.yml", ".gitignore", ".projen/deps.json", ".projen/files.json", ".projen/tasks.json", "generated/README.md", "pom.xml", ], }, ".projen/tasks.json": Object { "//": "~~ Generated by projen. To modify, edit src/test/java/projenrc.java and run \\"npx projen\\".", "tasks": Object { "build": Object { "description": "Full release build", "name": "build", "steps": Array [ Object { "spawn": "default", }, Object { "spawn": "pre-compile", }, Object { "spawn": "compile", }, Object { "spawn": "post-compile", }, Object { "spawn": "test", }, Object { "spawn": "package", }, ], }, "clobber": Object { "condition": "git diff --exit-code > /dev/null", "description": "hard resets to HEAD of origin and cleans the local repo", "env": Object { "BRANCH": "$(git branch --show-current)", }, "name": "clobber", "steps": Array [ Object { "exec": "git checkout -b scratch", "name": "save current HEAD in \\"scratch\\" branch", }, Object { "exec": "git checkout $BRANCH", }, Object { "exec": "git fetch origin", "name": "fetch latest changes from origin", }, Object { "exec": "git reset --hard origin/$BRANCH", "name": "hard reset to origin commit", }, Object { "exec": "git clean -fdx", "name": "clean all untracked files", }, Object { "say": "ready to rock! (unpushed commits are under the \\"scratch\\" branch)", }, ], }, "compile": Object { "description": "Only compile", "name": "compile", "steps": Array [ Object { "exec": "mvn compiler:compile", }, ], }, "default": Object { "description": "Synthesize project files", "name": "default", "steps": Array [ Object { "exec": "mvn compiler:testCompile --quiet", }, Object { "exec": "mvn exec:java --quiet -Dexec.mainClass=projenrc -Dexec.classpathScope=\\"test\\"", }, ], }, "eject": Object { "description": "Remove projen from the project", "env": Object { "PROJEN_EJECTING": "true", }, "name": "eject", "steps": Array [ Object { "spawn": "default", }, ], }, "package": Object { "description": "Creates the distribution package", "env": Object { "MAVEN_OPTS": "-XX:+TieredCompilation -XX:TieredStopAtLevel=1", }, "name": "package", "steps": Array [ Object { "exec": "mkdir -p dist/java", }, Object { "exec": "mvn deploy -D=altDeploymentRepository=local::default::file:///$PWD/dist/java", }, ], }, "post-compile": Object { "description": "Runs after successful compilation", "name": "post-compile", }, "pre-compile": Object { "description": "Prepare the project for compilation", "name": "pre-compile", }, "test": Object { "description": "Run tests", "name": "test", "steps": Array [ Object { "exec": "mvn test", }, ], }, }, }, "README.md": "# replace this", "generated/.client-settings.json": Object { "//": "~~ Generated by projen. To modify, edit src/test/java/projenrc.java and run \\"npx projen\\".", "clientLanguages": Array [ "java", ], "documentationFormats": Array [], }, "generated/README.md": "## Generated Clients This directory contains generated client code based on your OpenAPI Specification file (spec.yaml). Like other \`projen\` managed files, this directory should be checked in to source control, but should not be edited manually.", "generated/java/.gitattributes": "# ~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\". /.gitattributes linguist-generated /.gitignore linguist-generated /.openapi-generator-ignore linguist-generated /.projen/** linguist-generated /.projen/deps.json linguist-generated /.projen/files.json linguist-generated /.projen/tasks.json linguist-generated /package.json linguist-generated /pom.xml linguist-generated", "generated/java/.github/workflows/maven.yml": "# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven # # This file is auto-generated by OpenAPI Generator (https://openapi-generator.tech) name: Java CI with Maven on: push: branches: [ main, master ] pull_request: branches: [ main, master ] jobs: build: name: Build Hello runs-on: ubuntu-latest strategy: matrix: java: [ '8' ] steps: - uses: actions/checkout@v2 - name: Set up JDK uses: actions/setup-java@v2 with: java-version: \${{ matrix.java }} distribution: 'temurin' cache: maven - name: Build with Maven run: mvn -B package --no-transfer-progress --file pom.xml ", "generated/java/.gitignore": "# ~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\". node_modules/ !/.gitattributes !/.projen/tasks.json !/.projen/deps.json !/.projen/files.json !/pom.xml .classpath .project .settings target dist/java !/.openapi-generator-ignore !/package.json ", "generated/java/.openapi-generator-ignore": "# ~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\". .gitignore pom.xml ", "generated/java/.openapi-generator/FILES": ".github/workflows/maven.yml .travis.yml README.md api/openapi.yaml build.gradle build.sbt docs/ApiErrorResponseContent.md docs/DefaultApi.md docs/SayHelloResponseContent.md git_push.sh gradle.properties gradle/wrapper/gradle-wrapper.jar gradle/wrapper/gradle-wrapper.properties gradlew gradlew.bat settings.gradle src/main/AndroidManifest.xml src/main/java/com/generated/api/testjava/client/ApiCallback.java src/main/java/com/generated/api/testjava/client/ApiClient.java src/main/java/com/generated/api/testjava/client/ApiException.java src/main/java/com/generated/api/testjava/client/ApiResponse.java src/main/java/com/generated/api/testjava/client/Configuration.java src/main/java/com/generated/api/testjava/client/GzipRequestInterceptor.java src/main/java/com/generated/api/testjava/client/JSON.java src/main/java/com/generated/api/testjava/client/Pair.java src/main/java/com/generated/api/testjava/client/ProgressRequestBody.java src/main/java/com/generated/api/testjava/client/ProgressResponseBody.java src/main/java/com/generated/api/testjava/client/ServerConfiguration.java src/main/java/com/generated/api/testjava/client/ServerVariable.java src/main/java/com/generated/api/testjava/client/StringUtil.java src/main/java/com/generated/api/testjava/client/api/DefaultApi.java src/main/java/com/generated/api/testjava/client/api/DefaultApi/Handlers.java src/main/java/com/generated/api/testjava/client/api/DefaultApi/OperationConfig.java src/main/java/com/generated/api/testjava/client/api/DefaultApi/OperationLookup.java src/main/java/com/generated/api/testjava/client/api/DefaultApi/Operations.java src/main/java/com/generated/api/testjava/client/auth/ApiKeyAuth.java src/main/java/com/generated/api/testjava/client/auth/Authentication.java src/main/java/com/generated/api/testjava/client/auth/HttpBasicAuth.java src/main/java/com/generated/api/testjava/client/auth/HttpBearerAuth.java src/main/java/com/generated/api/testjava/client/model/AbstractOpenApiSchema.java src/main/java/com/generated/api/testjava/client/model/ApiErrorResponseContent.java src/main/java/com/generated/api/testjava/client/model/SayHelloResponseContent.java src/test/java/com/generated/api/testjava/client/api/DefaultApiTest.java src/test/java/com/generated/api/testjava/client/model/ApiErrorResponseContentTest.java src/test/java/com/generated/api/testjava/client/model/SayHelloResponseContentTest.java ", "generated/java/.openapi-generator/VERSION": "6.3.0", "generated/java/.projen/deps.json": Object { "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".", "dependencies": Array [ Object { "metadata": Object { "configuration": Object { "source": "1.8", "target": "1.8", }, }, "name": "org.apache.maven.plugins/maven-compiler-plugin", "type": "build", "version": "3.8.1", }, Object { "metadata": Object { "configuration": Object { "rules": Array [ Object { "requireMavenVersion": Array [ Object { "version": "3.6", }, ], }, ], }, "executions": Array [ Object { "goals": Array [ "enforce", ], "id": "enforce-maven", }, ], }, "name": "org.apache.maven.plugins/maven-enforcer-plugin", "type": "build", "version": "3.0.0-M3", }, Object { "metadata": Object { "configuration": Object { "archive": Object { "index": true, "manifest": Object { "addDefaultImplementationEntries": true, "addDefaultSpecificationEntries": true, }, }, }, }, "name": "org.apache.maven.plugins/maven-jar-plugin", "type": "build", "version": "3.2.0", }, Object { "metadata": Object { "configuration": Object { "additionalJOptions": Object { "additionalJOption": Array [ "-J-XX:+TieredCompilation", "-J-XX:TieredStopAtLevel=1", ], }, "detectJavaApiLink": false, "failOnError": false, "show": "protected", }, "executions": Array [ Object { "goals": Array [ "jar", ], "id": "attach-javadocs", }, ], }, "name": "org.apache.maven.plugins/maven-javadoc-plugin", "type": "build", "version": "3.2.0", }, Object { "metadata": Object { "executions": Array [ Object { "goals": Array [ "jar", ], "id": "attach-sources", }, ], }, "name": "org.apache.maven.plugins/maven-source-plugin", "type": "build", "version": "3.2.1", }, Object { "name": "com.amazonaws/aws-lambda-java-core", "type": "runtime", "version": "1.2.1", }, Object { "name": "com.amazonaws/aws-lambda-java-events", "type": "runtime", "version": "3.11.0", }, Object { "name": "com.google.code.findbugs/jsr305", "type": "runtime", "version": "3.0.2", }, Object { "name": "com.google.code.gson/gson", "type": "runtime", "version": "2.9.1", }, Object { "name": "com.squareup.okhttp3/logging-interceptor", "type": "runtime", "version": "4.10.0", }, Object { "name": "com.squareup.okhttp3/okhttp", "type": "runtime", "version": "4.10.0", }, Object { "name": "io.gsonfire/gson-fire", "type": "runtime", "version": "1.8.5", }, Object { "name": "io.swagger/swagger-annotations", "type": "runtime", "version": "1.6.8", }, Object { "name": "jakarta.annotation/jakarta.annotation-api", "type": "runtime", "version": "1.3.5", }, Object { "name": "javax.ws.rs/javax.ws.rs-api", "type": "runtime", "version": "2.1.1", }, Object { "name": "javax.ws.rs/jsr311-api", "type": "runtime", "version": "1.1.1", }, Object { "name": "org.apache.commons/commons-lang3", "type": "runtime", "version": "3.12.0", }, Object { "name": "org.openapitools/jackson-databind-nullable", "type": "runtime", "version": "0.2.4", }, Object { "name": "org.projectlombok/lombok", "type": "runtime", "version": "1.18.24", }, Object { "name": "org.junit.jupiter/junit-jupiter-api", "type": "test", "version": "5.9.1", }, Object { "name": "org.mockito/mockito-core", "type": "test", "version": "3.12.4", }, ], }, "generated/java/.projen/files.json": Object { "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".", "files": Array [ ".gitattributes", ".gitignore", ".openapi-generator-ignore", ".projen/deps.json", ".projen/files.json", ".projen/tasks.json", "package.json", "pom.xml", ], }, "generated/java/.projen/tasks.json": Object { "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".", "tasks": Object { "build": Object { "description": "Full release build", "name": "build", "steps": Array [ Object { "spawn": "pre-compile", }, Object { "spawn": "compile", }, Object { "spawn": "post-compile", }, Object { "spawn": "test", }, Object { "spawn": "package", }, ], }, "compile": Object { "description": "Only compile", "name": "compile", "steps": Array [ Object { "exec": "mvn compiler:compile", }, ], }, "default": Object { "description": "Synthesize project files", "name": "default", "steps": Array [ Object { "cwd": "../..", "exec": "npx projen default", }, ], }, "package": Object { "description": "Creates the distribution package", "env": Object { "MAVEN_OPTS": "-XX:+TieredCompilation -XX:TieredStopAtLevel=1", }, "name": "package", "steps": Array [ Object { "exec": "mkdir -p dist/java", }, Object { "exec": "mvn deploy -D=altDeploymentRepository=local::default::file:///$PWD/dist/java", }, ], }, "post-compile": Object { "description": "Runs after successful compilation", "name": "post-compile", }, "pre-compile": Object { "description": "Prepare the project for compilation", "name": "pre-compile", }, "test": Object { "description": "Run tests", "name": "test", }, }, }, "generated/java/.travis.yml": "# # Generated by OpenAPI Generator: https://openapi-generator.tech # # Ref: https://docs.travis-ci.com/user/languages/java/ # language: java jdk: - openjdk12 - openjdk11 - openjdk10 - openjdk9 - openjdk8 before_install: # ensure gradlew has proper permission - chmod a+x ./gradlew script: # test using maven #- mvn test # test using gradle - gradle test # test using sbt # - sbt test ", "generated/java/README.md": "# test-java Hello - API version: 1.0 A sample smithy api *Automatically generated by the [OpenAPI Generator](https://openapi-generator.tech)* ## Requirements Building the API client library requires: 1. Java 1.8+ 2. Maven (3.8.3+)/Gradle (7.2+) ## Installation To install the API client library to your local Maven repository, simply execute: \`\`\`shell mvn clean install \`\`\` To deploy it to a remote Maven repository instead, configure the settings of the repository and execute: \`\`\`shell mvn clean deploy \`\`\` Refer to the [OSSRH Guide](http://central.sonatype.org/pages/ossrh-guide.html) for more information. ### Maven users Add this dependency to your project's POM: \`\`\`xml <dependency> <groupId>com.generated.api</groupId> <artifactId>test-java</artifactId> <version>0.0.0</version> <scope>compile</scope> </dependency> \`\`\` ### Gradle users Add this dependency to your project's build file: \`\`\`groovy repositories { mavenCentral() // Needed if the 'test-java' jar has been published to maven central. mavenLocal() // Needed if the 'test-java' jar has been published to the local maven repo. } dependencies { implementation \\"com.generated.api:test-java:0.0.0\\" } \`\`\` ### Others At first generate the JAR by executing: \`\`\`shell mvn clean package \`\`\` Then manually install the following JARs: * \`target/test-java-0.0.0.jar\` * \`target/lib/*.jar\` ## Getting Started Please follow the [installation](#installation) instruction and execute the following Java code: \`\`\`java // Import classes: import com.generated.api.testjava.client.ApiClient; import com.generated.api.testjava.client.ApiException; import com.generated.api.testjava.client.Configuration; import com.generated.api.testjava.client.models.*; import com.generated.api.testjava.client.api.DefaultApi; public class Example { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath(\\"http://localhost\\"); DefaultApi apiInstance = new DefaultApi(defaultClient); String name = \\"name_example\\"; // String | try { SayHelloResponseContent result = apiInstance.sayHello(name) .execute(); System.out.println(result); } catch (ApiException e) { System.err.println(\\"Exception when calling DefaultApi#sayHello\\"); System.err.println(\\"Status code: \\" + e.getCode()); System.err.println(\\"Reason: \\" + e.getResponseBody()); System.err.println(\\"Response headers: \\" + e.getResponseHeaders()); e.printStackTrace(); } } } \`\`\` ## Documentation for API Endpoints All URIs are relative to *http://localhost* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- *DefaultApi* | [**sayHello**](docs/DefaultApi.md#sayHello) | **GET** /hello | ## Documentation for Models - [ApiErrorResponseContent](docs/ApiErrorResponseContent.md) - [SayHelloResponseContent](docs/SayHelloResponseContent.md) ## Documentation for Authorization All endpoints do not require authorization. Authentication schemes defined for the API: ## Recommendation It's recommended to create an instance of \`ApiClient\` per thread in a multithreaded environment to avoid any potential issues. ## Author ", "generated/java/api/openapi.yaml": "openapi: 3.0.2 info: description: A sample smithy api title: Hello version: \\"1.0\\" servers: - url: / paths: /hello: get: operationId: SayHello parameters: - explode: true in: query name: name required: true schema: type: string style: form responses: \\"200\\": content: application/json: schema: $ref: '#/components/schemas/SayHelloResponseContent' description: SayHello 200 response \\"400\\": content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponseContent' description: ApiError 400 response x-accepts: application/json components: schemas: ApiErrorResponseContent: properties: errorMessage: type: string required: - errorMessage type: object SayHelloResponseContent: properties: message: type: string required: - message type: object ", "generated/java/build.gradle": "apply plugin: 'idea' apply plugin: 'eclipse' apply plugin: 'java' apply plugin: 'com.diffplug.spotless' group = 'com.generated.api' version = '0.0.0' buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:2.3.+' classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' classpath 'com.diffplug.spotless:spotless-plugin-gradle:6.11.0' } } repositories { mavenCentral() } sourceSets { main.java.srcDirs = ['src/main/java'] } if(hasProperty('target') && target == 'android') { apply plugin: 'com.android.library' apply plugin: 'com.github.dcendents.android-maven' android { compileSdkVersion 25 buildToolsVersion '25.0.2' defaultConfig { minSdkVersion 14 targetSdkVersion 25 } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } // Rename the aar correctly libraryVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.aar')) { def fileName = \\"\${project.name}-\${variant.baseName}-\${version}.aar\\" output.outputFile = new File(outputFile.parent, fileName) } } } dependencies { provided \\"jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version\\" } } afterEvaluate { android.libraryVariants.all { variant -> def task = project.tasks.create \\"jar\${variant.name.capitalize()}\\", Jar task.description = \\"Create jar artifact for \${variant.name}\\" task.dependsOn variant.javaCompile task.from variant.javaCompile.destinationDir task.destinationDir = project.file(\\"\${project.buildDir}/outputs/jar\\") task.archiveName = \\"\${project.name}-\${variant.baseName}-\${version}.jar\\" artifacts.add('archives', task) } } task sourcesJar(type: Jar) { from android.sourceSets.main.java.srcDirs classifier = 'sources' } artifacts { archives sourcesJar } } else { apply plugin: 'java' apply plugin: 'maven-publish' sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 publishing { publications { maven(MavenPublication) { artifactId = 'test-java' from components.java } } } task execute(type:JavaExec) { main = System.getProperty('mainClass') classpath = sourceSets.main.runtimeClasspath } } ext { jakarta_annotation_version = \\"1.3.5\\" } dependencies { implementation 'io.swagger:swagger-annotations:1.6.8' implementation \\"com.google.code.findbugs:jsr305:3.0.2\\" implementation 'com.squareup.okhttp3:okhttp:4.10.0' implementation 'com.squareup.okhttp3:logging-interceptor:4.10.0' implementation 'com.google.code.gson:gson:2.9.1' implementation 'io.gsonfire:gson-fire:1.8.5' implementation 'javax.ws.rs:jsr311-api:1.1.1' implementation 'javax.ws.rs:javax.ws.rs-api:2.1.1' implementation 'org.openapitools:jackson-databind-nullable:0.2.4' implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0' implementation \\"jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version\\" testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.1' testImplementation 'org.mockito:mockito-core:3.12.4' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.9.1' } javadoc { options.tags = [ \\"http.response.details:a:Http Response Details\\" ] } // Use spotless plugin to automatically format code, remove unused import, etc // To apply changes directly to the file, run \`gradlew spotlessApply\` // Ref: https://github.com/diffplug/spotless/tree/main/plugin-gradle spotless { // comment out below to run spotless as part of the \`check\` task enforceCheck false format 'misc', { // define the files (e.g. '*.gradle', '*.md') to apply \`misc\` to target '.gitignore' // define the steps to apply to those files trimTrailingWhitespace() indentWithSpaces() // Takes an integer argument if you don't like 4 endWithNewline() } java { // don't need to set target, it is inferred from java // apply a specific flavor of google-java-format googleJavaFormat('1.8').aosp().reflowLongStrings() removeUnusedImports() importOrder() } } test { // Enable JUnit 5 (Gradle 4.6+). useJUnitPlatform() // Always run tests, even when nothing changed. dependsOn 'cleanTest' // Show test results. testLogging { events \\"passed\\", \\"skipped\\", \\"failed\\" } } ", "generated/java/build.sbt": "lazy val root = (project in file(\\".\\")). settings( organization := \\"com.generated.api\\", name := \\"test-java\\", version := \\"0.0.0\\", scalaVersion := \\"2.11.4\\", scalacOptions ++= Seq(\\"-feature\\"), javacOptions in compile ++= Seq(\\"-Xlint:deprecation\\"), publishArtifact in (Compile, packageDoc) := false, resolvers += Resolver.mavenLocal, libraryDependencies ++= Seq( \\"io.swagger\\" % \\"swagger-annotations\\" % \\"1.6.5\\", \\"com.squareup.okhttp3\\" % \\"okhttp\\" % \\"4.10.0\\", \\"com.squareup.okhttp3\\" % \\"logging-interceptor\\" % \\"4.10.0\\", \\"com.google.code.gson\\" % \\"gson\\" % \\"2.9.1\\", \\"org.apache.commons\\" % \\"commons-lang3\\" % \\"3.12.0\\", \\"javax.ws.rs\\" % \\"jsr311-api\\" % \\"1.1.1\\", \\"javax.ws.rs\\" % \\"javax.ws.rs-api\\" % \\"2.1.1\\", \\"org.openapitools\\" % \\"jackson-databind-nullable\\" % \\"0.2.4\\", \\"io.gsonfire\\" % \\"gson-fire\\" % \\"1.8.5\\" % \\"compile\\", \\"jakarta.annotation\\" % \\"jakarta.annotation-api\\" % \\"1.3.5\\" % \\"compile\\", \\"com.google.code.findbugs\\" % \\"jsr305\\" % \\"3.0.2\\" % \\"compile\\", \\"jakarta.annotation\\" % \\"jakarta.annotation-api\\" % \\"1.3.5\\" % \\"compile\\", \\"org.junit.jupiter\\" % \\"junit-jupiter-api\\" % \\"5.9.1\\" % \\"test\\", \\"com.novocode\\" % \\"junit-interface\\" % \\"0.10\\" % \\"test\\", \\"org.mockito\\" % \\"mockito-core\\" % \\"3.12.4\\" % \\"test\\" ) ) ", "generated/java/docs/ApiErrorResponseContent.md": " # ApiErrorResponseContent ## Properties | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**errorMessage** | **String** | | | ", "generated/java/docs/DefaultApi.md": "# DefaultApi All URIs are relative to *http://localhost* | Method | HTTP request | Description | |------------- | ------------- | -------------| | [**sayHello**](DefaultApi.md#sayHello) | **GET** /hello | | <a name=\\"sayHello\\"></a> # **sayHello** > SayHelloResponseContent sayHello(name).execute(); ### Example \`\`\`java // Import classes: import com.generated.api.testjava.client.ApiClient; import com.generated.api.testjava.client.ApiException; import com.generated.api.testjava.client.Configuration; import com.generated.api.testjava.client.models.*; import com.generated.api.testjava.client.api.DefaultApi; public class Example { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath(\\"http://localhost\\"); DefaultApi apiInstance = new DefaultApi(defaultClient); String name = \\"name_example\\"; // String | try { SayHelloResponseContent result = apiInstance.sayHello(name) .execute(); System.out.println(result); } catch (ApiException e) { System.err.println(\\"Exception when calling DefaultApi#sayHello\\"); System.err.println(\\"Status code: \\" + e.getCode()); System.err.println(\\"Reason: \\" + e.getResponseBody()); System.err.println(\\"Response headers: \\" + e.getResponseHeaders()); e.printStackTrace(); } } } \`\`\` ### Parameters | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| | **name** | **String**| | | ### Return type [**SayHelloResponseContent**](SayHelloResponseContent.md) ### Authorization No authorization required ### HTTP request headers - **Content-Type**: Not defined - **Accept**: application/json ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| | **200** | SayHello 200 response | - | | **400** | ApiError 400 response | - | ", "generated/java/docs/SayHelloResponseContent.md": " # SayHelloResponseContent ## Properties | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**message** | **String** | | | ", "generated/java/git_push.sh": "#!/bin/sh # ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ # # Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl \\"minor update\\" \\"gitlab.com\\" git_user_id=$1 git_repo_id=$2 release_note=$3 git_host=$4 if [ \\"$git_host\\" = \\"\\" ]; then git_host=\\"github.com\\" echo \\"[INFO] No command line input provided. Set \\\\$git_host to $git_host\\" fi if [ \\"$git_user_id\\" = \\"\\" ]; then git_user_id=\\"GIT_USER_ID\\" echo \\"[INFO] No command line input provided. Set \\\\$git_user_id to $git_user_id\\" fi if [ \\"$git_repo_id\\" = \\"\\" ]; then git_repo_id=\\"GIT_REPO_ID\\" echo \\"[INFO] No command line input provided. Set \\\\$git_repo_id to $git_repo_id\\" fi if [ \\"$release_note\\" = \\"\\" ]; then release_note=\\"Minor update\\" echo \\"[INFO] No command line input provided. Set \\\\$release_note to $release_note\\" fi # Initialize the local directory as a Git repository git init # Adds the files in the local repository and stages them for commit. git add . # Commits the tracked changes and prepares them to be pushed to a remote repository. git commit -m \\"$release_note\\" # Sets the new remote git_remote=$(git remote) if [ \\"$git_remote\\" = \\"\\" ]; then # git remote not defined if [ \\"$GIT_TOKEN\\" = \\"\\" ]; then echo \\"[INFO] \\\\$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment.\\" git remote add origin https://\${git_host}/\${git_user_id}/\${git_repo_id}.git else git remote add origin https://\${git_user_id}:\\"\${GIT_TOKEN}\\"@\${git_host}/\${git_user_id}/\${git_repo_id}.git fi fi git pull origin master # Pushes (Forces) the changes in the local repository up to the remote repository echo \\"Git pushing to https://\${git_host}/\${git_user_id}/\${git_repo_id}.git\\" git push origin master 2>&1 | grep -v 'To https' ", "generated/java/gradle.properties": "# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator). # To include other gradle properties as part of the code generation process, please use the \`gradleProperties\` option. # # Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties # For example, uncomment below to build for Android #target = android ", "generated/java/gradle/wrapper/gradle-wrapper.jar": "PK �����A������������ ���META-INF/�PK �����A�m�>=@���?������META-INF/MANIFEST.MF�M��LK-.� K-*��ϳR0�3����-�I�M�+I, �d��Z)�%��*�%��r�r�PK �����A���������������org/�PK �����A���������������org/gradle/�PK �����A���������������org/gradle/wrapper/�PK �����A��%Ӧ�����/���org/gradle/wrapper/BootstrapMainStarter$1.class�R�n�@=Ó¸u1���Ey�@_Iik�6�U�@.,Ru��L�!��G� �6 ���(ı ]t1ss�չ���_��x���󸳈��á¾M|4�i��s�Z�}.���k�ތ�=e�d/c����e<Mzn���1�g�(��qn�Q��4S�'+G#e�y� ��Tj�u�:e��t(@&�9��V|!?�H��K���$ʤ�G]g��w��(3�V\`�_(�9�T�G���&�D l\\\\&�d���dyAÖ©r�<��0�#l��(�>i�0�c��=<�O���b��+7.P���m�B%����M� �-�wźl�6i<�Z2�93�����#��ұ�w�ںl h�������x8F��E��v~�ė�9�P%p�w8�.�R3�S� ѵ��Ac�+j�g�QEoN Sz��B�z������j�\\\\�:����� zQ^��oPK �����A�i,���$ ��-���org/gradle/wrapper/BootstrapMainStarter.class�V�SW�sÙ°,�1*���BI�/�V�V�(�-m��.�!�nv�f��jï½<���� �%�2�ӗv����;�IIb���ٳ���]7�>��1���IF�2^� C��0%c���A�0#aVF�d\\\\�{2�Ǽ�d\\\\�Uq�BNP��p]�R2\\"�!c7%|؉^|$AaQ�ʋ� .aI�~ ���ee�4��1�r����tSwN3��+��U��U�䳕�\\"��E�(a��k����{��w�u��T-��.�Z��黶�����9�r���h��u4���8C�,����-펖64���:�n�=�n�/�w�hv�<�l#� {.'�a�nVf��ӚM����U� [��'b��0��^�SXB�D�]�.I���,[�X��͗�w��$w7'nm���H��SçI��r��=���btr6���+�n�e ��:K�YP���_�_�%u��P�-q i��g���M�-{�\\\\f����I�jWË”0�\`�� N���V8s��K���b��� ʇ���2�_t+�c�O����f�\\\\�ɧ�X�C��Cϖ�K����� ���9%��9 ,�H�X� ʩ���; �c���|�O��}�.�w��Tk�)��3|N�*Z�R�RU_�K_�k�z�3�U梾 ��\`\\\\�4�T�[�á‚����l����#��+*0�>�i�X ��i�FZ$K�]�h�O&�������Vo����FW���c-�M��D�qh�ƛ�:U�T��T����;#R�Nv���R�zH$['tk=��e��&ś�o����h�8�6�ls�ܕ���P�=��֣ �e�d�,�X��:�׶�\`�Զ�l\\"�z�ϼ���N�E�/��w�ۼ�-j=𒶨���y1/[�\\\\�f �U�e��v��S/7,��xBY|��͙ZI,<�J��G�x���&����[������ �_� Ct]b :O�IÓ“a�$E��$��>¶�C��w�\\\\�����o4�� Hn\\"�#RG�w� ��Nb(Utm�{��ۣ�*z����*�c�h ���#9_xW���c�h�yG�}�ը�/��C��C�A����S�s/A݇���~8�#�E�R�7q%��B��# ܤ@-8q;Dv�{K�0�*���G����c�M%�8N����M����UK��;I�1�D�� �%Ğↄ���DvN��ަ�D�����g���y|��px���#U��c���������U��]����@�}���i�P8�T�(�j�@� �1*B��� �qg)<r� ���<��8�dܾ8O�d��wS���PK �����A�hQ�}��������#���org/gradle/wrapper/Download$1.class}�M �0��h5�*v/����?�B\\\\x�؆���T{7�C�)��� ��^���C�0 $g{s��Z�[�mE�,�]&;�i�����ڜ!!̬S\\\\9�k�'�J:��-V����6Zx/=!m��F�ӥ�YM��iH� t�nX�~�~�8\\\\j�4��PK �����A�y�[�4�����A���org/gradle/wrapper/Download$DefaultDownloadProgressListener.class�U�SU�n6��eRH(Z@�%U+ ik[ J%D��%� �.���@��>�ԗ���_:#Bu�}ә�#�z���qF=�~t 8�ɹ7��s�����'��+��Do4��ҌH�5Éœm�9��f�� W.����&�a�@��[&�x;ra�c\\"� i.�4p��C��*�3t<������̪ϗ���)(g���,Q�\`8���1o�u<^��{_T��W�^�Ŋ�ժ�{�_n����v��<�����o�!<ꕉks�vŕ�҂�g��C+-�ÄY���}1,�U��1q�ל\`��VÞ¥q��ժ��s�:���h�庯�V]�nE�ZS��|�g\\\\d�M�R���e��!���!Z�\\\\J�[ �d'Ì�2c�J�&�r]qRru�J�+���8 �S�Xm����ٚ��Mx����o��r\`{.�h��-��g�T^*wS��٢ߡ��d���l�2��gPZ��Um8l�����)�A�X�F�� ���y����k�50'=�ұ�A��Zu��3�57��ĶS\\"�x����n�\\\\7�!C�T�D��M-�%:���ho-%+Ա��B�fuN�I�Q{�E�qM�%���帨v���>E���[��[�NMLÝ Ê§ï¿½77PPb�d�15�/N�nj3����RZl�1�eShK���|^���dS�:83��m����1t��Ȧ�1$���0��p��1��@����:X� ���������M� :��)�4�G��!�Lx���G/���6�p��I�ͩ7�x�#B_\`����8���w0�=m�u�d��C�C-��\`�I���ˡ����d�)V�\`���.�_ �7R�;!����a��إ�3�m��KH)v#�#oH��վ����VZ��N�I�r.n��{��7��!=���IbN����7\`����h a.����yD���}�����2^@�#G��e!��YY�c�J�\\"#��#K��xY&�-/�D15��4%���%V���k�T��D������%�|� �@�ۥ��l�ܧ�g�h ��Ј��|/�7/]>(�B�_PK �����A����ۡ��~��4���org/gradle/wrapper/Download$ProxyAuthenticator.class�U�sSE��M�Mn74�J�X�1I�$E��E���\`�a���ۛ�����xsc�?�3:���8>��8�:>�W����۴���;��9��s���9����~p%G1�á´>���3Q�����q���u�3U�(>�༚/t�\\"&t\\\\������zp�@+o�踪�C��nU�y����seO�l���D�\\"�ܤ��خ(���X�y��TGdz�!\\\\pK���h9r����ĚM+��k {Ix���a��z�͉��.�2��z���H�\`�jU&����^wY��d��z��=�uN���k�s���Db�wg[%���)��}�r���wM�f����c�0��� W�2\\\\��_�Gz�{y5�2�8��\`Ì»5Ï”W,�tlg+�2�x �9��_IE�)����s�Xбȱ��:np,�&C_{�j�]�� V��n��+�[�q�!�n�p8��+(���!���59N\\"É���pt������L2�R��8uӜ��&�d��YQ����j9$ق��$_�phvn��2��%Q�8W���h�P�Yg�Ve��{w�m~�KTa��ZM��A����k�e��~�F!r3��{��h�����4U��)U��\\"�άݕ��ⰱD�na]x�'6�aJ�W �����RH/a���>z�Y<�nI!h�RQ'�N��4�����2[}K���<�4�@6po�V����/ia�k�:����7�H�C/f�������.o���;�i�#�#k�=SÿblX�6=��G�\\"�<<R�+[�O��z?HH{��(�����<�o�3��Xş���\`�oT�O�L�^E/�&��o��ٌ#E�\\"��H5M�G�=���g��x��P��I2)�2C[\`��7��h8U�0U���Ar�eoByQ���N�p�/���0}��PK �����A��pO�)���&��!���org/gradle/wrapper/Download.class�Y x[Õ•>�Z޳��J�DI�8^I �\`�+�Xv�Bx��m%�$��,�%��{X �,�t�����9�@�- {�lt�é´)3̾vh����'Y��I��|�}��{���s�_��s/�*�Q)��x�?�<���h~���x�Ex�q���~M���c4��Ia���K<d�C��^:�.��b�hѨ �zh{�����\\\\&�g�\\\\�p��r��}<�C����lU������_�Z�=t/��[|��^,�sUx� >O�����,�R�,�Л���ռB45 ת\\\\��\\\\�\\"ñ¯‚ 7z�u�P�^��E�e��+��CW�*�ŗ/Í¥*7��CHjV�2���i���R4�D�*�6��+ܮ�m�f��U*wx(�A�7��I�NA�f���uܣ�f����ܫpH��T�Wy�B'���y@��B���Qx��ת�K��T�U�-t��U6TRyX��#*�Qy�XUxT���Ōd[TO��ӹ�!=5���Ǣq=�9N�Tg$e\`d�t�ິ9bï¿½ï¿½È n�A,����ݳ�{����P��l�{�}zcT� 7��d$6��T���L=fnÕ£ihg��o��޻+����AQ51����sUo{(�����c������;��v������ vvC�Y���L���u�20����aq�����p�pRG���I=�0���r�*w����F2��Z�i��/&�������b�fD�ܲUÚŒD���JC��n��P����˦v:�2Ü—Eb����z�����[��m�!T����n#٧����A=�UOF��&:Í‘v�L�����}�Bh�I�W�zr�y�4S����A|Û��B�%�>O\\"O|Uq�0����cLd��\\\\L~�Szv�1���ᔲ����:)M���+u�Ý���7�����g����<����YZI���#Ҧ�5��j���mÝ�l?����7hË�7D�������I���.l��HÌ–=�p- �~\`�H�I,�����F2�G� �2�� ;���CC\\" ��h�Ʊ�h�!���qS�v�as$O�Βx#B9����i����^����Dʎ�P 26=or:�k�}�Q#�6sʃÏq.�p����H�0���b�$�*f���I%�����u��6N+�O�� �1G�Oq̊��?��:3�:���*x�UOE�\\"aEQ�O7���g07x�ׂ�!;m��2Ö¬n� �d���H�-V7+� �Z��2Ì‘8\\\\� �/iE�[�5~Í�Y^�&����\`fA��'Ù®'��57�+�B�qm�[� �yy+�]�SN�e�ȕH���n�9K�_�[�ǖ���*�& t<��� ��p\`�S]T�G���x��]�+'�r4w<e��x*��.98\\"n���%+/����hz�ն�u���VyB�tr��Z��n��E_P��?�7j�ezH�{�I[QKR���41��7�� ߢ�!�U��m�3�.R�4�$��S��Ɵ���g5�}^�#tH���*�Z��B��S���i\`e�4 �S��4�<A���$v�i��WM��� ߡ�|��_�5�G��������ֳ��UfH#������3o����%�ܧ����F�O��/�=�N(\\\\/���e\\\\!g�]��+?,����4�:C�G�� ?��Q~L������D�Ʌn�Y1��z*�9�N�F�A����Oj�-~J���Lx���~B��۟� �:5VZӑ������ ����gEs�(0��bᦀi��d�p�Y�1���9)N��è‹ï¿½y4X�l7C2Fv�ԯ� {�M�� u��@BO���ؓ~F?�%P�K����m�z���W�S�0}}�2� s{ �;h@���)c7��d��d�g��WIw��}2�;-x���X�����tn�P�\\\\lOFn�+��RB�w����/k�=�>�+� ��U� ����x��4%�j|��؀�_�$�b����▧�}�k�¯j�����m��D�7������E S@P4�6��� �uS7qcn�n�V 0-�Zq7���P+b�T\`���o�T 7�t\\"�6��h�\`�v��>+4�д�MU!q�]V����m�N4쳫�f��jPn G')J<�\`)zd]Ö�KS�KS�ꥩf�E^W��;HWE2Ip}��y�LIr%�e(-ei����>��#�v:�rM���t�o<�9,�Ǟ�:��7���^Ss�� �'�8 � _����E����7a������SI5�3PU{�p�V:�����|l�]9&���ܕ� ]7��j��N;�;�z|I����)E�o�?{\\\\��cXXaYu�n~��W��&���N\\"i��<)ôo���;b��!�'A�@[����{�=�7I*.3.1���>)>����������������\`�̂����5�O��g����6>��.�Xn˳k8�W�zH�z8G�{�߼<����sb�3� ������GW��V1�(Y9U��(l��ߢ�������y��NQ�;@R��8���N��@��>{�cb�F!Ûµ?��F��4Ai3����#F]��xJ<��d����fߞ��� ���53c!�)��J����!j��~G<eZ�ͨvO��fK�U֋><*�I����tJ��Lh���hj ���n)+���d��$�قvAu�Og��0���-n�Gx/��0l��|e�5;��ɗ2��=���\`�Hl_|/�wic�;�,�z��,vBï¿½Ë E�m3�N�b�5��'Gus�VE���n��b��<�[���Q }��m���0Ɵ� �O�?��g�>�TE�'^��{��ŃS~�v�ݒ��п����K�� 79�-����Tr�c�|F2߇փ/�E4�V����X���=(�ZT.�g� �ȞP���x����Øï¿½X�y�\\\\c��Ér�T����T���K����?I��Z��,�3x�%��z�����ę�c�锚V����ZR�ZJ��&j�nj�Z��RZF_���-�k�u|U�oH�<\\"%��\\\\��5w��\\\\9M>��*��� �B�[#��T\\"�� ,*�pX��K�Y>xBz�I�08�> �������TYS�|5~�q�]�w'��9�uc4�8U�m�p�C�|H%j� ��R�nZGs�(i�崞j�]���#綺���$NJd�t�� :eO��%ͣ��w�(.�,���S���&kϊ�g�}�O������rt���i�@ ���N�9��%7�E����S*mm��V�Q��E^P�M�l���C�,�������F*0 \`Kp��-98���� ��ҳXy\\\\nƴ�Lv3�XQ��mws���������t��8-��K�hY�ß��MΚZ�s���M�� �*�ryE���o�ߙ��&We5=�6�bt�O�Zo��2�˯fh���Ғ�i� Z���qZ=�x�֜���-=���V��oYU�Z;Zz�C�a�s��h��k����ZЪ�'�R7�WsK3�tt�ALU��3t��u�T�+C�ן������&El8NW\\"l��Z3�&η�׎^�6��1��TSyq!��/?�,>�ަ��S|��}�g˯�xÂ%� �\\\\�i1�D@�殣U�#�w׃�0�m4��P\\"4_���n�(�f�N�gI�Y >5�{���H����f� �sd��� �#��Mn�Et�G7�2:�5t+7�m��V\`�>\`c��)�9M'��\\\\KÏ���h=��K����!h�\\"ze8�:����n���GH�b=��Y,����r@�׺��^A���@�@��w�;����S�C��z]�7zS��d ;���L\\\\,�.����JQ>�� ��\`��)V芰BoO Uc�����a{�E�*~wig��\`g���ǩc�%$�h6�g~DM��O����-���1 ���@�\\\\�mn���;��E�?�~�~$�����+︉u�K��<���� RdK ���?���믅N���i2 �! �|Wg�g�1SS?FÛ�A:�̀� P�(����V����@w9��d�m�%��\\\\�j�?@J���#�ƅ�0֯�����s5�ޥ[��(6��̶#C�t��vf�Z�.�t]���:�n1tb<���C 69��F���\\\\~�߅Ic�Q����^��1��+VFW��\\\\���)�5*2&�U\\"��8��z���j\`BH���|��T�K�������-8�H��^�������'�Ѐ��S����G�sxp6�h�����%z�H4���ȑ���H�↉K�O诡��p-�L\`{��1�\\"�L�=� IŒ�!�XH�S8�MVǘ���D�Ƴ���t.��BA�rmMJ�[:�],�!��<R��ӋH������Ӗ;O��7�w5����-F���vPgM-������l�Tbջ��ɬ��r�*<��;���CTG1ޗ��xn���P%P0� �١�-4���B��PkC�:4J}�<�+�V4��ÓF���*��5�B.�IoH�tXǰ-R���w����^Z�9�}i��i+���u���C0�NZC����B���ۈ��Hy�I�ܒ�4�b�����Q�Ä�I���9�|7��^:J�KPK �����A�y�L���������1���org/gradle/wrapper/DownloadProgressListener.classu�� �@E�+�jD��E�@Û–E�ER�I��#3c�[�>���4�v��9���������O�Ī.r%��J[��M DŽ�,��]���8��kߟ_�PU:�]�3a���G�����\\\\�^�&a�t\\"-�E�eY����˛�8\\\\3��K tÐŽBN��kØï¿½PK �����A�!9|������3���org/gradle/wrapper/ExclusiveFileAccessManager.class�W�sW�Y�ګu|i�V�MNZ*;��J�lB�N�K�Ǝ[��t-���v�j��S�B[(���P\`x�3�L�$x����0��}�0��+9�%L=��s��ݿ����O������t<�gZ��Y��jxNG_�pNGϨ×��x^mME�SKA-E�H �1��::\`��vI�b3lIÅžDIG��qu���fxJ_�~O��c�u,�J������ _��5���ɡ�#���SgGF�� t�_2/�Y�t�S�g9���C�S�MÇŸ1��h�t��DE@�v�]��;��.��\\"�,�� �2�|��@t�-R�m�r�jiNz��-�=�\`�3�g�s��,jɎ��|v�3���.yf�,���]�X��e��BAV*�c�K���̀ 0� �ܬ��OU߲��)T=O:~vÈ´me��{]Ô“s�d�W�䕲�-3�Q�d��E��!�C���q�] 0�E�(��;&f�*2�B5���?��^����}��虫\\\\j�L����C���l��tGuZ��5�[\\" �Mn,�r�Q�������t�1��)�,,N��@L��5|C�75|K@g�dٷ�'�hÊšwL��Q���tnk�}�2�ts��ҟ&J',�VXj�t��%syN�nE>]��o3��;6���lK�q�oF3�V�B�����>%l�W �!�8$\`���������Dղ��3�\\"�x ���D]A��مE�U ��W����x���c�L�Q��V$��Cn�.��O<i�2]6U����]/� ��H�i���~\`\`��,\\"ޒ��G~��xg4�n� �)��gLڽ�V���� M ��^2-�� L��\\\\:l�����(�3�e�:�j����qZ�/�WY�;A���}3��r����S#��� ^L/x�R��X� |:�u���L��i���Y���L�v�;��������u����!I���=�A������ўf�U�yLX�uc���U\\\\���Ӧ� p�v�Q�Nεv5�����|o9L�޻r×§t���K���Ul)��̨��;��Wv����椯�74O�Ҭ� ���+�,1��� �F[F �f��>#�&��A7zx� �N5@��T3��(����z��Y�4�}� ��] ҳ�4�?�E�vqÝ�<Ì ï¿½ï¿½ï¿½ï¿½L����N�p�8>K.���1��Dg�[A|�4n�kh�Lp�����S���ES�v\\\\�c�����~]+è˜ï¿½vvR���5dw�������=�#r�<��\\\\K��T�����8���lo�7�\`.��Õ��S� W����ĮT�U4]����~�T��7��6���v����7�BZ ��H� Ò«@'�c ���Klϓ��3�1�����c�����DQDDwp>���P�z�p}���@8B gmγ*&_$W�� ��+�k��r�}�F�A?~��(��AZ��8�����:�ư�q���8� ӛ�\\"��؅Q�c���?� z5)��qj��sDP�h� h��F�9҈����u�>�c��~��iMȈvz5�HM���� �����$?b�)n�I�P�$)S������ݳ��hÑ Ç§B����<���q���0��.Ҷ���x��d�(���WW���w@�M�߉�ß5S<�� �a�<��u�.�˟�3��Gh���G�At�=��dl�٦@]�������ys����:�m��O� � ���8x4�?PK �����A���,y�����-���org/gradle/wrapper/GradleUserHomeLookup.class�S�N�@=$v��ԔK J)$����E�\`@\\"\\\\�@�<E&Y��#ǡ�_Ջ�H}�C���:�K �af����9��?�~�0�Q�Ix&c\\\\�� B���\\\\�_DЂ) I �d�\\"��1-�Y��eceq7��_M/.���n�H�׶6-u\`��m:%=�{�S��0t���Nom�\\\\~��1t,�N�7?k�UN�����l����_\`h�'�mKn�6t�,�oV����c��\\\\�p��5=K��\`��oU)�+�%�,�\\\\���2���\`�[�ޚ{�S�{X-���R��'j-W_�lN���o7�r0F�+y�\`×…*����2�I�~*z��0qOi$��JV O��^�x�9��@��-�o���w�S��C����j�E�1D�ګx2+���\`��H}��n�����Õº5B'�1������d�?a�߽8�fw���nB��q� qhN�a�^-�N�3߽��0�d6���jELU1tS&>�-�sc-��g��O�N�QM��}(1�����#�j��R�\`�뛿̀i��m���P/�Q��WM:����;\\"��+) Q�g<D��)�\`�W�%L&| �[��[ˆ��_��%��7p%w�vM%9���:)���\\"��a���h\`��PK �����A�Pr��� ��-��*���org/gradle/wrapper/GradleWrapperMain.class�Xx�����բr��\\"�E;�\\"L1X�! $| @D������n��%N�t��F��'q N����Nwz��齓�8�g�t�� }�>4����+�{���>��e�k�\\"�T��R���rx����y*J$��Wp����B?^$ /V��Ôs~�L��UTI�*�B.�RÅ«p^��U�qɯQ�Z�N��[����*���Ñ7��foQ�Vux��Z�]�;T,���;��ǻT��n�����rx����������U|��0R*F1��\\"R0��#*6á’Š;pÙ+r�G�xX�#��cr��*>�O��S����H�G�H�?�����*��/�����+*v�sw�ki���n�w��kW���==�]����)�1�LJ�m+j��j�����Ѥ!,������no�ȩN����l��P�P6�l��#���P�~_�9@m�H�Øï¿½3��XÔF��zt�nE�<M������i 5Y�@�h<m�##�ոÙpg��H�N�b��:Tè²£]��(��cY@MKÞ©[�.G�l��\\\\-�L.�#!)�e�v[��%#��0�Q�mg4��j�bz|@:��ᡠ�~3~��� ���&l#�'�*K@��6�P�;��y�t�d�#{e\\"O,!r�KÚ‘h�$]���ꥱf�~�DÍ¡!i��(��E�HS���I�$�/��\\\\��3��뎂�18��@>D*�mpn�rg2ⵡ<Z~\\\\�Җe+����LOid&5��ػ��k�(-�!v������c� fe�n�5�'m��v3h�,��ݶ�b�>�$���� M�S�Nk��b�v�I��p�|N�A[-2<D����QS�[C���\`F�:��o����d�N\`(�Zé²JR�aæ°†o�� ����yN �LF[\`��q�4|?��C�H��5��1�&��CO3�~��)���_��\\"x����pOW�+ ��o�{��)�r4�S�.���k$���Ep��n�$F�YcI������=���h%lN$^L8ס?��Zv�%w��ɺ'��I��5���7ܿ㪆�*����k�@YΖ�_rß¿<��?xB�5:$1CE§�bM�p��9ADj2'�%�v$fd)_�5Q*�� �xM��L\`K���vp���1�0�/��� �V0�I�?8h��\`?{�1=a�/M,_���]ǎ��&41S�+WD�&*E�\\"��S���\\\\�pU�51G�eF�y����|I\\\\ �\\"j�y(�΅���:��Ѳ��45O��O�y�&Å’P�t�S���ѳ�^GDW��M���-�P2f���L�ȕ�s02����Kj\\\\�3��;�y��x�άmNq\`�2��v1o�]vS%���M�*gIai�ϛ��R#/ I�EV�@(_1��� �����-�Z��z��y=�0��BS5���U�U^'z��jN1u(���8�D�*� ��U�=�=]���Cd~��\`>Eå��Zx��Ǵ0͜�-N7J3s��D��^�����}Q����.oV���Bӊ������JT*&�N�u]��6�6�G��>�&�O0�V�>ۘ��<Qȯ���#�1�-�/�����7�Zk����\\\\,3�N����sK{���6���)/���������#���?l8�y�dR�����nwk�?H�������!�=^����WZ���83O�i�є�!���.Mx��LÑB*�������TI��BՖ��Mt$O� �f/���<ӳ�M����~�{]�v�<�¦y\\"9��N�\`�~���'�5cvs6e�we�5��d�+8ß›5���߼�s�!������ �����˱�!����2�����R�� ��Y��Qe�=2����1�vq(�=���Q(M�_ �5��K(�+ �u��Zw 3S(�$WHr�$Gw��k����_C ��J�0�I�QH-���Ma^ 55\\\\�������¦ҕcXÔ¤Ö¨ ���)���!Å��#�(�b�8�Rֲ�Oz��� t��֣+0+����Ñ5�&b��� 0p3�\`�D��f�c��c+F��ވ��v'|��^:LDKqG�5����(��������$�1@Ôrn\`�1�s�P���w���9�t'(�<m�\\"ƈ�=&��I:BYE�]LTB}+��h� ��Vd&�(w��@Ý®C��P���+�8$��:��!�V�!�_e�J�߅�,geY��(\\"�ђ�+���U�[h�I�Q���'K�܌8>R��#�3��PSX���6�p�m�afx��V��+T�hNa�=�'��[}������{[G�+���\\"� \\\\��jE�GrSh#n�v\\"�J��m�\\"в ���R5h!R��q+m��d� n�������8�Y5w�f� �k�:˯�L8w�����o�����T��N�JU�M;��dP�(Ka�ݘ�X,';R�f��S�X�t�j1�A�����DWi��Q�C7�fSZM�8vRzU����D�ĕ�� <���PK �����A�����������\\"���org/gradle/wrapper/IDownload.classE�� �0������ ^�b��*A�{���(����l|�J�Tf $_����u�X���! �����<!L���_9S�d�]~)�l�IΎ�\`u�EQfZ�=�,������g5� cmR��H�*ËB�hÃ��*e�S.�0���O�A�Zp-�-Õµcӳ�� PK �����A�9l�V�����\\"���org/gradle/wrapper/Install$1.class�Xy|w����,��PBh�Zls/�*��BB1m !�����!�3��,�zPm�G��z�XE��lB���@k�o�V�G=��SE}of7��,)1����w������M��硇��?�a,n�ܼ���7���%�ˆ��2d�yr�G���\\"�_�+/����� �LF7^�Í�p^���e��b�W�x � �L��^ϲ� �x�����-L�V���Q��1�������w�x�-c��H�=ܼW��Bx�!|HF>�ai'$|T�:�/� ?&��NJ��@��XaXQ�Г7�&���zD��V��ʙ&���6�X����\`��-��6��L͉�v��eL��Cz<m�L'P�a��H�Vc���dR�#}^ßšOJ��b5=Cꪵ�z� �JO����H�qb:Czj�J�奴��)G5�ۤ���Eச��Pj�;�%j�յ{��V����C7��tbP�������^��y�]��)�v�$�Ji4�j���h�C�IE����8��i�a �teO�\\\\$h9���$Lv�)�bA��SJ�wn?Ւ�� ��l�|��i�T�5b�#��ZJ=��cMq�d�vD3�t� O:���%�U��;�̹���vS�;���G�w�I�E§$����Y;ezJ�i��s�t#�s�e��z���:i��m�I�g�eG4mۚ�DZɉ���=r������\\\\l���@�݌V��ԩ9CVL§<�1�q��Mج\`7�à �b��V�)Øï¿½ï¿½W�\`��Ct[Z7b��\`g<���&kX�gx��U�0&|������E_—|_��5_�9��7%<��[xT��1)�; ��� ����(�>~@F��@��Y�%�H����'����)�9~��<~��WxL�����߰��\\"N�i��av�yܲ���'�; �W��Q�����?�/D\\\\���V+mĪMË©N����jJ�jÇ¢N4 ��55e�-$��|��� �¤��i�u�MGOhSB�Wt�����%+i/ƌ����F��KL�\\\\��va:PÑ™^hw4*\\\\���kQ���^\\\\)�6jk��������d��Q�|5\\\\$��5g�ʧ��@�y��Њ�p�6\`�&��ƚew�R��r,oI�ښRe��~�멶�\\\\s�n��g�B�s�\`�2Ҏ�Ku��1j4���ZIWU|�WP�1�P��j�Ym�lj9�49�U�[:��y�c���c)G��ܧ�v���N���45�g�jÖ¼yΚ!���BR�g�yq)�P��1.(�e%�O�W�U��N�qM����m�;Öšguh�wX��pg/�����0��aŧM[˦m��i�9�l�H��vX(65���c��� �(�)��X��,J�|��{v���g>B�T᫪���D����T�v�j��t��7��s1\`�t�.U�z���{�̈́�z�e�%ؒ��K)y9X����튢u�,5N V>]���E�#�+�K�%TÓ—N�>+*�)P�%�Ӄ���M���,r{z7�7��~;�|�n���� Q]]�D]���������������Q��fj����-�V�I@��w�A�O�#=�[\`=e�Y���DY��B�G�7S2�_����ӻ�V}\\\\6���T���/z�&pyg��\\"D]թ�XB���~i�'��>H���6��?�e]�G1<� ˧Lh��YQbWfI+�\\"���&����kX|���!���]ۗ�x+Z��� �Â3�N\`�yt���e�%X������tLϚ��pp�}'�;ï¿½ï¿½È .�z�G?�l�n�yjOà¶–@����,d�+��/;m.P�Ƕ�-\\"���Â�>�G=��d�k-��&��ⱶÏ�:�u�<�b7LB��\\"!��1�w1u7�q��Q�Մ�5�����}4$�� �#����; �' ß§ Ý�#�=I�~�b n�q�؆�]� v����na�GÜ=�z�#�'Σ_<����‸�[]L�L��a7��ORN��v?ɮ�^I�~��mFu�5�q�Ӯ����rk?����Y��Ӣ/�A�r ���i���n#O�����II�~��Hv9B��,��{��%4���QA#6? :T���.�\\"n�r8���Jf��dO0%��!�^�a����%\`��F����_7��@�PK �����A��gh�|����-���org/gradle/wrapper/Install$InstallCheck.class��]OA��i�]�l��T)�� Q���hR���ۡ,,-�m�� �H4�x�?�xfv�I m����;�sÞ³3����\`�đ�a9AaE�2]�Q�ãšï¿½ul0U�W\\\\�~\\"R�#��[N�z��1]8����Į�}^��\`��kUk��9�*���U櫚�஻s(�c�ք��r�>�v�z�X��V\`�����S�Y!%�M�:�N�BE&�NM�n������]�ns��=G��E��eZ���M �V���Q�ǟ85��a�2���m:Tq� �㗄�8���-�cH�5�}��Oæ�:É® +����X���%\`k@��h�6$h{dP� o���jgʤ�Woz��e;lUBL������0�4a\`��m�ѱɰ8�#7qK���oo�G�n0L��6���Q z�\\"HK4KK;4&('w�J�&4��O��Y���Ju�b\\\\�aS�Fs3X��a�&�l�a�����C�>eQ'��X~�Z~��/mL�J��BcsH�Rl^!3�Ә�L™��f#��'�yN�������� Z�.D��f��&C�,�c��?c�c���� y1�;��9�ʼna^rH|�d��� gqo�8:��~{�;��\\\\&N*�b{����2q��9�0�v�>Y���PK �����A�^�,���C-�� ���org/gradle/wrapper/Install.class�Y |T��?'�����\\"!�#�JØ—@�I��Z�%yIFf����E[����Ҋ]l�����ME��Z��nv��}�n_[Z�?��L&�C���/��޽�{��9��;O���cD�����\\\\$�Y�L��X���hJ��&�� ��t�gx���H��<S�fI3;�gsX�s�<�� ��+M���4��}����ҽ\\\\�qU��su���2R#O�i�Ƌ���A^�K�����u�4+�Y9�����j�Z����&\\\\��s��>� 2�N�o��A*���A�&�7i_�qs�Va;n��E���g�,}K���H���4���)o R=�I�+H?���M���A��/ �F�Xc#H���Fnp��tJ�Rc3HÛ¹K�� �pD�K��SF�i7OpT��4+��D��A���BN�-*�|���\\"P���A�����q�7~�4���]A��fi�-��k|��� �%���{e����UA����G�������&�)���h����أ^��5R)3�Z׸�n{��5�n��T�}[�斋��m��T�|�q�Q5��5���w�fß~q{�M����Mtw�ӌ��]�m�Q���2�IÓªiV�X�L�ƣ ��i�aӺ̼�4�:�k� �9n���\`�t��#�NE.3�G�f]G��Jm2→�ÆC�I��M$��2]X�:z��&��|��!�i2Ml��͖t�ݴ��$:���{f�k�D๙�;;�����4ls]$e3�r�\`��á]��eØ‘D|u���H�Fl\\"��ȟg*?mVШ�[����o��L�qӮپ� $��$�=��e�[�1��QQ}]ޤ��a�y�0��SZy�U�Y���E��P�:�j�]�������e)���[0ّ�¼y�)ɥ�-z� �����tW���\`w=�����x��R�$�)�#mE���M@'��.�m�l��t �s�6Å“i;�FL����7l��� �����^I\\"�n���=���™�����ݡ���^fZ���|nM$��Fi=ViW�dp:7?7A��|0�3SV$�������$�?�5�e���zC\\"�M0��lЄG-\\\\3R쵫5�aX�L�*�R��eec;��l-�8 N0:�UP)L%�V��b�ٗ4;l�S��&�j�O���- ��{$�FOb��Hwܰ�6_x ^c���L��سŀ[L+I�$���A���ܸ*�s�it:�4ew&�v�j�� +fض\\"�F���'ÙŽD�g�-VB�r}:u8q�鬱2c��͹�]��Z�ǖV: �瓌w�Ô�Ō8�OQ��D���I#���8�1��)+���C�W�iFMI���}@����x��xt�@�����'<��F�����h|�k��{�g�m�?�e\`,�Ak�Ik�@.GH�d�l���(�\\"���<f��t�̥v���i����ͦʒ��gr�bwVk*O&�����H$���ӂas�=w�|���@OT�4�?�.\\\\�����|������o�4��Y<,�R�����J�K���2Z&�֜9���+�k��y�2Eey�^�g�k��╲�-���L�sAߒ�]V�.�� �18.�j��3V����Xp)[�/2���gu� �V����~J/��8=��Ut�N�+u�A���c�3*ue�M:]K�é´ï¿½ï¿½ï¿½#:����1�Y��r���O��I� ��A�\\"a�)�o�OC�| �$Z7�U�Z��3|2E�l^�t����:���� X������k����|H��n����HsX�{�f���.>_�ί/��KS�à 3�'�0�\\\\ۈ��F�d���������.���ه�<�^���_��dX���\`X�����<��Q����'\\"�w [$±7&������e~�i�5��0��vY���a�>C���?��W\`R��!�R�Ce�p��mi�ˀs;�)�����nW����1.3����F,)�C�7b�,(��O +�{�����0?��Xh���G���@�:��y4,eS8��ږX.�%aÂh�<t��2��]V\\"��V:%�p*��X8�*��� ��J�ل��T���/;2�e�� ؄�T�8fB���fE��ښ�ۑ��+^$辊Rb8��Y��/)X���E������<}��HL�#�L��P:�����진��'�@��Y�l��O#�������t���~�{9�r9��9�����oI��J��E��#�=%ʾ�%Y���=!������/��}���?��Y26�dLPÑHG;U�6Ff��pr�:w%�ڰ�i�c�\\"���q���/�O5~Y���u����z��R�_�u� �u�k�ӫ�;�/�������I�W%��Q�<s�6�(����)�������O���w��'O�L�O�B����\`F���̿�>W��y�i��|5��$���ã´ï¿½J�:ߌFV3(����G�U�LS�JQ�� �zYS��ns�JA �m�#��TV>�.e�(��ۉ)e���SÙ�3�;zC1E��VQ9��oe�����\\\\����V;m��+H�����s�@S��� 0�kÏ®i�p��CN���AA�A�.r�s(?Å�(�|��/�k�t�Ӱ��€9_G4�ˆ�3Þ²r���<2K�;�qvb���QqY�+�����{�eO��|?�(kK��m�:�vn�;��C��cI���.u\\"�/�1�v�������}���or���I�^X�O��X��na_�H�#� �X�mX�x\`��{�F:����h\`d��U�p���Y���E~����KQ�H�+s���~8�Nv�kO%�iÛ”x�$?^�>'��M�z��j2 8F�Hj]���=�N ��S_6b�I���'�M��4S�\\\\nYT4���\\"n������^#b���a�b3/���%��W���/'d����2Wc2��mV�_k��cn�$En�^9��l8�Tb�ID���ǂ3�Z.������=�@��υNzM!W/�d?�阓��d x�y����,'焖�E.���~�ʛX��Ys�iÝ���#��u h�m�: ����e����]^�,�[#o�&��M �l��1��0.n�ٙ����% �r���=��xhYc.�j�uq�v2�zq��t��r\\"�Q��M��x+��P��9�H. T���Q��t��@{=����v8x�Ï�Š! ���LO�~��WT!����+��Є�j���N~�s�2LS�\\\\�0�fS)��� ��px��F\\"�$2�z� ԓ������i�R�4�k+h�&4�Z*� x�\\\\� y���'�Y�~����hJ[E��UUVR��M}�J�%g9t���*�ZM3h$_����얓s-�D�D>ZE������1�׃�t3}�̀���O�jͤO��O�b�+?�5�w���0����iG)�i���UҌ�r��I��@���[p+ͬ�h�ro��S'�T�y��䬃'~Q=@��^뗇���:��;D�A:���Y�/����n����D�[�_��4�Vit���4.ä›´p����d�t�U~>x�9�n�=r\\"��� �yT�z�2�*F���At.��������!�Xg�Ja�E��7P�Z��vR�S?%�~z��.��&�B��&-L>K��8!���S&�|��h-��cV\\\\�?���a��/ÒJ�}t���-t>� .^쾖�D����u)i'�֯�^�J4�W��X���^���5:�/MÆ»Fa>N�4jx�Æp�� f�y<}\\"<�k�~��3�)Eeއ���S�z�*�R�=��B�Sգ�<ЂD�G��k Z8�H&Ý£d_Ì£B�WC�}���u������â�a��B7(}��9�u)��z: ������=���a�K_Ƽ�,+saNl7�<�)�ѱ��i.�7�,C�,OaKqTC�TWQ5H�k���Kn�E@�ÒE�4�\`ek��[�|Õm@�(\\\\��m!� �|�p������h�n �[j��_ ��#7����=H�B?�W�W�$�!g�zL�Hy�p-PO_Ua}X%Q�7�k�8=�s|���C� QW+ii�Z�nM�^R-�<�� �b�mt��b'�t�������- '�^���;��~�������U���¬s�d(����I(��r�n�8<���悜s���0\\" W����� �c}��{r�ŒN���g�Y�؀�J��pl�w���������̓T��[�����5�y����E��9\\\\��u��w���qä ¦ï¿½~�6� �m��<H���y}3l�6��[�jOPIH+���J(�:@�;����Z�L��<�8Jo�6�% �Іh78����t����]4@�6��ki��oBq\`����}�����y����R-\`VX��.V����ױ����4�����,��Îo�\\\\x��V~Gy4 ���i��$�JA�<v�Y��{.���mP{���]�|s=h_��cl?<��@���Sa����{1P���)8�}Y�A�z�~��F ���l� ��D$D�A�s|lB/f���ILM/2�R���1@�͕E��u�N>�!Ï¡\\\\l)q_��߇y���Hc��!��N�%�\\"r�������Jf×£0���*�����Y;� ��9 �U���䕣��y]�A�ҥ�\\"�Q��,�Sl�2b�g��ϑf���eZL��E\`)�~�9/���)���/�+r~XA�R~Ɠ�?4A�_����@~/ʔ���DÒC�#�A�G�%�h��0y�2ps�&~�JD�*yI@�J\\"��KHVۈ�AJ ��rI���.���=H��� i<qv�J# �����.ĹoA6�l��#������X�F�*f��$�d��LC��wd����8��R��Bß���6�s]�ڇ���?��\\\\aV ���~{]���� �=A�*�Qa�Ɯ�o���9w#�YA�'�_ �'��������դ��&\\"�4��qZ�Q�JB-�2�a J�d8��� TÍ;'�c��?3�����8R-���̶�Þӄ�jU��<� �7Ù§w��S%*v�s�&�8��P�L��<)�L/��Z���.�k)���:Ó�H�пU]uXi]p\\\\j���S1=)�_�'#t#V��UT��W�~��%B�!��48�1�&.Ċ��9)�W:Z�^�|��Y����=�uY�?��>�g�f�_kî«ï¿½ï¿½ï¿½i�w��n|��ÎO!\\\\�y�#� ���N�v��|5r���-�L��D$��[\\\\���,p������<w+<Xt1��>�1��h=O�׀\`Þƒ/���N�mS��wï¿½ç ²+�PK �����A��:�o��4�����org/gradle/wrapper/Logger.class��ko�\`���Unc��@�&s*]7��11$KH�\`�w�ʓ�����_�O�Fg�?��x�R�5K���r��w.��??h�G�b���1TP����4w��+ͶU���]����.;\`XxfX���!R9���Ӳ��!�1,�j<8�>?4�d�ck��qÇ{�0�#�b�vtUwx�����Q;����6m�!W���\\\\5���]�1,�)��@�F\\\\�s��˵w/��'.Hq�ϰ3��:�NW�����fu���-Ce\\"��!���l�U�#�;��m\\"x�*�@o���b�w����=C���j[�$�B#�� �%q<L�rI�X�'�<%N\`�������F �\\\\��\\\\�c���~�b@���r�J[}C#qi0�����4͡ܙ�z�|�w/��\\\\L~��sW(��5��e�N�S��Na�l�v{��k?�j��}�]Kd&{��Jo�y�Z�VR�Ɖ�|�}_3]���'Ä¿\\"\\\\?ED �g��PP����pz*���U�{QL�[�5��� � !1!D��>�c���I![3�̔��Jg���X�&��ov�HIFi�� Q��V�(�Iؔ��)r�� /�,��*�������ꊧP�*qw(�P�&n�_Ý–7Û›PK �����A��\`�������8���org/gradle/wrapper/PathAssembler$LocalDistribution.class�Q�J�@=������x�+�P��AA(*(��mۥ���M��RP��?J���*�/3sf�̜�}{y���,R����6�.�]�0�U�J.d�a���7<�q�/C��-�IÅޒ�L���M�h���Ù��!W��8l_��:��2~)����+�q7�$u�b2�=Z�d���8b��H�Ý�Z�Z6J��5ū�no6� �yRߡ� SK?�� ~M$_S�|a���Y�WЈ�I�V�~Ï’5�����>��p]�1��_ 1*BՂ�rCT��_q�iX�OL��Z��|-�� F��d� �S�M>W|+�<�*�>�~0T���u��h ��Y��&�㙉�B�b��5y]Ka�O���u�F~%���w��-�;�<y}��)ҕ��PK �����A���;��+��&���org/gradle/wrapper/PathAssembler.class�V��=c-#���I��� �,�I �8�D��,;�F���HË“H3b���N k-�RJ���%R�|�����3c�6r�/o�{s�=�w�����~�8> �VZG���0T\\\\�u��e/�<��x<�6�������O;����5�D\\\\���[�v�a�8�����>��~�֓\\"n��0��4ψxV�s!<��~Â��^�@?f�'\\"^ �e6_ ��^�u�CÄ›n���ri\\\\5-C�ٖ�k���)�XI6M������兹���ə�����lf�����e���*�Z15G�⨀�1]3-Y�å’�8?;snbl����hȅ��\`*Ƥ^f7���TK ���e%o����q]@𔪩�ic۽�φ���E�R5e�.�c^Ε�˹.ʆ�so�o������nS.��5C�T#u^�VÏe�4�WgQ��K�k��a�IB��EÛ�wt�s�|�,X���(��i ( ��MeZf�C �m�����L�4�jE�L��%�lR�m�&es�,�е�6Ai������\\\\T�բbZ�]'S�ۆj]Oe��&�@��r1-@��n�:��W*�>AÓ ï¿½9K�_���(: ��_U&�,E3�����@��ЫW�/M�R��]$\`y�R��7�)x��@�[�7M�����5�?�1m��m#��\\"����Fñ¶„¯ï¿½> 'q���JH� ñˆ„‡1-aѷ�5����] 2r�vRI�j��~�>��/I���_�l����~�w���1N������=��Ŵ�_v���?J��,�/����a]@�îL1Si���,����g�Q��i�C��&e ���:kk�ZV�����R!��Vt��6�jۊ�u3±?��ɸ���nI�'�]c���M�ngo��!6�X��I5��p2J%Uͨ�]��k�:��� �39n�ۖ���Ÿ+~��BĆv��/��\\\\w�i��t�)�� ���g�U71K���p�޿-Т� Qs9z��M4'9K�L�DS^QU����sCi����~�����K��c���kCqWp{�?6�]-hW �E���iN:X�Ђ����7�iz<�fͽ�2�j�׸:Z��%�����ل;��jڹ�V�/�i�Ë�+�q[.�;�<:ta�E�{�1���у�q�Y4�w�|ntdG���S�w�Oh��fK��gg�!����x�&|�;�O;��4�� ZEA�V��6<�3�c1��X�Bvç0p#���_C O���'jO�7Z�W�5�7жT�D��*:\\"�4��i�����N6}#�|�l�u�dcSp�K=��\` {���\\"H� �#�C�O����kH:9N���9��8&(�V��>H\\"��.g����2�� ���;C (��sdɓ�(�&�X��8��¾*��p�t#���K�A7LO�.=�Ћ�a��*�c1Q�w;�z-����G�x�H��z�x�t���6п�'Rj8�u���zvK��tVG>q\\"���!�×���]>�.J}��6�$�38O�m$��1K{�=�y'��:�,8��Bȉ���c��e��%×��Y�����A ����U1�����9:��e ���Q��u�n|�A�c ������W� ��1{I�X6�Gs�t?�'ד��KU5��QÆ ï¿½ï¿½DvQNÊ¡qZ�u�x�F�{���Ds�9\\\\Z!���];<:�S�T\\"B��o!��-��p}�[�S��)2Be��Tj�s���/�#�(�ct\`���\\\\�:�S���8t����S� ��'�)��h�PK �����A�������| ��0���org/gradle/wrapper/SystemPropertiesHandler.class�V�SU�]��!,-� ��-�3��TR����%A(��.a�,�ݸٔ�W�~��L}���Ǚ��2c�W��ڱ��& $��9��s~��s�ޛ���?��\\"��Q� ��P0�Oc(xSNޒڔ�i3 fh@Ô99�-ż��T,H�;�X�R=.��r����~��{x_���&��c�����r|!:}mn~v�\\":�B�ԚvC�53�;�a&# ã–™u4�Y��9]���aΘ�'Ô³(��Vi=<e��LncE����.�Y -��ن��^'ed��,;N��jZo�Z&����V��7�l���I���$u��+p2T(װ�FZ���9�H�������m�چ@�339��\\"L����?6���3�a��y��-&��dnC7�r�fW��CÔ¡L�.�����ꋈ-V&Ùª,5�ٷ��}�G���Ó�c^��^8�ȃ�1�ܸ�%���Q�P����u����45'g3��\\\\?�z����z���'t|P��x���֙Բ)��\\"����j �=��2��b �*�2�*�hß«z>g:Ɔ���V��K9#���]Q۶��͔nv�-m��ν�v^g-�*6\`Ja���#Y��\\"GAN� l�����-|,�����g+[�*�Dŧ�L�縥�|��+|��|+�Xyvy�)��'�1Mn�Bʶ6�w{/(���X,��(~>Wٹ�##I���=���(�D���WF��$v t�$�0;��/���~�*�x�B�D�V�\`� -n��|/�#�����)�����y�e�Ǥ2FIi��&�^�ʫ,=A��5��ٶ����T�m�M�fRص/}6��-Ʒ�bU �$e�g���RevX�|�3%���_ ๡~�cg5h�O�W��-a�������.����5�T����c��O��_� �����{�L����������P;�e���3�y��؆:�J�{�3�P�w�@����y42ES��p�~Gw�\\"03��V�;�L�M\`���q��=ï¿½ï¿½î ¿4�����/��Z��>�u����\`i��N�]x�G7Y� κc�A=�#7?������ �I4�lv1�4��$ Ĩn��q��R!9K�M�-�z���9�BÔ¯r���W�)�5�\\"� �,����9z|�~�_=/����!�~�L�0���8�WI�H�-_���{��M F1�W�U>�� �=��������Sp�L<\`��ݖ_b�qW��PK �����A��=����?��-���org/gradle/wrapper/WrapperConfiguration.class��mOA�g����JK�|i� \\" HULCß-��H����&~*M$&�����3w�e��&3�3�������_���:����a�\`@E�G xL�<�2O�<%������xN�8m��P��k����3��5���QO��M��5�)����!�Bw�~�+���1��sM�(�/;��0�/�w�^����9���sܰ��� �n����Z�d,8t|�Z�kZM��l��ONl�Ú�����iv<N,��n�����gJe��i_n.]�!Öœ4*:Z�l��k����B�j�jttW�(;\\"�v]��߳�����s�~�\\"�D�EE,�펷o�t��GU<K�1���+����}����տ�Z]�U���Õ�כo�d\`���B���o���2���daØ€<��!H��)S��U ��#l6����&���W�h\\"F}����9���B�F�G;��]�3�7͟��l�)��l��0N�q�{(E[��y�a��f�0�?@�p\\\\��F��&z� �?@�v>,.�s�m���ns��=�N��N8�u� ѽ���q$&�L*A��=HL)���BCO*A4dF r_ �� s����� �)%È 2�)�Ae�E�,��� ��$!�<W��j������ y2�I� U%�5HR�@Í› 2jf�PK �����A�G�� ����(���org/gradle/wrapper/WrapperExecutor.class�W����-���X2lƀ�l+�ؘ��C�l�!�9Kg�@�)�����t�+m���tЙ�l7��t��g���y�;��8(�A�z�����=���_����GCxLA�*�m �8�@����q��2ޥ�Þ�O(��s2Þ£\`!���{yx����I�~0����|�WO����yx6����Q&�W�<��O��ϟ��32>��X���yw���y�%^}9�����3�2�y~��Oȸ�\`;���)H��^V0�YW��^�а�;98��14���724�3��Ot K��Nj�-;ޞ�-#;�[��N3����}H�t �e���]�rbb��Aqy1yp�Ȗm�G�C���N�$��*=� 8%g�9ݲ =/a��z�62��9����u�È�N�l�=qԤ��1.aC�i���[Z:������k?�Ì��\`i�af�Rݘi���z��oX4�֔���r��!v��S�F\`�N3M�-�1�z_arT��Q�5�c���!�2x��ݮ\\\\�)��&*����ԉ^-�ޫ�cd {���Z��n�! ]��$E�锞s=�'r|Ë��4g�9���yJ���Y��E� ���n� ts@�f�J�BU�(E�2��DK����2t!cj�'-BF�Y�&�v����\\\\�v�w�����d�L��m�z���^B<��d���)G�Go..?�n.�LƗ�a�6��z5�K�l�q h�8Y[�#��0H M�(aɨ�-��W ��vМ$����\`Pm��ެ�?}U�b��4F��s�N����V���\\\\;��/T��,P���(�H�dHW)�(�M��5�yb-Ù«$E;����\\"6� ���v� o�J�V�;�6w����T�$گ���-�T|ߡ�]�y����I�XjZ]�\\"%��)Y�6�>�6i�5�~��g#�M ��;����{,�5�;����U�kUD� �u=��*���$$�)�-���^Q��I?dIe ÍžP�#��1���F/Q�0��'�i?e6�!#��(莄�1��e�L�%�|�%y��,d��KÜ¢\\"�|j��¡�S�Rq�m�5��U�;^�G�Q�˚h�&��}#YÜŽI��7w<}�E�A��'�L�QQ�W�M��U�����ό�D��2�� }ʉx>���1COG���)7r��a�W��T��N{�R�ӓ�|88a��������AXTY����oeÝ‚zfu����y������tR��{���:���v��:�Z��|\`G�_8檫x�8󨊣����~̕��7�:��+x��@��-I �:b�qJÞ»q(�Kq6�۷�b��j &�������};dm�?J�p�E����)�@aڦ��ŕf�hr%��Q���2&��x�g�lL�->lD�����M6�uF�g����ºß� C���!Ì£B�h�^�G��Ю �h�ϳ_F��~�;=�U����7Ӿ˳_�0�kZ��c��z8��Ivz���v����0ixUñp�,sÏ¢f���a\\\\���s oе(�C���B�b�j��J�%���%�@����,,V.�Z�X@3#�8����ꚑ�RM�\`:B���B�N�c�X@� x�e,��^F8���8isO�[�\`I�QfQ?��b^���Ϣa��� �I��t�V9gw��\\"3X�6;�kc�s��9['��_@c�p�� qvC�,bW/��<�guÐE4n\\"k�����XB���e�(�ۉr�}��NLb�n�����<����pa��Kq��K���0 V�HI�8C��K���?RM��Q%Ó¿V��tʯ<�Z�0�hn!��{ȣ��9o(g.�nmt��rg���RH�\\"2���� �L��D�r� �.<�7�^�MÒ«h���7�.@�#�}����\\"��l�%�4�-��p��Xn�Ŷ���%�PG �2k����Yu� �2�&\\"[�rۇ����[g��~;/@��M��d�客��T��P, Ia�UOs#�M�\\\\�#\\"t[�f8�80���HyCT�!���Hs�����c��/����օ�T�UY��<��0ý�������������8��*C9����ݻm�ʌ=�HN@N��3XL�̈[�[�\\\\ mRH #SdL9<HwR�\\"����>�\\\\����ť�l� 9O��C(�.�H']��T� ��!Ùž ތīS����]��h�DL��yW�!p 5 ���k�N�<��X�zZ*%q3a�0LQwx�|q�,8��x����?��cKQ���.-�.��\\"�c#�Lg�d �_EXÆ™\`-q�-z3Ai̷�D#�7�6�������^��=n*����\\"�-����PK �����A��e�������#���gradle-wrapper-classpath.properties+(��JM.)�M/JL�I�M���**�+��M���PK �����A������������)���gradle-wrapper-parameter-names.properties�PK �����A���������������org/gradle/cli/�PK �����A���?�<��S��1���org/gradle/cli/AbstractCommandLineConverter.class�T]oA=���\\"��~C?��R*O��h4!����aY�m\`�C��ߢ/4����2��P���a��9{�s���?�PF�@;:v D�c@���{xY9y�x��\\\\Yc�fs�ڑ߱V�g{m[�x�KH��[�{ʅ�'�&?��b�N��ӵKV�-��)�%��^�{������m!mQaظ������|�j�U��n���l㌟�R�{N�����}f[��C�����-��k��ږ�=,È��؂ak^���߫�^t��֔���-J��_,�/]���c��t�ˡ�+;X���r��C�uVQCW� u�h�Ca�oÜ ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½1a�6C���2Qľ�L��K�� &�!9��a{ Q�23Qu�{�'�M���~rÕ���3|i153�mn�Devf���߆J����~-C�H�;\\"d�9�����edc���Dq�ָSX��\`I�w/!)��:�Fy�7���_�|�@�8_A�#��F��VX!�K\`���R~�;�x��)�>=�N�Rnp���؜�c�h��âŸï¿½ï¿½Ï”�4=c/�-e��PK �����A�׃��X��� ��;���org/gradle/cli/AbstractPropertiesCommandLineConverter.class�V[WU�N2��0� H��Ԅ��KK�IQJ�������;L�0f���O��Z��Z_�t������A��}N.i�2Y9��}���;�v���O�6�Q0��e|�\`�|��\`w,�'?�� ��H����\` �=�� V���>�B��x�����&c��.cC���i���?]c���З1-c���i8��\\"qB[׊k�cr�Ɣ�m�e����B��h���Ћfb~��M�V�d8�i��ޞf����'��$ F]�p�䙶�0�fv�}-QÔ¬B\\"�9�U ёѻ���E#�0�f���f�[��-�Pv�T�4��V5�%\\\\���X3L�X����QgIW����W]�p��0�?���:���ĒVJFO���MA\`i Ò®q�����A�1\\\\W@ ��\\\\�A܊�A)5\\"ɓ�4����8,��F�h�J+g�^�z��K��a�@7��e<��f͂�y\\"�߾�;D='���+�;��%��,��W��J�/G�d����L�Xg<�m�x#����x �*&0.�Ko '�+�A�|g��<ß¡�o�(\`[��b�*��Sa���������Â��C���%M�U�4�ܹz��%�LEu|t��g�1qBu�)���k$1���� 5����xE;i1g��Yu[s밨��D:2�KZM�u6�?Al��T'�[�'\\\\�L�z ��o�B��E�1]^����.���&�z6�K�Z6<��S+Y�h~�u.�V�8X�b��u���2��i�t�e��d��N�۾��H;�4A��?2/y/���j���~���43�1���ˀ$� ��<�g�yWjFK$���j,�� �t��D��� �� �'R��k���$G �}/a�N�ƫ֪�j�~�����DH���AR����� ͹?��� �#�0,_;���iq��9|��)�[A�l �q\\"��0���%�T���q�Զ��9��N����R�7��3�w��o��=\\"\\\\�� �b��j��kD�����Q0����-��#Ku�s�u��Q��Ā�ٿ���c�c�ں)�Q��=��[��tx�V��p�2�?�\`�'g[��:��YMᶘ��PK �����A�}��yG��K��1���org/gradle/cli/CommandLineArgumentException.class���J1�O�3���Zm+���U�V \\" ��–��i�Ff�̨������$-U�fq�{r�wO�����34K(\`Ë„mu �����=}�^DE��S�E�=.�T}.�m���Q���/ ��&���t��_��G�\\"�]�8�bl *�b&ҫ�=�\\\\�.��$����rA�^��2�(�d�[�ŀf�&Õ—V��2S���o�/c�PF� ��?^E��5�.)���-��/��1ttu��yN�N�3y��+:���ԕ;XէƬJ�k�⠌u�0�ʜu�g���;�S�~��tӾ���0w3�*6��M�]�PK �����A�������g��)���org/gradle/cli/CommandLineConverter.class�QMK�@}���ԯ�'�\\"4 F<6� EQ($xߦ�%��vS��<��Q�6�L ]Xv�;����߯o��8w�upJp�L-�6�~/���S���b�f�%�u<� �*D�<.�id���n$�b&לpW'<(a��R�\`�q��Kx��l�r?I�����OF�l��$�j�ήw����vRm_U�%J��������vJQ��?���_��F�%p}�b.�;o���-7Û‰Z�3��fSm���i�M�l�g����pl��~Qqk*[9�a��#��PK �����A�Sf ���g��&���org/gradle/cli/CommandLineOption.class�V[wUݓ��4�^��i�\\\\�\\"iB�����Z.�^����dL��0�p�w������ .�UY�����.���d:�ܤˇ��s�����N��~����&�m8'�|�kE�Zqo�މ�.E� .�A��A��w�h/�� iEHzWœ���ª8ɉ�C^ܾ&KFA�-A6�n� :�����T�ÖÔœf�Jh�ӳ9�.Z��ݕ�c���沩9��s��ü��V������[y^���7�B�*�����f$�Җ�8#!Z/!����e��J��D���Y�/�����j�L+��Zj��RiCO����j.3��YLj�o8��--��ZFB˘����bq��I[��eC�_�73�Haf��˚5/΄�fZ5TKkw��t� �+:3���NU�dz-��������k����j�괚w��(ʸ.!�a��pV�g�)�)�_C���{ �����c.[$�k�ҿ�l��'贡�{�RS|~2�v�?����x+��bi����zkN�u#�Y� j>��2�Z��fY�T���R�Q���xu��Wx8R���E�1�0o���g�m���74���Ór_q9��\\\\�WO�w��/j�h��z\\"#�����z�,Zi��.Z��FkP�*Ø$}��i��B+ �c��� na��]b���ᶂ�1��|(���2>R�1>aï¿½Ê Sz���5 ���xA�$>U�D��P~�.*8�� ����%>��������;���g������+Z��Ekߌ�M' g�6-�0�:��NV�ϟ=!!�{��LX\`�e2zF�I���3U�\\\\�%�N��e5CC]�Z]AáºmѸYC�Y�b�Z.+���&%�����b�\`��)�s�4�\\"((��{�j^��<�����Q�*�>\\\\����{�#�������%��N����׃\\\\��&9�I<��x����hz�\`�G4?DKyGN�!$az�Z%��V a �\\"2�� ��5(,�{�����!�۹��=��V�����$�Ij�H���a�D���/�i;��a� �������xÊ�d��8$���TŘf�+q�Y�����r�*6�:^��]�%�׸wG\\\\�788ˉ�H��ir\`��v?/'��얪�����c�Gaf�;B'��F��|v�v��rȵ#�x=��zC�8Pc.���}�vr�c���� JRÌ�i1!�h�����]�n��G��S�����������0��� �.�j�5\\"GO���� �����n��J0���.b4��-��Î�л�n=��w�\\"\`<A�F%H)$'J ^�z]�B�$��tơ�A�Òh3�_ǔ��?:kR<M�3 � :Ur�%�n�:����w���l��S�꛾�uï¿½ï¿½ï¿½Ú ï¿½Yr…��Ѷ� .�;*�ĤǪaQN\\"Z��\\\\����Շèªï¿½D��u!�zq�{9z���3uzYb�ֻ�U}y��e��z��\\\\�� _�9�q�wA4�61�Gu�M!&ְ�b����c�'s��B��J1Ϸ���P~Y�N�{Yޢ��H��PK �����A��튯��������(���org/gradle/cli/CommandLineParser$1.class��A �0E�h�� v庈k�^�(��'��P[����\\\\x�%��t���������8DbD���fs�V� ��4��ž�|�ֱ]��. ÓΕq�.�^M\\"&Ì-Eie�X�?�Ŋ0�i�6S�9v���J�R/5�-!�W�� ��_x\`�����_��$��PK �����A�$f{K��� ��;���org/gradle/cli/CommandLineParser$AfterFirstSubCommand.class�V�NQ�N)=�-PP��-���B�� AI�߶]�B�%�E|��W�D�Jb���q�n�b[����̜o�9;3{~���� V$4#�HCTB\\"b�b�8�9�ͨ�1����� �!�#�)��J-��I��Er���+�L^�$��-Y�&UMY���b��z\\\\�Ts�a����oK�-����1�zVah�����b<��y��%���_� U�B���pqꥩ3�Q0Ww�EH߼�)F\\"/ Y�8rT¡8��c� WS C�����a��MU�8���vEJ��^�&7��r$/k�Ȫi�Z.^.�sf^�M�d#'.����n����RE�i�޶���梼m} ����αƬLq���!&�A�@-��U}��(3�H��2�qW>��~�r<�a�s>��)C���0�9y�mj��V!:��|��k��\\"%����*���5&��@TZ�[AkI)����Zb�=N�ʆr2�j��� �s���噜�(�B\`4JY:TCa��e�c��U���*�b2��v�TzCɘ�gKE�ԷN���R�9�r,m:��BM}�V���{\\"O.6��u1᳠��~�-��g~�hW���Kt/�O�vs����}�+ ��=�]h��Y��,���l$� ����֊����7�� �4O?�� ��gԻ� ����h;�_��!��Ѹw�i����P����CEÓžEV�h\`l�l �,��[��m'GT&p�DA�n��E����!i�/8<~��[$�\\"���V��8z��b3%���+�>g�*h�/V!r'����e���m3=�:Ir��n w���N�0�!�؊u�2�a����I��PK �����A��D����&��3���org/gradle/cli/CommandLineParser$AfterOptions.class��mOA��{-�r-�� >W�+p��\\"�D�!$M�Fxa��g9������.��D%����2�^�rÒ’c������ffwn��׷�fqۀ�Qi�u�4��h �IS�tL�a�T�z��j�6�PÉ“5�&yյ���XO�l�ե}���G8�]���x��2CrÉ«<�+��M[>�.YN�� w�\\\\:J�I�i0d��m���xB��B�r�å†M�u0r$f����u�~�^����F����+��[.5k՗��-�o0$�����z<A�e�k�ͨ��S �b���V���g<��?�d��\`�Sm��t\\\\cX>��cg�>�v��@]7|�-ƪ�-+�CG��@�ϔ�0��j��E77�c�k��މW7xؒ�1��f�0�0y�d�8��3��5��?U�Ѷ=� q~:5�h�h�k�mq�����_�2w��C^�2 �\\\\�� �G@�I]�T�����G�i4gL��,~Ab�T �4�\\"A;�����\`È‘m��<N����~��B�hV^Z�c��\\"Ø‹Ck14���82����w$׋�g$T�]��+��tms!PI�I�H��K!z1��P��W��}��V��̉�j��F��W�_y��G�O��=���E2L�8)Ǧ�+2 v^��L�'��>�:C�٤��3q�����hb�oPK �����A���M���u��<���org/gradle/cli/CommandLineParser$BeforeFirstSubCommand.class�V�r�T���串�:�I ��I|�sk��iK�^���r�ը���,Ӿ��[��2����x�Hnb�N�0��Ϲ�ٳ���=���_~0��2Nc� K2��ȑ�!aYF�ø���� ǪP�&C�u�!��%�6>�1�u���(68 w��o�z|�a,oÙ•L�V��zF��5�VS���a�wU���9�^6Lù�ps�_�u W�ݢ���d�֬m��l4jeݾ���$��-M�n��!�M�$�2��-[�a�u��(7m2(�MS�תj���ڢ/�xWCiX;P�BNg,�YtT�)<v����a�[{���![[��G�j����Lѱ ���L�C�M��]�uØ£og��D���h[h�fzu�ox���B��Q������sG}�~\\\\�\\"���+�f��<���c��V��(gDBw�L��ň�a��Ç>���}����3%l1���T���3,�z�o���Kf�=�H�9� T_1$w�bW5�t�?��f�k��5s$]%���������4C� Y�G��p|�@EYx�.���~H@���]*�[q���r�j��;�;�k�G柮G&���SE��Qɪ���z|q��|�y���p�j���(m�j�a8� �˔Ww[E���^lq��6v����(=��WN#�#�rN�YS���.8��~��rW����������K�*b�; Q��\\"Q�iD@�r0�M�[�Ҭ$�?!�H�v����C�Iq����f�.Ɇ��1J�ᮨ�����oZ�}4�{�J��E�F�G��?�3x�/�J#����'�Gtr)I�p���g{(EOJ��T)�.>Gd�/�-�G�WZo=sP�#�\`K3�Q��[F�]F�]��pՅ���ڇ�b�Y��h@�~R ���(�!�ijJ3n�����8B�# g��HW���ܱ���a6�:Nx*��9��g\\\\��.{b���׹�ڸ��i^E��\`�� N�$��,���S�D���gq����c)�/h�R��PK �����A��*�ZM�����F���org/gradle/cli/CommandLineParser$CaseInsensitiveStringComparator.class�S]OA=w��P�Rˇ�\\"�UhAx1���ML�Ô������v��n�����/��\`|������Ek�C���9��{Ng?���&6�Q)\`�,9�5�=K&�l�fc��*!��|m2��]B�t%a��|�|�ߓzG�y�)����v�V�&��+�\\"�M?�~�\\"u$Û‘V~���Q� N���nx\\"%<i�����z��x�el_�]���Сԕ�u�݉O<��r�@ �~�M���L��5�a����]o�����'�ۑ�~&S�纽�;���>��6mÜ�#�nÔ�֛uB�_Є���\\"�[�f)����ְ�m�*����ȧ�H�j�f�p��\\\\�p �ߩLb������s� ��E����\\"L��d'h��@KÓŸ0}��1/d�MXE�n���qsYX�'>9|r9�\\\\�=�w��P�5o���y�$�L�̑��i�ft�cye��������}������l�y:E����1k-�LY�n3q�2����\\\\�u�M&:���c�#����2���OÈ���㿈(&�J\`�R�����Øï¿½p6k�0��,���X��\\\\����*w��M/��PK �����A�|�R����&��=���org/gradle/cli/CommandLineParser$KnownOptionParserState.class�X�wU��6ͤ�K�*EqD�t��;VkE��E�+.É�3uf҂�HQpCq<R��z�����7x8�3��mi�����w��%�����Z�z�%�wK�GF)6�D�e#/q^�茺IB2� ��E�,�[���\`�&,F�Q�{�Ӗ�ʨ�p#2b�*c���e܌��b�� ܂�yyD£|�_?^�'�]“L����%<#�XC�a���m�I �d�}v��nw�4����.�N�$m-��[�)�����D�a�7i��ۋ'�_)�%,: �OC�����'\\"1��H�Wsu ���B/���:�U�Ri���k�6���]#��e8.ݕ�ISs�61^<�z�����dK\`w�[i���&p�~�^+�⎙�� }�+AÖ�(=����}��1E��.+���4����rrU��1}�&y��� &%�ɖ�n'Ӄ�� \\\\[��ކ��6�e�U��E��-��P\`�l��f�=�V�TXZ?c����{���,)�o��3�(�R:{��K9�\\\\����A�(C^83�y�� +$� a��~���\\\\q�e^^�l]��2^ZyY�� ��ip ��Zi;�_op\`��p�9\\\\��������v�ֶq���K .�e �hVЂ� ��U�r\\\\��F���Z�L��׃�.��Rt��]R�[�ԩ KwT�rUWۢ���f���ZS.y�nܬ�I��� ��K���-���T��!w[�L�uȶ����P7Y�?��f �)؃Q]�T�k��5������ Ç¡\\\\��LZ���p�yq���DQ�ñ¦„·ï¿½ï¿½w��� �=�s$ں�)× Ë²v��֧�� >P�![�>��u�\\\\|���I�\\\\@-V< ���g�Z�Y͓���5ͨ-4Τ�j�ת� 窬��m͵l��Z�n����pi S�5꿗�$뻦 �b^�)��S��t<Y���'��%S�3bhTшhOï¿½ï¿½ï¿½ì” ï¿½*�*��Ӧ�o���i��3i�Z<�;��e+�R��L)�ɩF�e=��i�<����Ϫ�a}��IǸ�eR(���_U}C��&�Ls�������Ię�&Ҁ��{�D��vv}C~Z���ܣA!��m+=���4�3�{���&�����l�-9]�2��J�8��L�xï¿½Ñ©ï¿½ï¿½ï¿½ï¿½Ó ï¿½v�u�NsTOt.��J� Wd'��)��6*��$z��G:��h����#��MG��'\`�a�G�!b/��T��1O�����X\\"��Մ���kp-��XS�X���ږz'�7D��.��-��X=�1�{��*����7��_��ޯ0�(��.6������k:���QU�u�h�!�X�YQCÞ€x�8@���Zqm�Ct��<�}�Yz� דn��B��|:m7x�KH�4��G1�%��s0�Y�P��^>��d%f���sT�CP��\`�g^�� ���t ����H�@�'�؄N�r�\\"#��^h���N�oGQ7AUߑ�t$��YFRk�|����y�aC�@��g���pP����n'�I�<:\\\\(�=��p�����,���á›ï¿½ï¿½ï¿½a����ұ<��V��8�o�ST�=�G����K��Q���~�q�;~�Wq��W�|����\\\\����T���۰kqS����'��'Q.á–¿Qs�w8�Th���DL)� Gc�M�CG!O �+�m>V6�d�����hd��F��^��w�����މ&� aï¿½à ‘ï¿½W�~q���p�N߽̾2BI� �7���!�?PK �����A�$ľ�������<���org/gradle/cli/CommandLineParser$MissingOptionArgState.class��mO�P��w��*��LD�� �!� ·'�\`0�W�̚�o;��o���B��~�?��ܶ�K˒��s~�퟿�~�Œ�r:��'I*(uZG 7�ٌ��q��eМ-�rD��_��K.]S�z�3��B��js�5]���#ņ�u�,n�V��4�\\\\�k�0��#�%�r��w�����[c�U�:�3�WZ� S��6���9��^��Rzx��Z���s�u-��˲V��;���TJ��?n��I/�GQ��w|�m.�UO��Rn�!�eC�w�&à # Ö» �@��~�+���:0��r��\`��#:L�:ÕžÍ�1�𦯉��)�[�PR�2��q\\\\�U�%7�ǖڒ�#63���V��t�20�1,��K�\`<�E�����a�$�e�=y&z��a�� ������ioÙ¦ SÊžx[t���)<�L/gd�핤�=Ij$i�� ��0iOH��*���~\\"�Cj��A�Q����{�I�����gI�/),��9��������}k�4������ �q����g�2�\`���(L�B�~���e�6n0�)I')B�e���{a�I�㇡�;rL���v�\\\\ Q_Q�����ӕ;������0��AS�B�e4h��Ρd�v6l�o����_є�� �h8%1�+a��U��' ��PK �����A�TK>������=���org/gradle/cli/CommandLineParser$OptionAwareParserState.class�U�n�@=��q�$�6\\\\�%�)M�K�@)�p)E� E*o��Į��O�x�$ �J|���MÝ’*A./Þ���gf퟿���PĽ8ȩ�0*w�Tz���c\\\\�� �*L+(��cVAQ�u���4�ܮ�,�dÈ–Q/��5̂Ѱ O�p����C�{i����\\\\����e˶�;���\`�� CdÕ©Q�I��h5��xÆ« ���7*\\\\X����.C�ɶg9���Z��ŵu�6�j���I���,s���]SM��j�%�}�P����녲',��4��!�E]&���8��c$�\${�]p�G�ì§ï¿½ï¿½ï¿½o�R�NK�%�t��i��!���Ә�ÐSnbX���[XP��a �s�����L�f �+��~�a��[��f�:�~���Z�)9h��O�S������c�s��m�q�r�� |�������F���dU���ԩ��0L�����-=ƽ���_��qk�ޥvr�l0.��ϥF��|���x��!���J�Ӛ�'v�t�!}r�O�Y�Y��,T6�$�a�|i��Z�����̋dKTT���ȇC�(���<�C�(.��.#ï¿½ï¿½ì ¯ï¿½*�&�>Z�7D�!�eSZ2B���#����o��o+5U���c���Cݢ�{�� B��*^�v�#8G�Ni$�y6���+���1E�8�3$r�]��oPK �����A��%�̻�����7���org/gradle/cli/CommandLineParser$OptionComparator.class�TmO�P~���Q:� ��� �2@�.�,Y�d�Äe4��kI��?�/~#���ƨ_�� N6).]��}�s�=��~����E�%d0#����0+bN��U�J\\"E,IHs;�'\\"V8|U�Sk\\"�z6L��7�e�A(;Ã�i;�����-�V��n�����)��L�!�{䛎]v�G����� Wl�p˖�y!����P�~\`j�2U�6u���y����N_���z\`Q�W�k�H-�T�� ��T|�%|���4y�\`�P?�UK�j�wM���k��w����uz��-��֤��$�/0L���[3��xѪ��M�7-�O�7��I�R�i�u��;?Ú‘~�S��b@�����Z�a��B���h�Ο�\\\\��i���a+6eY�����g��љ{\\"!c/&��q�����v�a�[�h��ǂZ�0�0 }��mj��]{���a�=�eÑžB�$�>��P���}�4�s2�|=ѧ��Q*t�e躣K�.@ >rd ���d$S3gH|$%�!z�p'��a����!�x���D�\\"�2{��9����O蹀�S�p��Hs�wnL8�tr��I\\"��!�y�3Ⱥ2GY�v�����>i<2����<l�4!�M�{�n�V������ ��#f�dY��\\"�5���>�{}FC��NS��#ZO�q�ϣH�INQ�2(R�8��˦�S�<�i��� PK �����A��fC�������8���org/gradle/cli/CommandLineParser$OptionParserState.class���JAƿ�Y����4ն֨��JoJ�P����H.��$�:���ى� }�/��}��3����4�ߙ���Μ�����#�B���F���UB�Xie? ���o�}IXl)-O���4碛pf���D�F��8��K���J�a2i�VX�T���4�Dd�d��Vj�(6��Ȩ����B�]�Q]��AXH5�ƞ�[�����O���&��B�T3k8��N�+q#�D�8j[�tܘ��K�Md�T�̋�W^'���ۄ��d���[�w{H������ӡ�ɯ�m���s��+a��;����@(?^�Y�J�x���\\\\a{�(��$�_��ׇ{���L |�X�uf��fs'�'�8.���ygX�u+���e��/;�����������0���:^�eor�[n��}�y?�\\"k�����g�PK �����A����E������3���org/gradle/cli/CommandLineParser$OptionString.class�T�NA��z��q�ZDQ��G�QÄŸ kL�&(�[��rx�k�����/$�&>��qv[l�B�����|��������'�9<�E?L�Ĵ�4�B-�0��, �:4�(1��m�;�ᮆ{ �����#�<�׬�8t��COЈ���͢���T�ݯ�RXgP+A�aXv}ge���o���L�ͽu�Bo�xË�U�� C��wŠǣȡSk9kV-�Uϱlϵ*A����Hñš‡‘�N�S�?s���?��:幘/t*�-���W�!�h�Ï��汆/�Tww~e��Ӭe!�rg�c���DQ�<?K��9�ѱp}-� m�+�0܆0#B\\\\@�@�B<40�1/�,\`�a�ܧ;�WuB��d�:�9_�����s�f���_��v�����k�{��E��(�a�s�-���-��+� ǯ�Nm�V����nD0N�/MOW�vR/i�-�5)m���J�i Z�C$��}�fqlO��0\`�z��^�@��&�x3#�ÈH��N$RhO�h���,ï¿½ß f������6�j/�-пb�����.�'$���4��h�x\\\\��e�F&&�E��E�pL�0v��k\\"'��M����F+x��ٜ.B�;��2�l�7D�D�!nʆ�]�HdR���6fT�nG�#fZA^�F�|�\\\\�N3�_&�PK �����A�gAq����x��=���org/gradle/cli/CommandLineParser$OptionStringComparator.class�T�OA�fvÛ…e�*Z@��Rd) ��H�&ULjH�6�MY\\\\v�����ɛ�^�@��ѫ�1�ٮ(���y?����uf�|{��\\"Vt�cF�. y �:T��呆y�M�԰��Ä\\\\�];�\`P�]���[C5۵����,���s(3\\\\����-�8��v���9mÏ���6+�ѱ�E��F�u-�� ��V�����žc� �6 {$�}�����]_ï¿½Ì 5�����k��D��p�fY���tƋ��$�.���\\"�x~H8��G@�T=�WO�q<��;{�V#,wg U ��簥����^\`�����n7]���b� m��)�z��TJ�{-�am�r�LW�yyȀ���%,kx̰ٓcEV� ,7�C���=�ã¤Qdҿ�fX��t�XG,����b���O�%q,�Dφn�d�3X�w��a�^� .��h�\\"�,#����G��I�� ���n\`�,��ć?C�<�U<��������l�����S����=��)j����\\"��m*�D����� O\\"�5L�>乎�OE��;McBһ���-�!��%��.��\\"�{��N'�M��zz����Y%�B65[�m�~��k�E�T�BZÆ“q�5�<�]/h����}LѾ�>�����M�c��G��MHx���)����PK �����A�\`M~U�����2���org/gradle/cli/CommandLineParser$ParserState.class�S�o�P�N)s���97ս�&ML�f����.а.���vF�'_|�����(�-�� A���G����������mdQ��C-��6�xba�B��{�I/zI�4����\\\\�jϓ���d�b�s����?���4iF�^H(�*tU?'��tU�a���v/Pcg���w���9�\`2r�;$u�Ty�P��/�#}��@��3�I8��c�)O�;�B�/ ��Z������&���Wt��i2���qf�YC!�����z�<K�)�)�9��K�i,�y��Gm|~J���\`��s5t�z��7f0m=M���*l�[ZE�la����l<ڿ� ��aD8X~����4K��g��hx����\\"�ʿV��\`��p�#�-������6?s:I%�/&�����JP��*l�W��U�|����ZL��@�ػ�5��NL|��'Ü»T׊c��+�J)����)�O��5�c��Rz��z�x��qY5�?�M����m��6Wl�6�- /��PK �����A�p�X ���k��?���org/gradle/cli/CommandLineParser$UnknownOptionParserState.class�U�RQ=w�I�0@�(I������* �BY��$Sqt2CM&�/�/.��G�?��_7n��/XvO�B�P!.�t�۷�龧o&��}\` �5Ä�І�6Z��ɱ���I�R����5��Iψ�@�#� w���6�%K��FY\`|�q���+���[fn�)��]X6m����� ��[H,?�/dÎ’v1�깦]����V\`�0��S��'HdÞ´MoA�HelN�Z��5��S��8e�R�0��r�2�FN^Zk�5y��S�D�b?�����M�t��<AÇ���Eû/Ë‹n�R2l��M��)�ؔ�z+Ɩ��rO�Ò�Is��; �m�1&k|DNٛ��OlV���^��I����I6Sl��O�k�:7o�3y��#9�|G=�esSG�:���S����1�[Q���!0����� �mEd��6J\`$u�a6{�P���rMZ��5z� ���� }��KB�B����4%�(<>PÚ•h&ߗ�P2��e��g�v�nÓ�$�$T@|�*>A��%��W|�):�T Ð3����_qI�_q3!���t�<g)�׵:��o>�^= x�c @����C��!��:�Z_ e��Y��q�>8YM��H�E�F��w@�@9\\\\\\"��!�v�C��z��1���vñ«®¥x��&҃�k�$}ËŒf��!�u����Tsj]�p9�9�+��1��:�*�4�*4fE�!�������./1Y������?PK �����A��=��l)��&���org/gradle/cli/CommandLineParser.class�Yi\`\\\\ő�J��7zz�eÙ²=\`l��1���S>�K6����Xz�Fψ��8B����\`�\`���d��M�����ͲaÙƒ=� !l���~�ޛ�����PwOwUuUu���O�{��Y�T:�j�W5�ױ�h��/>��)��s�3 ���O�� >ס�y�R�a#��|��|��1�ׄW��%G���ģc�x��S�5��E��]��%_���fF�eu���֤P�t|Âe�&cu�����q��8&�&���䞬��JO��|</���&�u�H�&��+S4���4�e��Z9MQ�ФD�bzAJuԩ�)Ó¤\\\\�r%�m�� zE*�J�_��.3Us�.��5��ɜ|������\\\\5������|���,T�i�XG3��H�xʬf��R�,Sv-×±UV��Y~9[y�]�e�.��*�4P��4�Z���<��V�&�Q���e�\`<n��Vw%B�HS\\"��/��� Ƃ�hL�u��˂q�>7#�P\\"t��M$(�����L8?�=���cq3Ö”&LM�s�sO��A0�e�AQC(���j]��Z�-um 3f��5i��f� �≦�m�kG0�JKͶh�̚�dc�u;�13c�M������0�[�1�׬�_ݸ���a��5u�ÖX�(��^��N���1���U�&��V���QQ[Ù¥=I�Ҩ�]��k �G���-\\\\�����FÚ«m�WEc����\`kجn ���V�\\"����E�9:Gw6�v������1�|�yqe�41���P<�-l҉��H(�H�[R�s�,���J��ؽc�[����-���\`,�~;��DG���|�������K�g�lloi���5M%���9.b�I+v�����\\"�[�FU��R�o;�R��\`��FN��3#��mL=� ��4�P�%$�l���u�� * c�Late+�r\\"n���uUC��iظ̀��J���]B\\\\� k���X5�P�j���:��)B�p(^H�i%����n Z��kn��ݒ��_�>N���� ��&3A�32gR4��d��Z�8?l�y�O����m'�ˆf@��h�Ռ%sÆžU�u��6��3iÊ Å•ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½%�p77���DL�^a�E��9ÍšV\\\\�EW �p� vX8�)��4iFf(M�a��}��.��l?�F�,�N@6��7�w�3���§�E�5�F�pJ�-���f��n1�R^��:�t[���B�Y��ԙd��3���R÷���M΄A-�V�vm�ϼ�.(S�Y�n�Z�Q_;�S��[Z�x|ڜ�3�K�F�R^�9�fp�U�g�sPY�1O��/ �}��M��Xk#���I�RrÜŠ[Ü€ ܬF���D��-� �;��&-���i�{�OP<����1�Mڹ�t���\\\\Í×ku��;5�nHXv��!]r1%��� �0��Ò�t*��1��T]BØï¿½ï¿½t��-�씸!��ÇK�2C.�+%���ª2C�!W*�or�\\\\Mx��ղZ�m��U�3W����q�\\\\��lE,�r�Rz���[U���V�3�[r�!7(G�(Wr�|Û��jCn���*��%*��Ų!��wYX�����2�u]�4y��ӇY <'�k�PÍ��%w'�t�3��lu�Y9L�ÙC�'�d�R�{23$*� ��0d�\\\\/�!{�^C�/�hr��7��ܟŞkCP���Ɉ: ��\\\\lȃ���nÑE��b�\`��*�ƹc�&{�>Vi%��=f ٽ�wb��eic�^<cz|Fq(^��\`kOq+�ڈ�Z����r�#��D�B��\`$M[[��i�A�F�3-6M<�%�w��3*gT���䧆<*�i�3�Q��aJ,�F�=�-�H\\"�PѮ�\`���B-�-<��X������3��2\`����qC�+E&�l^|����”{ŦԨrë–²RC��'��!c�%��!��|>�Rĉ^�Éw�w�\`����O�F�3<,�dn>g?�_�y2��|�����%� ��z�X�>\\"�Nd1�V�f�Y72�pLb��h1s}���6=�Jq����Ŵ�*��9���DuX�U���ǻ?���}e������[�ւeN(��q�%�B=�:��FsW����z��~�-)u+Zv{���p,�|������{���\`8�E�< �r�_n��۷�C�c^�{[܉բ�z�v� �46���<[]�k�t6SN��o��;:������ԃ�C���qֻ��[�c��\`���|ݽ��(~�zv��V�7\\\\e���\\"�z����>��L��P_�k���p�6#�+L��h�1I\`�E�4c��/�]A�in��ع��<��hw׆�ڧ0=�՗g3�Nj'\\"�@#y�Yk>nV�0=t�zi��H_�����r3�%?~u�'�\\\\����v��B�� A���7��o}m�h��~�� �ǡ�W���s� ��_&�%�@,y�����ő�<ހ�M��<�k�����Ö�0nGRZ՞�A<[1�Q; hK�&§i13|d�7�L�]$7$�J����A�h5㡘ٚz=�����贞�_��.��q*:��'�����F��&k�m��l�oU}���������w�kr9�r�x���m>��3�y�⼃�����N��w�n�W�})����m^Y�Ah���O �YL+,�l\\"G�����˱�����7<���7hb>�x�������i��!_p���h���� 9�Q��}(����a�\`���F���˜Zoe�ۋ��局����v�����}r��8i7N\\"e�K�{1�����\\\\N�IAU�[���k|6e)�������=�Lg�i��t�E��:���Rt����=(\\"�4R�A~?��(N{�,$��)��>�ȡ��)Y>gGK;��Ȯ�,J͡���%TZXÖ‹rE\\\\Þ‹ �O�����Ü€?i.U�Mj���[�W��\\\\V� ��*�Rv��\\"uG��Y�xm��;��>,�.�����Ӈ�K�֑�l�wlfe/N��oE���'Q��<L\`LE�+q>��b����Wb#�\`cm3�<���؊_�\\"�K��� ����*#\`�x��)h�btH):�Ll�&�evH'�҅.��M��^��Q�~;�9��˸T��7�C\\\\)�5���?�z9�sr��*��h���p?Û»0��=�QÖœF�{���tw���t�c1~D�<j��Z�s�<gT�W)�!r|���i٧��9��Y��ȫ�)�}�Æï¿½q�#<��07����)5��c�t��~���Y��c(×��j ��\`��1ųg�?�������]G��a,:�h�����ô,��� ���S��B ���r��g�ÐT��4�3�+�\\"d��;(�NW16��E���k�۬���f5�7V����x��E���E�Y���dN���>����k����U�a����!��t0�F!SE/��w����X��S��'�M��d_ø8�ç¼ç¾‘g���M�'��9����K�(=SX�-,�3��,-N��=��u�S�9�P�i����� ���Q��c\\"���%��p;°��s��\`q��x<�����6V�����~,���z*-w�����F�G|��:%f)�XJ�X���BV4[J^ ϑ�^�l��T{���� ��p�����������g�9Ü…*�+�/#ߒ�Z�JNxy���*���uìR6+�|*,�&����V�U�V} 5^Ƈbi�ҕbY��Ї5������y����\\\\��$h��:4�\\"i��4��h��p�m�7����H����8���T^��R��x 0�K%��k��A�g�鵓r7s�~��!��o_������ǜ9�\`9����_K_��$��,�+��J;~);�܆��%�!��My�xw���#){9�%�q�G���2wR�����0 /r5�{���,�5����q�BH��\\\\����� �d^p�K��PΓ�7x�Y���+��b�܋7X:y���x�Yçµ²Få›É¯S��-1����8g��O��{zSe� y�Nv��a��\`�aZ�x��� 5��m��C�d\\"�QL��tL�q:ɛ� e�c%,3w����]}s����S�}���~e?�2<��_��p媲>lJ��0ݩ�j���A^�i� uoQ��E������p�ê8�~?��oS�w/��-�Oijw�g��޶K�/����U��G�y�^�}�B�����,�ZJ��,;����;ɢ����x�b��f9�r���K�a�2�J|ß‹s�=ijS�8T�PqhQn���sʃ�YQ�U�@��O�~lm.��I=o�A\`�2/-�����'a*o���}�CÓ‘Ms��wÅ��iV���*,�K�:&U�@�c��Hb�{V5�ky��E=�!��#�&�P�==� k�Oц?�r�]�?1�>g�A���y{8u c�a�*^����H�*�R��!�V��g��-y�h��.�#�f�N>��_�{EV43$������f�f�N�8�Ѭ����;��l��d�O��sN��Â��]w�a������i�� ;{���g<�Oaja� v<s�[��G�%.�X\\"���\\"�QkGOa�X�g\\\\�p�����>�>����.a���.�=������dz����A�#�_�������;q �e�V)^���?PK �����A���>������&���org/gradle/cli/ParsedCommandLine.class�Wiwg~F���ċ�%v�TMc[�����R����8�S���)-L���T�(����.PhÙ¡li�7 ��\`rX���;��Ɵ�����}g$KÖ¸1G�����}����.3�ǽ?���.�v�*��\`�!��*��΢ .��bu�f��T���,.+*�W�BM0#h�'��\\".��T=^��a�����}:�|F�kt�����0^�7�����/�㋸$�_�_V�0�A�V���Ma� q������[ ͼ�1s�#+3��ɥ����/�E;����� �f2�n-C���#�2�����i�Җ�������U0R��Ғ�KMfr�)y��(��Q0r��*T>c�4y�Z�q���%s�H���˶��Y���h������M�-�C#�\\\\�U��08a�~.k��*��)Cx��K��)�LAt�\\\\��kWY�p�#�AÍ™ ���� FA|���W�ݳw�/뀽�)x����V5KÔ¶x����:Ô•|)���#�wOP�c���c�I(�V��^y���U�6K������bѴ��\\\\j������3Tp�UG(���|�V�Q��H1�M� 7S8�� �RΊ|{��Y�#۶���nQ/���5^k�Ko�u�O;=F��m,�R���h�q3�5$�bwc�LO�F�ܙm�� �����L���n\\"�����9m�G7M�h�z*gJw�r��vè©”D�ճEc�Y��e�y�K�?�a{���?�՜qZ:��fy���ȌY��c��m5����� � �^Xd�k�����Þဂ6��Y��\\"��|P�[x[�w�= �����1s�=>4�?R�c��f�U�D�O�3��8�*$c�/GW���*�S�.��5�“~�U�n�� |ɘ�_��=�0�a�4� WU\\\\�0��~��p�WL�HZϖ�:zy�py�����*��r�K�}j��c���븪�����֒[���v.��2}Ri����c9SV�U�P�P�IÎir+���9�������g�S�� ����Q��Z�y��ۇ��OB�MkI'Æ G�>�� �=�7r���W=¶~��̜�gD��1[�f(O:��6y��P=𸟳J8�J�e������2m�s�Q��P0����-^^��Ц5[����y?�A�C�2?Tj�H܆����m�o\\"@1H1t��XG1r�}k�L%×°C����h���&�4�o!��;��]LHÒ°e(��=���Z��[]����;7d���?��k'W���o������A�؅ì†=x�5��:I�C�a��b!Z�cx�(D��p1�'�)�1��a���8���!�N��*�*&T���=t�hT�����_�P;�=�'��X����/����� F������bX�@�u #Bw�v�p��\\\\�}b�9�û��x?}�d����������T�}HH.���o!���s��y�V�����O��C��I�/�a$�q�a�x�A1c���x��)R_J@{�& (�+�}�?Av��3x��G��f����97���CTE�B��\\"���]t���F��.�'���ޜ軅؜��t<�õ2�i ��1�i����_3�%����6� ;Aؓ����q��6�A-��V4Rg��Z�l�G� ����o��rN�$�g��dy�E:��+����N:$��̕��ų�xU��'\\\\�5��B%Ç»6 Z�3�]^áœï¿½ï¿½k��>�l�J� ;�k>��e�'*�6z��E�Ge�)��A�<�],;[���S;\\\\��O��r=l8>Y ��߀��^��9ي� ��NL��vcz�Í&@S܇��Қg\\\\�H�VvWc��.��97�{�X�Ř�㰗G�o�� )�ȑ�,�I8�s��Q�HI0��$Ab�s��9��{�\`_i�*^QUt� � ���������9%�<'�t�E�B^�K��r�vs?��\`��A�^EAEXP QP �dȹ�PK �����A�y�t���E��,���org/gradle/cli/ParsedCommandLineOption.class�S]O�@=ݯ�G�e�Pa�eQ���\\"�hHV1Y���awR������l���I�g��N[\`Y$�ә�{�=����?���“4�(��H#�b ���冊�$�4���-L%q[�器+��r��⾊ [�lpWA��ɶ���������(H��a1��p#-�g���,C/{����9*I� Kxs ���U�E�J�%a��:w^�u�\\"��]a�*s�<����!�I�d;�n8�jr�b �s\\\\^]�k5fU%�J��E��V��݅���=Vy������ j�;*i=z&x���V�Q㖧��p6K:�d�)��Kn07T@��U�.� �Ÿ �v��ICzt��]p�-)k�DN�(��t]6Mn0�,���� ��(#��Wm��-��o�-�g�v޿��Ѱ��f0��?L'��Z��D��A�K��@�϶*���$����)���M^!�O���+v�i���Q,7_�������Z~����]�սm\\\\�(K? L�H�.:EÐ8��rZ/PdQ���>��!\\"k��~E쳟}�V�_�*bT�G;-��%����b�X��o�������������\\"��p�(=@&�_���2�w�%��^*��$�A�P�PS��� =1D:��!䉩��If�%�ޱ��n���0�5W(v��b�RD �$���\\"x�j�2D�ϧ��xr7�k> ��!��V.p�]�.��G��ӱ��D�\\\\��8\\"�y R����PK �����A�\\\\v�B|����:���org/gradle/cli/ProjectPropertiesCommandLineConverter.class��KO�@��D|?P��u�#Q�+�$�C;�1m� �JW&.��(��1�D�,��9��v�o�/����[@yl汕G)��v� }FHWkw�LS����!�]�nY�7�ZK:Ì¿cJD�����ZRy����s���V�;�H�+-��)���n�kS�#cruLX��gh|��B���j���F��Y���D��Î�%�L��%���ñŽ…Ž*�_���?�ֈ:(\\"�<�ڄbJÕ� ��؊t�f�^*K��� ߵ� XU��V����i01�k ���p8��wZ��8T0g�?P�a�Λ�m����=���C S�s����| �1\\\\���Z�q-}C�_�J��Eˉ�j��E+ ��w'��PK �����A� �8=|�����9���org/gradle/cli/SystemPropertiesCommandLineConverter.class���J�@��ثm���j�E�5BPą�R/P�~�ӑ$&�B�JW���'i�A�Y�3���͜�����l� �\\"l�Y��l�E �<&� d���@���H��g�L��{:r�R�s�:C*X4NĬ����Q�۴;hZ3a ѽ�G!]��G�v�7S\\"�5eb o}ɸG�����tFM�z�9��y���~X{()spL\`7e.�KV, �TXxɢ����fDT��E�G��P�W��Jm�h~���49A�jx��Ѱ ��s�h�� gԙ�n8��5��]�.F�Ԓ�s�9��Q��΢��*�s�/@�Ug J*�c�e+s��+1� ��$p�����6���/t-�,�;�h-�.�Z �>k�Z�PK �����A������������ �����������A����META-INF/PK �����A�m�>=@���?����������������)���META-INF/MANIFEST.MFPK �����A�����������������������A����org/PK �����A�����������������������A����org/gradle/PK �����A�����������������������A����org/gradle/wrapper/PK �����A��%Ӧ�����/���������������org/gradle/wrapper/BootstrapMainStarter$1.classPK �����A�i,���$ ��-�������������#��org/gradle/wrapper/BootstrapMainStarter.classPK �����A�hQ�}��������#����������������org/gradle/wrapper/Download$1.classPK �����A�y�[�4�����A�������������p ��org/gradle/wrapper/Download$DefaultDownloadProgressListener.classPK �����A����ۡ��~��4���������������org/gradle/wrapper/Download$ProxyAuthenticator.classPK �����A��pO�)���&��!����������������org/gradle/wrapper/Download.classPK �����A�y�L���������1�������������^$��org/gradle/wrapper/DownloadProgressListener.classPK �����A�!9|������3�������������N%��org/gradle/wrapper/ExclusiveFileAccessManager.classPK �����A���,y�����-�������������U,��org/gradle/wrapper/GradleUserHomeLookup.classPK �����A�Pr��� ��-��*�������������/��org/gradle/wrapper/GradleWrapperMain.classPK �����A�����������\\"�������������9��org/gradle/wrapper/IDownload.classPK �����A�9l�V�����\\"��������������9��org/gradle/wrapper/Install$1.classPK �����A��gh�|����-��������������B��org/gradle/wrapper/Install$InstallCheck.classPK �����A�^�,���C-�� �������������SE��org/gradle/wrapper/Install.classPK �����A��:�o��4���������������2Z��org/gradle/wrapper/Logger.classPK �����A��\`�������8��������������\\\\��org/gradle/wrapper/PathAssembler$LocalDistribution.classPK �����A���;��+��&��������������^��org/gradle/wrapper/PathAssembler.classPK �����A�������| ��0������������� f��org/gradle/wrapper/SystemPropertiesHandler.classPK �����A��=����?��-�������������k��org/gradle/wrapper/WrapperConfiguration.classPK �����A�G�� ����(�������������n��org/gradle/wrapper/WrapperExecutor.classPK �����A��e�������#�������������pw��gradle-wrapper-classpath.propertiesPK �����A������������)��������������w��gradle-wrapper-parameter-names.propertiesPK �����A�����������������������Ax��org/gradle/cli/PK �����A���?�<��S��1�������������Hx��org/gradle/cli/AbstractCommandLineConverter.classPK �����A�׃��X��� ��;��������������z��org/gradle/cli/AbstractPropertiesCommandLineConverter.classPK �����A�}��yG��K��1����������������org/gradle/cli/CommandLineArgumentException.classPK �����A�������g��)����������������org/gradle/cli/CommandLineConverter.classPK �����A�Sf ���g��&�������������z���org/gradle/cli/CommandLineOption.classPK �����A��튯��������(�����������������org/gradle/cli/CommandLineParser$1.classPK �����A�$f{K��� ��;�����������������org/gradle/cli/CommandLineParser$AfterFirstSubCommand.classPK �����A��D����&��3�������������O���org/gradle/cli/CommandLineParser$AfterOptions.classPK �����A���M���u��<�������������B���org/gradle/cli/CommandLineParser$BeforeFirstSubCommand.classPK �����A��*�ZM�����F�����������������org/gradle/cli/CommandLineParser$CaseInsensitiveStringComparator.classPK �����A�|�R����&��=�������������I���org/gradle/cli/CommandLineParser$KnownOptionParserState.classPK �����A�$ľ�������<�������������t���org/gradle/cli/CommandLineParser$MissingOptionArgState.classPK �����A�TK>������=�������������s���org/gradle/cli/CommandLineParser$OptionAwareParserState.classPK �����A��%�̻�����7�������������x���org/gradle/cli/CommandLineParser$OptionComparator.classPK �����A��fC�������8�����������������org/gradle/cli/CommandLineParser$OptionParserState.classPK �����A����E������3�����������������org/gradle/cli/CommandLineParser$OptionString.classPK �����A�gAq����x��=�����������������org/gradle/cli/CommandLineParser$OptionStringComparator.classPK �����A�\`M~U�����2�������������p���org/gradle/cli/CommandLineParser$ParserState.classPK �����A�p�X ���k��?�������������ı��org/gradle/cli/CommandLineParser$UnknownOptionParserState.classPK �����A��=��l)��&�����������������org/gradle/cli/CommandLineParser.classPK �����A���>������&�������������X���org/gradle/cli/ParsedCommandLine.classPK �����A�y�t���E��,�������������e���org/gradle/cli/ParsedCommandLineOption.classPK �����A�\\\\v�B|����:�����������������org/gradle/cli/ProjectPropertiesCommandLineConverter.classPK �����A� �8=|�����9�������������]���org/gradle/cli/SystemPropertiesCommandLineConverter.classPK����4�4�J��0�����", "generated/java/gradle/wrapper/gradle-wrapper.properties": "distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists distributionUrl=https\\\\://services.gradle.org/distributions/gradle-7.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists ", "generated/java/gradlew": "#!/bin/sh # # Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the \\"License\\"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an \\"AS IS\\" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ############################################################################## # # Gradle start up script for POSIX generated by Gradle. # # Important for running: # # (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is # noncompliant, but you have some other compliant shell such as ksh or # bash, then to run this script, type that shell name before the whole # command line, like: # # ksh Gradle # # Busybox and similar reduced shells will NOT work, because this script # requires all of these POSIX shell features: # * functions; # * expansions «$var», «\${var}», «\${var:-default}», «\${var+SET}», # «\${var#prefix}», «\${var%suffix}», and «$( cmd )»; # * compound commands having a testable exit status, especially «case»; # * various built-in commands including «command», «set», and «ulimit». # # Important for patching: # # (2) This script targets any POSIX shell, so it avoids extensions provided # by Bash, Ksh, etc; in particular arrays are avoided. # # The \\"traditional\\" practice of packing multiple parameters into a # space-separated string is a well documented source of bugs and security # problems, so this is (mostly) avoided, by progressively accumulating # options in \\"$@\\", and eventually passing that to Java. # # Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, # and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; # see the in-line comments for details. # # There are tweaks for specific operating systems such as AIX, CygWin, # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template # https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. # ############################################################################## # Attempt to set APP_HOME # Resolve links: $0 may be a link app_path=$0 # Need this for daisy-chained symlinks. while APP_HOME=\${app_path%\\"\${app_path##*/}\\"} # leaves a trailing /; empty if no leading path [ -h \\"$app_path\\" ] do ls=$( ls -ld \\"$app_path\\" ) link=\${ls#*' -> '} case $link in #( /*) app_path=$link ;; #( *) app_path=$APP_HOME$link ;; esac done APP_HOME=$( cd \\"\${APP_HOME:-./}\\" && pwd -P ) || exit APP_NAME=\\"Gradle\\" APP_BASE_NAME=\${0##*/} # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='-Dfile.encoding=UTF-8 \\"-Xmx64m\\" \\"-Xms64m\\"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum warn () { echo \\"$*\\" } >&2 die () { echo echo \\"$*\\" echo exit 1 } >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false case \\"$( uname )\\" in #( CYGWIN* ) cygwin=true ;; #( Darwin* ) darwin=true ;; #( MSYS* | MINGW* ) msys=true ;; #( NONSTOP* ) nonstop=true ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. if [ -n \\"$JAVA_HOME\\" ] ; then if [ -x \\"$JAVA_HOME/jre/sh/java\\" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD=$JAVA_HOME/jre/sh/java else JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x \\"$JAVACMD\\" ] ; then die \\"ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME Please set the JAVA_HOME variable in your environment to match the location of your Java installation.\\" fi else JAVACMD=java which java >/dev/null 2>&1 || die \\"ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation.\\" fi # Increase the maximum file descriptors if we can. if ! \\"$cygwin\\" && ! \\"$darwin\\" && ! \\"$nonstop\\" ; then case $MAX_FD in #( max*) MAX_FD=$( ulimit -H -n ) || warn \\"Could not query maximum file descriptor limit\\" esac case $MAX_FD in #( '' | soft) :;; #( *) ulimit -n \\"$MAX_FD\\" || warn \\"Could not set maximum file descriptor limit to $MAX_FD\\" esac fi # Collect all arguments for the java command, stacking in reverse order: # * args from the command line # * the main class name # * -classpath # * -D...appname settings # * --module-path (only if needed) # * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. # For Cygwin or MSYS, switch paths to Windows format before running java if \\"$cygwin\\" || \\"$msys\\" ; then APP_HOME=$( cygpath --path --mixed \\"$APP_HOME\\" ) CLASSPATH=$( cygpath --path --mixed \\"$CLASSPATH\\" ) JAVACMD=$( cygpath --unix \\"$JAVACMD\\" ) # Now convert the arguments - kludge to limit ourselves to /bin/sh for arg do if case $arg in #( -*) false ;; # don't mess with options #( /?*) t=\${arg#/} t=/\${t%%/*} # looks like a POSIX filepath [ -e \\"$t\\" ] ;; #( *) false ;; esac then arg=$( cygpath --path --ignore --mixed \\"$arg\\" ) fi # Roll the args list around exactly as many times as the number of # args, so each arg winds up back in the position where it started, but # possibly modified. # # NB: a \`for\` loop captures its iteration list before it begins, so # changing the positional parameters here affects neither the number of # iterations, nor the values presented in \`arg\`. shift # remove old arg set -- \\"$@\\" \\"$arg\\" # push replacement arg done fi # Collect all arguments for the java command; # * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of # shell script including quotes and variable substitutions, so put them in # double quotes to make sure that they get re-expanded; and # * put everything else in single quotes, so that it's not re-expanded. set -- \\\\ \\"-Dorg.gradle.appname=$APP_BASE_NAME\\" \\\\ -classpath \\"$CLASSPATH\\" \\\\ org.gradle.wrapper.GradleWrapperMain \\\\ \\"$@\\" # Use \\"xargs\\" to parse quoted args. # # With -n1 it outputs one arg per line, with the quotes and backslashes removed. # # In Bash we could simply go: # # readarray ARGS < <( xargs -n1 <<<\\"$var\\" ) && # set -- \\"\${ARGS[@]}\\" \\"$@\\" # # but POSIX shell has neither arrays nor command substitution, so instead we # post-process each arg (as a line of input to sed) to backslash-escape any # character that might be a shell metacharacter, then use eval to reverse # that process (while maintaining the separation between arguments), and wrap # the whole thing up as a single \\"set\\" statement. # # This will of course break if any of these variables contains a newline or # an unmatched quote. # eval \\"set -- $( printf '%s\\\\n' \\"$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS\\" | xargs -n1 | sed ' s~[^-[:alnum:]+,./:=@_]~\\\\\\\\&~g; ' | tr '\\\\n' ' ' )\\" '\\"$@\\"' exec \\"$JAVACMD\\" \\"$@\\" ", "generated/java/gradlew.bat": "@rem @rem Copyright 2015 the original author or authors. @rem @rem Licensed under the Apache License, Version 2.0 (the \\"License\\"); @rem you may not use this file except in compliance with the License. @rem You may obtain a copy of the License at @rem @rem https://www.apache.org/licenses/LICENSE-2.0 @rem @rem Unless required by applicable law or agreed to in writing, software @rem distributed under the License is distributed on an \\"AS IS\\" BASIS, @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem @if \\"%DEBUG%\\" == \\"\\" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @rem @rem ########################################################################## @rem Set local scope for the variables with windows NT shell if \\"%OS%\\"==\\"Windows_NT\\" setlocal set DIRNAME=%~dp0 if \\"%DIRNAME%\\" == \\"\\" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Resolve any \\".\\" and \\"..\\" in APP_HOME to make it shorter. for %%i in (\\"%APP_HOME%\\") do set APP_HOME=%%~fi @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. set DEFAULT_JVM_OPTS=-Dfile.encoding=UTF-8 \\"-Xmx64m\\" \\"-Xms64m\\" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if \\"%ERRORLEVEL%\\" == \\"0\\" goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. echo. echo Please set the JAVA_HOME variable in your environment to match the echo location of your Java installation. goto fail :findJavaFromJavaHome set JAVA_HOME=%JAVA_HOME:\\"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist \\"%JAVA_EXE%\\" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% echo. echo Please set the JAVA_HOME variable in your environment to match the echo location of your Java installation. goto fail :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\\\\gradle\\\\wrapper\\\\gradle-wrapper.jar @rem Execute Gradle \\"%JAVA_EXE%\\" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% \\"-Dorg.gradle.appname=%APP_BASE_NAME%\\" -classpath \\"%CLASSPATH%\\" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell if \\"%ERRORLEVEL%\\"==\\"0\\" goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! if not \\"\\" == \\"%GRADLE_EXIT_CONSOLE%\\" exit 1 exit /b 1 :mainEnd if \\"%OS%\\"==\\"Windows_NT\\" endlocal :omega ", "generated/java/package.json": Object { "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".", "__pdk__": true, "name": "testjava", "scripts": Object { "build": "npx projen build", "compile": "npx projen compile", "default": "npx projen default", "package": "npx projen package", "post-compile": "npx projen post-compile", "pre-compile": "npx projen pre-compile", "test": "npx projen test", }, "version": "0.0.0", }, "generated/java/pom.xml": "<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?> <project xsi:schemaLocation=\\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\\" xmlns=\\"http://maven.apache.org/POM/4.0.0\\" xmlns:xsi=\\"http://www.w3.org/2001/XMLSchema-instance\\"> <modelVersion>4.0.0</modelVersion> <groupId>com.generated.api</groupId> <artifactId>test-java</artifactId> <version>0.0.0</version> <packaging>jar</packaging> <name>testjava</name> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>3.0.0-M3</version> <configuration> <rules> <requireMavenVersion> <version>3.6</version> </requireMavenVersion> </rules> </configuration> <executions> <execution> <id>enforce-maven</id> <goals> <goal>enforce</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <archive> <index>true</index> <manifest> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.2.0</version> <configuration> <failOnError>false</failOnError> <show>protected</show> <detectJavaApiLink>false</detectJavaApiLink> <additionalJOptions> <additionalJOption>-J-XX:+TieredCompilation</additionalJOption> <additionalJOption>-J-XX:TieredStopAtLevel=1</additionalJOption> </additionalJOptions> </configuration> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>3.2.1</version> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-lambda-java-core</artifactId> <version>1.2.1</version> </dependency> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-lambda-java-events</artifactId> <version>3.11.0</version> </dependency> <dependency> <groupId>com.google.code.findbugs</groupId> <artifactId>jsr305</artifactId> <version>3.0.2</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.9.1</version> </dependency> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>logging-interceptor</artifactId> <version>4.10.0</version> </dependency> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>4.10.0</version> </dependency> <dependency> <groupId>io.gsonfire</groupId> <artifactId>gson-fire</artifactId> <version>1.8.5</version> </dependency> <dependency> <groupId>io.swagger</groupId> <artifactId>swagger-annotations</artifactId> <version>1.6.8</version> </dependency> <dependency> <groupId>jakarta.annotation</groupId> <artifactId>jakarta.annotation-api</artifactId> <version>1.3.5</version> </dependency> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>javax.ws.rs-api</artifactId> <version>2.1.1</version> </dependency> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>jsr311-api</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.12.0</version> </dependency> <dependency> <groupId>org.openapitools</groupId> <artifactId>jackson-databind-nullable</artifactId> <version>0.2.4</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.24</version> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>5.9.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>3.12.4</version> <scope>test</scope> </dependency> </dependencies> </project> <!-- ~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\". -->", "generated/java/settings.gradle": "rootProject.name = \\"test-java\\"", "generated/java/src/main/AndroidManifest.xml": "<manifest package=\\"com.generated.api.testjava.client\\" xmlns:android=\\"http://schemas.android.com/apk/res/android\\"> <application /> </manifest> ", "generated/java/src/main/java/com/generated/api/testjava/client/ApiCallback.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client; import java.io.IOException; import java.util.Map; import java.util.List; /** * Callback for asynchronous API call. * * @param <T> The return type */ public interface ApiCallback<T> { /** * This is called when the API call fails. * * @param e The exception causing the failure * @param statusCode Status code of the response if available, otherwise it would be 0 * @param responseHeaders Headers of the response if available, otherwise it would be null */ void onFailure(ApiException e, int statusCode, Map<String, List<String>> responseHeaders); /** * This is called when the API call succeeded. * * @param result The result deserialized from response * @param statusCode Status code of the response * @param responseHeaders Headers of the response */ void onSuccess(T result, int statusCode, Map<String, List<String>> responseHeaders); /** * This is called when the API upload processing. * * @param bytesWritten bytes Written * @param contentLength content length of request body * @param done write end */ void onUploadProgress(long bytesWritten, long contentLength, boolean done); /** * This is called when the API download processing. * * @param bytesRead bytes Read * @param contentLength content length of the response * @param done Read end */ void onDownloadProgress(long bytesRead, long contentLength, boolean done); } ", "generated/java/src/main/java/com/generated/api/testjava/client/ApiClient.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client; import okhttp3.*; import okhttp3.internal.http.HttpMethod; import okhttp3.internal.tls.OkHostnameVerifier; import okhttp3.logging.HttpLoggingInterceptor; import okhttp3.logging.HttpLoggingInterceptor.Level; import okio.Buffer; import okio.BufferedSink; import okio.Okio; import javax.net.ssl.*; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.lang.reflect.Type; import java.net.URI; import java.net.URLConnection; import java.net.URLEncoder; import java.nio.file.Files; import java.nio.file.Paths; import java.security.GeneralSecurityException; import java.security.KeyStore; import java.security.SecureRandom; import java.security.cert.Certificate; import java.security.cert.CertificateException; import java.security.cert.CertificateFactory; import java.security.cert.X509Certificate; import java.text.DateFormat; import java.time.LocalDate; import java.time.OffsetDateTime; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.Map.Entry; import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; import com.generated.api.testjava.client.auth.Authentication; import com.generated.api.testjava.client.auth.HttpBasicAuth; import com.generated.api.testjava.client.auth.HttpBearerAuth; import com.generated.api.testjava.client.auth.ApiKeyAuth; /** * <p>ApiClient class.</p> */ public class ApiClient { private String basePath = \\"http://localhost\\"; protected List<ServerConfiguration> servers = new ArrayList<ServerConfiguration>(Arrays.asList( new ServerConfiguration( \\"\\", \\"No description provided\\", new HashMap<String, ServerVariable>() ) )); protected Integer serverIndex = 0; protected Map<String, String> serverVariables = null; private boolean debugging = false; private Map<String, String> defaultHeaderMap = new HashMap<String, String>(); private Map<String, String> defaultCookieMap = new HashMap<String, String>(); private String tempFolderPath = null; private Map<String, Authentication> authentications; private DateFormat dateFormat; private DateFormat datetimeFormat; private boolean lenientDatetimeFormat; private int dateLength; private InputStream sslCaCert; private boolean verifyingSsl; private KeyManager[] keyManagers; private OkHttpClient httpClient; private JSON json; private HttpLoggingInterceptor loggingInterceptor; /** * Basic constructor for ApiClient */ public ApiClient() { init(); initHttpClient(); // Setup authentications (key: authentication name, value: authentication). // Prevent the authentications from being modified. authentications = Collections.unmodifiableMap(authentications); } /** * Basic constructor with custom OkHttpClient * * @param client a {@link okhttp3.OkHttpClient} object */ public ApiClient(OkHttpClient client) { init(); httpClient = client; // Setup authentications (key: authentication name, value: authentication). // Prevent the authentications from being modified. authentications = Collections.unmodifiableMap(authentications); } private void initHttpClient() { initHttpClient(Collections.<Interceptor>emptyList()); } private void initHttpClient(List<Interceptor> interceptors) { OkHttpClient.Builder builder = new OkHttpClient.Builder(); builder.addNetworkInterceptor(getProgressInterceptor()); for (Interceptor interceptor: interceptors) { builder.addInterceptor(interceptor); } httpClient = builder.build(); } private void init() { verifyingSsl = true; json = new JSON(); // Set default User-Agent. setUserAgent(\\"OpenAPI-Generator/0.0.0/java\\"); authentications = new HashMap<String, Authentication>(); } /** * Get base path * * @return Base path */ public String getBasePath() { return basePath; } /** * Set base path * * @param basePath Base path of the URL (e.g http://localhost * @return An instance of OkHttpClient */ public ApiClient setBasePath(String basePath) { this.basePath = basePath; return this; } public List<ServerConfiguration> getServers() { return servers; } public ApiClient setServers(List<ServerConfiguration> servers) { this.servers = servers; return this; } public Integer getServerIndex() { return serverIndex; } public ApiClient setServerIndex(Integer serverIndex) { this.serverIndex = serverIndex; return this; } public Map<String, String> getServerVariables() { return serverVariables; } public ApiClient setServerVariables(Map<String, String> serverVariables) { this.serverVariables = serverVariables; return this; } /** * Get HTTP client * * @return An instance of OkHttpClient */ public OkHttpClient getHttpClient() { return httpClient; } /** * Set HTTP client, which must never be null. * * @param newHttpClient An instance of OkHttpClient * @return Api Client * @throws java.lang.NullPointerException when newHttpClient is null */ public ApiClient setHttpClient(OkHttpClient newHttpClient) { this.httpClient = Objects.requireNonNull(newHttpClient, \\"HttpClient must not be null!\\"); return this; } /** * Get JSON * * @return JSON object */ public JSON getJSON() { return json; } /** * Set JSON * * @param json JSON object * @return Api client */ public ApiClient setJSON(JSON json) { this.json = json; return this; } /** * True if isVerifyingSsl flag is on * * @return True if isVerifySsl flag is on */ public boolean isVerifyingSsl() { return verifyingSsl; } /** * Configure whether to verify certificate and hostname when making https requests. * Default to true. * NOTE: Do NOT set to false in production code, otherwise you would face multiple types of cryptographic attacks. * * @param verifyingSsl True to verify TLS/SSL connection * @return ApiClient */ public ApiClient setVerifyingSsl(boolean verifyingSsl) { this.verifyingSsl = verifyingSsl; applySslSettings(); return this; } /** * Get SSL CA cert. * * @return Input stream to the SSL CA cert */ public InputStream getSslCaCert() { return sslCaCert; } /** * Configure the CA certificate to be trusted when making https requests. * Use null to reset to default. * * @param sslCaCert input stream for SSL CA cert * @return ApiClient */ public ApiClient setSslCaCert(InputStream sslCaCert) { this.sslCaCert = sslCaCert; applySslSettings(); return this; } /** * <p>Getter for the field <code>keyManagers</code>.</p> * * @return an array of {@link javax.net.ssl.KeyManager} objects */ public KeyManager[] getKeyManagers() { return keyManagers; } /** * Configure client keys to use for authorization in an SSL session. * Use null to reset to default. * * @param managers The KeyManagers to use * @return ApiClient */ public ApiClient setKeyManagers(KeyManager[] managers) { this.keyManagers = managers; applySslSettings(); return this; } /** * <p>Getter for the field <code>dateFormat</code>.</p> * * @return a {@link java.text.DateFormat} object */ public DateFormat getDateFormat() { return dateFormat; } /** * <p>Setter for the field <code>dateFormat</code>.</p> * * @param dateFormat a {@link java.text.DateFormat} object * @return a {@link com.generated.api.testjava.client.ApiClient} object */ public ApiClient setDateFormat(DateFormat dateFormat) { JSON.setDateFormat(dateFormat); return this; } /** * <p>Set SqlDateFormat.</p> * * @param dateFormat a {@link java.text.DateFormat} object * @return a {@link com.generated.api.testjava.client.ApiClient} object */ public ApiClient setSqlDateFormat(DateFormat dateFormat) { JSON.setSqlDateFormat(dateFormat); return this; } /** * <p>Set OffsetDateTimeFormat.</p> * * @param dateFormat a {@link java.time.format.DateTimeFormatter} object * @return a {@link com.generated.api.testjava.client.ApiClient} object */ public ApiClient setOffsetDateTimeFormat(DateTimeFormatter dateFormat) { JSON.setOffsetDateTimeFormat(dateFormat); return this; } /** * <p>Set LocalDateFormat.</p> * * @param dateFormat a {@link java.time.format.DateTimeFormatter} object * @return a {@link com.generated.api.testjava.client.ApiClient} object */ public ApiClient setLocalDateFormat(DateTimeFormatter dateFormat) { JSON.setLocalDateFormat(dateFormat); return this; } /** * <p>Set LenientOnJson.</p> * * @param lenientOnJson a boolean * @return a {@link com.generated.api.testjava.client.ApiClient} object */ public ApiClient setLenientOnJson(boolean lenientOnJson) { JSON.setLenientOnJson(lenientOnJson); return this; } /** * Get authentications (key: authentication name, value: authentication). * * @return Map of authentication objects */ public Map<String, Authentication> getAuthentications() { return authentications; } /** * Get authentication for the given name. * * @param authName The authentication name * @return The authentication, null if not found */ public Authentication getAuthentication(String authName) { return authentications.get(authName); } /** * Helper method to set username for the first HTTP basic authentication. * * @param username Username */ public void setUsername(String username) { for (Authentication auth : authentications.values()) { if (auth instanceof HttpBasicAuth) { ((HttpBasicAuth) auth).setUsername(username); return; } } throw new RuntimeException(\\"No HTTP basic authentication configured!\\"); } /** * Helper method to set password for the first HTTP basic authentication. * * @param password Password */ public void setPassword(String password) { for (Authentication auth : authentications.values()) { if (auth instanceof HttpBasicAuth) { ((HttpBasicAuth) auth).setPassword(password); return; } } throw new RuntimeException(\\"No HTTP basic authentication configured!\\"); } /** * Helper method to set API key value for the first API key authentication. * * @param apiKey API key */ public void setApiKey(String apiKey) { for (Authentication auth : authentications.values()) { if (auth instanceof ApiKeyAuth) { ((ApiKeyAuth) auth).setApiKey(apiKey); return; } } throw new RuntimeException(\\"No API key authentication configured!\\"); } /** * Helper method to set API key prefix for the first API key authentication. * * @param apiKeyPrefix API key prefix */ public void setApiKeyPrefix(String apiKeyPrefix) { for (Authentication auth : authentications.values()) { if (auth instanceof ApiKeyAuth) { ((ApiKeyAuth) auth).setApiKeyPrefix(apiKeyPrefix); return; } } throw new RuntimeException(\\"No API key authentication configured!\\"); } /** * Helper method to set access token for the first OAuth2 authentication. * * @param accessToken Access token */ public void setAccessToken(String accessToken) { throw new RuntimeException(\\"No OAuth2 authentication configured!\\"); } /** * Helper method to set credentials for AWSV4 Signature * * @param accessKey Access Key * @param secretKey Secret Key * @param region Region * @param service Service to access to */ public void setAWS4Configuration(String accessKey, String secretKey, String region, String service) { throw new RuntimeException(\\"No AWS4 authentication configured!\\"); } /** * Set the User-Agent header's value (by adding to the default header map). * * @param userAgent HTTP request's user agent * @return ApiClient */ public ApiClient setUserAgent(String userAgent) { addDefaultHeader(\\"User-Agent\\", userAgent); return this; } /** * Add a default header. * * @param key The header's key * @param value The header's value * @return ApiClient */ public ApiClient addDefaultHeader(String key, String value) { defaultHeaderMap.put(key, value); return this; } /** * Add a default cookie. * * @param key The cookie's key * @param value The cookie's value * @return ApiClient */ public ApiClient addDefaultCookie(String key, String value) { defaultCookieMap.put(key, value); return this; } /** * Check that whether debugging is enabled for this API client. * * @return True if debugging is enabled, false otherwise. */ public boolean isDebugging() { return debugging; } /** * Enable/disable debugging for this API client. * * @param debugging To enable (true) or disable (false) debugging * @return ApiClient */ public ApiClient setDebugging(boolean debugging) { if (debugging != this.debugging) { if (debugging) { loggingInterceptor = new HttpLoggingInterceptor(); loggingInterceptor.setLevel(Level.BODY); httpClient = httpClient.newBuilder().addInterceptor(loggingInterceptor).build(); } else { final OkHttpClient.Builder builder = httpClient.newBuilder(); builder.interceptors().remove(loggingInterceptor); httpClient = builder.build(); loggingInterceptor = null; } } this.debugging = debugging; return this; } /** * The path of temporary folder used to store downloaded files from endpoints * with file response. The default value is <code>null</code>, i.e. using * the system's default temporary folder. * * @see <a href=\\"https://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#createTempFile(java.lang.String,%20java.lang.String,%20java.nio.file.attribute.FileAttribute...)\\">createTempFile</a> * @return Temporary folder path */ public String getTempFolderPath() { return tempFolderPath; } /** * Set the temporary folder path (for downloading files) * * @param tempFolderPath Temporary folder path * @return ApiClient */ public ApiClient setTempFolderPath(String tempFolderPath) { this.tempFolderPath = tempFolderPath; return this; } /** * Get connection timeout (in milliseconds). * * @return Timeout in milliseconds */ public int getConnectTimeout() { return httpClient.connectTimeoutMillis(); } /** * Sets the connect timeout (in milliseconds). * A value of 0 means no timeout, otherwise values must be between 1 and * {@link java.lang.Integer#MAX_VALUE}. * * @param connectionTimeout connection timeout in milliseconds * @return Api client */ public ApiClient setConnectTimeout(int connectionTimeout) { httpClient = httpClient.newBuilder().connectTimeout(connectionTimeout, TimeUnit.MILLISECONDS).build(); return this; } /** * Get read timeout (in milliseconds). * * @return Timeout in milliseconds */ public int getReadTimeout() { return httpClient.readTimeoutMillis(); } /** * Sets the read timeout (in milliseconds). * A value of 0 means no timeout, otherwise values must be between 1 and * {@link java.lang.Integer#MAX_VALUE}. * * @param readTimeout read timeout in milliseconds * @return Api client */ public ApiClient setReadTimeout(int readTimeout) { httpClient = httpClient.newBuilder().readTimeout(readTimeout, TimeUnit.MILLISECONDS).build(); return this; } /** * Get write timeout (in milliseconds). * * @return Timeout in milliseconds */ public int getWriteTimeout() { return httpClient.writeTimeoutMillis(); } /** * Sets the write timeout (in milliseconds). * A value of 0 means no timeout, otherwise values must be between 1 and * {@link java.lang.Integer#MAX_VALUE}. * * @param writeTimeout connection timeout in milliseconds * @return Api client */ public ApiClient setWriteTimeout(int writeTimeout) { httpClient = httpClient.newBuilder().writeTimeout(writeTimeout, TimeUnit.MILLISECONDS).build(); return this; } /** * Format the given parameter object into string. * * @param param Parameter * @return String representation of the parameter */ public String parameterToString(Object param) { if (param == null) { return \\"\\"; } else if (param instanceof Date || param instanceof OffsetDateTime || param instanceof LocalDate) { //Serialize to json string and remove the \\" enclosing characters String jsonStr = JSON.serialize(param); return jsonStr.substring(1, jsonStr.length() - 1); } else if (param instanceof Collection) { StringBuilder b = new StringBuilder(); for (Object o : (Collection) param) { if (b.length() > 0) { b.append(\\",\\"); } b.append(o); } return b.toString(); } else { return String.valueOf(param); } } /** * Formats the specified query parameter to a list containing a single {@code Pair} object. * * Note that {@code value} must not be a collection. * * @param name The name of the parameter. * @param value The value of the parameter. * @return A list containing a single {@code Pair} object. */ public List<Pair> parameterToPair(String name, Object value) { List<Pair> params = new ArrayList<Pair>(); // preconditions if (name == null || name.isEmpty() || value == null || value instanceof Collection) { return params; } params.add(new Pair(name, parameterToString(value))); return params; } /** * Formats the specified collection query parameters to a list of {@code Pair} objects. * * Note that the values of each of the returned Pair objects are percent-encoded. * * @param collectionFormat The collection format of the parameter. * @param name The name of the parameter. * @param value The value of the parameter. * @return A list of {@code Pair} objects. */ public List<Pair> parameterToPairs(String collectionFormat, String name, Collection value) { List<Pair> params = new ArrayList<Pair>(); // preconditions if (name == null || name.isEmpty() || value == null || value.isEmpty()) { return params; } // create the params based on the collection format if (\\"multi\\".equals(collectionFormat)) { for (Object item : value) { params.add(new Pair(name, escapeString(parameterToString(item)))); } return params; } // collectionFormat is assumed to be \\"csv\\" by default String delimiter = \\",\\"; // escape all delimiters except commas, which are URI reserved // characters if (\\"ssv\\".equals(collectionFormat)) { delimiter = escapeString(\\" \\"); } else if (\\"tsv\\".equals(collectionFormat)) { delimiter = escapeString(\\"\\\\t\\"); } else if (\\"pipes\\".equals(collectionFormat)) { delimiter = escapeString(\\"|\\"); } StringBuilder sb = new StringBuilder(); for (Object item : value) { sb.append(delimiter); sb.append(escapeString(parameterToString(item))); } params.add(new Pair(name, sb.substring(delimiter.length()))); return params; } /** * Formats the specified collection path parameter to a string value. * * @param collectionFormat The collection format of the parameter. * @param value The value of the parameter. * @return String representation of the parameter */ public String collectionPathParameterToString(String collectionFormat, Collection value) { // create the value based on the collection format if (\\"multi\\".equals(collectionFormat)) { // not valid for path params return parameterToString(value); } // collectionFormat is assumed to be \\"csv\\" by default String delimiter = \\",\\"; if (\\"ssv\\".equals(collectionFormat)) { delimiter = \\" \\"; } else if (\\"tsv\\".equals(collectionFormat)) { delimiter = \\"\\\\t\\"; } else if (\\"pipes\\".equals(collectionFormat)) { delimiter = \\"|\\"; } StringBuilder sb = new StringBuilder() ; for (Object item : value) { sb.append(delimiter); sb.append(parameterToString(item)); } return sb.substring(delimiter.length()); } /** * Sanitize filename by removing path. * e.g. ../../sun.gif becomes sun.gif * * @param filename The filename to be sanitized * @return The sanitized filename */ public String sanitizeFilename(String filename) { return filename.replaceAll(\\".*[/\\\\\\\\\\\\\\\\]\\", \\"\\"); } /** * Check if the given MIME is a JSON MIME. * JSON MIME examples: * application/json * application/json; charset=UTF8 * APPLICATION/JSON * application/vnd.company+json * \\"* / *\\" is also default to JSON * @param mime MIME (Multipurpose Internet Mail Extensions) * @return True if the given MIME is JSON, false otherwise. */ public boolean isJsonMime(String mime) { String jsonMime = \\"(?i)^(application/json|[^;/ \\\\t]+/[^;/ \\\\t]+[+]json)[ \\\\t]*(;.*)?$\\"; return mime != null && (mime.matches(jsonMime) || mime.equals(\\"*/*\\")); } /** * Select the Accept header's value from the given accepts array: * if JSON exists in the given array, use it; * otherwise use all of them (joining into a string) * * @param accepts The accepts array to select from * @return The Accept header to use. If the given array is empty, * null will be returned (not to set the Accept header explicitly). */ public String selectHeaderAccept(String[] accepts) { if (accepts.length == 0) { return null; } for (String accept : accepts) { if (isJsonMime(accept)) { return accept; } } return StringUtil.join(accepts, \\",\\"); } /** * Select the Content-Type header's value from the given array: * if JSON exists in the given array, use it; * otherwise use the first one of the array. * * @param contentTypes The Content-Type array to select from * @return The Content-Type header to use. If the given array is empty, * returns null. If it matches \\"any\\", JSON will be used. */ public String selectHeaderContentType(String[] contentTypes) { if (contentTypes.length == 0) { return null; } if (contentTypes[0].equals(\\"*/*\\")) { return \\"application/json\\"; } for (String contentType : contentTypes) { if (isJsonMime(contentType)) { return contentType; } } return contentTypes[0]; } /** * Escape the given string to be used as URL query value. * * @param str String to be escaped * @return Escaped string */ public String escapeString(String str) { try { return URLEncoder.encode(str, \\"utf8\\").replaceAll(\\"\\\\\\\\+\\", \\"%20\\"); } catch (UnsupportedEncodingException e) { return str; } } /** * Deserialize response body to Java object, according to the return type and * the Content-Type response header. * * @param <T> Type * @param response HTTP response * @param returnType The type of the Java object * @return The deserialized Java object * @throws com.generated.api.testjava.client.ApiException If fail to deserialize response body, i.e. cannot read response body * or the Content-Type of the response is not supported. */ @SuppressWarnings(\\"unchecked\\") public <T> T deserialize(Response response, Type returnType) throws ApiException { if (response == null || returnType == null) { return null; } if (\\"byte[]\\".equals(returnType.toString())) { // Handle binary response (byte array). try { return (T) response.body().bytes(); } catch (IOException e) { throw new ApiException(e); } } else if (returnType.equals(File.class)) { // Handle file downloading. return (T) downloadFileFromResponse(response); } String respBody; try { if (response.body() != null) respBody = response.body().string(); else respBody = null; } catch (IOException e) { throw new ApiException(e); } if (respBody == null || \\"\\".equals(respBody)) { return null; } String contentType = response.headers().get(\\"Content-Type\\"); if (contentType == null) { // ensuring a default content type contentType = \\"application/json\\"; } if (isJsonMime(contentType)) { return JSON.deserialize(respBody, returnType); } else if (returnType.equals(String.class)) { // Expecting string, return the raw response body. return (T) respBody; } else { throw new ApiException( \\"Content type \\\\\\"\\" + contentType + \\"\\\\\\" is not supported for type: \\" + returnType, response.code(), response.headers().toMultimap(), respBody); } } /** * Serialize the given Java object into request body according to the object's * class and the request Content-Type. * * @param obj The Java object * @param contentType The request Content-Type * @return The serialized request body * @throws com.generated.api.testjava.client.ApiException If fail to serialize the given object */ public RequestBody serialize(Object obj, String contentType) throws ApiException { if (obj instanceof byte[]) { // Binary (byte array) body parameter support. return RequestBody.create((byte[]) obj, MediaType.parse(contentType)); } else if (obj instanceof File) { // File body parameter support. return RequestBody.create((File) obj, MediaType.parse(contentType)); } else if (\\"text/plain\\".equals(contentType) && obj instanceof String) { return RequestBody.create((String) obj, MediaType.parse(contentType)); } else if (isJsonMime(contentType)) { String content; if (obj != null) { content = JSON.serialize(obj); } else { content = null; } return RequestBody.create(content, MediaType.parse(contentType)); } else if (obj instanceof String) { return RequestBody.create((String) obj, MediaType.parse(contentType)); } else { throw new ApiException(\\"Content type \\\\\\"\\" + contentType + \\"\\\\\\" is not supported\\"); } } /** * Download file from the given response. * * @param response An instance of the Response object * @throws com.generated.api.testjava.client.ApiException If fail to read file content from response and write to disk * @return Downloaded file */ public File downloadFileFromResponse(Response response) throws ApiException { try { File file = prepareDownloadFile(response); BufferedSink sink = Okio.buffer(Okio.sink(file)); sink.writeAll(response.body().source()); sink.close(); return file; } catch (IOException e) { throw new ApiException(e); } } /** * Prepare file for download * * @param response An instance of the Response object * @return Prepared file for the download * @throws java.io.IOException If fail to prepare file for download */ public File prepareDownloadFile(Response response) throws IOException { String filename = null; String contentDisposition = response.header(\\"Content-Disposition\\"); if (contentDisposition != null && !\\"\\".equals(contentDisposition)) { // Get filename from the Content-Disposition header. Pattern pattern = Pattern.compile(\\"filename=['\\\\\\"]?([^'\\\\\\"\\\\\\\\s]+)['\\\\\\"]?\\"); Matcher matcher = pattern.matcher(contentDisposition); if (matcher.find()) { filename = sanitizeFilename(matcher.group(1)); } } String prefix = null; String suffix = null; if (filename == null) { prefix = \\"download-\\"; suffix = \\"\\"; } else { int pos = filename.lastIndexOf(\\".\\"); if (pos == -1) { prefix = filename + \\"-\\"; } else { prefix = filename.substring(0, pos) + \\"-\\"; suffix = filename.substring(pos); } // Files.createTempFile requires the prefix to be at least three characters long if (prefix.length() < 3) prefix = \\"download-\\"; } if (tempFolderPath == null) return Files.createTempFile(prefix, suffix).toFile(); else return Files.createTempFile(Paths.get(tempFolderPath), prefix, suffix).toFile(); } /** * {@link #execute(Call, Type)} * * @param <T> Type * @param call An instance of the Call object * @return ApiResponse<T> * @throws com.generated.api.testjava.client.ApiException If fail to execute the call */ public <T> ApiResponse<T> execute(Call call) throws ApiException { return execute(call, null); } /** * Execute HTTP call and deserialize the HTTP response body into the given return type. * * @param returnType The return type used to deserialize HTTP response body * @param <T> The return type corresponding to (same with) returnType * @param call Call * @return ApiResponse object containing response status, headers and * data, which is a Java object deserialized from response body and would be null * when returnType is null. * @throws com.generated.api.testjava.client.ApiException If fail to execute the call */ public <T> ApiResponse<T> execute(Call call, Type returnType) throws ApiException { try { Response response = call.execute(); T data = handleResponse(response, returnType); return new ApiResponse<T>(response.code(), response.headers().toMultimap(), data); } catch (IOException e) { throw new ApiException(e); } } /** * {@link #executeAsync(Call, Type, ApiCallback)} * * @param <T> Type * @param call An instance of the Call object * @param callback ApiCallback<T> */ public <T> void executeAsync(Call call, ApiCallback<T> callback) { executeAsync(call, null, callback); } /** * Execute HTTP call asynchronously. * * @param <T> Type * @param call The callback to be executed when the API call finishes * @param returnType Return type * @param callback ApiCallback * @see #execute(Call, Type) */ @SuppressWarnings(\\"unchecked\\") public <T> void executeAsync(Call call, final Type returnType, final ApiCallback<T> callback) { call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { callback.onFailure(new ApiException(e), 0, null); } @Override public void onResponse(Call call, Response response) throws IOException { T result; try { result = (T) handleResponse(response, returnType); } catch (ApiException e) { callback.onFailure(e, response.code(), response.headers().toMultimap()); return; } catch (Exception e) { callback.onFailure(new ApiException(e), response.code(), response.headers().toMultimap()); return; } callback.onSuccess(result, response.code(), response.headers().toMultimap()); } }); } /** * Handle the given response, return the deserialized object when the response is successful. * * @param <T> Type * @param response Response * @param returnType Return type * @return Type * @throws com.generated.api.testjava.client.ApiException If the response has an unsuccessful status code or * fail to deserialize the response body */ public <T> T handleResponse(Response response, Type returnType) throws ApiException { if (response.isSuccessful()) { if (returnType == null || response.code() == 204) { // returning null if the returnType is not defined, // or the status code is 204 (No Content) if (response.body() != null) { try { response.body().close(); } catch (Exception e) { throw new ApiException(response.message(), e, response.code(), response.headers().toMultimap()); } } return null; } else { return deserialize(response, returnType); } } else { String respBody = null; if (response.body() != null) { try { respBody = response.body().string(); } catch (IOException e) { throw new ApiException(response.message(), e, response.code(), response.headers().toMultimap()); } } throw new ApiException(response.message(), response.code(), response.headers().toMultimap(), respBody); } } /** * Build HTTP call with the given options. * * @param baseUrl The base URL * @param path The sub-path of the HTTP URL * @param method The request method, one of \\"GET\\", \\"HEAD\\", \\"OPTIONS\\", \\"POST\\", \\"PUT\\", \\"PATCH\\" and \\"DELETE\\" * @param queryParams The query parameters * @param collectionQueryParams The collection query parameters * @param body The request body object * @param headerParams The header parameters * @param cookieParams The cookie parameters * @param formParams The form parameters * @param authNames The authentications to apply * @param callback Callback for upload/download progress * @return The HTTP call * @throws com.generated.api.testjava.client.ApiException If fail to serialize the request body object */ public Call buildCall(String baseUrl, String path, String method, List<Pair> queryParams, List<Pair> collectionQueryParams, Object body, Map<String, String> headerParams, Map<String, String> cookieParams, Map<String, Object> formParams, String[] authNames, ApiCallback callback) throws ApiException { Request request = buildRequest(baseUrl, path, method, queryParams, collectionQueryParams, body, headerParams, cookieParams, formParams, authNames, callback); return httpClient.newCall(request); } /** * Build an HTTP request with the given options. * * @param baseUrl The base URL * @param path The sub-path of the HTTP URL * @param method The request method, one of \\"GET\\", \\"HEAD\\", \\"OPTIONS\\", \\"POST\\", \\"PUT\\", \\"PATCH\\" and \\"DELETE\\" * @param queryParams The query parameters * @param collectionQueryParams The collection query parameters * @param body The request body object * @param headerParams The header parameters * @param cookieParams The cookie parameters * @param formParams The form parameters * @param authNames The authentications to apply * @param callback Callback for upload/download progress * @return The HTTP request * @throws com.generated.api.testjava.client.ApiException If fail to serialize the request body object */ public Request buildRequest(String baseUrl, String path, String method, List<Pair> queryParams, List<Pair> collectionQueryParams, Object body, Map<String, String> headerParams, Map<String, String> cookieParams, Map<String, Object> formParams, String[] authNames, ApiCallback callback) throws ApiException { // aggregate queryParams (non-collection) and collectionQueryParams into allQueryParams List<Pair> allQueryParams = new ArrayList<Pair>(queryParams); allQueryParams.addAll(collectionQueryParams); final String url = buildUrl(baseUrl, path, queryParams, collectionQueryParams); // prepare HTTP request body RequestBody reqBody; String contentType = headerParams.get(\\"Content-Type\\"); if (!HttpMethod.permitsRequestBody(method)) { reqBody = null; } else if (\\"application/x-www-form-urlencoded\\".equals(contentType)) { reqBody = buildRequestBodyFormEncoding(formParams); } else if (\\"multipart/form-data\\".equals(contentType)) { reqBody = buildRequestBodyMultipart(formParams); } else if (body == null) { if (\\"DELETE\\".equals(method)) { // allow calling DELETE without sending a request body reqBody = null; } else { // use an empty request body (for POST, PUT and PATCH) reqBody = RequestBody.create(\\"\\", contentType == null ? null : MediaType.parse(contentType)); } } else { reqBody = serialize(body, contentType); } // update parameters with authentication settings updateParamsForAuth(authNames, allQueryParams, headerParams, cookieParams, requestBodyToString(reqBody), method, URI.create(url)); final Request.Builder reqBuilder = new Request.Builder().url(url); processHeaderParams(headerParams, reqBuilder); processCookieParams(cookieParams, reqBuilder); // Associate callback with request (if not null) so interceptor can // access it when creating ProgressResponseBody reqBuilder.tag(callback); Request request = null; if (callback != null && reqBody != null) { ProgressRequestBody progressRequestBody = new ProgressRequestBody(reqBody, callback); request = reqBuilder.method(method, progressRequestBody).build(); } else { request = reqBuilder.method(method, reqBody).build(); } return request; } /** * Build full URL by concatenating base path, the given sub path and query parameters. * * @param baseUrl The base URL * @param path The sub path * @param queryParams The query parameters * @param collectionQueryParams The collection query parameters * @return The full URL */ public String buildUrl(String baseUrl, String path, List<Pair> queryParams, List<Pair> collectionQueryParams) { final StringBuilder url = new StringBuilder(); if (baseUrl != null) { url.append(baseUrl).append(path); } else { String baseURL; if (serverIndex != null) { if (serverIndex < 0 || serverIndex >= servers.size()) { throw new ArrayIndexOutOfBoundsException(String.format( \\"Invalid index %d when selecting the host settings. Must be less than %d\\", serverIndex, servers.size() )); } baseURL = servers.get(serverIndex).URL(serverVariables); } else { baseURL = basePath; } url.append(baseURL).append(path); } if (queryParams != null && !queryParams.isEmpty()) { // support (constant) query string in \`path\`, e.g. \\"/posts?draft=1\\" String prefix = path.contains(\\"?\\") ? \\"&\\" : \\"?\\"; for (Pair param : queryParams) { if (param.getValue() != null) { if (prefix != null) { url.append(prefix); prefix = null; } else { url.append(\\"&\\"); } String value = parameterToString(param.getValue()); url.append(escapeString(param.getName())).append(\\"=\\").append(escapeString(value)); } } } if (collectionQueryParams != null && !collectionQueryParams.isEmpty()) { String prefix = url.toString().contains(\\"?\\") ? \\"&\\" : \\"?\\"; for (Pair param : collectionQueryParams) { if (param.getValue() != null) { if (prefix != null) { url.append(prefix); prefix = null; } else { url.append(\\"&\\"); } String value = parameterToString(param.getValue()); // collection query parameter value already escaped as part of parameterToPairs url.append(escapeString(param.getName())).append(\\"=\\").append(value); } } } return url.toString(); } /** * Set header parameters to the request builder, including default headers. * * @param headerParams Header parameters in the form of Map * @param reqBuilder Request.Builder */ public void processHeaderParams(Map<String, String> headerParams, Request.Builder reqBuilder) { for (Entry<String, String> param : headerParams.entrySet()) { reqBuilder.header(param.getKey(), parameterToString(param.getValue())); } for (Entry<String, String> header : defaultHeaderMap.entrySet()) { if (!headerParams.containsKey(header.getKey())) { reqBuilder.header(header.getKey(), parameterToString(header.getValue())); } } } /** * Set cookie parameters to the request builder, including default cookies. * * @param cookieParams Cookie parameters in the form of Map * @param reqBuilder Request.Builder */ public void processCookieParams(Map<String, String> cookieParams, Request.Builder reqBuilder) { for (Entry<String, String> param : cookieParams.entrySet()) { reqBuilder.addHeader(\\"Cookie\\", String.format(\\"%s=%s\\", param.getKey(), param.getValue())); } for (Entry<String, String> param : defaultCookieMap.entrySet()) { if (!cookieParams.containsKey(param.getKey())) { reqBuilder.addHeader(\\"Cookie\\", String.format(\\"%s=%s\\", param.getKey(), param.getValue())); } } } /** * Update query and header parameters based on authentication settings. * * @param authNames The authentications to apply * @param queryParams List of query parameters * @param headerParams Map of header parameters * @param cookieParams Map of cookie parameters * @param payload HTTP request body * @param method HTTP method * @param uri URI * @throws com.generated.api.testjava.client.ApiException If fails to update the parameters */ public void updateParamsForAuth(String[] authNames, List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, String payload, String method, URI uri) throws ApiException { for (String authName : authNames) { Authentication auth = authentications.get(authName); if (auth == null) { throw new RuntimeException(\\"Authentication undefined: \\" + authName); } auth.applyToParams(queryParams, headerParams, cookieParams, payload, method, uri); } } /** * Build a form-encoding request body with the given form parameters. * * @param formParams Form parameters in the form of Map * @return RequestBody */ public RequestBody buildRequestBodyFormEncoding(Map<String, Object> formParams) { okhttp3.FormBody.Builder formBuilder = new okhttp3.FormBody.Builder(); for (Entry<String, Object> param : formParams.entrySet()) { formBuilder.add(param.getKey(), parameterToString(param.getValue())); } return formBuilder.build(); } /** * Build a multipart (file uploading) request body with the given form parameters, * which could contain text fields and file fields. * * @param formParams Form parameters in the form of Map * @return RequestBody */ public RequestBody buildRequestBodyMultipart(Map<String, Object> formParams) { MultipartBody.Builder mpBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); for (Entry<String, Object> param : formParams.entrySet()) { if (param.getValue() instanceof File) { File file = (File) param.getValue(); addPartToMultiPartBuilder(mpBuilder, param.getKey(), file); } else if (param.getValue() instanceof List) { List list = (List) param.getValue(); for (Object item: list) { if (item instanceof File) { addPartToMultiPartBuilder(mpBuilder, param.getKey(), (File) item); } else { addPartToMultiPartBuilder(mpBuilder, param.getKey(), param.getValue()); } } } else { addPartToMultiPartBuilder(mpBuilder, param.getKey(), param.getValue()); } } return mpBuilder.build(); } /** * Guess Content-Type header from the given file (defaults to \\"application/octet-stream\\"). * * @param file The given file * @return The guessed Content-Type */ public String guessContentTypeFromFile(File file) { String contentType = URLConnection.guessContentTypeFromName(file.getName()); if (contentType == null) { return \\"application/octet-stream\\"; } else { return contentType; } } /** * Add a Content-Disposition Header for the given key and file to the MultipartBody Builder. * * @param mpBuilder MultipartBody.Builder * @param key The key of the Header element * @param file The file to add to the Header */ private void addPartToMultiPartBuilder(MultipartBody.Builder mpBuilder, String key, File file) { Headers partHeaders = Headers.of(\\"Content-Disposition\\", \\"form-data; name=\\\\\\"\\" + key + \\"\\\\\\"; filename=\\\\\\"\\" + file.getName() + \\"\\\\\\"\\"); MediaType mediaType = MediaType.parse(guessContentTypeFromFile(file)); mpBuilder.addPart(partHeaders, RequestBody.create(file, mediaType)); } /** * Add a Content-Disposition Header for the given key and complex object to the MultipartBody Builder. * * @param mpBuilder MultipartBody.Builder * @param key The key of the Header element * @param obj The complex object to add to the Header */ private void addPartToMultiPartBuilder(MultipartBody.Builder mpBuilder, String key, Object obj) { RequestBody requestBody; if (obj instanceof String) { requestBody = RequestBody.create((String) obj, MediaType.parse(\\"text/plain\\")); } else { String content; if (obj != null) { content = JSON.serialize(obj); } else { content = null; } requestBody = RequestBody.create(content, MediaType.parse(\\"application/json\\")); } Headers partHeaders = Headers.of(\\"Content-Disposition\\", \\"form-data; name=\\\\\\"\\" + key + \\"\\\\\\"\\"); mpBuilder.addPart(partHeaders, requestBody); } /** * Get network interceptor to add it to the httpClient to track download progress for * async requests. */ private Interceptor getProgressInterceptor() { return new Interceptor() { @Override public Response intercept(Interceptor.Chain chain) throws IOException { final Request request = chain.request(); final Response originalResponse = chain.proceed(request); if (request.tag() instanceof ApiCallback) { final ApiCallback callback = (ApiCallback) request.tag(); return originalResponse.newBuilder() .body(new ProgressResponseBody(originalResponse.body(), callback)) .build(); } return originalResponse; } }; } /** * Apply SSL related settings to httpClient according to the current values of * verifyingSsl and sslCaCert. */ private void applySslSettings() { try { TrustManager[] trustManagers; HostnameVerifier hostnameVerifier; if (!verifyingSsl) { trustManagers = new TrustManager[]{ new X509TrustManager() { @Override public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException { } @Override public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException { } @Override public java.security.cert.X509Certificate[] getAcceptedIssuers() { return new java.security.cert.X509Certificate[]{}; } } }; hostnameVerifier = new HostnameVerifier() { @Override public boolean verify(String hostname, SSLSession session) { return true; } }; } else { TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); if (sslCaCert == null) { trustManagerFactory.init((KeyStore) null); } else { char[] password = null; // Any password will work. CertificateFactory certificateFactory = CertificateFactory.getInstance(\\"X.509\\"); Collection<? extends Certificate> certificates = certificateFactory.generateCertificates(sslCaCert); if (certificates.isEmpty()) { throw new IllegalArgumentException(\\"expected non-empty set of trusted certificates\\"); } KeyStore caKeyStore = newEmptyKeyStore(password); int index = 0; for (Certificate certificate : certificates) { String certificateAlias = \\"ca\\" + (index++); caKeyStore.setCertificateEntry(certificateAlias, certificate); } trustManagerFactory.init(caKeyStore); } trustManagers = trustManagerFactory.getTrustManagers(); hostnameVerifier = OkHostnameVerifier.INSTANCE; } SSLContext sslContext = SSLContext.getInstance(\\"TLS\\"); sslContext.init(keyManagers, trustManagers, new SecureRandom()); httpClient = httpClient.newBuilder() .sslSocketFactory(sslContext.getSocketFactory(), (X509TrustManager) trustManagers[0]) .hostnameVerifier(hostnameVerifier) .build(); } catch (GeneralSecurityException e) { throw new RuntimeException(e); } } private KeyStore newEmptyKeyStore(char[] password) throws GeneralSecurityException { try { KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); keyStore.load(null, password); return keyStore; } catch (IOException e) { throw new AssertionError(e); } } /** * Convert the HTTP request body to a string. * * @param requestBody The HTTP request object * @return The string representation of the HTTP request body * @throws com.generated.api.testjava.client.ApiException If fail to serialize the request body object into a string */ private String requestBodyToString(RequestBody requestBody) throws ApiException { if (requestBody != null) { try { final Buffer buffer = new Buffer(); requestBody.writeTo(buffer); return buffer.readUtf8(); } catch (final IOException e) { throw new ApiException(e); } } // empty http request body return \\"\\"; } } ", "generated/java/src/main/java/com/generated/api/testjava/client/ApiException.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client; import java.util.Map; import java.util.List; import javax.ws.rs.core.GenericType; /** * <p>ApiException class.</p> */ @SuppressWarnings(\\"serial\\") @javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\") public class ApiException extends Exception { private int code = 0; private Map<String, List<String>> responseHeaders = null; private String responseBody = null; /** * <p>Constructor for ApiException.</p> */ public ApiException() {} /** * <p>Constructor for ApiException.</p> * * @param throwable a {@link java.lang.Throwable} object */ public ApiException(Throwable throwable) { super(throwable); } /** * <p>Constructor for ApiException.</p> * * @param message the error message */ public ApiException(String message) { super(message); } /** * <p>Constructor for ApiException.</p> * * @param message the error message * @param throwable a {@link java.lang.Throwable} object * @param code HTTP status code * @param responseHeaders a {@link java.util.Map} of HTTP response headers * @param responseBody the response body */ public ApiException(String message, Throwable throwable, int code, Map<String, List<String>> responseHeaders, String responseBody) { super(message, throwable); this.code = code; this.responseHeaders = responseHeaders; this.responseBody = responseBody; } /** * <p>Constructor for ApiException.</p> * * @param message the error message * @param code HTTP status code * @param responseHeaders a {@link java.util.Map} of HTTP response headers * @param responseBody the response body */ public ApiException(String message, int code, Map<String, List<String>> responseHeaders, String responseBody) { this(message, (Throwable) null, code, responseHeaders, responseBody); } /** * <p>Constructor for ApiException.</p> * * @param message the error message * @param throwable a {@link java.lang.Throwable} object * @param code HTTP status code * @param responseHeaders a {@link java.util.Map} of HTTP response headers */ public ApiException(String message, Throwable throwable, int code, Map<String, List<String>> responseHeaders) { this(message, throwable, code, responseHeaders, null); } /** * <p>Constructor for ApiException.</p> * * @param code HTTP status code * @param responseHeaders a {@link java.util.Map} of HTTP response headers * @param responseBody the response body */ public ApiException(int code, Map<String, List<String>> responseHeaders, String responseBody) { this(\\"Response Code: \\" + code + \\" Response Body: \\" + responseBody, (Throwable) null, code, responseHeaders, responseBody); } /** * <p>Constructor for ApiException.</p> * * @param code HTTP status code * @param message a {@link java.lang.String} object */ public ApiException(int code, String message) { super(message); this.code = code; } /** * <p>Constructor for ApiException.</p> * * @param code HTTP status code * @param message the error message * @param responseHeaders a {@link java.util.Map} of HTTP response headers * @param responseBody the response body */ public ApiException(int code, String message, Map<String, List<String>> responseHeaders, String responseBody) { this(code, message); this.responseHeaders = responseHeaders; this.responseBody = responseBody; } /** * Get the HTTP status code. * * @return HTTP status code */ public int getCode() { return code; } /** * Get the HTTP response headers. * * @return A map of list of string */ public Map<String, List<String>> getResponseHeaders() { return responseHeaders; } /** * Get the HTTP response body. * * @return Response body in the form of string */ public String getResponseBody() { return responseBody; } /** * Get the exception message including HTTP response data. * * @return The exception message */ public String getMessage() { return String.format(\\"Message: %s%nHTTP response code: %s%nHTTP response body: %s%nHTTP response headers: %s\\", super.getMessage(), this.getCode(), this.getResponseBody(), this.getResponseHeaders()); } } ", "generated/java/src/main/java/com/generated/api/testjava/client/ApiResponse.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client; import java.util.List; import java.util.Map; /** * API response returned by API call. */ public class ApiResponse<T> { final private int statusCode; final private Map<String, List<String>> headers; final private T data; /** * <p>Constructor for ApiResponse.</p> * * @param statusCode The status code of HTTP response * @param headers The headers of HTTP response */ public ApiResponse(int statusCode, Map<String, List<String>> headers) { this(statusCode, headers, null); } /** * <p>Constructor for ApiResponse.</p> * * @param statusCode The status code of HTTP response * @param headers The headers of HTTP response * @param data The object deserialized from response bod */ public ApiResponse(int statusCode, Map<String, List<String>> headers, T data) { this.statusCode = statusCode; this.headers = headers; this.data = data; } /** * <p>Get the <code>status code</code>.</p> * * @return the status code */ public int getStatusCode() { return statusCode; } /** * <p>Get the <code>headers</code>.</p> * * @return a {@link java.util.Map} of headers */ public Map<String, List<String>> getHeaders() { return headers; } /** * <p>Get the <code>data</code>.</p> * * @return the data */ public T getData() { return data; } } ", "generated/java/src/main/java/com/generated/api/testjava/client/Configuration.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client; @javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\") public class Configuration { private static ApiClient defaultApiClient = new ApiClient(); /** * Get the default API client, which would be used when creating API * instances without providing an API client. * * @return Default API client */ public static ApiClient getDefaultApiClient() { return defaultApiClient; } /** * Set the default API client, which would be used when creating API * instances without providing an API client. * * @param apiClient API client */ public static void setDefaultApiClient(ApiClient apiClient) { defaultApiClient = apiClient; } } ", "generated/java/src/main/java/com/generated/api/testjava/client/GzipRequestInterceptor.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client; import okhttp3.*; import okio.Buffer; import okio.BufferedSink; import okio.GzipSink; import okio.Okio; import java.io.IOException; /** * Encodes request bodies using gzip. * * Taken from https://github.com/square/okhttp/issues/350 */ class GzipRequestInterceptor implements Interceptor { @Override public Response intercept(Chain chain) throws IOException { Request originalRequest = chain.request(); if (originalRequest.body() == null || originalRequest.header(\\"Content-Encoding\\") != null) { return chain.proceed(originalRequest); } Request compressedRequest = originalRequest.newBuilder() .header(\\"Content-Encoding\\", \\"gzip\\") .method(originalRequest.method(), forceContentLength(gzip(originalRequest.body()))) .build(); return chain.proceed(compressedRequest); } private RequestBody forceContentLength(final RequestBody requestBody) throws IOException { final Buffer buffer = new Buffer(); requestBody.writeTo(buffer); return new RequestBody() { @Override public MediaType contentType() { return requestBody.contentType(); } @Override public long contentLength() { return buffer.size(); } @Override public void writeTo(BufferedSink sink) throws IOException { sink.write(buffer.snapshot()); } }; } private RequestBody gzip(final RequestBody body) { return new RequestBody() { @Override public MediaType contentType() { return body.contentType(); } @Override public long contentLength() { return -1; // We don't know the compressed length in advance! } @Override public void writeTo(BufferedSink sink) throws IOException { BufferedSink gzipSink = Okio.buffer(new GzipSink(sink)); body.writeTo(gzipSink); gzipSink.close(); } }; } } ", "generated/java/src/main/java/com/generated/api/testjava/client/JSON.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonParseException; import com.google.gson.TypeAdapter; import com.google.gson.internal.bind.util.ISO8601Utils; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.google.gson.JsonElement; import io.gsonfire.GsonFireBuilder; import io.gsonfire.TypeSelector; import okio.ByteString; import java.io.IOException; import java.io.StringReader; import java.lang.reflect.Type; import java.text.DateFormat; import java.text.ParseException; import java.text.ParsePosition; import java.time.LocalDate; import java.time.OffsetDateTime; import java.time.format.DateTimeFormatter; import java.util.Date; import java.util.Locale; import java.util.Map; import java.util.HashMap; /* * A JSON utility class * * NOTE: in the future, this class may be converted to static, which may break * backward-compatibility */ public class JSON { private static Gson gson; private static boolean isLenientOnJson = false; private static DateTypeAdapter dateTypeAdapter = new DateTypeAdapter(); private static SqlDateTypeAdapter sqlDateTypeAdapter = new SqlDateTypeAdapter(); private static OffsetDateTimeTypeAdapter offsetDateTimeTypeAdapter = new OffsetDateTimeTypeAdapter(); private static LocalDateTypeAdapter localDateTypeAdapter = new LocalDateTypeAdapter(); private static ByteArrayAdapter byteArrayAdapter = new ByteArrayAdapter(); @SuppressWarnings(\\"unchecked\\") public static GsonBuilder createGson() { GsonFireBuilder fireBuilder = new GsonFireBuilder() ; GsonBuilder builder = fireBuilder.createGsonBuilder(); return builder; } private static String getDiscriminatorValue(JsonElement readElement, String discriminatorField) { JsonElement element = readElement.getAsJsonObject().get(discriminatorField); if (null == element) { throw new IllegalArgumentException(\\"missing discriminator field: <\\" + discriminatorField + \\">\\"); } return element.getAsString(); } /** * Returns the Java class that implements the OpenAPI schema for the specified discriminator value. * * @param classByDiscriminatorValue The map of discriminator values to Java classes. * @param discriminatorValue The value of the OpenAPI discriminator in the input data. * @return The Java class that implements the OpenAPI schema */ private static Class getClassByDiscriminator(Map classByDiscriminatorValue, String discriminatorValue) { Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue); if (null == clazz) { throw new IllegalArgumentException(\\"cannot determine model class of name: <\\" + discriminatorValue + \\">\\"); } return clazz; } { GsonBuilder gsonBuilder = createGson(); gsonBuilder.registerTypeAdapter(Date.class, dateTypeAdapter); gsonBuilder.registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter); gsonBuilder.registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter); gsonBuilder.registerTypeAdapter(LocalDate.class, localDateTypeAdapter); gsonBuilder.registerTypeAdapter(byte[].class, byteArrayAdapter); gsonBuilder.registerTypeAdapterFactory(new com.generated.api.testjava.client.model.ApiErrorResponseContent.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory(new com.generated.api.testjava.client.model.SayHelloResponseContent.CustomTypeAdapterFactory()); gson = gsonBuilder.create(); } /** * Get Gson. * * @return Gson */ public static Gson getGson() { return gson; } /** * Set Gson. * * @param gson Gson */ public static void setGson(Gson gson) { JSON.gson = gson; } public static void setLenientOnJson(boolean lenientOnJson) { isLenientOnJson = lenientOnJson; } /** * Serialize the given Java object into JSON string. * * @param obj Object * @return String representation of the JSON */ public static String serialize(Object obj) { return gson.toJson(obj); } /** * Deserialize the given JSON string to Java object. * * @param <T> Type * @param body The JSON string * @param returnType The type to deserialize into * @return The deserialized Java object */ @SuppressWarnings(\\"unchecked\\") public static <T> T deserialize(String body, Type returnType) { try { if (isLenientOnJson) { JsonReader jsonReader = new JsonReader(new StringReader(body)); // see https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/stream/JsonReader.html#setLenient(boolean) jsonReader.setLenient(true); return gson.fromJson(jsonReader, returnType); } else { return gson.fromJson(body, returnType); } } catch (JsonParseException e) { // Fallback processing when failed to parse JSON form response body: // return the response body string directly for the String return type; if (returnType.equals(String.class)) { return (T) body; } else { throw (e); } } } /** * Gson TypeAdapter for Byte Array type */ public static class ByteArrayAdapter extends TypeAdapter<byte[]> { @Override public void write(JsonWriter out, byte[] value) throws IOException { if (value == null) { out.nullValue(); } else { out.value(ByteString.of(value).base64()); } } @Override public byte[] read(JsonReader in) throws IOException { switch (in.peek()) { case NULL: in.nextNull(); return null; default: String bytesAsBase64 = in.nextString(); ByteString byteString = ByteString.decodeBase64(bytesAsBase64); return byteString.toByteArray(); } } } /** * Gson TypeAdapter for JSR310 OffsetDateTime type */ public static class OffsetDateTimeTypeAdapter extends TypeAdapter<OffsetDateTime> { private DateTimeFormatter formatter; public OffsetDateTimeTypeAdapter() { this(DateTimeFormatter.ISO_OFFSET_DATE_TIME); } public OffsetDateTimeTypeAdapter(DateTimeFormatter formatter) { this.formatter = formatter; } public void setFormat(DateTimeFormatter dateFormat) { this.formatter = dateFormat; } @Override public void write(JsonWriter out, OffsetDateTime date) throws IOException { if (date == null) { out.nullValue(); } else { out.value(formatter.format(date)); } } @Override public OffsetDateTime read(JsonReader in) throws IOException { switch (in.peek()) { case NULL: in.nextNull(); return null; default: String date = in.nextString(); if (date.endsWith(\\"+0000\\")) { date = date.substring(0, date.length()-5) + \\"Z\\"; } return OffsetDateTime.parse(date, formatter); } } } /** * Gson TypeAdapter for JSR310 LocalDate type */ public static class LocalDateTypeAdapter extends TypeAdapter<LocalDate> { private DateTimeFormatter formatter; public LocalDateTypeAdapter() { this(DateTimeFormatter.ISO_LOCAL_DATE); } public LocalDateTypeAdapter(DateTimeFormatter formatter) { this.formatter = formatter; } public void setFormat(DateTimeFormatter dateFormat) { this.formatter = dateFormat; } @Override public void write(JsonWriter out, LocalDate date) throws IOException { if (date == null) { out.nullValue(); } else { out.value(formatter.format(date)); } } @Override public LocalDate read(JsonReader in) throws IOException { switch (in.peek()) { case NULL: in.nextNull(); return null; default: String date = in.nextString(); return LocalDate.parse(date, formatter); } } } public static void setOffsetDateTimeFormat(DateTimeFormatter dateFormat) { offsetDateTimeTypeAdapter.setFormat(dateFormat); } public static void setLocalDateFormat(DateTimeFormatter dateFormat) { localDateTypeAdapter.setFormat(dateFormat); } /** * Gson TypeAdapter for java.sql.Date type * If the dateFormat is null, a simple \\"yyyy-MM-dd\\" format will be used * (more efficient than SimpleDateFormat). */ public static class SqlDateTypeAdapter extends TypeAdapter<java.sql.Date> { private DateFormat dateFormat; public SqlDateTypeAdapter() {} public SqlDateTypeAdapter(DateFormat dateFormat) { this.dateFormat = dateFormat; } public void setFormat(DateFormat dateFormat) { this.dateFormat = dateFormat; } @Override public void write(JsonWriter out, java.sql.Date date) throws IOException { if (date == null) { out.nullValue(); } else { String value; if (dateFormat != null) { value = dateFormat.format(date); } else { value = date.toString(); } out.value(value); } } @Override public java.sql.Date read(JsonReader in) throws IOException { switch (in.peek()) { case NULL: in.nextNull(); return null; default: String date = in.nextString(); try { if (dateFormat != null) { return new java.sql.Date(dateFormat.parse(date).getTime()); } return new java.sql.Date(ISO8601Utils.parse(date, new ParsePosition(0)).getTime()); } catch (ParseException e) { throw new JsonParseException(e); } } } } /** * Gson TypeAdapter for java.util.Date type * If the dateFormat is null, ISO8601Utils will be used. */ public static class DateTypeAdapter extends TypeAdapter<Date> { private DateFormat dateFormat; public DateTypeAdapter() {} public DateTypeAdapter(DateFormat dateFormat) { this.dateFormat = dateFormat; } public void setFormat(DateFormat dateFormat) { this.dateFormat = dateFormat; } @Override public void write(JsonWriter out, Date date) throws IOException { if (date == null) { out.nullValue(); } else { String value; if (dateFormat != null) { value = dateFormat.format(date); } else { value = ISO8601Utils.format(date, true); } out.value(value); } } @Override public Date read(JsonReader in) throws IOException { try { switch (in.peek()) { case NULL: in.nextNull(); return null; default: String date = in.nextString(); try { if (dateFormat != null) { return dateFormat.parse(date); } return ISO8601Utils.parse(date, new ParsePosition(0)); } catch (ParseException e) { throw new JsonParseException(e); } } } catch (IllegalArgumentException e) { throw new JsonParseException(e); } } } public static void setDateFormat(DateFormat dateFormat) { dateTypeAdapter.setFormat(dateFormat); } public static void setSqlDateFormat(DateFormat dateFormat) { sqlDateTypeAdapter.setFormat(dateFormat); } } ", "generated/java/src/main/java/com/generated/api/testjava/client/Pair.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client; @javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\") public class Pair { private String name = \\"\\"; private String value = \\"\\"; public Pair (String name, String value) { setName(name); setValue(value); } private void setName(String name) { if (!isValidString(name)) { return; } this.name = name; } private void setValue(String value) { if (!isValidString(value)) { return; } this.value = value; } public String getName() { return this.name; } public String getValue() { return this.value; } private boolean isValidString(String arg) { if (arg == null) { return false; } return true; } } ", "generated/java/src/main/java/com/generated/api/testjava/client/ProgressRequestBody.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client; import okhttp3.MediaType; import okhttp3.RequestBody; import java.io.IOException; import okio.Buffer; import okio.BufferedSink; import okio.ForwardingSink; import okio.Okio; import okio.Sink; public class ProgressRequestBody extends RequestBody { private final RequestBody requestBody; private final ApiCallback callback; public ProgressRequestBody(RequestBody requestBody, ApiCallback callback) { this.requestBody = requestBody; this.callback = callback; } @Override public MediaType contentType() { return requestBody.contentType(); } @Override public long contentLength() throws IOException { return requestBody.contentLength(); } @Override public void writeTo(BufferedSink sink) throws IOException { BufferedSink bufferedSink = Okio.buffer(sink(sink)); requestBody.writeTo(bufferedSink); bufferedSink.flush(); } private Sink sink(Sink sink) { return new ForwardingSink(sink) { long bytesWritten = 0L; long contentLength = 0L; @Override public void write(Buffer source, long byteCount) throws IOException { super.write(source, byteCount); if (contentLength == 0) { contentLength = contentLength(); } bytesWritten += byteCount; callback.onUploadProgress(bytesWritten, contentLength, bytesWritten == contentLength); } }; } } ", "generated/java/src/main/java/com/generated/api/testjava/client/ProgressResponseBody.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client; import okhttp3.MediaType; import okhttp3.ResponseBody; import java.io.IOException; import okio.Buffer; import okio.BufferedSource; import okio.ForwardingSource; import okio.Okio; import okio.Source; public class ProgressResponseBody extends ResponseBody { private final ResponseBody responseBody; private final ApiCallback callback; private BufferedSource bufferedSource; public ProgressResponseBody(ResponseBody responseBody, ApiCallback callback) { this.responseBody = responseBody; this.callback = callback; } @Override public MediaType contentType() { return responseBody.contentType(); } @Override public long contentLength() { return responseBody.contentLength(); } @Override public BufferedSource source() { if (bufferedSource == null) { bufferedSource = Okio.buffer(source(responseBody.source())); } return bufferedSource; } private Source source(Source source) { return new ForwardingSource(source) { long totalBytesRead = 0L; @Override public long read(Buffer sink, long byteCount) throws IOException { long bytesRead = super.read(sink, byteCount); // read() returns the number of bytes read, or -1 if this source is exhausted. totalBytesRead += bytesRead != -1 ? bytesRead : 0; callback.onDownloadProgress(totalBytesRead, responseBody.contentLength(), bytesRead == -1); return bytesRead; } }; } } ", "generated/java/src/main/java/com/generated/api/testjava/client/ServerConfiguration.java": "package com.generated.api.testjava.client; import java.util.Map; /** * Representing a Server configuration. */ public class ServerConfiguration { public String URL; public String description; public Map<String, ServerVariable> variables; /** * @param URL A URL to the target host. * @param description A description of the host designated by the URL. * @param variables A map between a variable name and its value. The value is used for substitution in the server's URL template. */ public ServerConfiguration(String URL, String description, Map<String, ServerVariable> variables) { this.URL = URL; this.description = description; this.variables = variables; } /** * Format URL template using given variables. * * @param variables A map between a variable name and its value. * @return Formatted URL. */ public String URL(Map<String, String> variables) { String url = this.URL; // go through variables and replace placeholders for (Map.Entry<String, ServerVariable> variable: this.variables.entrySet()) { String name = variable.getKey(); ServerVariable serverVariable = variable.getValue(); String value = serverVariable.defaultValue; if (variables != null && variables.containsKey(name)) { value = variables.get(name); if (serverVariable.enumValues.size() > 0 && !serverVariable.enumValues.contains(value)) { throw new IllegalArgumentException(\\"The variable \\" + name + \\" in the server URL has invalid value \\" + value + \\".\\"); } } url = url.replace(\\"{\\" + name + \\"}\\", value); } return url; } /** * Format URL template using default server variables. * * @return Formatted URL. */ public String URL() { return URL(null); } } ", "generated/java/src/main/java/com/generated/api/testjava/client/ServerVariable.java": "package com.generated.api.testjava.client; import java.util.HashSet; /** * Representing a Server Variable for server URL template substitution. */ public class ServerVariable { public String description; public String defaultValue; public HashSet<String> enumValues = null; /** * @param description A description for the server variable. * @param defaultValue The default value to use for substitution. * @param enumValues An enumeration of string values to be used if the substitution options are from a limited set. */ public ServerVariable(String description, String defaultValue, HashSet<String> enumValues) { this.description = description; this.defaultValue = defaultValue; this.enumValues = enumValues; } } ", "generated/java/src/main/java/com/generated/api/testjava/client/StringUtil.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client; import java.util.Collection; import java.util.Iterator; @javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\") public class StringUtil { /** * Check if the given array contains the given value (with case-insensitive comparison). * * @param array The array * @param value The value to search * @return true if the array contains the value */ public static boolean containsIgnoreCase(String[] array, String value) { for (String str : array) { if (value == null && str == null) { return true; } if (value != null && value.equalsIgnoreCase(str)) { return true; } } return false; } /** * Join an array of strings with the given separator. * <p> * Note: This might be replaced by utility method from commons-lang or guava someday * if one of those libraries is added as dependency. * </p> * * @param array The array of strings * @param separator The separator * @return the resulting string */ public static String join(String[] array, String separator) { int len = array.length; if (len == 0) { return \\"\\"; } StringBuilder out = new StringBuilder(); out.append(array[0]); for (int i = 1; i < len; i++) { out.append(separator).append(array[i]); } return out.toString(); } /** * Join a list of strings with the given separator. * * @param list The list of strings * @param separator The separator * @return the resulting string */ public static String join(Collection<String> list, String separator) { Iterator<String> iterator = list.iterator(); StringBuilder out = new StringBuilder(); if (iterator.hasNext()) { out.append(iterator.next()); } while (iterator.hasNext()) { out.append(separator).append(iterator.next()); } return out.toString(); } } ", "generated/java/src/main/java/com/generated/api/testjava/client/api/DefaultApi.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client.api; import com.generated.api.testjava.client.ApiCallback; import com.generated.api.testjava.client.ApiClient; import com.generated.api.testjava.client.ApiException; import com.generated.api.testjava.client.ApiResponse; import com.generated.api.testjava.client.Configuration; import com.generated.api.testjava.client.Pair; import com.generated.api.testjava.client.ProgressRequestBody; import com.generated.api.testjava.client.ProgressResponseBody; import com.google.gson.reflect.TypeToken; import java.io.IOException; import com.generated.api.testjava.client.model.ApiErrorResponseContent; import com.generated.api.testjava.client.model.SayHelloResponseContent; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.ws.rs.core.GenericType; public class DefaultApi { private ApiClient localVarApiClient; private int localHostIndex; private String localCustomBaseUrl; public DefaultApi() { this(Configuration.getDefaultApiClient()); } public DefaultApi(ApiClient apiClient) { this.localVarApiClient = apiClient; } public ApiClient getApiClient() { return localVarApiClient; } public void setApiClient(ApiClient apiClient) { this.localVarApiClient = apiClient; } public int getHostIndex() { return localHostIndex; } public void setHostIndex(int hostIndex) { this.localHostIndex = hostIndex; } public String getCustomBaseUrl() { return localCustomBaseUrl; } public void setCustomBaseUrl(String customBaseUrl) { this.localCustomBaseUrl = customBaseUrl; } private okhttp3.Call sayHelloCall(String name, final ApiCallback _callback) throws ApiException { String basePath = null; // Operation Servers String[] localBasePaths = new String[] { }; // Determine Base Path to Use if (localCustomBaseUrl != null){ basePath = localCustomBaseUrl; } else if ( localBasePaths.length > 0 ) { basePath = localBasePaths[localHostIndex]; } else { basePath = null; } Object localVarPostBody = null; // create path and map variables String localVarPath = \\"/hello\\"; List<Pair> localVarQueryParams = new ArrayList<Pair>(); List<Pair> localVarCollectionQueryParams = new ArrayList<Pair>(); Map<String, String> localVarHeaderParams = new HashMap<String, String>(); Map<String, String> localVarCookieParams = new HashMap<String, String>(); Map<String, Object> localVarFormParams = new HashMap<String, Object>(); if (name != null) { localVarQueryParams.addAll(localVarApiClient.parameterToPair(\\"name\\", name)); } final String[] localVarAccepts = { \\"application/json\\" }; final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts); if (localVarAccept != null) { localVarHeaderParams.put(\\"Accept\\", localVarAccept); } final String[] localVarContentTypes = { }; final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes); if (localVarContentType != null) { localVarHeaderParams.put(\\"Content-Type\\", localVarContentType); } String[] localVarAuthNames = new String[] { }; return localVarApiClient.buildCall(basePath, localVarPath, \\"GET\\", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback); } @SuppressWarnings(\\"rawtypes\\") private okhttp3.Call sayHelloValidateBeforeCall(String name, final ApiCallback _callback) throws ApiException { // verify the required parameter 'name' is set if (name == null) { throw new ApiException(\\"Missing the required parameter 'name' when calling sayHello(Async)\\"); } return sayHelloCall(name, _callback); } private ApiResponse<SayHelloResponseContent> sayHelloWithHttpInfo(String name) throws ApiException { okhttp3.Call localVarCall = sayHelloValidateBeforeCall(name, null); Type localVarReturnType = new TypeToken<SayHelloResponseContent>(){}.getType(); return localVarApiClient.execute(localVarCall, localVarReturnType); } private okhttp3.Call sayHelloAsync(String name, final ApiCallback<SayHelloResponseContent> _callback) throws ApiException { okhttp3.Call localVarCall = sayHelloValidateBeforeCall(name, _callback); Type localVarReturnType = new TypeToken<SayHelloResponseContent>(){}.getType(); localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback); return localVarCall; } public class APIsayHelloRequest { private final String name; private APIsayHelloRequest(String name) { this.name = name; } /** * Build call for sayHello * @param _callback ApiCallback API callback * @return Call to execute * @throws ApiException If fail to serialize the request body object * @http.response.details <table summary=\\"Response Details\\" border=\\"1\\"> <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr> <tr><td> 200 </td><td> SayHello 200 response </td><td> - </td></tr> <tr><td> 400 </td><td> ApiError 400 response </td><td> - </td></tr> </table> */ public okhttp3.Call buildCall(final ApiCallback _callback) throws ApiException { return sayHelloCall(name, _callback); } /** * Execute sayHello request * @return SayHelloResponseContent * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details <table summary=\\"Response Details\\" border=\\"1\\"> <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr> <tr><td> 200 </td><td> SayHello 200 response </td><td> - </td></tr> <tr><td> 400 </td><td> ApiError 400 response </td><td> - </td></tr> </table> */ public SayHelloResponseContent execute() throws ApiException { ApiResponse<SayHelloResponseContent> localVarResp = sayHelloWithHttpInfo(name); return localVarResp.getData(); } /** * Execute sayHello request with HTTP info returned * @return ApiResponse<SayHelloResponseContent> * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body * @http.response.details <table summary=\\"Response Details\\" border=\\"1\\"> <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr> <tr><td> 200 </td><td> SayHello 200 response </td><td> - </td></tr> <tr><td> 400 </td><td> ApiError 400 response </td><td> - </td></tr> </table> */ public ApiResponse<SayHelloResponseContent> executeWithHttpInfo() throws ApiException { return sayHelloWithHttpInfo(name); } /** * Execute sayHello request (asynchronously) * @param _callback The callback to be executed when the API call finishes * @return The request call * @throws ApiException If fail to process the API call, e.g. serializing the request body object * @http.response.details <table summary=\\"Response Details\\" border=\\"1\\"> <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr> <tr><td> 200 </td><td> SayHello 200 response </td><td> - </td></tr> <tr><td> 400 </td><td> ApiError 400 response </td><td> - </td></tr> </table> */ public okhttp3.Call executeAsync(final ApiCallback<SayHelloResponseContent> _callback) throws ApiException { return sayHelloAsync(name, _callback); } } /** * * * @param name (required) * @return APIsayHelloRequest * @http.response.details <table summary=\\"Response Details\\" border=\\"1\\"> <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr> <tr><td> 200 </td><td> SayHello 200 response </td><td> - </td></tr> <tr><td> 400 </td><td> ApiError 400 response </td><td> - </td></tr> </table> */ public APIsayHelloRequest sayHello(String name) { return new APIsayHelloRequest(name); } } ", "generated/java/src/main/java/com/generated/api/testjava/client/api/DefaultApi/Handlers.java": "package com.generated.api.testjava.client.api; import com.generated.api.testjava.client.model.*; import java.util.Arrays; import java.util.Optional; import java.util.Map; import java.util.HashMap; import java.util.List; import java.util.ArrayList; import java.util.Collections; import java.util.stream.Collectors; import java.io.UnsupportedEncodingException; import java.io.IOException; import java.net.URLDecoder; import java.nio.charset.StandardCharsets; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.RequestHandler; import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent; import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent; import com.generated.api.testjava.client.model.ApiErrorResponseContent; import com.generated.api.testjava.client.model.SayHelloResponseContent; import com.generated.api.testjava.client.JSON; @javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\") public class Handlers { static { // JSON has a static instance of Gson which is instantiated lazily the first time it is initialised. // Create an instance here to ensure that the static Gson instance is always available. new JSON(); } private static String decodeParameter(final String parameter) { try { return URLDecoder.decode(parameter, StandardCharsets.UTF_8.name()); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } } private static Map<String, String> decodeRequestParameters(Map<String, String> parameters) { Map<String, String> decodedParameters = new HashMap<>(); for(Map.Entry<String, String> parameter : parameters.entrySet()) { decodedParameters.put(parameter.getKey(), decodeParameter(parameter.getValue())); } return decodedParameters; } private static Map<String, List<String>> decodeRequestArrayParameters(Map<String, List<String>> parameters) { Map<String, List<String>> decodedParameters = new HashMap<>(); for(Map.Entry<String, List<String>> parameter : parameters.entrySet()) { decodedParameters.put(parameter.getKey(), parameter.getValue().stream().map(Handlers::decodeParameter).collect(Collectors.toList())); } return decodedParameters; } private static <K, V> void putAllFromNullableMap(Map<K, V> source, Map<K, V> destination) { if (source != null) { destination.putAll(source); } } private static String concatMethodAndPath(final String method, final String path) { return String.format(\\"%s||%s\\", method.toLowerCase(), path); } private static <T, I> List<Interceptor<I>> getAnnotationInterceptors(Class<T> clazz) { // Support specifying simple interceptors via the @Interceptors({ MyInterceptor.class, MyOtherInterceptor.class }) format return clazz.isAnnotationPresent(Interceptors.class) ? Arrays.stream(clazz.getAnnotation(Interceptors.class).value()).map(c -> { try { return (Interceptor<I>) c.getDeclaredConstructor().newInstance(); } catch (Exception e) { throw new RuntimeException(String.format( \\"Cannot create instance of interceptor %s. Please ensure it has a public constructor \\" + \\"with no arguments, or override the getInterceptors method instead of using the annotation\\", c.getSimpleName()), e); } }).collect(Collectors.toList()) : new ArrayList<>(); } /** * Represents an HTTP response from an api operation */ public static interface Response { /** * Returns the response body */ String getBody(); /** * Returns the response status code */ int getStatusCode(); /** * Returns the response headers */ Map<String, String> getHeaders(); } @lombok.experimental.SuperBuilder @lombok.AllArgsConstructor @lombok.Getter public static class ApiResponse implements Response { private String body; private int statusCode; private Map<String, String> headers; } /** * Interceptors can perform generic operations on requests and/or responses, optionally delegating to the remainder * of the request chain. */ public static interface Interceptor<TInput> { /** * Handle a request. Usually the response from \`input.getChain().next(input)\` is returned to delegate to the * remainder of the chain, however you may wish to return an alternative Response. */ Response handle(ChainedRequestInput<TInput> input); } /** * Use this annotation to add interceptors to the request handler. Interceptors used in the annotation must have a * constructor with no arguments. */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public static @interface Interceptors { public Class<? extends Interceptor>[] value() default {}; } /** * A handler chain represents a series of interceptors, which may or may not delegate to following interceptors. * The lambda handler is always the last method in the chain. */ public static interface HandlerChain<TInput> { /** * Delegate to the remainder of the handler chain */ Response next(ChainedRequestInput<TInput> input); } /** * Defines the input for a request. */ public static interface RequestInput<TInput> { /** * The raw event from API Gateway */ APIGatewayProxyRequestEvent getEvent(); /** * Lambda execution context */ Context getContext(); /** * Demarshalled request input */ TInput getInput(); /** * Storage for arbitrary interceptor context for the lifetime of the request. Set and get values to pass state * between interceptors or to the final handler. */ Map<String, Object> getInterceptorContext(); } /** * Reqeust input with a handler chain */ public static interface ChainedRequestInput<TInput> extends RequestInput<TInput> { /** * The chain for handling requests */ HandlerChain<TInput> getChain(); } private static <TInput> HandlerChain<TInput> buildHandlerChain(final List<Interceptor<TInput>> interceptors, final HandlerChain<TInput> baseChain) { if (interceptors.isEmpty()) { return baseChain; } else { Interceptor<TInput> interceptor = interceptors.get(0); HandlerChain<TInput> remainingChain = buildHandlerChain(interceptors.subList(1, interceptors.size()), baseChain); return new HandlerChain<TInput>() { @Override public Response next(ChainedRequestInput<TInput> input) { return interceptor.handle(new ChainedRequestInput<TInput>() { @Override public APIGatewayProxyRequestEvent getEvent() { return input.getEvent(); } @Override public Context getContext() { return input.getContext(); } @Override public TInput getInput() { return input.getInput(); } @Override public HandlerChain<TInput> getChain() { return remainingChain; } @Override public Map<String, Object> getInterceptorContext() { return input.getInterceptorContext(); } }); } }; } } /** * Response for the sayHello operation */ public static interface SayHelloResponse extends Response {} /** * Response with status code 200 for the sayHello operation */ public static class SayHello200Response implements SayHelloResponse { private String body; private Map<String, String> headers; private SayHello200Response(final SayHelloResponseContent body, final Map<String, String> headers) { this.body = body.toJson(); this.headers = headers; } @Override public int getStatusCode() { return 200; } @Override public String getBody() { return this.body; } @Override public Map<String, String> getHeaders() { return this.headers; } /** * Create a SayHello200Response with a body */ public static SayHello200Response of(final SayHelloResponseContent body) { return new SayHello200Response(body, new HashMap<>()); } /** * Create a SayHello200Response with a body and headers */ public static SayHello200Response of(final SayHelloResponseContent body, final Map<String, String> headers) { return new SayHello200Response(body, headers); } } /** * Response with status code 400 for the sayHello operation */ public static class SayHello400Response implements SayHelloResponse { private String body; private Map<String, String> headers; private SayHello400Response(final ApiErrorResponseContent body, final Map<String, String> headers) { this.body = body.toJson(); this.headers = headers; } @Override public int getStatusCode() { return 400; } @Override public String getBody() { return this.body; } @Override public Map<String, String> getHeaders() { return this.headers; } /** * Create a SayHello400Response with a body */ public static SayHello400Response of(final ApiErrorResponseContent body) { return new SayHello400Response(body, new HashMap<>()); } /** * Create a SayHello400Response with a body and headers */ public static SayHello400Response of(final ApiErrorResponseContent body, final Map<String, String> headers) { return new SayHello400Response(body, headers); } } /** * Single-value query and path parameters for the sayHello operation */ public static class SayHelloRequestParameters { private String name; public SayHelloRequestParameters(final APIGatewayProxyRequestEvent event) { Map<String, String> parameters = new HashMap<>(); putAllFromNullableMap(event.getPathParameters(), parameters); putAllFromNullableMap(event.getQueryStringParameters(), parameters); Map<String, String> decodedParameters = decodeRequestParameters(parameters); this.name = decodedParameters.get(\\"name\\"); } public String getName() { return this.name; } } /** * Multi-value query parameters for the sayHello operation */ public static class SayHelloRequestArrayParameters { public SayHelloRequestArrayParameters(final APIGatewayProxyRequestEvent event) { Map<String, List<String>> parameters = new HashMap<>(); putAllFromNullableMap(event.getMultiValueQueryStringParameters(), parameters); Map<String, List<String>> decodedParameters = decodeRequestArrayParameters(parameters); } } /** * Input for the sayHello operation */ public static class SayHelloInput { private SayHelloRequestParameters requestParameters; private SayHelloRequestArrayParameters requestArrayParameters; public SayHelloInput(final APIGatewayProxyRequestEvent event) { this.requestParameters = new SayHelloRequestParameters(event); this.requestArrayParameters = new SayHelloRequestArrayParameters(event); } public SayHelloRequestParameters getRequestParameters() { return this.requestParameters; } public SayHelloRequestArrayParameters getRequestArrayParameters() { return this.requestArrayParameters; } } /** * Full request input for the sayHello operation, including the raw API Gateway event */ public static class SayHelloRequestInput implements RequestInput<SayHelloInput> { private APIGatewayProxyRequestEvent event; private Context context; private Map<String, Object> interceptorContext; private SayHelloInput input; public SayHelloRequestInput(final APIGatewayProxyRequestEvent event, final Context context, final Map<String, Object> interceptorContext, final SayHelloInput input) { this.event = event; this.context = context; this.interceptorContext = interceptorContext; this.input = input; } /** * Returns the typed request input, with path, query and body parameters */ public SayHelloInput getInput() { return this.input; } /** * Returns the raw API Gateway event */ public APIGatewayProxyRequestEvent getEvent() { return this.event; } /** * Returns the lambda context */ public Context getContext() { return this.context; } /** * Returns the interceptor context, which may contain values set by request interceptors */ public Map<String, Object> getInterceptorContext() { return this.interceptorContext; } } /** * Lambda handler wrapper for the sayHello operation */ public static abstract class SayHello implements RequestHandler<APIGatewayProxyRequestEvent, APIGatewayProxyResponseEvent> { /** * Handle the request for the sayHello operation */ public abstract SayHelloResponse handle(final SayHelloRequestInput request); /** * For more complex interceptors that require instantiation with parameters, you may override this method to * return a list of instantiated interceptors. For simple interceptors with no need for constructor arguments, * prefer the @Interceptors annotation. */ public List<Interceptor<SayHelloInput>> getInterceptors() { return Collections.emptyList(); } @Override public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent event, final Context context) { return this.handleRequestWithAdditionalInterceptors(event, context, new ArrayList<>()); } public APIGatewayProxyResponseEvent handleRequestWithAdditionalInterceptors(final APIGatewayProxyRequestEvent event, final Context context, final List<Interceptor<SayHelloInput>> additionalInterceptors) { final Map<String, Object> interceptorContext = new HashMap<>(); List<Interceptor<SayHelloInput>> interceptors = new ArrayList<>(); interceptors.addAll(additionalInterceptors); List<Interceptor<SayHelloInput>> annotationInterceptors = getAnnotationInterceptors(this.getClass()); interceptors.addAll(annotationInterceptors); interceptors.addAll(this.getInterceptors()); final HandlerChain chain = buildHandlerChain(interceptors, new HandlerChain<SayHelloInput>() { @Override public Response next(ChainedRequestInput<SayHelloInput> input) { return handle(new SayHelloRequestInput(input.getEvent(), input.getContext(), input.getInterceptorContext(), input.getInput())); } }); final Response response = chain.next(new ChainedRequestInput<SayHelloInput>() { @Override public HandlerChain getChain() { // The chain's next method ignores the chain given as input, and is pre-built to follow the remaining // chain. return null; } @Override public APIGatewayProxyRequestEvent getEvent() { return event; } @Override public Context getContext() { return context; } @Override public SayHelloInput getInput() { return new SayHelloInput(event); } @Override public Map<String, Object> getInterceptorContext() { return interceptorContext; } }); return new APIGatewayProxyResponseEvent() .withStatusCode(response.getStatusCode()) .withHeaders(response.getHeaders()) .withBody(response.getBody()); } } public static abstract class HandlerRouter implements RequestHandler<APIGatewayProxyRequestEvent, APIGatewayProxyResponseEvent> { private static final String sayHelloMethodAndPath = concatMethodAndPath(\\"GET\\", \\"/hello\\"); private final SayHello constructedSayHello; /** * This method must return your implementation of the SayHello operation */ public abstract SayHello sayHello(); private static enum Route { sayHelloRoute, } /** * Map of method and path to the route to map to */ private final Map<String, Route> routes = new HashMap<>(); public HandlerRouter() { this.routes.put(sayHelloMethodAndPath, Route.sayHelloRoute); // Handlers are all constructed in the router's constructor such that lambda behaviour remains consistent; // ie resources created in the constructor remain in memory between invocations. // https://docs.aws.amazon.com/lambda/latest/dg/java-handler.html this.constructedSayHello = this.sayHello(); } /** * For more complex interceptors that require instantiation with parameters, you may override this method to * return a list of instantiated interceptors. For simple interceptors with no need for constructor arguments, * prefer the @Interceptors annotation. */ public <T> List<Interceptor<T>> getInterceptors() { return Collections.emptyList(); } @Override public APIGatewayProxyResponseEvent handleRequest(final APIGatewayProxyRequestEvent event, final Context context) { String method = event.getRequestContext().getHttpMethod(); String path = event.getRequestContext().getResourcePath(); String methodAndPath = concatMethodAndPath(method, path); Route route = this.routes.get(methodAndPath); switch (route) { case sayHelloRoute: List<Interceptor<SayHelloInput>> sayHelloInterceptors = getAnnotationInterceptors(this.getClass()); sayHelloInterceptors.addAll(this.getInterceptors()); return this.constructedSayHello.handleRequestWithAdditionalInterceptors(event, context, sayHelloInterceptors); default: throw new RuntimeException(String.format(\\"No registered handler for method {} and path {}\\", method, path)); } } } }", "generated/java/src/main/java/com/generated/api/testjava/client/api/DefaultApi/OperationConfig.java": "package com.generated.api.testjava.client.api; import com.generated.api.testjava.client.model.*; import com.generated.api.testjava.client.model.ApiErrorResponseContent; import com.generated.api.testjava.client.model.SayHelloResponseContent; import java.util.HashMap; import java.util.Map; // Generic type for object \\"keyed\\" by operation names @javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\") @lombok.Builder @lombok.Getter public class OperationConfig<T> { private T sayHello; public Map<String, T> asMap() { Map<String, T> map = new HashMap<>(); map.put(\\"sayHello\\", this.sayHello); return map; } } ", "generated/java/src/main/java/com/generated/api/testjava/client/api/DefaultApi/OperationLookup.java": "package com.generated.api.testjava.client.api; import com.generated.api.testjava.client.model.*; import com.generated.api.testjava.client.model.ApiErrorResponseContent; import com.generated.api.testjava.client.model.SayHelloResponseContent; import java.util.HashMap; import java.util.Map; // Look up path and http method for a given operation name @javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\") public class OperationLookup { /** * Returns the operation lookup information for the OpenApiGatewayLambdaApi construct */ public static Map<String, Map<String, String>> getOperationLookup() { final Map<String, Map<String, String>> config = new HashMap<>(); config.put(\\"sayHello\\", new HashMap<String, String>() { { put(\\"path\\", \\"/hello\\"); put(\\"method\\", \\"GET\\"); } }); return config; } } ", "generated/java/src/main/java/com/generated/api/testjava/client/api/DefaultApi/Operations.java": "package com.generated.api.testjava.client.api; @javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\") public class Operations { /** * Returns an OperationConfig Builder with all values populated with the given value. * You can override specific values on the builder if you like. * Make sure you call \`.build()\` at the end to construct the OperationConfig. */ public static <T> OperationConfig.OperationConfigBuilder<T> all(final T value) { return OperationConfig.<T>builder() .sayHello(value) ; } } ", "generated/java/src/main/java/com/generated/api/testjava/client/auth/ApiKeyAuth.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client.auth; import com.generated.api.testjava.client.ApiException; import com.generated.api.testjava.client.Pair; import java.net.URI; import java.util.Map; import java.util.List; @javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\") public class ApiKeyAuth implements Authentication { private final String location; private final String paramName; private String apiKey; private String apiKeyPrefix; public ApiKeyAuth(String location, String paramName) { this.location = location; this.paramName = paramName; } public String getLocation() { return location; } public String getParamName() { return paramName; } public String getApiKey() { return apiKey; } public void setApiKey(String apiKey) { this.apiKey = apiKey; } public String getApiKeyPrefix() { return apiKeyPrefix; } public void setApiKeyPrefix(String apiKeyPrefix) { this.apiKeyPrefix = apiKeyPrefix; } @Override public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, String payload, String method, URI uri) throws ApiException { if (apiKey == null) { return; } String value; if (apiKeyPrefix != null) { value = apiKeyPrefix + \\" \\" + apiKey; } else { value = apiKey; } if (\\"query\\".equals(location)) { queryParams.add(new Pair(paramName, value)); } else if (\\"header\\".equals(location)) { headerParams.put(paramName, value); } else if (\\"cookie\\".equals(location)) { cookieParams.put(paramName, value); } } } ", "generated/java/src/main/java/com/generated/api/testjava/client/auth/Authentication.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client.auth; import com.generated.api.testjava.client.Pair; import com.generated.api.testjava.client.ApiException; import java.net.URI; import java.util.Map; import java.util.List; public interface Authentication { /** * Apply authentication settings to header and query params. * * @param queryParams List of query parameters * @param headerParams Map of header parameters * @param cookieParams Map of cookie parameters * @param payload HTTP request body * @param method HTTP method * @param uri URI * @throws ApiException if failed to update the parameters */ void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, String payload, String method, URI uri) throws ApiException; } ", "generated/java/src/main/java/com/generated/api/testjava/client/auth/HttpBasicAuth.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client.auth; import com.generated.api.testjava.client.Pair; import com.generated.api.testjava.client.ApiException; import okhttp3.Credentials; import java.net.URI; import java.util.Map; import java.util.List; import java.io.UnsupportedEncodingException; public class HttpBasicAuth implements Authentication { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, String payload, String method, URI uri) throws ApiException { if (username == null && password == null) { return; } headerParams.put(\\"Authorization\\", Credentials.basic( username == null ? \\"\\" : username, password == null ? \\"\\" : password)); } } ", "generated/java/src/main/java/com/generated/api/testjava/client/auth/HttpBearerAuth.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client.auth; import com.generated.api.testjava.client.ApiException; import com.generated.api.testjava.client.Pair; import java.net.URI; import java.util.Map; import java.util.List; @javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\") public class HttpBearerAuth implements Authentication { private final String scheme; private String bearerToken; public HttpBearerAuth(String scheme) { this.scheme = scheme; } /** * Gets the token, which together with the scheme, will be sent as the value of the Authorization header. * * @return The bearer token */ public String getBearerToken() { return bearerToken; } /** * Sets the token, which together with the scheme, will be sent as the value of the Authorization header. * * @param bearerToken The bearer token to send in the Authorization header */ public void setBearerToken(String bearerToken) { this.bearerToken = bearerToken; } @Override public void applyToParams(List<Pair> queryParams, Map<String, String> headerParams, Map<String, String> cookieParams, String payload, String method, URI uri) throws ApiException { if (bearerToken == null) { return; } headerParams.put(\\"Authorization\\", (scheme != null ? upperCaseBearer(scheme) + \\" \\" : \\"\\") + bearerToken); } private static String upperCaseBearer(String scheme) { return (\\"bearer\\".equalsIgnoreCase(scheme)) ? \\"Bearer\\" : scheme; } } ", "generated/java/src/main/java/com/generated/api/testjava/client/model/AbstractOpenApiSchema.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client.model; import com.generated.api.testjava.client.ApiException; import java.util.Objects; import java.lang.reflect.Type; import java.util.Map; import javax.ws.rs.core.GenericType; //import com.fasterxml.jackson.annotation.JsonValue; /** * Abstract class for oneOf,anyOf schemas defined in OpenAPI spec */ @lombok.AllArgsConstructor @lombok.experimental.SuperBuilder @javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\") public abstract class AbstractOpenApiSchema { // store the actual instance of the schema/object private Object instance; // is nullable private Boolean isNullable; // schema type (e.g. oneOf, anyOf) private final String schemaType; public AbstractOpenApiSchema(String schemaType, Boolean isNullable) { this.schemaType = schemaType; this.isNullable = isNullable; } /** * Get the list of oneOf/anyOf composed schemas allowed to be stored in this object * * @return an instance of the actual schema/object */ public abstract Map<String, GenericType> getSchemas(); /** * Get the actual instance * * @return an instance of the actual schema/object */ //@JsonValue public Object getActualInstance() {return instance;} /** * Set the actual instance * * @param instance the actual instance of the schema/object */ public void setActualInstance(Object instance) {this.instance = instance;} /** * Get the instant recursively when the schemas defined in oneOf/anyof happen to be oneOf/anyOf schema as well * * @return an instance of the actual schema/object */ public Object getActualInstanceRecursively() { return getActualInstanceRecursively(this); } private Object getActualInstanceRecursively(AbstractOpenApiSchema object) { if (object.getActualInstance() == null) { return null; } else if (object.getActualInstance() instanceof AbstractOpenApiSchema) { return getActualInstanceRecursively((AbstractOpenApiSchema)object.getActualInstance()); } else { return object.getActualInstance(); } } /** * Get the schema type (e.g. anyOf, oneOf) * * @return the schema type */ public String getSchemaType() { return schemaType; } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(\\"class \\").append(getClass()).append(\\" {\\\\n\\"); sb.append(\\" instance: \\").append(toIndentedString(instance)).append(\\"\\\\n\\"); sb.append(\\" isNullable: \\").append(toIndentedString(isNullable)).append(\\"\\\\n\\"); sb.append(\\" schemaType: \\").append(toIndentedString(schemaType)).append(\\"\\\\n\\"); sb.append(\\"}\\"); return sb.toString(); } /** * Convert the given object to string with each line indented by 4 spaces * (except the first line). */ private String toIndentedString(Object o) { if (o == null) { return \\"null\\"; } return o.toString().replace(\\"\\\\n\\", \\"\\\\n \\"); } public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } AbstractOpenApiSchema a = (AbstractOpenApiSchema) o; return Objects.equals(this.instance, a.instance) && Objects.equals(this.isNullable, a.isNullable) && Objects.equals(this.schemaType, a.schemaType); } @Override public int hashCode() { return Objects.hash(instance, isNullable, schemaType); } /** * Is nullable * * @return true if it's nullable */ public Boolean isNullable() { if (Boolean.TRUE.equals(isNullable)) { return Boolean.TRUE; } else { return Boolean.FALSE; } } } ", "generated/java/src/main/java/com/generated/api/testjava/client/model/ApiErrorResponseContent.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client.model; import java.util.Objects; import java.util.Arrays; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonArray; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParseException; import com.google.gson.TypeAdapterFactory; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import com.generated.api.testjava.client.JSON; /** * ApiErrorResponseContent */ @lombok.AllArgsConstructor @lombok.experimental.SuperBuilder @javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\") public class ApiErrorResponseContent { public static final String SERIALIZED_NAME_ERROR_MESSAGE = \\"errorMessage\\"; @SerializedName(SERIALIZED_NAME_ERROR_MESSAGE) private String errorMessage; public ApiErrorResponseContent() { } public ApiErrorResponseContent errorMessage(String errorMessage) { this.errorMessage = errorMessage; return this; } /** * Get errorMessage * @return errorMessage **/ @javax.annotation.Nonnull public String getErrorMessage() { return errorMessage; } public void setErrorMessage(String errorMessage) { this.errorMessage = errorMessage; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } ApiErrorResponseContent apiErrorResponseContent = (ApiErrorResponseContent) o; return Objects.equals(this.errorMessage, apiErrorResponseContent.errorMessage); } @Override public int hashCode() { return Objects.hash(errorMessage); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(\\"class ApiErrorResponseContent {\\\\n\\"); sb.append(\\" errorMessage: \\").append(toIndentedString(errorMessage)).append(\\"\\\\n\\"); sb.append(\\"}\\"); return sb.toString(); } /** * Convert the given object to string with each line indented by 4 spaces * (except the first line). */ private String toIndentedString(Object o) { if (o == null) { return \\"null\\"; } return o.toString().replace(\\"\\\\n\\", \\"\\\\n \\"); } public static HashSet<String> openapiFields; public static HashSet<String> openapiRequiredFields; static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet<String>(); openapiFields.add(\\"errorMessage\\"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet<String>(); openapiRequiredFields.add(\\"errorMessage\\"); } /** * Validates the JSON Object and throws an exception if issues found * * @param jsonObj JSON Object * @throws IOException if the JSON Object is invalid with respect to ApiErrorResponseContent */ public static void validateJsonObject(JsonObject jsonObj) throws IOException { if (jsonObj == null) { if (!ApiErrorResponseContent.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null throw new IllegalArgumentException(String.format(\\"The required field(s) %s in ApiErrorResponseContent is not found in the empty JSON string\\", ApiErrorResponseContent.openapiRequiredFields.toString())); } } Set<Entry<String, JsonElement>> entries = jsonObj.entrySet(); // check to see if the JSON string contains additional fields for (Entry<String, JsonElement> entry : entries) { if (!ApiErrorResponseContent.openapiFields.contains(entry.getKey())) { throw new IllegalArgumentException(String.format(\\"The field \`%s\` in the JSON string is not defined in the \`ApiErrorResponseContent\` properties. JSON: %s\\", entry.getKey(), jsonObj.toString())); } } // check to make sure all required properties/fields are present in the JSON string for (String requiredField : ApiErrorResponseContent.openapiRequiredFields) { if (jsonObj.get(requiredField) == null) { throw new IllegalArgumentException(String.format(\\"The required field \`%s\` is not found in the JSON string: %s\\", requiredField, jsonObj.toString())); } } if (!jsonObj.get(\\"errorMessage\\").isJsonPrimitive()) { throw new IllegalArgumentException(String.format(\\"Expected the field \`errorMessage\` to be a primitive type in the JSON string but got \`%s\`\\", jsonObj.get(\\"errorMessage\\").toString())); } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { @SuppressWarnings(\\"unchecked\\") @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) { if (!ApiErrorResponseContent.class.isAssignableFrom(type.getRawType())) { return null; // this class only serializes 'ApiErrorResponseContent' and its subtypes } final TypeAdapter<JsonElement> elementAdapter = gson.getAdapter(JsonElement.class); final TypeAdapter<ApiErrorResponseContent> thisAdapter = gson.getDelegateAdapter(this, TypeToken.get(ApiErrorResponseContent.class)); return (TypeAdapter<T>) new TypeAdapter<ApiErrorResponseContent>() { @Override public void write(JsonWriter out, ApiErrorResponseContent value) throws IOException { JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); elementAdapter.write(out, obj); } @Override public ApiErrorResponseContent read(JsonReader in) throws IOException { JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); validateJsonObject(jsonObj); return thisAdapter.fromJsonTree(jsonObj); } }.nullSafe(); } } /** * Create an instance of ApiErrorResponseContent given an JSON string * * @param jsonString JSON string * @return An instance of ApiErrorResponseContent * @throws IOException if the JSON string is invalid with respect to ApiErrorResponseContent */ public static ApiErrorResponseContent fromJson(String jsonString) throws IOException { return JSON.getGson().fromJson(jsonString, ApiErrorResponseContent.class); } /** * Convert an instance of ApiErrorResponseContent to an JSON string * * @return JSON string */ public String toJson() { return JSON.getGson().toJson(this); } } ", "generated/java/src/main/java/com/generated/api/testjava/client/model/SayHelloResponseContent.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client.model; import java.util.Objects; import java.util.Arrays; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonArray; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParseException; import com.google.gson.TypeAdapterFactory; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import com.generated.api.testjava.client.JSON; /** * SayHelloResponseContent */ @lombok.AllArgsConstructor @lombok.experimental.SuperBuilder @javax.annotation.Generated(value = \\"org.openapitools.codegen.languages.JavaClientCodegen\\") public class SayHelloResponseContent { public static final String SERIALIZED_NAME_MESSAGE = \\"message\\"; @SerializedName(SERIALIZED_NAME_MESSAGE) private String message; public SayHelloResponseContent() { } public SayHelloResponseContent message(String message) { this.message = message; return this; } /** * Get message * @return message **/ @javax.annotation.Nonnull public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } SayHelloResponseContent sayHelloResponseContent = (SayHelloResponseContent) o; return Objects.equals(this.message, sayHelloResponseContent.message); } @Override public int hashCode() { return Objects.hash(message); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(\\"class SayHelloResponseContent {\\\\n\\"); sb.append(\\" message: \\").append(toIndentedString(message)).append(\\"\\\\n\\"); sb.append(\\"}\\"); return sb.toString(); } /** * Convert the given object to string with each line indented by 4 spaces * (except the first line). */ private String toIndentedString(Object o) { if (o == null) { return \\"null\\"; } return o.toString().replace(\\"\\\\n\\", \\"\\\\n \\"); } public static HashSet<String> openapiFields; public static HashSet<String> openapiRequiredFields; static { // a set of all properties/fields (JSON key names) openapiFields = new HashSet<String>(); openapiFields.add(\\"message\\"); // a set of required properties/fields (JSON key names) openapiRequiredFields = new HashSet<String>(); openapiRequiredFields.add(\\"message\\"); } /** * Validates the JSON Object and throws an exception if issues found * * @param jsonObj JSON Object * @throws IOException if the JSON Object is invalid with respect to SayHelloResponseContent */ public static void validateJsonObject(JsonObject jsonObj) throws IOException { if (jsonObj == null) { if (!SayHelloResponseContent.openapiRequiredFields.isEmpty()) { // has required fields but JSON object is null throw new IllegalArgumentException(String.format(\\"The required field(s) %s in SayHelloResponseContent is not found in the empty JSON string\\", SayHelloResponseContent.openapiRequiredFields.toString())); } } Set<Entry<String, JsonElement>> entries = jsonObj.entrySet(); // check to see if the JSON string contains additional fields for (Entry<String, JsonElement> entry : entries) { if (!SayHelloResponseContent.openapiFields.contains(entry.getKey())) { throw new IllegalArgumentException(String.format(\\"The field \`%s\` in the JSON string is not defined in the \`SayHelloResponseContent\` properties. JSON: %s\\", entry.getKey(), jsonObj.toString())); } } // check to make sure all required properties/fields are present in the JSON string for (String requiredField : SayHelloResponseContent.openapiRequiredFields) { if (jsonObj.get(requiredField) == null) { throw new IllegalArgumentException(String.format(\\"The required field \`%s\` is not found in the JSON string: %s\\", requiredField, jsonObj.toString())); } } if (!jsonObj.get(\\"message\\").isJsonPrimitive()) { throw new IllegalArgumentException(String.format(\\"Expected the field \`message\` to be a primitive type in the JSON string but got \`%s\`\\", jsonObj.get(\\"message\\").toString())); } } public static class CustomTypeAdapterFactory implements TypeAdapterFactory { @SuppressWarnings(\\"unchecked\\") @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) { if (!SayHelloResponseContent.class.isAssignableFrom(type.getRawType())) { return null; // this class only serializes 'SayHelloResponseContent' and its subtypes } final TypeAdapter<JsonElement> elementAdapter = gson.getAdapter(JsonElement.class); final TypeAdapter<SayHelloResponseContent> thisAdapter = gson.getDelegateAdapter(this, TypeToken.get(SayHelloResponseContent.class)); return (TypeAdapter<T>) new TypeAdapter<SayHelloResponseContent>() { @Override public void write(JsonWriter out, SayHelloResponseContent value) throws IOException { JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); elementAdapter.write(out, obj); } @Override public SayHelloResponseContent read(JsonReader in) throws IOException { JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject(); validateJsonObject(jsonObj); return thisAdapter.fromJsonTree(jsonObj); } }.nullSafe(); } } /** * Create an instance of SayHelloResponseContent given an JSON string * * @param jsonString JSON string * @return An instance of SayHelloResponseContent * @throws IOException if the JSON string is invalid with respect to SayHelloResponseContent */ public static SayHelloResponseContent fromJson(String jsonString) throws IOException { return JSON.getGson().fromJson(jsonString, SayHelloResponseContent.class); } /** * Convert an instance of SayHelloResponseContent to an JSON string * * @return JSON string */ public String toJson() { return JSON.getGson().toJson(this); } } ", "generated/java/src/test/java/com/generated/api/testjava/client/api/DefaultApiTest.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client.api; import com.generated.api.testjava.client.ApiException; import com.generated.api.testjava.client.model.ApiErrorResponseContent; import com.generated.api.testjava.client.model.SayHelloResponseContent; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * API tests for DefaultApi */ @Disabled public class DefaultApiTest { private final DefaultApi api = new DefaultApi(); /** * @throws ApiException if the Api call fails */ @Test public void sayHelloTest() throws ApiException { String name = null; SayHelloResponseContent response = api.sayHello(name) .execute(); // TODO: test validations } } ", "generated/java/src/test/java/com/generated/api/testjava/client/model/ApiErrorResponseContentTest.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client.model; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** * Model tests for ApiErrorResponseContent */ public class ApiErrorResponseContentTest { private final ApiErrorResponseContent model = new ApiErrorResponseContent(); /** * Model tests for ApiErrorResponseContent */ @Test public void testApiErrorResponseContent() { // TODO: test ApiErrorResponseContent } /** * Test the property 'errorMessage' */ @Test public void errorMessageTest() { // TODO: test errorMessage } } ", "generated/java/src/test/java/com/generated/api/testjava/client/model/SayHelloResponseContentTest.java": "/* * Hello * A sample smithy api * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ package com.generated.api.testjava.client.model; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import java.io.IOException; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** * Model tests for SayHelloResponseContent */ public class SayHelloResponseContentTest { private final SayHelloResponseContent model = new SayHelloResponseContent(); /** * Model tests for SayHelloResponseContent */ @Test public void testSayHelloResponseContent() { // TODO: test SayHelloResponseContent } /** * Test the property 'message' */ @Test public void messageTest() { // TODO: test message } } ", "pom.xml": "<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?> <project xsi:schemaLocation=\\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\\" xmlns=\\"http://maven.apache.org/POM/4.0.0\\" xmlns:xsi=\\"http://www.w3.org/2001/XMLSchema-instance\\"> <modelVersion>4.0.0</modelVersion> <groupId>com.test</groupId> <artifactId>test</artifactId> <version>1.0.0</version> <packaging>jar</packaging> <name>test</name> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <repositories> <repository> <url>file://./generated/java/dist/java</url> <id>generated-java-api-client</id> </repository> </repositories> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>3.0.0-M3</version> <configuration> <rules> <requireMavenVersion> <version>3.6</version> </requireMavenVersion> </rules> </configuration> <executions> <execution> <id>enforce-maven</id> <goals> <goal>enforce</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <archive> <index>true</index> <manifest> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.2.0</version> <configuration> <failOnError>false</failOnError> <show>protected</show> <detectJavaApiLink>false</detectJavaApiLink> <additionalJOptions> <additionalJOption>-J-XX:+TieredCompilation</additionalJOption> <additionalJOption>-J-XX:TieredStopAtLevel=1</additionalJOption> </additionalJOptions> </configuration> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.3.0</version> <configuration> <createDependencyReducedPom>false</createDependencyReducedPom> <finalName>test-1.0.0</finalName> </configuration> <executions> <execution> <id>shade-task</id> <goals> <goal>shade</goal> </goals> <phase>package</phase> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>3.2.1</version> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>3.0.0</version> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>[2.0.0,3.0.0)</version> </dependency> <dependency> <groupId>com.generated.api</groupId> <artifactId>test-java</artifactId> <version>0.0.0</version> </dependency> <dependency> <groupId>io.github.cdklabs</groupId> <artifactId>cdknag</artifactId> <version>[2.0.0,3.0.0)</version> </dependency> <dependency> <groupId>io.github.cdklabs</groupId> <artifactId>projen</artifactId> <version>(,1.0.0)</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>[1.0.0,2.0.0)</version> </dependency> <dependency> <groupId>software.amazon.awscdk</groupId> <artifactId>aws-cdk-lib</artifactId> <version>[2.0.0,3.0.0)</version> </dependency> <dependency> <groupId>software.aws.awsprototypingsdk</groupId> <artifactId>open-api-gateway</artifactId> <version>(,1.0.0)</version> </dependency> <dependency> <groupId>software.constructs</groupId> <artifactId>constructs</artifactId> <version>[10.0.0,11.0.0)</version> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>5.7.0</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>5.7.0</version> <scope>test</scope> </dependency> </dependencies> </project> <!-- ~~ Generated by projen. To modify, edit src/test/java/projenrc.java and run \\"npx projen\\". -->", "smithy/build.gradle": "// ~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\". plugins { id \\"software.amazon.smithy\\" version \\"0.6.0\\" } sourceSets { main { java { srcDirs = ['src/main/smithy'] } } } // Dependencies can be added by configuring smithyBuildOptions in your .projenrc file repositories { mavenLocal() mavenCentral() } // Dependencies can be added by configuring smithyBuildOptions in your .projenrc file dependencies { implementation \\"software.amazon.smithy:smithy-cli:1.28.0\\" implementation \\"software.amazon.smithy:smithy-model:1.28.0\\" implementation \\"software.amazon.smithy:smithy-openapi:1.28.0\\" implementation \\"software.amazon.smithy:smithy-aws-traits:1.28.0\\" } task generate(type: JavaExec) { configurations.implementation.setCanBeResolved(true) classpath = configurations.implementation mainClass.set('software.amazon.smithy.cli.SmithyCli') if (project.hasProperty(\\"config\\") && project.hasProperty(\\"output\\") && project.hasProperty(\\"discover\\")) { args(\\"build\\", \\"--config\\", file(project.getProperty(\\"config\\")).toString(), \\"--output\\", file(project.getProperty(\\"output\\")).toString(), \\"--discover\\", file(project.getProperty(\\"discover\\")).toString()) } } ", "smithy/gradle/wrapper/gradle-wrapper.jar": "PK �����A������������ ���META-INF/�PK �����A�m�>=@���?������META-INF/MANIFEST.MF�M��LK-.� K-*��ϳR0�3����-�I�M�+I, �d��Z)�%��*�%��r�r�PK �����A���������������org/�PK �����A���������������org/gradle/�PK �����A���������������org/gradle/wrapper/�PK �����A�Pr��� ��-��*���org/gradle/wrapper/GradleWrapperMain.class�Xx�����բr��\\"�E;�\\"L1X�! $| @D������n��%N�t��F��'q N����Nwz��齓�8�g�t�� }�>4����+�{���>��e�k�\\"�T��R���rx����y*J$��Wp����B?^$ /V��Ôs~�L��UTI�*�B.�RÅ«p^��U�qɯQ�Z�N��[����*���Ñ7��foQ�Vux��Z�]�;T,���;��ǻT��n�����rx����������U|��0R*F1��\\"R0��#*6á’Š;pÙ+r�G�xX�#��cr��*>�O��S����H�G�H�?�����*��/�����+*v�sw�ki���n�w��kW���==�]����)�1�LJ�m+j��j�����Ѥ!,������no�ȩN����l��P�P6�l��#���P�~_�9@m�H�Øï¿½3��XÔF��zt�nE�<M������i 5Y�@�h<m�##�ոÙpg��H�N�b��:Tè²£]��(��cY@MKÞ©[�.G�l��\\\\-�L.�#!)�e�v[��%#��0�Q�mg4��j�bz|@:��ᡠ�~3~��� ���&l#�'�*K@��6�P�;��y�t�d�#{e\\"O,!r�KÚ‘h�$]���ꥱf�~�DÍ¡!i��(��E�HS���I�$�/��\\\\��3��뎂�18��@>D*�mpn�rg2ⵡ<Z~\\\\�Җe+����LOid&5��ػ��k�(-�!v������c� fe�n�5�'m��v3h�,��ݶ�b�>�$���� M�S�Nk��b�v�I��p�|N�A[-2<D����QS�[C���\`F�:��o����d�N\`(�Zé²JR�aæ°†o�� ����yN �LF[\`��q�4|?��C�H��5��1�&��CO3�~��)���_��\\"x����pOW�+ ��o�{��)�r4�S�.���k$���Ep��n�$F�YcI������=���h%lN$^L8ס?��Zv�%w��ɺ'��I��5���7ܿ㪆�*����k�@YΖ�_rß¿<��?xB�5:$1CE§�bM�p��9ADj2'�%�v$fd)_�5Q*�� �xM��L\`K���vp���1�0�/��� �V0�I�?8h��\`?{�1=a�/M,_���]ǎ��&41S�+WD�&*E�\\"��S���\\\\�pU�51G�eF�y����|I\\\\ �\\"j�y(�΅���:��Ѳ��45O��O�y�&Å’P�t�S���ѳ�^GDW��M���-�P2f���L�ȕ�s02����Kj\\\\�3��;�y��x�άmNq\`�2��v1o�]vS%���M�*gIai�ϛ��R#/ I�EV�@(_1��� �����-�Z��z��y=�0��BS5���U�U^'z��jN1u(���8�D�*� ��U�=�=]���Cd~��\`>Eå��Zx��Ǵ0͜�-N7J3s��D��^�����}Q����.oV���Bӊ������JT*&�N�u]��6�6�G��>�&�O0�V�>ۘ��<Qȯ���#�1�-�/�����7�Zk����\\\\,3�N����sK{���6���)/���������#���?l8�y�dR�����nwk�?H�������!�=^����WZ���83O�i�є�!���.Mx��LÑB*�������TI��BՖ��Mt$O� �f/���<ӳ�M����~�{]�v�<�¦y\\"9��N�\`�~���'�5cvs6e�we�5��d�+8ß›5���߼�s�!������ �����˱�!����2�����R�� ��Y��Qe�=2����1�vq(�=���Q(M�_ �5��K(�+ �u��Zw 3S(�$WHr�$Gw��k����_C ��J�0�I�QH-���Ma^ 55\\\\�������¦ҕcXÔ¤Ö¨ ���)���!Å��#�(�b�8�Rֲ�Oz��� t��֣+0+����Ñ5�&b��� 0p3�\`�D��f�c��c+F��ވ��v'|��^:LDKqG�5����(��������$�1@Ôrn\`�1�s�P���w���9�t'(�<m�\\"ƈ�=&��I:BYE�]LTB}+��h� ��Vd&�(w��@Ý®C��P���+�8$��:��!�V�!�_e�J�߅�,geY��(\\"�ђ�+���U�[h�I�Q���'K�܌8>R��#�3��PSX���6�p�m�afx��V��+T�hNa�=�'��[}������{[G�+���\\"� \\\\��jE�GrSh#n�v\\"�J��m�\\"в ���R5h!R��q+m��d� n�������8�Y5w�f� �k�:˯�L8w�����o�����T��N�JU�M;��dP�(Ka�ݘ�X,';R�f��S�X�t�j1�A�����DWi��Q�C7�fSZM�8vRzU����D�ĕ�� <���PK �����A���.q/���3���#���gradle-wrapper-classpath.properties+(��JM.)�M/JL�I�M��Ô2Ë‹ R�t�3�RS��J�J2sSm��PK �����A������������)���gradle-wrapper-parameter-names.properties�PK �����A���������������org/gradle/cli/�PK �����A���?�<��S��1���org/gradle/cli/AbstractCommandLineConverter.class�T]oA=���\\"��~C?��R*O��h4!����aY�m\`�C��ߢ/4����2��P���a��9{�s���?�PF�@;:v D�c@���{xY9y�x��\\\\Yc�fs�ڑ߱V�g{m[�x�KH��[�{ʅ�'�&?��b�N��ӵKV�-��)�%��^�{������m!mQaظ������|�j�U��n���l㌟�R�{N�����}f[��C�����-��k��ږ�=,È��؂ak^���߫�^t��֔���-J��_,�/]���c��t�ˡ�+;X���r��C�uVQCW� u�h�Ca�oÜ ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½1a�6C���2Qľ�L��K�� &�!9��a{ Q�23Qu�{�'�M���~rÕ���3|i153�mn�Devf���߆J����~-C�H�;\\"d�9�����edc���Dq�ָSX��\`I�w/!)��:�Fy�7���_�|�@�8_A�#��F��VX!�K\`���R~�;�x��)�>=�N�Rnp���؜�c�h��âŸï¿½ï¿½Ï”�4=c/�-e��PK �����A�׃��X��� ��;���org/gradle/cli/AbstractPropertiesCommandLineConverter.class�V[WU�N2��0� H��Ԅ��KK�IQJ�������;L�0f���O��Z��Z_�t������A��}N.i�2Y9��}���;�v���O�6�Q0��e|�\`�|��\`w,�'?�� ��H����\` �=�� V���>�B��x�����&c��.cC���i���?]c���З1-c���i8��\\"qB[׊k�cr�Ɣ�m�e����B��h���Ћfb~��M�V�d8�i��ޞf����'��$ F]�p�䙶�0�fv�}-QÔ¬B\\"�9�U ёѻ���E#�0�f���f�[��-�Pv�T�4��V5�%\\\\���X3L�X����QgIW����W]�p��0�?���:���ĒVJFO���MA\`i Ò®q�����A�1\\\\W@ ��\\\\�A܊�A)5\\"ɓ�4����8,��F�h�J+g�^�z��K��a�@7��e<��f͂�y\\"�߾�;D='���+�;��%��,��W��J�/G�d����L�Xg<�m�x#����x �*&0.�Ko '�+�A�|g��<ß¡�o�(\`[��b�*��Sa���������Â��C���%M�U�4�ܹz��%�LEu|t��g�1qBu�)���k$1���� 5����xE;i1g��Yu[s밨��D:2�KZM�u6�?Al��T'�[�'\\\\�L�z ��o�B��E�1]^����.���&�z6�K�Z6<��S+Y�h~�u.�V�8X�b��u���2��i�t�e��d��N�۾��H;�4A��?2/y/���j���~���43�1���ˀ$� ��<�g�yWjFK$���j,�� �t��D��� �� �'R��k���$G �}/a�N�ƫ֪�j�~�����DH���AR����� ͹?��� �#�0,_;���iq��9|��)�[A�l �q\\"��0���%�T���q�Զ��9��N����R�7��3�w��o��=\\"\\\\�� �b��j��kD�����Q0����-��#Ku�s�u��Q��Ā�ٿ���c�c�ں)�Q��=��[��tx�V��p�2�?�\`�'g[��:��YMᶘ��PK �����A�}��yG��K��1���org/gradle/cli/CommandLineArgumentException.class���J1�O�3���Zm+���U�V \\" ��–��i�Ff�̨������$-U�fq�{r�wO�����34K(\`Ë„mu �����=}�^DE��S�E�=.�T}.�m���Q���/ ��&���t��_��G�\\"�]�8�bl *�b&ҫ�=�\\\\�.��$����rA�^��2�(�d�[�ŀf�&Õ—V��2S���o�/c�PF� ��?^E��5�.)���-��/��1ttu��yN�N�3y��+:���ԕ;XէƬJ�k�⠌u�0�ʜu�g���;�S�~��tӾ���0w3�*6��M�]�PK �����A�������g��)���org/gradle/cli/CommandLineConverter.class�QMK�@}���ԯ�'�\\"4 F<6� EQ($xߦ�%��vS��<��Q�6�L ]Xv�;����߯o��8w�upJp�L-�6�~/���S���b�f�%�u<� �*D�<.�id���n$�b&לpW'<(a��R�\`�q��Kx��l�r?I�����OF�l��$�j�ήw����vRm_U�%J��������vJQ��?���_��F�%p}�b.�;o���-7Û‰Z�3��fSm���i�M�l�g����pl��~Qqk*[9�a��#��PK �����A�Sf ���g��&���org/gradle/cli/CommandLineOption.class�V[wUݓ��4�^��i�\\\\�\\"iB�����Z.�^����dL��0�p�w������ .�UY�����.���d:�ܤˇ��s�����N��~����&�m8'�|�kE�Zqo�މ�.E� .�A��A��w�h/�� iEHzWœ���ª8ɉ�C^ܾ&KFA�-A6�n� :�����T�ÖÔœf�Jh�ӳ9�.Z��ݕ�c���沩9��s��ü��V������[y^���7�B�*�����f$�Җ�8#!Z/!����e��J��D���Y�/�����j�L+��Zj��RiCO����j.3��YLj�o8��--��ZFB˘����bq��I[��eC�_�73�Haf��˚5/΄�fZ5TKkw��t� �+:3���NU�dz-��������k����j�괚w��(ʸ.!�a��pV�g�)�)�_C���{ �����c.[$�k�ҿ�l��'贡�{�RS|~2�v�?����x+��bi����zkN�u#�Y� j>��2�Z��fY�T���R�Q���xu��Wx8R���E�1�0o���g�m���74���Ór_q9��\\\\�WO�w��/j�h��z\\"#�����z�,Zi��.Z��FkP�*Ø$}��i��B+ �c��� na��]b���ᶂ�1��|(���2>R�1>aï¿½Ê Sz���5 ���xA�$>U�D��P~�.*8�� ����%>��������;���g������+Z��Ekߌ�M' g�6-�0�:��NV�ϟ=!!�{��LX\`�e2zF�I���3U�\\\\�%�N��e5CC]�Z]AáºmѸYC�Y�b�Z.+���&%�����b�\`��)�s�4�\\"((��{�j^��<�����Q�*�>\\\\����{�#�������%��N����׃\\\\��&9�I<��x����hz�\`�G4?DKyGN�!$az�Z%��V a �\\"2�� ��5(,�{�����!�۹��=��V�����$�Ij�H���a�D���/�i;��a� �������xÊ�d��8$���TŘf�+q�Y�����r�*6�:^��]�%�׸wG\\\\�788ˉ�H��ir\`��v?/'��얪�����c�Gaf�;B'��F��|v�v��rȵ#�x=��zC�8Pc.���}�vr�c���� JRÌ�i1!�h�����]�n��G��S�����������0��� �.�j�5\\"GO���� �����n��J0���.b4��-��Î�л�n=��w�\\"\`<A�F%H)$'J ^�z]�B�$��tơ�A�Òh3�_ǔ��?:kR<M�3 � :Ur�%�n�:����w���l��S�꛾�uï¿½ï¿½ï¿½Ú ï¿½Yr…��Ѷ� .�;*�ĤǪaQN\\"Z��\\\\����Շèªï¿½D��u!�zq�{9z���3uzYb�ֻ�U}y��e��z��\\\\�� _�9�q�wA4�61�Gu�M!&ְ�b����c�'s��B��J1Ϸ���P~Y�N�{Yޢ��H��PK �����A��튯��������(���org/gradle/cli/CommandLineParser$1.class��A �0E�h�� v庈k�^�(��'��P[����\\\\x�%��t���������8DbD���fs�V� ��4��ž�|�ֱ]��. ÓΕq�.�^M\\"&Ì-Eie�X�?�Ŋ0�i�6S�9v���J�R/5�-!�W�� ��_x\`�����_��$��PK �����A�$f{K��� ��;���org/gradle/cli/CommandLineParser$AfterFirstSubCommand.class�V�NQ�N)=�-PP��-���B�� AI�߶]�B�%�E|��W�D�Jb���q�n�b[����̜o�9;3{~���� V$4#�HCTB\\"b�b�8�9�ͨ�1����� �!�#�)��J-��I��Er���+�L^�$��-Y�&UMY���b��z\\\\�Ts�a����oK�-����1�zVah�����b<��y��%���_� U�B���pqꥩ3�Q0Ww�EH߼�)F\\"/ Y�8rT¡8��c� WS C�����a��MU�8���vEJ��^�&7��r$/k�Ȫi�Z.^.�sf^�M�d#'.����n����RE�i�޶���梼m} ����αƬLq���!&�A�@-��U}��(3�H��2�qW>��~�r<�a�s>��)C���0�9y�mj��V!:��|��k��\\"%����*���5&��@TZ�[AkI)����Zb�=N�ʆr2�j��� �s���噜�(�B\`4JY:TCa��e�c��U���*�b2��v�TzCɘ�gKE�ԷN���R�9�r,m:��BM}�V���{\\"O.6��u1᳠��~�-��g~�hW���Kt/�O�vs����}�+ ��=�]h��Y��,���l$� ����֊����7�� �4O?�� ��gԻ� ����h;�_��!��Ѹw�i����P����CEÓžEV�h\`l�l �,��[��m'GT&p�DA�n��E����!i�/8<~��[$�\\"���V��8z��b3%���+�>g�*h�/V!r'����e���m3=�:Ir��n w���N�0�!�؊u�2�a����I��PK �����A��D����&��3���org/gradle/cli/CommandLineParser$AfterOptions.class��mOA��{-�r-�� >W�+p��\\"�D�!$M�Fxa��g9������.��D%����2�^�rÒ’c������ffwn��׷�fqۀ�Qi�u�4��h �IS�tL�a�T�z��j�6�PÉ“5�&yյ���XO�l�ե}���G8�]���x��2CrÉ«<�+��M[>�.YN�� w�\\\\:J�I�i0d��m���xB��B�r�å†M�u0r$f����u�~�^����F����+��[.5k՗��-�o0$�����z<A�e�k�ͨ��S �b���V���g<��?�d��\`�Sm��t\\\\cX>��cg�>�v��@]7|�-ƪ�-+�CG��@�ϔ�0��j��E77�c�k��މW7xؒ�1��f�0�0y�d�8��3��5��?U�Ѷ=� q~:5�h�h�k�mq�����_�2w��C^�2 �\\\\�� �G@�I]�T�����G�i4gL��,~Ab�T �4�\\"A;�����\`È‘m��<N����~��B�hV^Z�c��\\"Ø‹Ck14���82����w$׋�g$T�]��+��tms!PI�I�H��K!z1��P��W��}��V��̉�j��F��W�_y��G�O��=���E2L�8)Ǧ�+2 v^��L�'��>�:C�٤��3q�����hb�oPK �����A���M���u��<���org/gradle/cli/CommandLineParser$BeforeFirstSubCommand.class�V�r�T���串�:�I ��I|�sk��iK�^���r�ը���,Ӿ��[��2����x�Hnb�N�0��Ϲ�ٳ���=���_~0��2Nc� K2��ȑ�!aYF�ø���� ǪP�&C�u�!��%�6>�1�u���(68 w��o�z|�a,oÙ•L�V��zF��5�VS���a�wU���9�^6Lù�ps�_�u W�ݢ���d�֬m��l4jeݾ���$��-M�n��!�M�$�2��-[�a�u��(7m2(�MS�תj���ڢ/�xWCiX;P�BNg,�YtT�)<v����a�[{���![[��G�j����Lѱ ���L�C�M��]�uØ£og��D���h[h�fzu�ox���B��Q������sG}�~\\\\�\\"���+�f��<���c��V��(gDBw�L��ň�a��Ç>���}����3%l1���T���3,�z�o���Kf�=�H�9� T_1$w�bW5�t�?��f�k��5s$]%���������4C� Y�G��p|�@EYx�.���~H@���]*�[q���r�j��;�;�k�G柮G&���SE��Qɪ���z|q��|�y���p�j���(m�j�a8� �˔Ww[E���^lq��6v����(=��WN#�#�rN�YS���.8��~��rW����������K�*b�; Q��\\"Q�iD@�r0�M�[�Ҭ$�?!�H�v����C�Iq����f�.Ɇ��1J�ᮨ�����oZ�}4�{�J��E�F�G��?�3x�/�J#����'�Gtr)I�p���g{(EOJ��T)�.>Gd�/�-�G�WZo=sP�#�\`K3�Q��[F�]F�]��pՅ���ڇ�b�Y��h@�~R ���(�!�ijJ3n�����8B�# g��HW���ܱ���a6�:Nx*��9��g\\\\��.{b���׹�ڸ��i^E��\`�� N�$��,���S�D���gq����c)�/h�R��PK �����A��*�ZM�����F���org/gradle/cli/CommandLineParser$CaseInsensitiveStringComparator.class�S]OA=w��P�Rˇ�\\"�UhAx1���ML�Ô������v��n�����/��\`|������Ek�C���9��{Ng?���&6�Q)\`�,9�5�=K&�l�fc��*!��|m2��]B�t%a��|�|�ߓzG�y�)����v�V�&��+�\\"�M?�~�\\"u$Û‘V~���Q� N���nx\\"%<i�����z��x�el_�]���Сԕ�u�݉O<��r�@ �~�M���L��5�a����]o�����'�ۑ�~&S�纽�;���>��6mÜ�#�nÔ�֛uB�_Є���\\"�[�f)����ְ�m�*����ȧ�H�j�f�p��\\\\�p �ߩLb������s� ��E����\\"L��d'h��@KÓŸ0}��1/d�MXE�n���qsYX�'>9|r9�\\\\�=�w��P�5o���y�$�L�̑��i�ft�cye��������}������l�y:E����1k-�LY�n3q�2����\\\\�u�M&:���c�#����2���OÈ���㿈(&�J\`�R�����Øï¿½p6k�0��,���X��\\\\����*w��M/��PK �����A�|�R����&��=���org/gradle/cli/CommandLineParser$KnownOptionParserState.class�X�wU��6ͤ�K�*EqD�t��;VkE��E�+.É�3uf҂�HQpCq<R��z�����7x8�3��mi�����w��%�����Z�z�%�wK�GF)6�D�e#/q^�茺IB2� ��E�,�[���\`�&,F�Q�{�Ӗ�ʨ�p#2b�*c���e܌��b�� ܂�yyD£|�_?^�'�]“L����%<#�XC�a���m�I �d�}v��nw�4����.�N�$m-��[�)�����D�a�7i��ۋ'�_)�%,: �OC�����'\\"1��H�Wsu ���B/���:�U�Ri���k�6���]#��e8.ݕ�ISs�61^<�z�����dK\`w�[i���&p�~�^+�⎙�� }�+AÖ�(=����}��1E��.+���4����rrU��1}�&y��� &%�ɖ�n'Ӄ�� \\\\[��ކ��6�e�U��E��-��P\`�l��f�=�V�TXZ?c����{���,)�o��3�(�R:{��K9�\\\\����A�(C^83�y�� +$� a��~���\\\\q�e^^�l]��2^ZyY�� ��ip ��Zi;�_op\`��p�9\\\\��������v�ֶq���K .�e �hVЂ� ��U�r\\\\��F���Z�L��׃�.��Rt��]R�[�ԩ KwT�rUWۢ���f���ZS.y�nܬ�I��� ��K���-���T��!w[�L�uȶ����P7Y�?��f �)؃Q]�T�k��5������ Ç¡\\\\��LZ���p�yq���DQ�ñ¦„·ï¿½ï¿½w��� �=�s$ں�)× Ë²v��֧�� >P�![�>��u�\\\\|���I�\\\\@-V< ���g�Z�Y͓���5ͨ-4Τ�j�ת� 窬��m͵l��Z�n����pi S�5꿗�$뻦 �b^�)��S��t<Y���'��%S�3bhTшhOï¿½ï¿½ï¿½ì” ï¿½*�*��Ӧ�o���i��3i�Z<�;��e+�R��L)�ɩF�e=��i�<����Ϫ�a}��IǸ�eR(���_U}C��&�Ls�������Ię�&Ҁ��{�D��vv}C~Z���ܣA!��m+=���4�3�{���&�����l�-9]�2��J�8��L�xï¿½Ñ©ï¿½ï¿½ï¿½ï¿½Ó ï¿½v�u�NsTOt.��J� Wd'��)��6*��$z��G:��h����#��MG��'\`�a�G�!b/��T��1O�����X\\"��Մ���kp-��XS�X���ږz'�7D��.��-��X=�1�{��*����7��_��ޯ0�(��.6������k:���QU�u�h�!�X�YQCÞ€x�8@���Zqm�Ct��<�}�Yz� דn��B��|:m7x�KH�4��G1�%��s0�Y�P��^>��d%f���sT�CP��\`�g^�� ���t ����H�@�'�؄N�r�\\"#��^h���N�oGQ7AUߑ�t$��YFRk�|����y�aC�@��g���pP����n'�I�<:\\\\(�=��p�����,���á›ï¿½ï¿½ï¿½a����ұ<��V��8�o�ST�=�G����K��Q���~�q�;~�Wq��W�|����\\\\����T���۰kqS����'��'Q.á–¿Qs�w8�Th���DL)� Gc�M�CG!O �+�m>V6�d�����hd��F��^��w�����މ&� aï¿½à ‘ï¿½W�~q���p�N߽̾2BI� �7���!�?PK �����A�$ľ�������<���org/gradle/cli/CommandLineParser$MissingOptionArgState.class��mO�P��w��*��LD�� �!� ·'�\`0�W�̚�o;��o���B��~�?��ܶ�K˒��s~�퟿�~�Œ�r:��'I*(uZG 7�ٌ��q��eМ-�rD��_��K.]S�z�3��B��js�5]���#ņ�u�,n�V��4�\\\\�k�0��#�%�r��w�����[c�U�:�3�WZ� S��6���9��^��Rzx��Z���s�u-��˲V��;���TJ��?n��I/�GQ��w|�m.�UO��Rn�!�eC�w�&à # Ö» �@��~�+���:0��r��\`��#:L�:ÕžÍ�1�𦯉��)�[�PR�2��q\\\\�U�%7�ǖڒ�#63���V��t�20�1,��K�\`<�E�����a�$�e�=y&z��a�� ������ioÙ¦ SÊžx[t���)<�L/gd�핤�=Ij$i�� ��0iOH��*���~\\"�Cj��A�Q����{�I�����gI�/),��9��������}k�4������ �q����g�2�\`���(L�B�~���e�6n0�)I')B�e���{a�I�㇡�;rL���v�\\\\ Q_Q�����ӕ;������0��AS�B�e4h��Ρd�v6l�o����_є�� �h8%1�+a��U��' ��PK �����A�TK>������=���org/gradle/cli/CommandLineParser$OptionAwareParserState.class�U�n�@=��q�$�6\\\\�%�)M�K�@)�p)E� E*o��Į��O�x�$ �J|���MÝ’*A./Þ���gf퟿���PĽ8ȩ�0*w�Tz���c\\\\�� �*L+(��cVAQ�u���4�ܮ�,�dÈ–Q/��5̂Ѱ O�p����C�{i����\\\\����e˶�;���\`�� CdÕ©Q�I��h5��xÆ« ���7*\\\\X����.C�ɶg9���Z��ŵu�6�j���I���,s���]SM��j�%�}�P����녲',��4��!�E]&���8��c$�\${�]p�G�ì§ï¿½ï¿½ï¿½o�R�NK�%�t��i��!���Ә�ÐSnbX���[XP��a �s�����L�f �+��~�a��[��f�:�~���Z�)9h��O�S������c�s��m�q�r�� |�������F���dU���ԩ��0L�����-=ƽ���_��qk�ޥvr�l0.��ϥF��|���x��!���J�Ӛ�'v�t�!}r�O�Y�Y��,T6�$�a�|i��Z�����̋dKTT���ȇC�(���<�C�(.��.#ï¿½ï¿½ì ¯ï¿½*�&�>Z�7D�!�eSZ2B���#����o��o+5U���c���Cݢ�{�� B��*^�v�#8G�Ni$�y6���+���1E�8�3$r�]��oPK �����A��%�̻�����7���org/gradle/cli/CommandLineParser$OptionComparator.class�TmO�P~���Q:� ��� �2@�.�,Y�d�Äe4��kI��?�/~#���ƨ_�� N6).]��}�s�=��~����E�%d0#����0+bN��U�J\\"E,IHs;�'\\"V8|U�Sk\\"�z6L��7�e�A(;Ã�i;�����-�V��n�����)��L�!�{䛎]v�G����� Wl�p˖�y!����P�~\`j�2U�6u���y����N_���z\`Q�W�k�H-�T�� ��T|�%|���4y�\`�P?�UK�j�wM���k��w����uz��-��֤��$�/0L���[3��xѪ��M�7-�O�7��I�R�i�u��;?Ú‘~�S��b@�����Z�a��B���h�Ο�\\\\��i���a+6eY�����g��љ{\\"!c/&��q�����v�a�[�h��ǂZ�0�0 }��mj��]{���a�=�eÑžB�$�>��P���}�4�s2�|=ѧ��Q*t�e躣K�.@ >rd ���d$S3gH|$%�!z�p'��a����!�x���D�\\"�2{��9����O蹀�S�p��Hs�wnL8�tr��I\\"��!�y�3Ⱥ2GY�v�����>i<2����<l�4!�M�{�n�V������ ��#f�dY��\\"�5���>�{}FC��NS��#ZO�q�ϣH�INQ�2(R�8��˦�S�<�i��� PK �����A��fC�������8���org/gradle/cli/CommandLineParser$OptionParserState.class���JAƿ�Y����4ն֨��JoJ�P����H.��$�:���ى� }�/��}��3����4�ߙ���Μ�����#�B���F���UB�Xie? ���o�}IXl)-O���4碛pf���D�F��8��K���J�a2i�VX�T���4�Dd�d��Vj�(6��Ȩ����B�]�Q]��AXH5�ƞ�[�����O���&��B�T3k8��N�+q#�D�8j[�tܘ��K�Md�T�̋�W^'���ۄ��d���[�w{H������ӡ�ɯ�m���s��+a��;����@(?^�Y�J�x���\\\\a{�(��$�_��ׇ{���L |�X�uf��fs'�'�8.���ygX�u+���e��/;�����������0���:^�eor�[n��}�y?�\\"k�����g�PK �����A����E������3���org/gradle/cli/CommandLineParser$OptionString.class�T�NA��z��q�ZDQ��G�QÄŸ kL�&(�[��rx�k�����/$�&>��qv[l�B�����|��������'�9<�E?L�Ĵ�4�B-�0��, �:4�(1��m�;�ᮆ{ �����#�<�׬�8t��COЈ���͢���T�ݯ�RXgP+A�aXv}ge���o���L�ͽu�Bo�xË�U�� C��wŠǣȡSk9kV-�Uϱlϵ*A����Hñš‡‘�N�S�?s���?��:幘/t*�-���W�!�h�Ï��汆/�Tww~e��Ӭe!�rg�c���DQ�<?K��9�ѱp}-� m�+�0܆0#B\\\\@�@�B<40�1/�,\`�a�ܧ;�WuB��d�:�9_�����s�f���_��v�����k�{��E��(�a�s�-���-��+� ǯ�Nm�V����nD0N�/MOW�vR/i�-�5)m���J�i Z�C$��}�fqlO��0\`�z��^�@��&�x3#�ÈH��N$RhO�h���,ï¿½ß f������6�j/�-пb�����.�'$���4��h�x\\\\��e�F&&�E��E�pL�0v��k\\"'��M����F+x��ٜ.B�;��2�l�7D�D�!nʆ�]�HdR���6fT�nG�#fZA^�F�|�\\\\�N3�_&�PK �����A�gAq����x��=���org/gradle/cli/CommandLineParser$OptionStringComparator.class�T�OA�fvÛ…e�*Z@��Rd) ��H�&ULjH�6�MY\\\\v�����ɛ�^�@��ѫ�1�ٮ(���y?����uf�|{��\\"Vt�cF�. y �:T��呆y�M�԰��Ä\\\\�];�\`P�]���[C5۵����,���s(3\\\\����-�8��v���9mÏ���6+�ѱ�E��F�u-�� ��V�����žc� �6 {$�}�����]_ï¿½Ì 5�����k��D��p�fY���tƋ��$�.���\\"�x~H8��G@�T=�WO�q<��;{�V#,wg U ��簥����^\`�����n7]���b� m��)�z��TJ�{-�am�r�LW�yyȀ���%,kx̰ٓcEV� ,7�C���=�ã¤Qdҿ�fX��t�XG,����b���O�%q,�Dφn�d�3X�w��a�^� .��h�\\"�,#����G��I�� ���n\`�,��ć?C�<�U<��������l�����S����=��)j����\\"��m*�D����� O\\"�5L�>乎�OE��;McBһ���-�!��%��.��\\"�{��N'�M��zz����Y%�B65[�m�~��k�E�T�BZÆ“q�5�<�]/h����}LѾ�>�����M�c��G��MHx���)����PK �����A�\`M~U�����2���org/gradle/cli/CommandLineParser$ParserState.class�S�o�P�N)s���97ս�&ML�f����.а.���vF�'_|�����(�-�� A���G����������mdQ��C-��6�xba�B��{�I/zI�4����\\\\�jϓ���d�b�s����?���4iF�^H(�*tU?'��tU�a���v/Pcg���w���9�\`2r�;$u�Ty�P��/�#}��@��3�I8��c�)O�;�B�/ ��Z������&���Wt��i2���qf�YC!�����z�<K�)�)�9��K�i,�y��Gm|~J���\`��s5t�z��7f0m=M���*l�[ZE�la����l<ڿ� ��aD8X~����4K��g��hx����\\"�ʿV��\`��p�#�-������6?s:I%�/&�����JP��*l�W��U�|����ZL��@�ػ�5��NL|��'Ü»T׊c��+�J)����)�O��5�c��Rz��z�x��qY5�?�M����m��6Wl�6�- /��PK �����A�p�X ���k��?���org/gradle/cli/CommandLineParser$UnknownOptionParserState.class�U�RQ=w�I�0@�(I������* �BY��$Sqt2CM&�/�/.��G�?��_7n��/XvO�B�P!.�t�۷�龧o&��}\` �5Ä�І�6Z��ɱ���I�R����5��Iψ�@�#� w���6�%K��FY\`|�q���+���[fn�)��]X6m����� ��[H,?�/dÎ’v1�깦]����V\`�0��S��'HdÞ´MoA�HelN�Z��5��S��8e�R�0��r�2�FN^Zk�5y��S�D�b?�����M�t��<AÇ���Eû/Ë‹n�R2l��M��)�ؔ�z+Ɩ��rO�Ò�Is��; �m�1&k|DNٛ��OlV���^��I����I6Sl��O�k�:7o�3y��#9�|G=�esSG�:���S����1�[Q���!0����� �mEd��6J\`$u�a6{�P���rMZ��5z� ���� }��KB�B����4%�(<>PÚ•h&ߗ�P2��e��g�v�nÓ�$�$T@|�*>A��%��W|�):�T Ð3����_qI�_q3!���t�<g)�׵:��o>�^= x�c @����C��!��:�Z_ e��Y��q�>8YM��H�E�F��w@�@9\\\\\\"��!�v�C��z��1���vñ«®¥x��&҃�k�$}ËŒf��!�u����Tsj]�p9�9�+��1��:�*�4�*4fE�!�������./1Y������?PK �����A��=��l)��&���org/gradle/cli/CommandLineParser.class�Yi\`\\\\ő�J��7zz�eÙ²=\`l��1���S>�K6����Xz�Fψ��8B����\`�\`���d��M�����ͲaÙƒ=� !l���~�ޛ�����PwOwUuUu���O�{��Y�T:�j�W5�ױ�h��/>��)��s�3 ���O�� >ס�y�R�a#��|��|��1�ׄW��%G���ģc�x��S�5��E��]��%_���fF�eu���֤P�t|Âe�&cu�����q��8&�&���䞬��JO��|</���&�u�H�&��+S4���4�e��Z9MQ�ФD�bzAJuԩ�)Ó¤\\\\�r%�m�� zE*�J�_��.3Us�.��5��ɜ|������\\\\5������|���,T�i�XG3��H�xʬf��R�,Sv-×±UV��Y~9[y�]�e�.��*�4P��4�Z���<��V�&�Q���e�\`<n��Vw%B�HS\\"��/��� Ƃ�hL�u��˂q�>7#�P\\"t��M$(�����L8?�=���cq3Ö”&LM�s�sO��A0�e�AQC(���j]��Z�-um 3f��5i��f� �≦�m�kG0�JKͶh�̚�dc�u;�13c�M������0�[�1�׬�_ݸ���a��5u�ÖX�(��^��N���1���U�&��V���QQ[Ù¥=I�Ҩ�]��k �G���-\\\\�����FÚ«m�WEc����\`kجn ���V�\\"����E�9:Gw6�v������1�|�yqe�41���P<�-l҉��H(�H�[R�s�,���J��ؽc�[����-���\`,�~;��DG���|�������K�g�lloi���5M%���9.b�I+v�����\\"�[�FU��R�o;�R��\`��FN��3#��mL=� ��4�P�%$�l���u�� * c�Late+�r\\"n���uUC��iظ̀��J���]B\\\\� k���X5�P�j���:��)B�p(^H�i%����n Z��kn��ݒ��_�>N���� ��&3A�32gR4��d��Z�8?l�y�O����m'�ˆf@��h�Ռ%sÆžU�u��6��3iÊ Å•ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½%�p77���DL�^a�E��9ÍšV\\\\�EW �p� vX8�)��4iFf(M�a��}��.��l?�F�,�N@6��7�w�3���§�E�5�F�pJ�-���f��n1�R^��:�t[���B�Y��ԙd��3���R÷���M΄A-�V�vm�ϼ�.(S�Y�n�Z�Q_;�S��[Z�x|ڜ�3�K�F�R^�9�fp�U�g�sPY�1O��/ �}��M��Xk#���I�RrÜŠ[Ü€ ܬF���D��-� �;��&-���i�{�OP<����1�Mڹ�t���\\\\Í×ku��;5�nHXv��!]r1%��� �0��Ò�t*��1��T]BØï¿½ï¿½t��-�씸!��ÇK�2C.�+%���ª2C�!W*�or�\\\\Mx��ղZ�m��U�3W����q�\\\\��lE,�r�Rz���[U���V�3�[r�!7(G�(Wr�|Û��jCn���*��%*��Ų!��wYX�����2�u]�4y��ӇY <'�k�PÍ��%w'�t�3��lu�Y9L�ÙC�'�d�R�{23$*� ��0d�\\\\/�!{�^C�/�hr��7��ܟŞkCP���Ɉ: ��\\\\lȃ���nÑE��b�\`��*�ƹc�&{�>Vi%��=f ٽ�wb��eic�^<cz|Fq(^��\`kOq+�ڈ�Z����r�#��D�B��\`$M[[��i�A�F�3-6M<�%�w��3*gT���䧆<*�i�3�Q��aJ,�F�=�-�H\\"�PѮ�\`���B-�-<��X������3��2\`����qC�+E&�l^|����”{ŦԨrë–²RC��'��!c�%��!��|>�Rĉ^�Éw�w�\`����O�F�3<,�dn>g?�_�y2��|�����%� ��z�X�>\\"�Nd1�V�f�Y72�pLb��h1s}���6=�Jq����Ŵ�*��9���DuX�U���ǻ?���}e������[�ւeN(��q�%�B=�:��FsW����z��~�-)u+Zv{���p,�|������{���\`8�E�< �r�_n��۷�C�c^�{[܉բ�z�v� �46���<[]�k�t6SN��o��;:������ԃ�C���qֻ��[�c��\`���|ݽ��(~�zv��V�7\\\\e���\\"�z����>��L��P_�k���p�6#�+L��h�1I\`�E�4c��/�]A�in��ع��<��hw׆�ڧ0=�՗g3�Nj'\\"�@#y�Yk>nV�0=t�zi��H_�����r3�%?~u�'�\\\\����v��B�� A���7��o}m�h��~�� �ǡ�W���s� ��_&�%�@,y�����ő�<ހ�M��<�k�����Ö�0nGRZ՞�A<[1�Q; hK�&§i13|d�7�L�]$7$�J����A�h5㡘ٚz=�����贞�_��.��q*:��'�����F��&k�m��l�oU}���������w�kr9�r�x���m>��3�y�⼃�����N��w�n�W�})����m^Y�Ah���O �YL+,�l\\"G�����˱�����7<���7hb>�x�������i��!_p���h���� 9�Q��}(����a�\`���F���˜Zoe�ۋ��局����v�����}r��8i7N\\"e�K�{1�����\\\\N�IAU�[���k|6e)�������=�Lg�i��t�E��:���Rt����=(\\"�4R�A~?��(N{�,$��)��>�ȡ��)Y>gGK;��Ȯ�,J͡���%TZXÖ‹rE\\\\Þ‹ �O�����Ü€?i.U�Mj���[�W��\\\\V� ��*�Rv��\\"uG��Y�xm��;��>,�.�����Ӈ�K�֑�l�wlfe/N��oE���'Q��<L\`LE�+q>��b����Wb#�\`cm3�<���؊_�\\"�K��� ����*#\`�x��)h�btH):�Ll�&�evH'�҅.��M��^��Q�~;�9��˸T��7�C\\\\)�5���?�z9�sr��*��h���p?Û»0��=�QÖœF�{���tw���t�c1~D�<j��Z�s�<gT�W)�!r|���i٧��9��Y��ȫ�)�}�Æï¿½q�#<��07����)5��c�t��~���Y��c(×��j ��\`��1ųg�?�������]G��a,:�h�����ô,��� ���S��B ���r��g�ÐT��4�3�+�\\"d��;(�NW16��E���k�۬���f5�7V����x��E���E�Y���dN���>����k����U�a����!��t0�F!SE/��w����X��S��'�M��d_ø8�ç¼ç¾‘g���M�'��9����K�(=SX�-,�3��,-N��=��u�S�9�P�i����� ���Q��c\\"���%��p;°��s��\`q��x<�����6V�����~,���z*-w�����F�G|��:%f)�XJ�X���BV4[J^ ϑ�^�l��T{���� ��p�����������g�9Ü…*�+�/#ߒ�Z�JNxy���*���uìR6+�|*,�&����V�U�V} 5^Ƈbi�ҕbY��Ї5������y����\\\\��$h��:4�\\"i��4��h��p�m�7����H����8���T^��R��x 0�K%��k��A�g�鵓r7s�~��!��o_������ǜ9�\`9����_K_��$��,�+��J;~);�܆��%�!��My�xw���#){9�%�q�G���2wR�����0 /r5�{���,�5����q�BH��\\\\����� �d^p�K��PΓ�7x�Y���+��b�܋7X:y���x�Yçµ²Få›É¯S��-1����8g��O��{zSe� y�Nv��a��\`�aZ�x��� 5��m��C�d\\"�QL��tL�q:ɛ� e�c%,3w����]}s����S�}���~e?�2<��_��p媲>lJ��0ݩ�j���A^�i� uoQ��E������p�ê8�~?��oS�w/��-�Oijw�g��޶K�/����U��G�y�^�}�B�����,�ZJ��,;����;ɢ����x�b��f9�r���K�a�2�J|ß‹s�=ijS�8T�PqhQn���sʃ�YQ�U�@��O�~lm.��I=o�A\`�2/-�����'a*o���}�CÓ‘Ms��wÅ��iV���*,�K�:&U�@�c��Hb�{V5�ky��E=�!��#�&�P�==� k�Oц?�r�]�?1�>g�A���y{8u c�a�*^����H�*�R��!�V��g��-y�h��.�#�f�N>��_�{EV43$������f�f�N�8�Ѭ����;��l��d�O��sN��Â��]w�a������i�� ;{���g<�Oaja� v<s�[��G�%.�X\\"���\\"�QkGOa�X�g\\\\�p�����>�>����.a���.�=������dz����A�#�_�������;q �e�V)^���?PK �����A���>������&���org/gradle/cli/ParsedCommandLine.class�Wiwg~F���ċ�%v�TMc[�����R����8�S���)-L���T�(����.PhÙ¡li�7 ��\`rX���;��Ɵ�����}g$KÖ¸1G�����}����.3�ǽ?���.�v�*��\`�!��*��΢ .��bu�f��T���,.+*�W�BM0#h�'��\\".��T=^��a�����}:�|F�kt�����0^�7�����/�㋸$�_�_V�0�A�V���Ma� q������[ ͼ�1s�#+3��ɥ����/�E;����� �f2�n-C���#�2�����i�Җ�������U0R��Ғ�KMfr�)y��(��Q0r��*T>c�4y�Z�q���%s�H���˶��Y���h������M�-�C#�\\\\�U��08a�~.k��*��)Cx��K��)�LAt�\\\\��kWY�p�#�AÍ™ ���� FA|���W�ݳw�/뀽�)x����V5KÔ¶x����:Ô•|)���#�wOP�c���c�I(�V��^y���U�6K������bѴ��\\\\j������3Tp�UG(���|�V�Q��H1�M� 7S8�� �RΊ|{��Y�#۶���nQ/���5^k�Ko�u�O;=F��m,�R���h�q3�5$�bwc�LO�F�ܙm�� �����L���n\\"�����9m�G7M�h�z*gJw�r��vè©”D�ճEc�Y��e�y�K�?�a{���?�՜qZ:��fy���ȌY��c��m5����� � �^Xd�k�����Þဂ6��Y��\\"��|P�[x[�w�= �����1s�=>4�?R�c��f�U�D�O�3��8�*$c�/GW���*�S�.��5�“~�U�n�� |ɘ�_��=�0�a�4� WU\\\\�0��~��p�WL�HZϖ�:zy�py�����*��r�K�}j��c���븪�����֒[���v.��2}Ri����c9SV�U�P�P�IÎir+���9�������g�S�� ����Q��Z�y��ۇ��OB�MkI'Æ G�>�� �=�7r���W=¶~��̜�gD��1[�f(O:��6y��P=𸟳J8�J�e������2m�s�Q��P0����-^^��Ц5[����y?�A�C�2?Tj�H܆����m�o\\"@1H1t��XG1r�}k�L%×°C����h���&�4�o!��;��]LHÒ°e(��=���Z��[]����;7d���?��k'W���o������A�؅ì†=x�5��:I�C�a��b!Z�cx�(D��p1�'�)�1��a���8���!�N��*�*&T���=t�hT�����_�P;�=�'��X����/����� F������bX�@�u #Bw�v�p��\\\\�}b�9�û��x?}�d����������T�}HH.���o!���s��y�V�����O��C��I�/�a$�q�a�x�A1c���x��)R_J@{�& (�+�}�?Av��3x��G��f����97���CTE�B��\\"���]t���F��.�'���ޜ軅؜��t<�õ2�i ��1�i����_3�%����6� ;Aؓ����q��6�A-��V4Rg��Z�l�G� ����o��rN�$�g��dy�E:��+����N:$��̕��ų�xU��'\\\\�5��B%Ç»6 Z�3�]^áœï¿½ï¿½k��>�l�J� ;�k>��e�'*�6z��E�Ge�)��A�<�],;[���S;\\\\��O��r=l8>Y ��߀��^��9ي� ��NL��vcz�Í&@S܇��Қg\\\\�H�VvWc��.��97�{�X�Ř�㰗G�o�� )�ȑ�,�I8�s��Q�HI0��$Ab�s��9��{�\`_i�*^QUt� � ���������9%�<'�t�E�B^�K��r�vs?��\`��A�^EAEXP QP �dȹ�PK �����A�y�t���E��,���org/gradle/cli/ParsedCommandLineOption.class�S]O�@=ݯ�G�e�Pa�eQ���\\"�hHV1Y���awR������l���I�g��N[\`Y$�ә�{�=����?���“4�(��H#�b ���冊�$�4���-L%q[�器+��r��⾊ [�lpWA��ɶ���������(H��a1��p#-�g���,C/{����9*I� Kxs ���U�E�J�%a��:w^�u�\\"��]a�*s�<����!�I�d;�n8�jr�b �s\\\\^]�k5fU%�J��E��V��݅���=Vy������ j�;*i=z&x���V�Q㖧��p6K:�d�)��Kn07T@��U�.� �Ÿ �v��ICzt��]p�-)k�DN�(��t]6Mn0�,���� ��(#��Wm��-��o�-�g�v޿��Ѱ��f0��?L'��Z��D��A�K��@�϶*���$����)���M^!�O���+v�i���Q,7_�������Z~����]�սm\\\\�(K? L�H�.:EÐ8��rZ/PdQ���>��!\\"k��~E쳟}�V�_�*bT�G;-��%����b�X��o�������������\\"��p�(=@&�_���2�w�%��^*��$�A�P�PS��� =1D:��!䉩��If�%�ޱ��n���0�5W(v��b�RD �$���\\"x�j�2D�ϧ��xr7�k> ��!��V.p�]�.��G��ӱ��D�\\\\��8\\"�y R����PK �����A�\\\\v�B|����:���org/gradle/cli/ProjectPropertiesCommandLineConverter.class��KO�@��D|?P��u�#Q�+�$�C;�1m� �JW&.��(��1�D�,��9��v�o�/����[@yl汕G)��v� }FHWkw�LS����!�]�nY�7�ZK:Ì¿cJD�����ZRy����s���V�;�H�+-��)���n�kS�#cruLX��gh|��B���j���F��Y���D��Î�%�L��%���ñŽ…Ž*�_���?�ֈ:(\\"�<�ڄbJÕ� ��؊t�f�^*K��� ߵ� XU��V����i01�k ���p8��wZ��8T0g�?P�a�Λ�m����=���C S�s����| �1\\\\���Z�q-}C�_�J��Eˉ�j��E+ ��w'��PK �����A� �8=|�����9���org/gradle/cli/SystemPropertiesCommandLineConverter.class���J�@��ثm���j�E�5BPą�R/P�~�ӑ$&�B�JW���'i�A�Y�3���͜�����l� �\\"l�Y��l�E �<&� d���@���H��g�L��{:r�R�s�:C*X4NĬ����Q�۴;hZ3a ѽ�G!]��G�v�7S\\"�5eb o}ɸG�����tFM�z�9��y���~X{()spL\`7e.�KV, �TXxɢ����fDT��E�G��P�W��Jm�h~���49A�jx��Ѱ ��s�h�� gԙ�n8��5��]�.F�Ԓ�s�9��Q��΢��*�s�/@�Ug J*�c�e+s��+1� ��$p�����6���/t-�,�;�h-�.�Z �>k�Z�PK �����A���������������org/gradle/util/�PK �����A���������������org/gradle/util/internal/�PK �����A�������'��&���org/gradle/util/internal/ZipSlip.class�T[S�@��J�TĨ �� *�(ⵂ3�2�/KY�b��d+�?��/>�����(dz�B�Θ�=���}�������3ï¿½Í ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½q'28�l)x�v��i-Ϙ8k✾�71�C�L\\\\��\\".5c�r��W�&d �����c��T�(�s23�҂���4v.,p�1��~W�i�,c�#�0*zň/�«(�{2P\\" ����rޗ�q���/ zN*Z��% ?6�[�/�����U$���ȿ*� ���5�x��}^�r���_�=����e�D��j���4�|X� ��٬jYla/�Y8��T�n�;�/�ܿ+%��WQV2�ih0rd��r��Y9�e������Rcv3�.���20i��k�)70��<��=ch�f-��-z]�0��Fgu>�-�A����!g�>fȼ��F�����v�hK�¨���:m|�����S�;�9C�ӥ�Z��NJG����B(.\\"�[9�̣�xQAA$#��+Qbh) � �\\"�i��j�-��6<���S��X��0��h��5+Z�S�8�_Y#���kBg�<��d�� �]��ΦDÙƒtZ��E�fD5xFb�w��/H����W4���>���'�T���$hR�����8���ė�mq� ��Nc�&� �t��Md60��-ɥ׵�M�n�v�6���u��0�o�N���?@uǑ� tÑŸL����(�v���piB�tj����Jg������B�G؛費 V������X�ҡ_PK �����A��%Ӧ�����/���org/gradle/wrapper/BootstrapMainStarter$1.class�R�n�@=Ó¸u1���Ey�@_Iik�6�U�@.,Ru��L�!��G� �6 ���(ı ]t1ss�չ���_��x���󸳈��á¾M|4�i��s�Z�}.���k�ތ�=e�d/c����e<Mzn���1�g�(��qn�Q��4S�'+G#e�y� ��Tj�u�:e��t(@&�9��V|!?�H��K���$ʤ�G]g��w��(3�V\`�_(�9�T�G���&�D l\\\\&�d���dyAÖ©r�<��0�#l��(�>i�0�c��=<�O���b��+7.P���m�B%����M� �-�wźl�6i<�Z2�93�����#��ұ�w�ںl h�������x8F��E��v~�ė�9�P%p�w8�.�R3�S� ѵ��Ac�+j�g�QEoN Sz��B�z������j�\\\\�:����� zQ^��oPK �����A�i,���$ ��-���org/gradle/wrapper/BootstrapMainStarter.class�V�SW�sÙ°,�1*���BI�/�V�V�(�-m��.�!�nv�f��jï½<���� �%�2�ӗv����;�IIb���ٳ���]7�>��1���IF�2^� C��0%c���A�0#aVF�d\\\\�{2�Ǽ�d\\\\�Uq�BNP��p]�R2\\"�!c7%|؉^|$AaQ�ʋ� .aI�~ ���ee�4��1�r����tSwN3��+��U��U�䳕�\\"��E�(a��k����{��w�u��T-��.�Z��黶�����9�r���h��u4���8C�,����-펖64���:�n�=�n�/�w�hv�<�l#� {.'�a�nVf��ӚM����U� [��'b��0��^�SXB�D�]�.I���,[�X��͗�w��$w7'nm���H��SçI��r��=���btr6���+�n�e ��:K�YP���_�_�%u��P�-q i��g���M�-{�\\\\f����I�jWË”0�\`�� N���V8s��K���b��� ʇ���2�_t+�c�O����f�\\\\�ɧ�X�C��Cϖ�K����� ���9%��9 ,�H�X� ʩ���; �c���|�O��}�.�w��Tk�)��3|N�*Z�R�RU_�K_�k�z�3�U梾 ��\`\\\\�4�T�[�á‚����l����#��+*0�>�i�X ��i�FZ$K�]�h�O&�������Vo����FW���c-�M��D�qh�ƛ�:U�T��T����;#R�Nv���R�zH$['tk=��e��&ś�o����h�8�6�ls�ܕ���P�=��֣ �e�d�,�X��:�׶�\`�Զ�l\\"�z�ϼ���N�E�/��w�ۼ�-j=𒶨���y1/[�\\\\�f �U�e��v��S/7,��xBY|��͙ZI,<�J��G�x���&����[������ �_� Ct]b :O�IÓ“a�$E��$��>¶�C��w�\\\\�����o4�� Hn\\"�#RG�w� ��Nb(Utm�{��ۣ�*z����*�c�h ���#9_xW���c�h�yG�}�ը�/��C��C�A����S�s/A݇���~8�#�E�R�7q%��B��# ܤ@-8q;Dv�{K�0�*���G����c�M%�8N����M����UK��;I�1�D�� �%Ğↄ���DvN��ަ�D�����g���y|��px���#U��c���������U��]����@�}���i�P8�T�(�j�@� �1*B��� �qg)<r� ���<��8�dܾ8O�d��wS���PK �����A�hQ�}��������#���org/gradle/wrapper/Download$1.class}�M �0��h5�*v/����?�B\\\\x�؆���T{7�C�)��� ��^���C�0 $g{s��Z�[�mE�,�]&;�i�����ڜ!!̬S\\\\9�k�'�J:��-V����6Zx/=!m��F�ӥ�YM��iH� t�nX�~�~�8\\\\j�4��PK �����A�y�[�4�����A���org/gradle/wrapper/Download$DefaultDownloadProgressListener.class�U�SU�n6��eRH(Z@�%U+ ik[ J%D��%� �.���@��>�ԗ���_:#Bu�}ә�#�z���qF=�~t 8�ɹ7��s�����'��+��Do4��ҌH�5Éœm�9��f�� W.����&�a�@��[&�x;ra�c\\"� i.�4p��C��*�3t<������̪ϗ���)(g���,Q�\`8���1o�u<^��{_T��W�^�Ŋ�ժ�{�_n����v��<�����o�!<ꕉks�vŕ�҂�g��C+-�ÄY���}1,�U��1q�ל\`��VÞ¥q��ժ��s�:���h�庯�V]�nE�ZS��|�g\\\\d�M�R���e��!���!Z�\\\\J�[ �d'Ì�2c�J�&�r]qRru�J�+���8 �S�Xm����ٚ��Mx����o��r\`{.�h��-��g�T^*wS��٢ߡ��d���l�2��gPZ��Um8l�����)�A�X�F�� ���y����k�50'=�ұ�A��Zu��3�57��ĶS\\"�x����n�\\\\7�!C�T�D��M-�%:���ho-%+Ա��B�fuN�I�Q{�E�qM�%���帨v���>E���[��[�NMLÝ Ê§ï¿½77PPb�d�15�/N�nj3����RZl�1�eShK���|^���dS�:83��m����1t��Ȧ�1$���0��p��1��@����:X� ���������M� :��)�4�G��!�Lx���G/���6�p��I�ͩ7�x�#B_\`����8���w0�=m�u�d��C�C-��\`�I���ˡ����d�)V�\`���.�_ �7R�;!����a��إ�3�m��KH)v#�#oH��վ����VZ��N�I�r.n��{��7��!=���IbN����7\`����h a.����yD���}�����2^@�#G��e!��YY�c�J�\\"#��#K��xY&�-/�D15��4%���%V���k�T��D������%�|� �@�ۥ��l�ܧ�g�h ��Ј��|/�7/]>(�B�_PK �����A����ۡ��~��4���org/gradle/wrapper/Download$ProxyAuthenticator.class�U�sSE��M�Mn74�J�X�1I�$E��E���\`�a���ۛ�����xsc�?�3:���8>��8�:>�W����۴���;��9��s���9����~p%G1�á´>���3Q�����q���u�3U�(>�༚/t�\\"&t\\\\������zp�@+o�踪�C��nU�y����seO�l���D�\\"�ܤ��خ(���X�y��TGdz�!\\\\pK���h9r����ĚM+��k {Ix���a��z�͉��.�2��z���H�\`�jU&����^wY��d��z��=�uN���k�s���Db�wg[%���)��}�r���wM�f����c�0��� W�2\\\\��_�Gz�{y5�2�8��\`Ì»5Ï”W,�tlg+�2�x �9��_IE�)����s�Xбȱ��:np,�&C_{�j�]�� V��n��+�[�q�!�n�p8��+(���!���59N\\"É���pt������L2�R��8uӜ��&�d��YQ����j9$ق��$_�phvn��2��%Q�8W���h�P�Yg�Ve��{w�m~�KTa��ZM��A����k�e��~�F!r3��{��h�����4U��)U��\\"�άݕ��ⰱD�na]x�'6�aJ�W �����RH/a���>z�Y<�nI!h�RQ'�N��4�����2[}K���<�4�@6po�V����/ia�k�:����7�H�C/f�������.o���;�i�#�#k�=SÿblX�6=��G�\\"�<<R�+[�O��z?HH{��(�����<�o�3��Xş���\`�oT�O�L�^E/�&��o��ٌ#E�\\"��H5M�G�=���g��x��P��I2)�2C[\`��7��h8U�0U���Ar�eoByQ���N�p�/���0}��PK �����A��pO�)���&��!���org/gradle/wrapper/Download.class�Y x[Õ•>�Z޳��J�DI�8^I �\`�+�Xv�Bx��m%�$��,�%��{X �,�t�����9�@�- {�lt�é´)3̾vh����'Y��I��|�}��{���s�_��s/�*�Q)��x�?�<���h~���x�Ex�q���~M���c4��Ia���K<d�C��^:�.��b�hѨ �zh{�����\\\\&�g�\\\\�p��r��}<�C����lU������_�Z�=t/��[|��^,�sUx� >O�����,�R�,�Л���ռB45 ת\\\\��\\\\�\\"ñ¯‚ 7z�u�P�^��E�e��+��CW�*�ŗ/Í¥*7��CHjV�2���i���R4�D�*�6��+ܮ�m�f��U*wx(�A�7��I�NA�f���uܣ�f����ܫpH��T�Wy�B'���y@��B���Qx��ת�K��T�U�-t��U6TRyX��#*�Qy�XUxT���Ōd[TO��ӹ�!=5���Ǣq=�9N�Tg$e\`d�t�ິ9bï¿½ï¿½È n�A,����ݳ�{����P��l�{�}zcT� 7��d$6��T���L=fnÕ£ihg��o��޻+����AQ51����sUo{(�����c������;��v������ vvC�Y���L���u�20����aq�����p�pRG���I=�0���r�*w����F2��Z�i��/&�������b�fD�ܲUÚŒD���JC��n��P����˦v:�2Ü—Eb����z�����[��m�!T����n#٧����A=�UOF��&:Í‘v�L�����}�Bh�I�W�zr�y�4S����A|Û��B�%�>O\\"O|Uq�0����cLd��\\\\L~�Szv�1���ᔲ����:)M���+u�Ý���7�����g����<����YZI���#Ҧ�5��j���mÝ�l?����7hË�7D�������I���.l��HÌ–=�p- �~\`�H�I,�����F2�G� �2�� ;���CC\\" ��h�Ʊ�h�!���qS�v�as$O�Βx#B9����i����^����Dʎ�P 26=or:�k�}�Q#�6sʃÏq.�p����H�0���b�$�*f���I%�����u��6N+�O�� �1G�Oq̊��?��:3�:���*x�UOE�\\"aEQ�O7���g07x�ׂ�!;m��2Ö¬n� �d���H�-V7+� �Z��2Ì‘8\\\\� �/iE�[�5~Í�Y^�&����\`fA��'Ù®'��57�+�B�qm�[� �yy+�]�SN�e�ȕH���n�9K�_�[�ǖ���*�& t<��� ��p\`�S]T�G���x��]�+'�r4w<e��x*��.98\\"n���%+/����hz�ն�u���VyB�tr��Z��n��E_P��?�7j�ezH�{�I[QKR���41��7�� ߢ�!�U��m�3�.R�4�$��S��Ɵ���g5�}^�#tH���*�Z��B��S���i\`e�4 �S��4�<A���$v�i��WM��� ߡ�|��_�5�G��������ֳ��UfH#������3o����%�ܧ����F�O��/�=�N(\\\\/���e\\\\!g�]��+?,����4�:C�G�� ?��Q~L������D�Ʌn�Y1��z*�9�N�F�A����Oj�-~J���Lx���~B��۟� �:5VZӑ������ ����gEs�(0��bᦀi��d�p�Y�1���9)N��è‹ï¿½y4X�l7C2Fv�ԯ� {�M�� u��@BO���ؓ~F?�%P�K����m�z���W�S�0}}�2� s{ �;h@���)c7��d��d�g��WIw��}2�;-x���X�����tn�P�\\\\lOFn�+��RB�w����/k�=�>�+� ��U� ����x��4%�j|��؀�_�$�b����▧�}�k�¯j�����m��D�7������E S@P4�6��� �uS7qcn�n�V 0-�Zq7���P+b�T\`���o�T 7�t\\"�6��h�\`�v��>+4�д�MU!q�]V����m�N4쳫�f��jPn G')J<�\`)zd]Ö�KS�KS�ꥩf�E^W��;HWE2Ip}��y�LIr%�e(-ei����>��#�v:�rM���t�o<�9,�Ǟ�:��7���^Ss�� �'�8 � _����E����7a������SI5�3PU{�p�V:�����|l�]9&���ܕ� ]7��j��N;�;�z|I����)E�o�?{\\\\��cXXaYu�n~��W��&���N\\"i��<)ôo���;b��!�'A�@[����{�=�7I*.3.1���>)>����������������\`�̂����5�O��g����6>��.�Xn˳k8�W�zH�z8G�{�߼<����sb�3� ������GW��V1�(Y9U��(l��ߢ�������y��NQ�;@R��8���N��@��>{�cb�F!Ûµ?��F��4Ai3����#F]��xJ<��d����fߞ��� ���53c!�)��J����!j��~G<eZ�ͨvO��fK�U֋><*�I����tJ��Lh���hj ���n)+���d��$�قvAu�Og��0���-n�Gx/��0l��|e�5;��ɗ2��=���\`�Hl_|/�wic�;�,�z��,vBï¿½Ë E�m3�N�b�5��'Gus�VE���n��b��<�[���Q }��m���0Ɵ� �O�?��g�>�TE�'^��{��ŃS~�v�ݒ��п����K�� 79�-����Tr�c�|F2߇փ/�E4�V����X���=(�ZT.�g� �ȞP���x����Øï¿½X�y�\\\\c��Ér�T����T���K����?I��Z��,�3x�%��z�����ę�c�锚V����ZR�ZJ��&j�nj�Z��RZF_���-�k�u|U�oH�<\\"%��\\\\��5w��\\\\9M>��*��� �B�[#��T\\"�� ,*�pX��K�Y>xBz�I�08�> �������TYS�|5~�q�]�w'��9�uc4�8U�m�p�C�|H%j� ��R�nZGs�(i�崞j�]���#綺���$NJd�t�� :eO��%ͣ��w�(.�,���S���&kϊ�g�}�O������rt���i�@ ���N�9��%7�E����S*mm��V�Q��E^P�M�l���C�,�������F*0 \`Kp��-98���� ��ҳXy\\\\nƴ�Lv3�XQ��mws���������t��8-��K�hY�ß��MΚZ�s���M�� �*�ryE���o�ߙ��&We5=�6�bt�O�Zo��2�˯fh���Ғ�i� Z���qZ=�x�֜���-=���V��oYU�Z;Zz�C�a�s��h��k����ZЪ�'�R7�WsK3�tt�ALU��3t��u�T�+C�ן������&El8NW\\"l��Z3�&η�׎^�6��1��TSyq!��/?�,>�ަ��S|��}�g˯�xÂ%� �\\\\�i1�D@�殣U�#�w׃�0�m4��P\\"4_���n�(�f�N�gI�Y >5�{���H����f� �sd��� �#��Mn�Et�G7�2:�5t+7�m��V\`�>\`c��)�9M'��\\\\KÏ���h=��K����!h�\\"ze8�:����n���GH�b=��Y,����r@�׺��^A���@�@��w�;����S�C��z]�7zS��d ;���L\\\\,�.����JQ>�� ��\`��)V芰BoO Uc�����a{�E�*~wig��\`g���ǩc�%$�h6�g~DM��O����-���1 ���@�\\\\�mn���;��E�?�~�~$�����+︉u�K��<���� RdK ���?���믅N���i2 �! �|Wg�g�1SS?FÛ�A:�̀� P�(����V����@w9��d�m�%��\\\\�j�?@J���#�ƅ�0֯�����s5�ޥ[��(6��̶#C�t��vf�Z�.�t]���:�n1tb<���C 69��F���\\\\~�߅Ic�Q����^��1��+VFW��\\\\���)�5*2&�U\\"��8��z���j\`BH���|��T�K�������-8�H��^�������'�Ѐ��S����G�sxp6�h�����%z�H4���ȑ���H�↉K�O诡��p-�L\`{��1�\\"�L�=� IŒ�!�XH�S8�MVǘ���D�Ƴ���t.��BA�rmMJ�[:�],�!��<R��ӋH������Ӗ;O��7�w5����-F���vPgM-������l�Tbջ��ɬ��r�*<��;���CTG1ޗ��xn���P%P0� �١�-4���B��PkC�:4J}�<�+�V4��ÓF���*��5�B.�IoH�tXǰ-R���w����^Z�9�}i��i+���u���C0�NZC����B���ۈ��Hy�I�ܒ�4�b�����Q�Ä�I���9�|7��^:J�KPK �����A�y�L���������1���org/gradle/wrapper/DownloadProgressListener.classu�� �@E�+�jD��E�@Û–E�ER�I��#3c�[�>���4�v��9���������O�Ī.r%��J[��M DŽ�,��]���8��kߟ_�PU:�]�3a���G�����\\\\�^�&a�t\\"-�E�eY����˛�8\\\\3��K tÐŽBN��kØï¿½PK �����A�!9|������3���org/gradle/wrapper/ExclusiveFileAccessManager.class�W�sW�Y�ګu|i�V�MNZ*;��J�lB�N�K�Ǝ[��t-���v�j��S�B[(���P\`x�3�L�$x����0��}�0��+9�%L=��s��ݿ����O������t<�gZ��Y��jxNG_�pNGϨ×��x^mME�SKA-E�H �1��::\`��vI�b3lIÅžDIG��qu���fxJ_�~O��c�u,�J������ _��5���ɡ�#���SgGF�� t�_2/�Y�t�S�g9���C�S�MÇŸ1��h�t��DE@�v�]��;��.��\\"�,�� �2�|��@t�-R�m�r�jiNz��-�=�\`�3�g�s��,jɎ��|v�3���.yf�,���]�X��e��BAV*�c�K���̀ 0� �ܬ��OU߲��)T=O:~vÈ´me��{]Ô“s�d�W�䕲�-3�Q�d��E��!�C���q�] 0�E�(��;&f�*2�B5���?��^����}��虫\\\\j�L����C���l��tGuZ��5�[\\" �Mn,�r�Q�������t�1��)�,,N��@L��5|C�75|K@g�dٷ�'�hÊšwL��Q���tnk�}�2�ts��ҟ&J',�VXj�t��%syN�nE>]��o3��;6���lK�q�oF3�V�B�����>%l�W �!�8$\`���������Dղ��3�\\"�x ���D]A��مE�U ��W����x���c�L�Q��V$��Cn�.��O<i�2]6U����]/� ��H�i���~\`\`��,\\"ޒ��G~��xg4�n� �)��gLڽ�V���� M ��^2-�� L��\\\\:l�����(�3�e�:�j����qZ�/�WY�;A���}3��r����S#��� ^L/x�R��X� |:�u���L��i���Y���L�v�;��������u����!I���=�A������ўf�U�yLX�uc���U\\\\���Ӧ� p�v�Q�Nεv5�����|o9L�޻r×§t���K���Ul)��̨��;��Wv����椯�74O�Ҭ� ���+�,1��� �F[F �f��>#�&��A7zx� �N5@��T3��(����z��Y�4�}� ��] ҳ�4�?�E�vqÝ�<Ì ï¿½ï¿½ï¿½ï¿½L����N�p�8>K.���1��Dg�[A|�4n�kh�Lp�����S���ES�v\\\\�c�����~]+è˜ï¿½vvR���5dw�������=�#r�<��\\\\K��T�����8���lo�7�\`.��Õ��S� W����ĮT�U4]����~�T��7��6���v����7�BZ ��H� Ò«@'�c ���Klϓ��3�1�����c�����DQDDwp>���P�z�p}���@8B gmγ*&_$W�� ��+�k��r�}�F�A?~��(��AZ��8�����:�ư�q���8� ӛ�\\"��؅Q�c���?� z5)��qj��sDP�h� h��F�9҈����u�>�c��~��iMȈvz5�HM���� �����$?b�)n�I�P�$)S������ݳ��hÑ Ç§B����<���q���0��.Ҷ���x��d�(���WW���w@�M�߉�ß5S<�� �a�<��u�.�˟�3��Gh���G�At�=��dl�٦@]�������ys����:�m��O� � ���8x4�?PK �����A���,y�����-���org/gradle/wrapper/GradleUserHomeLookup.class�S�N�@=$v��ԔK J)$����E�\`@\\"\\\\�@�<E&Y��#ǡ�_Ջ�H}�C���:�K �af����9��?�~�0�Q�Ix&c\\\\�� B���\\\\�_DЂ) I �d�\\"��1-�Y��eceq7��_M/.���n�H�׶6-u\`��m:%=�{�S��0t���Nom�\\\\~��1t,�N�7?k�UN�����l����_\`h�'�mKn�6t�,�oV����c��\\\\�p��5=K��\`��oU)�+�%�,�\\\\���2���\`�[�ޚ{�S�{X-���R��'j-W_�lN���o7�r0F�+y�\`×…*����2�I�~*z��0qOi$��JV O��^�x�9��@��-�o���w�S��C����j�E�1D�ګx2+���\`��H}��n�����Õº5B'�1������d�?a�߽8�fw���nB��q� qhN�a�^-�N�3߽��0�d6���jELU1tS&>�-�sc-��g��O�N�QM��}(1�����#�j��R�\`�뛿̀i��m���P/�Q��WM:����;\\"��+) Q�g<D��)�\`�W�%L&| �[��[ˆ��_��%��7p%w�vM%9���:)���\\"��a���h\`��PK �����A�����������\\"���org/gradle/wrapper/IDownload.classE�� �0������ ^�b��*A�{���(����l|�J�Tf $_����u�X���! �����<!L���_9S�d�]~)�l�IΎ�\`u�EQfZ�=�,������g5� cmR��H�*ËB�hÃ��*e�S.�0���O�A�Zp-�-Õµcӳ�� PK �����A��%�V�����\\"���org/gradle/wrapper/Install$1.class�Wy|W���fg�L �@��b�{ -���b4 4BBK���Ifg��Y���Z�z�+�>��J�ل�����zߢ�Z��a?U��ofw��YRb>��7�����~����<�0�u��\\"���!��x�yH���hCJ�aA�K8\\"CF�G��� ^��x��<���c<�!#������x�s�����n��+��U2^�{�x ��6�ױ���x��;o���x3���o�@o�@o�a\\"��x�2Þ‰w�f+�x7��� �����@�ь���Y�q ������G%|L� �:�k+�Cz�&��w���հn�y�I��i�z���m��ٕ���2��F��Ԝ�.b���\\"�yH��l���-;��j���㶚Hhvx��;�I�?T��D]�~C*.P�)3T3�'3FgDO�Y+����.3騆�t�uSw� �U;aaJ���^�Ss���+�ﰢ�%ݺ����Ú�[�<TwsZ�����̦��P�L��j2���y<Y�BN�Ie����8���u�h�1 �pe��\\\\ iY���$Lv��|Q����e9�];��h�L��j�i�G^ijZ4�i����F�q���Ti��XS+Ñ��#9_�I�s#�M�$xya�&��)��\\\\���[�﨑�5�H���� ks�'%��4L7�;�G��^ԯ�L�I٤�}.A�T��mk�� �����VÊŽh^���if2�v3bXI�R��XQ �R� &l�M 6c���<<7*h�6�T�i���J�v �(�趔nD5[�4N+xg(��֘�O�z>��a�(�,���� ��/)�2�\\"� ��� ��oHxD�7�oaF·|�(oN����{�>���a�?��C?b��'~��g���s���_�1��W ~���a�S34�� q�>J���o%�N���ğ�!��$DuX)#ZcZNMʼ]O�P�8M�Y ا�I�l#�e����+x3+g�ח2=��r�ȅ����+i/ƌ���F�ڋ,�l�3���va9Pә��r4j\\\\����kQ^�V^X)�6bk��֮@k�N[�G��O�Zn��1�٥��^H��U�Zq��,Û¤6�T[����������m \\\\][���� =ٙ�k.������\\\\Bv�'-#�h�Tg��F\\"Z�.��tU�|���ΜQ��j�S[���dy�1o�\\\\��-�e���&��r�f���.��!�45�g�u�yË‚5Bbi �����RH���P(��J����$����:�Ƶ����QÖ�1��s�m�b.X���\`�w��(��5m=��y�ue��}n6\`�h��ʢ����ڧz�m�˲�,�!���.b��x�Ʒ�6�<��FQ����m~Ó���4-����Tw��I�{(�I7^ٖ�/–|�_L��*he���g�+��!Yj� �b�I-4�|GxWN�6�[��_:m ����@���L\\"w�7�;Ó³È��D�}���%�.�B$���o���o�DY}�$|�!�$����I�ׇ��OAz�(��<���|��I@7z��5у��tFz|������g�ei,:yp �JI��z1 i,��w/��ҸdҨ�@m���N�Ҟ�i,�@���'Oa͗�\\"������ �����Bk�4V����ؼ&����3��4.ÏV_AMi\\\\IDi�x�W����4��C��I�z k�4ִ���h+���5��_� z^�EJjII(@nz�d�Ө8�ߙ���4��h\`}�O����2Om�ql+/&���,�z���e�- ��ֱE��A�<k����@ a�ܔ�t����Ӹ��~�]�<� ��u�n��D\\\\$�Ǽ���ݸ��v�n[ �݄�~��>B�0�(F;���1�Õ����ЇG��1즧����>��b#��6��q�8��\\"�4��ư�qQ�=��aD<]<�Q�O���0]L�L�V��݄���=T]~�݀�� I�I�>�5�:��Z�8�T\`\\\\�K���x��{pU�O�jÜŠ$�]�å¸ï¿½ï¿½ï¿½ï¿½R$T�i�|�$%�=�ŕ7�]��0|�$D$D�FǨ���#LTЈ�O�U�Sxb^�!�!����x�d�*Aƃ�G\\\\z��<�=�S�z諚�Z����n?��PK �����A���Q�{����-���org/gradle/wrapper/Install$InstallCheck.class��]OA��i�]�l�o���J)�[ ���M@/j��ݰeai�n��#o��D���K/�Q�3��Ojh��̜�y�������/�%<6GN�����2-�(�q�@%�F��{�x�8��C��[N��t\\\\�.�s�myb[�>�ъt�����UizN�F��p����7���}�Һ��.�}�3ldϫ�^� LX<~r\\"<+�dziTG+7���ԖS�[ǻ�{�w]�as��=G��E��mZ�[�M �z���q�ǟ:u���a~�2��*�m8Tq� ��W���;b�!�]|Ç�4�}��O¦�:ɬ����pÉŠ|,v% X0x4Ú U ���&�m��:�2iT-��l��$��5\\\\7��%&�&L���;:�Ftd�n���a�����3�ǨM�b�ި�x�������;� �l ���'�;,� �g��L1.����V�b��a�B��7�\`HØ¡,J����-�A���������4�G�-#� 9�0�[��I8S3�l�~���2/h������~C�>A��҅h�ו��|��1D&��� �RÕ€g��َ��<����>�ω���.���qt4��Ύw���H�T��f���E�\`��*.bZ�>}�B�PK �����A��݀4���-�� ���org/gradle/wrapper/Install.class�Z |\\\\U�?'3�7yy�Ҧ�Ѕ�6kÓ½tR�i�Ҕ4-M���$�ę7m*P�]Q�}�\\"*��(�� �(��↠�|�s��d������_z�{w9�,����<��!����N�i���*M�4� ��9N^��T�34��!��:�<K掗&�� |�4'�<�Ku���H3W�2��p����U:������8����/#�i�<-�x�NA���^�S=/�ד�Y.M��r��Wh|�L���#|�~��uүҹ�W��Af����µ:�p���I��M:-��7��ap�4�9C�l��-~�,#[4ު�6?�Ï2�]�U�C������Y�-���t:�:��6��u� ��q��-y�&�q�N[�[����y�Dt�&#Q�v�?Ǥ�Kҹ�?���I�8�;E�]~O:_�t��v�G �_�Qi>��:E�\\"�/���t����Ɨh� ���!��ʮ�D��uzGl�-�;|��Wj|��K�f$R�m���^cV�>b&�V�)��aMݖ��g�nlټ�qÕ–Í���X�y-SQӹ�N�&bƺjZ�D8�U�4�>.�b�V3���|5�/��Lӛ≮�����jv%Ìž+QÓ¤&��������YnW������Ѷ�P>�m���5�t���I%�;�5�U��n%��͘�x�q��p� �[���Lg���\\\\�/ɑ�.��äwXL��1�9m��ML���fd���{z�kw�a��';��z{�2mku8i3-w�\`��à ��T´��Xm�c�p�Ft\\"�hÏg*?jR���'�m)yߒ�0�w��,�f˦F,)�]��m.\\\\��%e��W�Lj�I7�fZ|D-��'kr��p\\"�԰̆:|{�GÞ¡K���mI�?�\`�=�zs>�l$�r7�a�Ë�V[��S\`��c�����x��T�E�$3I�=��}5�N@su��JÚ ï¿½ï¿½gOm���l�d�Q�>Xß´M��w8\`�6��U�1t�m�����Q8���?���?�4u��w��jpS<d�>J�B��%��ٹ� ,��a��lO�{{;� H;ѡ��HMSX�AwH��G���#��'�4�QW�d{e�Ɵ3�����wI�X��(8<[�:F��v;eFT ��T��RQh��X��աf��5莧\\\\��-X:a�ȥ=�CZ�]1�N%p��#�� �%i� ���- �h%��dR<�>8��,NËŽ;��:6Yf�L�vG<eg�^ODM�V�?��iC �Q��D\\\\��T8�PBF��cÈŒ5�6d��6k��1�#�(=w�8H��hԌ��,�'�^��Pi8�-C������+�l6xVÄ’p�p�jÉ”J/�o��n������;��p���0q*v~��g�ȷbv�/k�\`l�Ak���9��f��p!~���!g\\\\��P �Jr�6�RQ+�=�C�dž�3Q�d,#��ÐԊ�ñ.��9�����=}9��iÞ°fr#��@T�v��'\\"&�Me�����g�rM�������z�K�@���\\\\,.�v��S�uV��!��� ��aZK�L��*Ck�Ъ>ZÛ‡7�,��8�����z ��\\\\N�=f$�ca�Ԃ��,.v�-*C�}5�n�,3�9zÞ ?�k=J��k��AOГ}�.5��t�Aï¿½ß ï¿½ï¿½ï¿½8���^�t�AWЕ]F�k��o� ��o��y�����v����Q����; �\\"�r%D�hY[W����/�)rgs� +���U����� ������^�h� �������3�~~@�}����+L眦� ����ɹ������v�m�cA3Ö‡e ����y��t���\`'2A��EZ��d���C�2�܆�s1l�~>\`��<h�C|ә�e\\"}vG����G4>h��Ӻ#K,�3B4+{�e(�7�N�������T��[�l ��(�w�m v�0n� ���X+���&j��ÍV�ͲbAی�H�������E\\"��M�����07ؓ�c���}r���4D��РTP�pb'D{0y�l � ����@�:.�=ؙ�G�;�J�%�bn��-����B��di,P�R�ʔ3��e{��)��L�N�c&~�oF}4��M���Z�:F��)T�ѷ.�0�$�4�b�3���ߕ��\`@zY|Bo��~,�Gq� l�3_����8J&ϲ%K�| T�o����H�?Õ½2d �$og���O��O��������/�F��O�g���� ~Q��z�\\"P�_�K~���%v���1iT��S��9(�კ:9�3\\\\(;�PP��+���_�a�xr^�ƿ1����ƿ3��������.��4�5�����(i]�(���7 ���-�kF�cj'��&�����_5��b����aD18-7�Nï¿½ï¿½ï¿½ï¿½Ë w����w��OLs��B����F����?�3�W&�Z�i��|H��%��̡��;��|F�YÕ ï¿½ï¿½'#�S�2Mq+I՗���e��һ)��v�p�e��~bY���i��\\\\XL)s��I�Lg�u��t7S4�m�]�o��FǺ�5�%�s�6RkG-�{%�3�_zu��l Ȳ�#>��z0'�qa� �* b�p��5D����@Y��kǪr�yJ�t���\`p ���'1��H{���\\\\��&�����Ў��M*.ktÅ�U]v�¶�)��O��e�c�g/��/��r��𡅓 �_��N���b;�jؕ�l��@j�S\\\\�:��<o2|>��%�h,kg7�_��p�g= ��L�b� R�5�����:#��ow��$+������G/���0��qe.���ĉNum�x$e[������D���Z�\\\\iMLjN��ԸЧ�D�t��G1�ԛ�x5j��fj��ŋ�hZ��5��-���ۨ?��o�D��5�6v��%��7yx*}[&�~��&u%�â˜<�bMB���-dN톬�øt ʼ�L�h��}e &�5{T������B�\`�]#k�>T�Q'�mL�Ls����%'CKb�;�--�_f�LÔªh�߅�nJ�˜�����#M\\"Z΂�n3����7x#�H(΂y$�@Y��F^�M�6��� �!bEaU�z���h3e��97��y\\\\�W��) [\\"re71ivZ�B��勞�ܴ�a9��&WQ#.����]�M�@P9�S�.����b���n*��<�-��/��U]�~2�^EW��$�./��TP1HzkQ�$zj��}4��riU��WQ����U'| �q�C��;kh -�h-��h ]�� �&}�>C���'VO�U�z�<�,]��f?餡_Y�O֣��\\\\����ä�7����P�t�C>���iJkE�ȯ����~��(��;�ϓ!�rP��+h:�B'ҩ�ϵ�iY>W���:p$�?O׃����-y���n��!�t�yÝŠU'�� O>����y���ޑ��ǘ3�M�O���t\\\\k��Mo�,�N�H�C��޼�hFu ��f,�{oz�*��)��3��Z�O�����C�w����y)�:@'��=K}ž���;i�$ x�}�>��Ni��N��N������i��@��n���{������&'@9���S�N����T�6�vbE/���O�ts�#TEž�����u15�_7ø�\`�6�����.خ��5�,*�J�h�E_�r��e�U���+P�F���bVLw]�4���P4� T�F�(�/���7�s3�F�/N_I��^л{�6�>�.ШD��5z�5�G�暵F�~�i�5 �!��Q��4n�)�I�Q�@3_�����\\\\��y��VOU�~��O��b� ��6LU����yy� ��SÍ“X4�\\"�Xp��Al1� �~r_�?GA��Ь�!�M��<��FÉ«8��S�����6TΡi:; ��^z�Ҭ�=�9�����F�;D��=�K��38H�S_��UT �Â�ZsÑ��]��h��Īli�b\`iKk~uK+�*b��iYk �N>�7�:G�;��]T�O2��Xt����*��>���-� i=�' :�Y����*0Ê“8i�z��r��T����\`����'���]7H��k! F�7� t+�!��j1�#K,ο�N�[��)7�Q���<r\\\\���&����!� M�1��a�Ux^�2&]@��5�\\\\LO����e]�6�;ŸyY�:#�\`D�$�B��q��=���f �=� ,~V����s���P�O��8�ũ7�w� ��V}\`���s� �j�=L����հzQlÓ¯i�Ӝ�����Z3H�Z��Vyo���B4��]o�}�tFk�����M���-�Բ QQT��y�p�n�#��~�\`?���v�PB�����3��,�!�~:����i��.�-���Ã�v���Ih�)����g��9@�y �����c��,?����Ⱦ?���@��ן�*/�ڋX��{��z\`~P���hàºï¿½ï¿½ï¿½ï¿½Ë•��qZ7�ŋp�\\"��?ZBt:����k_�u/�xzQ���,WΌ���b��_f��@~���gl��z�Vi��F�4�:D�0&@��.\\"Y�K�����ʼn���M|jr������~�h�,����l�ՒW����S�-i� ��+�y�ۗ4�G!���J�I�u��z��=+gV!×P�pW5s!�7@^É›7R��K<�W�|�=��ʟp�k8��4�^������M�/4�K�����c�o��Yj��C����W��fU^KP*��#�{T��y� �'�UJ����]ǒ��[����\\\\A�:OR�%O��Q �%�U����x!��� ��O|�f�p�dk�7@���BZ��v��%�ѻ�ƅ��)�?�g�z��'eD�< t��y'��W�����}7��H仳�jbÑ¿1{���CT������T�P{i-r�v.�N.�D����8��'Ð…<�v���U<I�zp^J-0����2�o�:j;��7a �E�-�����Y�_MK����� ��-�A���2Q���6v�i�H{�&��4��{t�FQ�B�p�tf4z� O�;T�o�SEB6El�q�BN��c��I^�r͕��֥ޛh|U�*���3��8��w8ͩ�����KhO�<]�ړf�̜$^�����Of�t��$�M����*��S���bg�!*�a�'�a���o5\`�d��i�?\\\\*�������(]��QGL����i�5�e._�;A�Y���|��l��f���͡t��}�p|YY|�,�S���=�H�Pw� ���\\\\|�x��Rr>��YJ~Pr�?���)~������9��By.F�s?���(�� �'�/]������\\"Yϓ�c �|,\\\\��]E�w#�FV,�?PK �����A��:�o��4�����org/gradle/wrapper/Logger.class��ko�\`���Unc��@�&s*]7��11$KH�\`�w�ʓ�����_�O�Fg�?��x�R�5K���r��w.��??h�G�b���1TP����4w��+ͶU���]����.;\`XxfX���!R9���Ӳ��!�1,�j<8�>?4�d�ck��qÇ{�0�#�b�vtUwx�����Q;����6m�!W���\\\\5���]�1,�)��@�F\\\\�s��˵w/��'.Hq�ϰ3��:�NW�����fu���-Ce\\"��!���l�U�#�;��m\\"x�*�@o���b�w����=C���j[�$�B#�� �%q<L�rI�X�'�<%N\`�������F �\\\\��\\\\�c���~�b@���r�J[}C#qi0�����4͡ܙ�z�|�w/��\\\\L~��sW(��5��e�N�S��Na�l�v{��k?�j��}�]Kd&{��Jo�y�Z�VR�Ɖ�|�}_3]���'Ä¿\\"\\\\?ED �g��PP����pz*���U�{QL�[�5��� � !1!D��>�c���I![3�̔��Jg���X�&��ov�HIFi�� Q��V�(�Iؔ��)r�� /�,��*�������ꊧP�*qw(�P�&n�_Ý–7Û›PK �����A��\`�������8���org/gradle/wrapper/PathAssembler$LocalDistribution.class�Q�J�@=������x�+�P��AA(*(��mۥ���M��RP��?J���*�/3sf�̜�}{y���,R����6�.�]�0�U�J.d�a���7<�q�/C��-�IÅޒ�L���M�h���Ù��!W��8l_��:��2~)����+�q7�$u�b2�=Z�d���8b��H�Ý�Z�Z6J��5ū�no6� �yRߡ� SK?�� ~M$_S�|a���Y�WЈ�I�V�~Ï’5�����>��p]�1��_ 1*BՂ�rCT��_q�iX�OL��Z��|-�� F��d� �S�M>W|+�<�*�>�~0T���u��h ��Y��&�㙉�B�b��5y]Ka�O���u�F~%���w��-�;�<y}��)ҕ��PK �����A���;��+��&���org/gradle/wrapper/PathAssembler.class�V��=c-#���I��� �,�I �8�D��,;�F���HË“H3b���N k-�RJ���%R�|�����3c�6r�/o�{s�=�w�����~�8> �VZG���0T\\\\�u��e/�<��x<�6�������O;����5�D\\\\���[�v�a�8�����>��~�֓\\"n��0��4ψxV�s!<��~Â��^�@?f�'\\"^ �e6_ ��^�u�CÄ›n���ri\\\\5-C�ٖ�k���)�XI6M������兹���ə�����lf�����e���*�Z15G�⨀�1]3-Y�å’�8?;snbl����hȅ��\`*Ƥ^f7���TK ���e%o����q]@𔪩�ic۽�φ���E�R5e�.�c^Ε�˹.ʆ�so�o������nS.��5C�T#u^�VÏe�4�WgQ��K�k��a�IB��EÛ�wt�s�|�,X���(��i ( ��MeZf�C �m�����L�4�jE�L��%�lR�m�&es�,�е�6Ai������\\\\T�բbZ�]'S�ۆj]Oe��&�@��r1-@��n�:��W*�>AÓ ï¿½9K�_���(: ��_U&�,E3�����@��ЫW�/M�R��]$\`y�R��7�)x��@�[�7M�����5�?�1m��m#��\\"����Fñ¶„¯ï¿½> 'q���JH� ñˆ„‡1-aѷ�5����] 2r�vRI�j��~�>��/I���_�l����~�w���1N������=��Ŵ�_v���?J��,�/����a]@�îL1Si���,����g�Q��i�C��&e ���:kk�ZV�����R!��Vt��6�jۊ�u3±?��ɸ���nI�'�]c���M�ngo��!6�X��I5��p2J%Uͨ�]��k�:��� �39n�ۖ���Ÿ+~��BĆv��/��\\\\w�i��t�)�� ���g�U71K���p�޿-Т� Qs9z��M4'9K�L�DS^QU����sCi����~�����K��c���kCqWp{�?6�]-hW �E���iN:X�Ђ����7�iz<�fͽ�2�j�׸:Z��%�����ل;��jڹ�V�/�i�Ë�+�q[.�;�<:ta�E�{�1���у�q�Y4�w�|ntdG���S�w�Oh��fK��gg�!����x�&|�;�O;��4�� ZEA�V��6<�3�c1��X�Bvç0p#���_C O���'jO�7Z�W�5�7жT�D��*:\\"�4��i�����N6}#�|�l�u�dcSp�K=��\` {���\\"H� �#�C�O����kH:9N���9��8&(�V��>H\\"��.g����2�� ���;C (��sdɓ�(�&�X��8��¾*��p�t#���K�A7LO�.=�Ћ�a��*�c1Q�w;�z-����G�x�H��z�x�t���6п�'Rj8�u���zvK��tVG>q\\"���!�×���]>�.J}��6�$�38O�m$��1K{�=�y'��:�,8��Bȉ���c��e��%×��Y�����A ����U1�����9:��e ���Q��u�n|�A�c ������W� ��1{I�X6�Gs�t?�'ד��KU5��QÆ ï¿½ï¿½DvQNÊ¡qZ�u�x�F�{���Ds�9\\\\Z!���];<:�S�T\\"B��o!��-��p}�[�S��)2Be��Tj�s���/�#�(�ct\`���\\\\�:�S���8t����S� ��'�)��h�PK �����A�������| ��0���org/gradle/wrapper/SystemPropertiesHandler.class�V�SU�]��!,-� ��-�3��TR����%A(��.a�,�ݸٔ�W�~��L}���Ǚ��2c�W��ڱ��& $��9��s~��s�ޛ���?��\\"��Q� ��P0�Oc(xSNޒڔ�i3 fh@Ô99�-ż��T,H�;�X�R=.��r����~��{x_���&��c�����r|!:}mn~v�\\":�B�ԚvC�53�;�a&# ã–™u4�Y��9]���aΘ�'Ô³(��Vi=<e��LncE����.�Y -��ن��^'ed��,;N��jZo�Z&����V��7�l���I���$u��+p2T(װ�FZ���9�H�������m�چ@�339��\\"L����?6���3�a��y��-&��dnC7�r�fW��CÔ¡L�.�����ꋈ-V&Ùª,5�ٷ��}�G���Ó�c^��^8�ȃ�1�ܸ�%���Q�P����u����45'g3��\\\\?�z����z���'t|P��x���֙Բ)��\\"����j �=��2��b �*�2�*�hß«z>g:Ɔ���V��K9#���]Q۶��͔nv�-m��ν�v^g-�*6\`Ja���#Y��\\"GAN� l�����-|,�����g+[�*�Dŧ�L�縥�|��+|��|+�Xyvy�)��'�1Mn�Bʶ6�w{/(���X,��(~>Wٹ�##I���=���(�D���WF��$v t�$�0;��/���~�*�x�B�D�V�\`� -n��|/�#�����)�����y�e�Ǥ2FIi��&�^�ʫ,=A��5��ٶ����T�m�M�fRص/}6��-Ʒ�bU �$e�g���RevX�|�3%���_ ๡~�cg5h�O�W��-a�������.����5�T����c��O��_� �����{�L����������P;�e���3�y��؆:�J�{�3�P�w�@����y42ES��p�~Gw�\\"03��V�;�L�M\`���q��=ï¿½ï¿½î ¿4�����/��Z��>�u����\`i��N�]x�G7Y� κc�A=�#7?������ �I4�lv1�4��$ Ĩn��q��R!9K�M�-�z���9�BÔ¯r���W�)�5�\\"� �,����9z|�~�_=/����!�~�L�0���8�WI�H�-_���{��M F1�W�U>�� �=��������Sp�L<\`��ݖ_b�qW��PK �����A��=����?��-���org/gradle/wrapper/WrapperConfiguration.class��mOA�g����JK�|i� \\" HULCß-��H����&~*M$&�����3w�e��&3�3�������_���:����a�\`@E�G xL�<�2O�<%������xN�8m��P��k����3��5���QO��M��5�)����!�Bw�~�+���1��sM�(�/;��0�/�w�^����9���sܰ��� �n����Z�d,8t|�Z�kZM��l��ONl�Ú�����iv<N,��n�����gJe��i_n.]�!Öœ4*:Z�l��k����B�j�jttW�(;\\"�v]��߳�����s�~�\\"�D�EE,�펷o�t��GU<K�1���+����}����տ�Z]�U���Õ�כo�d\`���B���o���2���daØ€<��!H��)S��U ��#l6����&���W�h\\"F}����9���B�F�G;��]�3�7͟��l�)��l��0N�q�{(E[��y�a��f�0�?@�p\\\\��F��&z� �?@�v>,.�s�m���ns��=�N��N8�u� ѽ���q$&�L*A��=HL)���BCO*A4dF r_ �� s����� �)%È 2�)�Ae�E�,��� ��$!�<W��j������ y2�I� U%�5HR�@Í› 2jf�PK �����A�G�� ����(���org/gradle/wrapper/WrapperExecutor.class�W����-���X2lƀ�l+�ؘ��C�l�!�9Kg�@�)�����t�+m���tЙ�l7��t��g���y�;��8(�A�z�����=���_����GCxLA�*�m �8�@����q��2ޥ�Þ�O(��s2Þ£\`!���{yx����I�~0����|�WO����yx6����Q&�W�<��O��ϟ��32>��X���yw���y�%^}9�����3�2�y~��Oȸ�\`;���)H��^V0�YW��^�а�;98��14���724�3��Ot K��Nj�-;ޞ�-#;�[��N3����}H�t �e���]�rbb��Aqy1yp�Ȗm�G�C���N�$��*=� 8%g�9ݲ =/a��z�62��9����u�È�N�l�=qԤ��1.aC�i���[Z:������k?�Ì��\`i�af�Rݘi���z��oX4�֔���r��!v��S�F\`�N3M�-�1�z_arT��Q�5�c���!�2x��ݮ\\\\�)��&*����ԉ^-�ޫ�cd {���Z��n�! ]��$E�锞s=�'r|Ë��4g�9���yJ���Y��E� ���n� ts@�f�J�BU�(E�2��DK����2t!cj�'-BF�Y�&�v����\\\\�v�w�����d�L��m�z���^B<��d���)G�Go..?�n.�LƗ�a�6��z5�K�l�q h�8Y[�#��0H M�(aɨ�-��W ��vМ$����\`Pm��ެ�?}U�b��4F��s�N����V���\\\\;��/T��,P���(�H�dHW)�(�M��5�yb-Ù«$E;����\\"6� ���v� o�J�V�;�6w����T�$گ���-�T|ߡ�]�y����I�XjZ]�\\"%��)Y�6�>�6i�5�~��g#�M ��;����{,�5�;����U�kUD� �u=��*���$$�)�-���^Q��I?dIe ÍžP�#��1���F/Q�0��'�i?e6�!#��(莄�1��e�L�%�|�%y��,d��KÜ¢\\"�|j��¡�S�Rq�m�5��U�;^�G�Q�˚h�&��}#YÜŽI��7w<}�E�A��'�L�QQ�W�M��U�����ό�D��2�� }ʉx>���1COG���)7r��a�W��T��N{�R�ӓ�|88a��������AXTY����oeÝ‚zfu����y������tR��{���:���v��:�Z��|\`G�_8檫x�8󨊣����~̕��7�:��+x��@��-I �:b�qJÞ»q(�Kq6�۷�b��j &�������};dm�?J�p�E����)�@aڦ��ŕf�hr%��Q���2&��x�g�lL�->lD�����M6�uF�g����ºß� C���!Ì£B�h�^�G��Ю �h�ϳ_F��~�;=�U����7Ӿ˳_�0�kZ��c��z8��Ivz���v����0ixUñp�,sÏ¢f���a\\\\���s oе(�C���B�b�j��J�%���%�@����,,V.�Z�X@3#�8����ꚑ�RM�\`:B���B�N�c�X@� x�e,��^F8���8isO�[�\`I�QfQ?��b^���Ϣa��� �I��t�V9gw��\\"3X�6;�kc�s��9['��_@c�p�� qvC�,bW/��<�guÐE4n\\"k�����XB���e�(�ۉr�}��NLb�n�����<����pa��Kq��K���0 V�HI�8C��K���?RM��Q%Ó¿V��tʯ<�Z�0�hn!��{ȣ��9o(g.�nmt��rg���RH�\\"2���� �L��D�r� �.<�7�^�MÒ«h���7�.@�#�}����\\"��l�%�4�-��p��Xn�Ŷ���%�PG �2k����Yu� �2�&\\"[�rۇ����[g��~;/@��M��d�客��T��P, Ia�UOs#�M�\\\\�#\\"t[�f8�80���HyCT�!���Hs�����c��/����օ�T�UY��<��0ý�������������8��*C9����ݻm�ʌ=�HN@N��3XL�̈[�[�\\\\ mRH #SdL9<HwR�\\"����>�\\\\����ť�l� 9O��C(�.�H']��T� ��!Ùž ތīS����]��h�DL��yW�!p 5 ���k�N�<��X�zZ*%q3a�0LQwx�|q�,8��x����?��cKQ���.-�.��\\"�c#�Lg�d �_EXÆ™\`-q�-z3Ai̷�D#�7�6�������^��=n*����\\"�-����PK �����A������������ �����������A����META-INF/PK �����A�m�>=@���?����������������)���META-INF/MANIFEST.MFPK �����A�����������������������A����org/PK �����A�����������������������A����org/gradle/PK �����A�����������������������A����org/gradle/wrapper/PK �����A�Pr��� ��-��*���������������org/gradle/wrapper/GradleWrapperMain.classPK �����A���.q/���3���#���������������gradle-wrapper-classpath.propertiesPK �����A������������)����������������gradle-wrapper-parameter-names.propertiesPK �����A�����������������������A���org/gradle/cli/PK �����A���?�<��S��1����������������org/gradle/cli/AbstractCommandLineConverter.classPK �����A�׃��X��� ��;����������������org/gradle/cli/AbstractPropertiesCommandLineConverter.classPK �����A�}��yG��K��1�������������4��org/gradle/cli/CommandLineArgumentException.classPK �����A�������g��)����������������org/gradle/cli/CommandLineConverter.classPK �����A�Sf ���g��&�������������*��org/gradle/cli/CommandLineOption.classPK �����A��튯��������(�������������p��org/gradle/cli/CommandLineParser$1.classPK �����A�$f{K��� ��;�������������[��org/gradle/cli/CommandLineParser$AfterFirstSubCommand.classPK �����A��D����&��3�������������� ��org/gradle/cli/CommandLineParser$AfterOptions.classPK �����A���M���u��<��������������#��org/gradle/cli/CommandLineParser$BeforeFirstSubCommand.classPK �����A��*�ZM�����F�������������H(��org/gradle/cli/CommandLineParser$CaseInsensitiveStringComparator.classPK �����A�|�R����&��=��������������*��org/gradle/cli/CommandLineParser$KnownOptionParserState.classPK �����A�$ľ�������<�������������$2��org/gradle/cli/CommandLineParser$MissingOptionArgState.classPK �����A�TK>������=�������������#5��org/gradle/cli/CommandLineParser$OptionAwareParserState.classPK �����A��%�̻�����7�������������(8��org/gradle/cli/CommandLineParser$OptionComparator.classPK �����A��fC�������8�������������8;��org/gradle/cli/CommandLineParser$OptionParserState.classPK �����A����E������3�������������5=��org/gradle/cli/CommandLineParser$OptionString.classPK �����A�gAq����x��=�������������1@��org/gradle/cli/CommandLineParser$OptionStringComparator.classPK �����A�\`M~U�����2������������� C��org/gradle/cli/CommandLineParser$ParserState.classPK �����A�p�X ���k��?�������������tE��org/gradle/cli/CommandLineParser$UnknownOptionParserState.classPK �����A��=��l)��&��������������H��org/gradle/cli/CommandLineParser.classPK �����A���>������&�������������[��org/gradle/cli/ParsedCommandLine.classPK �����A�y�t���E��,�������������c��org/gradle/cli/ParsedCommandLineOption.classPK �����A�\\\\v�B|����:�������������9f��org/gradle/cli/ProjectPropertiesCommandLineConverter.classPK �����A� �8=|�����9������������� h��org/gradle/cli/SystemPropertiesCommandLineConverter.classPK �����A�����������������������A�i��org/gradle/util/PK �����A�����������������������Aj��org/gradle/util/internal/PK �����A�������'��&�������������Ij��org/gradle/util/internal/ZipSlip.classPK �����A��%Ӧ�����/��������������m��org/gradle/wrapper/BootstrapMainStarter$1.classPK �����A�i,���$ ��-��������������o��org/gradle/wrapper/BootstrapMainStarter.classPK �����A�hQ�}��������#��������������t��org/gradle/wrapper/Download$1.classPK �����A�y�[�4�����A��������������u��org/gradle/wrapper/Download$DefaultDownloadProgressListener.classPK �����A����ۡ��~��4�������������mz��org/gradle/wrapper/Download$ProxyAuthenticator.classPK �����A��pO�)���&��!�������������\`~��org/gradle/wrapper/Download.classPK �����A�y�L���������1�������������È��org/gradle/wrapper/DownloadProgressListener.classPK �����A�!9|������3�����������������org/gradle/wrapper/ExclusiveFileAccessManager.classPK �����A���,y�����-�����������������org/gradle/wrapper/GradleUserHomeLookup.classPK �����A�����������\\"�����������������org/gradle/wrapper/IDownload.classPK �����A��%�V�����\\"�������������m���org/gradle/wrapper/Install$1.classPK �����A���Q�{����-����������������org/gradle/wrapper/Install$InstallCheck.classPK �����A��݀4���-�� �������������ɧ��org/gradle/wrapper/Install.classPK �����A��:�o��4���������������ݼ��org/gradle/wrapper/Logger.classPK �����A��\`�������8�����������������org/gradle/wrapper/PathAssembler$LocalDistribution.classPK �����A���;��+��&�������������m���org/gradle/wrapper/PathAssembler.classPK �����A�������| ��0�����������������org/gradle/wrapper/SystemPropertiesHandler.classPK �����A��=����?��-�����������������org/gradle/wrapper/WrapperConfiguration.classPK �����A�G�� ����(�����������������org/gradle/wrapper/WrapperExecutor.classPK����7�7�#�������", "smithy/gradle/wrapper/gradle-wrapper.properties": "distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists distributionUrl=https\\\\://services.gradle.org/distributions/gradle-7.5.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists ", "smithy/gradlew": "#!/bin/sh # # Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the \\"License\\"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an \\"AS IS\\" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ############################################################################## # # Gradle start up script for POSIX generated by Gradle. # # Important for running: # # (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is # noncompliant, but you have some other compliant shell such as ksh or # bash, then to run this script, type that shell name before the whole # command line, like: # # ksh Gradle # # Busybox and similar reduced shells will NOT work, because this script # requires all of these POSIX shell features: # * functions; # * expansions «$var», «\${var}», «\${var:-default}», «\${var+SET}», # «\${var#prefix}», «\${var%suffix}», and «$( cmd )»; # * compound commands having a testable exit status, especially «case»; # * various built-in commands including «command», «set», and «ulimit». # # Important for patching: # # (2) This script targets any POSIX shell, so it avoids extensions provided # by Bash, Ksh, etc; in particular arrays are avoided. # # The \\"traditional\\" practice of packing multiple parameters into a # space-separated string is a well documented source of bugs and security # problems, so this is (mostly) avoided, by progressively accumulating # options in \\"$@\\", and eventually passing that to Java. # # Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, # and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; # see the in-line comments for details. # # There are tweaks for specific operating systems such as AIX, CygWin, # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template # https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. # ############################################################################## # Attempt to set APP_HOME # Resolve links: $0 may be a link app_path=$0 # Need this for daisy-chained symlinks. while APP_HOME=\${app_path%\\"\${app_path##*/}\\"} # leaves a trailing /; empty if no leading path [ -h \\"$app_path\\" ] do ls=$( ls -ld \\"$app_path\\" ) link=\${ls#*' -> '} case $link in #( /*) app_path=$link ;; #( *) app_path=$APP_HOME$link ;; esac done APP_HOME=$( cd \\"\${APP_HOME:-./}\\" && pwd -P ) || exit APP_NAME=\\"Gradle\\" APP_BASE_NAME=\${0##*/} # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='\\"-Xmx64m\\" \\"-Xms64m\\"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum warn () { echo \\"$*\\" } >&2 die () { echo echo \\"$*\\" echo exit 1 } >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false nonstop=false case \\"$( uname )\\" in #( CYGWIN* ) cygwin=true ;; #( Darwin* ) darwin=true ;; #( MSYS* | MINGW* ) msys=true ;; #( NONSTOP* ) nonstop=true ;; esac CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. if [ -n \\"$JAVA_HOME\\" ] ; then if [ -x \\"$JAVA_HOME/jre/sh/java\\" ] ; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD=$JAVA_HOME/jre/sh/java else JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x \\"$JAVACMD\\" ] ; then die \\"ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME Please set the JAVA_HOME variable in your environment to match the location of your Java installation.\\" fi else JAVACMD=java which java >/dev/null 2>&1 || die \\"ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation.\\" fi # Increase the maximum file descriptors if we can. if ! \\"$cygwin\\" && ! \\"$darwin\\" && ! \\"$nonstop\\" ; then case $MAX_FD in #( max*) MAX_FD=$( ulimit -H -n ) || warn \\"Could not query maximum file descriptor limit\\" esac case $MAX_FD in #( '' | soft) :;; #( *) ulimit -n \\"$MAX_FD\\" || warn \\"Could not set maximum file descriptor limit to $MAX_FD\\" esac fi # Collect all arguments for the java command, stacking in reverse order: # * args from the command line # * the main class name # * -classpath # * -D...appname settings # * --module-path (only if needed) # * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. # For Cygwin or MSYS, switch paths to Windows format before running java if \\"$cygwin\\" || \\"$msys\\" ; then APP_HOME=$( cygpath --path --mixed \\"$APP_HOME\\" ) CLASSPATH=$( cygpath --path --mixed \\"$CLASSPATH\\" ) JAVACMD=$( cygpath --unix \\"$JAVACMD\\" ) # Now convert the arguments - kludge to limit ourselves to /bin/sh for arg do if case $arg in #( -*) false ;; # don't mess with options #( /?*) t=\${arg#/} t=/\${t%%/*} # looks like a POSIX filepath [ -e \\"$t\\" ] ;; #( *) false ;; esac then arg=$( cygpath --path --ignore --mixed \\"$arg\\" ) fi # Roll the args list around exactly as many times as the number of # args, so each arg winds up back in the position where it started, but # possibly modified. # # NB: a \`for\` loop captures its iteration list before it begins, so # changing the positional parameters here affects neither the number of # iterations, nor the values presented in \`arg\`. shift # remove old arg set -- \\"$@\\" \\"$arg\\" # push replacement arg done fi # Collect all arguments for the java command; # * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of # shell script including quotes and variable substitutions, so put them in # double quotes to make sure that they get re-expanded; and # * put everything else in single quotes, so that it's not re-expanded. set -- \\\\ \\"-Dorg.gradle.appname=$APP_BASE_NAME\\" \\\\ -classpath \\"$CLASSPATH\\" \\\\ org.gradle.wrapper.GradleWrapperMain \\\\ \\"$@\\" # Stop when \\"xargs\\" is not available. if ! command -v xargs >/dev/null 2>&1 then die \\"xargs is not available\\" fi # Use \\"xargs\\" to parse quoted args. # # With -n1 it outputs one arg per line, with the quotes and backslashes removed. # # In Bash we could simply go: # # readarray ARGS < <( xargs -n1 <<<\\"$var\\" ) && # set -- \\"\${ARGS[@]}\\" \\"$@\\" # # but POSIX shell has neither arrays nor command substitution, so instead we # post-process each arg (as a line of input to sed) to backslash-escape any # character that might be a shell metacharacter, then use eval to reverse # that process (while maintaining the separation between arguments), and wrap # the whole thing up as a single \\"set\\" statement. # # This will of course break if any of these variables contains a newline or # an unmatched quote. # eval \\"set -- $( printf '%s\\\\n' \\"$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS\\" | xargs -n1 | sed ' s~[^-[:alnum:]+,./:=@_]~\\\\\\\\&~g; ' | tr '\\\\n' ' ' )\\" '\\"$@\\"' exec \\"$JAVACMD\\" \\"$@\\" ", "smithy/gradlew.bat": "@rem @rem Copyright 2015 the original author or authors. @rem @rem Licensed under the Apache License, Version 2.0 (the \\"License\\"); @rem you may not use this file except in compliance with the License. @rem You may obtain a copy of the License at @rem @rem https://www.apache.org/licenses/LICENSE-2.0 @rem @rem Unless required by applicable law or agreed to in writing, software @rem distributed under the License is distributed on an \\"AS IS\\" BASIS, @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem @if \\"%DEBUG%\\"==\\"\\" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @rem @rem ########################################################################## @rem Set local scope for the variables with windows NT shell if \\"%OS%\\"==\\"Windows_NT\\" setlocal set DIRNAME=%~dp0 if \\"%DIRNAME%\\"==\\"\\" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Resolve any \\".\\" and \\"..\\" in APP_HOME to make it shorter. for %%i in (\\"%APP_HOME%\\") do set APP_HOME=%%~fi @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. set DEFAULT_JVM_OPTS=\\"-Xmx64m\\" \\"-Xms64m\\" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 if %ERRORLEVEL% equ 0 goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. echo. echo Please set the JAVA_HOME variable in your environment to match the echo location of your Java installation. goto fail :findJavaFromJavaHome set JAVA_HOME=%JAVA_HOME:\\"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist \\"%JAVA_EXE%\\" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% echo. echo Please set the JAVA_HOME variable in your environment to match the echo location of your Java installation. goto fail :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\\\\gradle\\\\wrapper\\\\gradle-wrapper.jar @rem Execute Gradle \\"%JAVA_EXE%\\" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% \\"-Dorg.gradle.appname=%APP_BASE_NAME%\\" -classpath \\"%CLASSPATH%\\" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! set EXIT_CODE=%ERRORLEVEL% if %EXIT_CODE% equ 0 set EXIT_CODE=1 if not \\"\\"==\\"%GRADLE_EXIT_CONSOLE%\\" exit %EXIT_CODE% exit /b %EXIT_CODE% :mainEnd if \\"%OS%\\"==\\"Windows_NT\\" endlocal :omega ", "smithy/output/openapi/build-info/smithy-build-info.json": Object { "metadata": Object {}, "operationShapeIds": Array [ "example.hello#SayHello", ], "projection": Object { "abstract": false, "imports": Array [], "plugins": Object { "openapi": Object { "service": "example.hello#Hello", "tags": true, }, }, "transforms": Array [], }, "projectionName": "openapi", "resourceShapeIds": Array [], "serviceShapeIds": Array [ "example.hello#Hello", ], "traitDefNames": Array [ "aws.api#arn", "aws.api#arnReference", "aws.api#clientDiscoveredEndpoint", "aws.api#clientEndpointDiscovery", "aws.api#clientEndpointDiscoveryId", "aws.api#controlPlane", "aws.api#data", "aws.api#dataPlane", "aws.api#service", "aws.api#tagEnabled", "aws.api#taggable", "aws.auth#cognitoUserPools", "aws.auth#sigv4", "aws.auth#unsignedPayload", "aws.customizations#s3UnwrappedXmlOutput", "aws.protocols#awsJson1_0", "aws.protocols#awsJson1_1", "aws.protocols#awsQuery", "aws.protocols#awsQueryCompatible", "aws.protocols#awsQueryError", "aws.protocols#ec2Query", "aws.protocols#ec2QueryName", "aws.protocols#httpChecksum", "aws.protocols#restJson1", "aws.protocols#restXml", "smithy.api#addedDefault", "smithy.api#auth", "smithy.api#authDefinition", "smithy.api#box", "smithy.api#clientOptional", "smithy.api#cors", "smithy.api#default", "smithy.api#deprecated", "smithy.api#documentation", "smithy.api#endpoint", "smithy.api#enum", "smithy.api#enumValue", "smithy.api#error", "smithy.api#eventHeader", "smithy.api#eventPayload", "smithy.api#examples", "smithy.api#externalDocumentation", "smithy.api#hostLabel", "smithy.api#http", "smithy.api#httpApiKeyAuth", "smithy.api#httpBasicAuth", "smithy.api#httpBearerAuth", "smithy.api#httpChecksumRequired", "smithy.api#httpDigestAuth", "smithy.api#httpError", "smithy.api#httpHeader", "smithy.api#httpLabel", "smithy.api#httpPayload", "smithy.api#httpPrefixHeaders", "smithy.api#httpQuery", "smithy.api#httpQueryParams", "smithy.api#httpResponseCode", "smithy.api#idempotencyToken", "smithy.api#idempotent", "smithy.api#idRef", "smithy.api#input", "smithy.api#internal", "smithy.api#jsonName", "smithy.api#length", "smithy.api#mediaType", "smithy.api#mixin", "smithy.api#nestedProperties", "smithy.api#noReplace", "smithy.api#notProperty", "smithy.api#optionalAuth", "smithy.api#output", "smithy.api#paginated", "smithy.api#pattern", "smithy.api#private", "smithy.api#property", "smithy.api#protocolDefinition", "smithy.api#range", "smithy.api#readonly", "smithy.api#recommended", "smithy.api#references", "smithy.api#required", "smithy.api#requiresLength", "smithy.api#resourceIdentifier", "smithy.api#retryable", "smithy.api#sensitive", "smithy.api#since", "smithy.api#sparse", "smithy.api#streaming", "smithy.api#suppress", "smithy.api#tags", "smithy.api#timestampFormat", "smithy.api#title", "smithy.api#trait", "smithy.api#uniqueItems", "smithy.api#unitType", "smithy.api#unstable", "smithy.api#xmlAttribute", "smithy.api#xmlFlattened", "smithy.api#xmlName", "smithy.api#xmlNamespace", ], "traitNames": Array [ "aws.protocols#restJson1", "smithy.api#authDefinition", "smithy.api#box", "smithy.api#default", "smithy.api#deprecated", "smithy.api#documentation", "smithy.api#enumValue", "smithy.api#error", "smithy.api#externalDocumentation", "smithy.api#http", "smithy.api#httpQuery", "smithy.api#idRef", "smithy.api#input", "smithy.api#internal", "smithy.api#length", "smithy.api#mixin", "smithy.api#notProperty", "smithy.api#output", "smithy.api#pattern", "smithy.api#private", "smithy.api#protocolDefinition", "smithy.api#range", "smithy.api#readonly", "smithy.api#recommended", "smithy.api#required", "smithy.api#tags", "smithy.api#trait", "smithy.api#uniqueItems", "smithy.api#unitType", "smithy.api#unstable", ], "validationEvents": Array [], "version": "1.0", }, "smithy/output/openapi/openapi/Hello.openapi.json": Object { "components": Object { "schemas": Object { "ApiErrorResponseContent": Object { "properties": Object { "errorMessage": Object { "type": "string", }, }, "required": Array [ "errorMessage", ], "type": "object", }, "SayHelloResponseContent": Object { "properties": Object { "message": Object { "type": "string", }, }, "required": Array [ "message", ], "type": "object", }, }, }, "info": Object { "description": "A sample smithy api", "title": "Hello", "version": "1.0", }, "openapi": "3.0.2", "paths": Object { "/hello": Object { "get": Object { "operationId": "SayHello", "parameters": Array [ Object { "in": "query", "name": "name", "required": true, "schema": Object { "type": "string", }, }, ], "responses": Object { "200": Object { "content": Object { "application/json": Object { "schema": Object { "$ref": "#/components/schemas/SayHelloResponseContent", }, }, }, "description": "SayHello 200 response", }, "400": Object { "content": Object { "application/json": Object { "schema": Object { "$ref": "#/components/schemas/ApiErrorResponseContent", }, }, }, "description": "ApiError 400 response", }, }, }, }, }, }, "smithy/output/openapi/sources/manifest": "model.json ", "smithy/output/source/build-info/smithy-build-info.json": Object { "metadata": Object {}, "operationShapeIds": Array [ "example.hello#SayHello", ], "projection": Object { "abstract": false, "imports": Array [], "plugins": Object {}, "transforms": Array [], }, "projectionName": "source", "resourceShapeIds": Array [], "serviceShapeIds": Array [ "example.hello#Hello", ], "traitDefNames": Array [ "aws.api#arn", "aws.api#arnReference", "aws.api#clientDiscoveredEndpoint", "aws.api#clientEndpointDiscovery", "aws.api#clientEndpointDiscoveryId", "aws.api#controlPlane", "aws.api#data", "aws.api#dataPlane", "aws.api#service", "aws.api#tagEnabled", "aws.api#taggable", "aws.auth#cognitoUserPools", "aws.auth#sigv4", "aws.auth#unsignedPayload", "aws.customizations#s3UnwrappedXmlOutput", "aws.protocols#awsJson1_0", "aws.protocols#awsJson1_1", "aws.protocols#awsQuery", "aws.protocols#awsQueryCompatible", "aws.protocols#awsQueryError", "aws.protocols#ec2Query", "aws.protocols#ec2QueryName", "aws.protocols#httpChecksum", "aws.protocols#restJson1", "aws.protocols#restXml", "smithy.api#addedDefault", "smithy.api#auth", "smithy.api#authDefinition", "smithy.api#box", "smithy.api#clientOptional", "smithy.api#cors", "smithy.api#default", "smithy.api#deprecated", "smithy.api#documentation", "smithy.api#endpoint", "smithy.api#enum", "smithy.api#enumValue", "smithy.api#error", "smithy.api#eventHeader", "smithy.api#eventPayload", "smithy.api#examples", "smithy.api#externalDocumentation", "smithy.api#hostLabel", "smithy.api#http", "smithy.api#httpApiKeyAuth", "smithy.api#httpBasicAuth", "smithy.api#httpBearerAuth", "smithy.api#httpChecksumRequired", "smithy.api#httpDigestAuth", "smithy.api#httpError", "smithy.api#httpHeader", "smithy.api#httpLabel", "smithy.api#httpPayload", "smithy.api#httpPrefixHeaders", "smithy.api#httpQuery", "smithy.api#httpQueryParams", "smithy.api#httpResponseCode", "smithy.api#idempotencyToken", "smithy.api#idempotent", "smithy.api#idRef", "smithy.api#input", "smithy.api#internal", "smithy.api#jsonName", "smithy.api#length", "smithy.api#mediaType", "smithy.api#mixin", "smithy.api#nestedProperties", "smithy.api#noReplace", "smithy.api#notProperty", "smithy.api#optionalAuth", "smithy.api#output", "smithy.api#paginated", "smithy.api#pattern", "smithy.api#private", "smithy.api#property", "smithy.api#protocolDefinition", "smithy.api#range", "smithy.api#readonly", "smithy.api#recommended", "smithy.api#references", "smithy.api#required", "smithy.api#requiresLength", "smithy.api#resourceIdentifier", "smithy.api#retryable", "smithy.api#sensitive", "smithy.api#since", "smithy.api#sparse", "smithy.api#streaming", "smithy.api#suppress", "smithy.api#tags", "smithy.api#timestampFormat", "smithy.api#title", "smithy.api#trait", "smithy.api#uniqueItems", "smithy.api#unitType", "smithy.api#unstable", "smithy.api#xmlAttribute", "smithy.api#xmlFlattened", "smithy.api#xmlName", "smithy.api#xmlNamespace", ], "traitNames": Array [ "aws.protocols#restJson1", "smithy.api#authDefinition", "smithy.api#box", "smithy.api#default", "smithy.api#deprecated", "smithy.api#documentation", "smithy.api#enumValue", "smithy.api#error", "smithy.api#externalDocumentation", "smithy.api#http", "smithy.api#httpQuery", "smithy.api#idRef", "smithy.api#input", "smithy.api#internal", "smithy.api#length", "smithy.api#mixin", "smithy.api#notProperty", "smithy.api#output", "smithy.api#pattern", "smithy.api#private", "smithy.api#protocolDefinition", "smithy.api#range", "smithy.api#readonly", "smithy.api#recommended", "smithy.api#required", "smithy.api#tags", "smithy.api#trait", "smithy.api#uniqueItems", "smithy.api#unitType", "smithy.api#unstable", ], "validationEvents": Array [], "version": "1.0", }, "smithy/output/source/sources/main.smithy": "$version: \\"2\\" namespace example.hello use aws.protocols#restJson1 /// A sample smithy api @restJson1 service Hello { version: \\"1.0\\" operations: [SayHello] } @readonly @http(method: \\"GET\\", uri: \\"/hello\\") operation SayHello { input: SayHelloInput output: SayHelloOutput errors: [ApiError] } string Name string Message @input structure SayHelloInput { @httpQuery(\\"name\\") @required name: Name } @output structure SayHelloOutput { @required message: Message } @error(\\"client\\") structure ApiError { @required errorMessage: Message } ", "smithy/output/source/sources/manifest": "main.smithy ", "smithy/settings.gradle": "rootProject.name = 'test-smithy-build'", "smithy/smithy-build.json": Object { "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \\"npx projen\\".", "maven": Object { "dependencies": Array [ "software.amazon.smithy:smithy-cli:1.28.0", "software.amazon.smithy:smithy-model:1.28.0", "software.amazon.smithy:smithy-openapi:1.28.0", "software.amazon.smithy:smithy-aws-traits:1.28.0", ], "repositories": Array [ Object { "url": "https://repo.maven.apache.org/maven2/", }, Object { "url": "file://~/.m2/repository", }, ], }, "projections": Object { "openapi": Object { "plugins": Object { "openapi": Object { "service": "example.hello#Hello", "tags": true, }, }, }, }, "version": "2.0", }, "smithy/src/main/smithy/main.smithy": "$version: \\"2\\" namespace example.hello use aws.protocols#restJson1 /// A sample smithy api @restJson1 service Hello { version: \\"1.0\\" operations: [SayHello] } @readonly @http(method: \\"GET\\", uri: \\"/hello\\") operation SayHello { input: SayHelloInput output: SayHelloOutput errors: [ApiError] } string Name string Message @input structure SayHelloInput { @httpQuery(\\"name\\") @required name: Name } @output structure SayHelloOutput { @required message: Message } @error(\\"client\\") structure ApiError { @required errorMessage: Message } ", "src/main/java/api/Api.java": "package api; import com.fasterxml.jackson.databind.ObjectMapper; import software.aws.awsprototypingsdk.openapigateway.MethodAndPath; import software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayRestApi; import software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayRestApiProps; import software.constructs.Construct; import com.generated.api.testjava.client.api.OperationLookup; import java.io.IOException; import java.net.URL; import java.nio.file.Files; import java.nio.file.Path; import java.util.Map; import java.util.stream.Collectors; /** * Type-safe construct for the API Gateway resources defined by the spec. * You will likely not need to modify this file, and can instead extend it and define your integrations. */ public class Api extends OpenApiGatewayRestApi { private static class SpecDetails { static String specPath; static Object spec; static { try { // The parsed spec is included as a packaged resource URL specUrl = SpecDetails.class.getClassLoader().getResource(\\"spec/.parsed-spec.json\\"); // We'll write the parsed spec to a temporary file outside of the jar to ensure CDK can package it as an asset Path parsedSpecPath = Files.createTempFile(\\"parsed-spec\\", \\".json\\"); specPath = parsedSpecPath.toString(); ObjectMapper json = new ObjectMapper(); spec = json.readValue(specUrl, Object.class); json.writeValue(parsedSpecPath.toFile(), spec); } catch (IOException e) { throw new RuntimeException(e); } } } public Api(Construct scope, String id, ApiProps props) { super(scope, id, OpenApiGatewayRestApiProps.builder() .defaultAuthorizer(props.getDefaultAuthorizer()) .corsOptions(props.getCorsOptions()) .operationLookup(OperationLookup.getOperationLookup() .entrySet() .stream() .collect(Collectors.toMap(Map.Entry::getKey, e -> MethodAndPath.builder() .method(e.getValue().get(\\"method\\")) .path(e.getValue().get(\\"path\\")) .build()))) .spec(SpecDetails.spec) .specPath(SpecDetails.specPath) .integrations(props.getIntegrations().asMap()) // Rest API Base Props .cloudWatchRole(props.getCloudWatchRole()) .deploy(props.getDeploy()) .deployOptions(props.getDeployOptions()) .description(props.getDescription()) .disableExecuteApiEndpoint(props.getDisableExecuteApiEndpoint()) .domainName(props.getDomainName()) .endpointExportName(props.getEndpointExportName()) .endpointTypes(props.getEndpointTypes()) .failOnWarnings(props.getFailOnWarnings()) .parameters(props.getParameters()) .policy(props.getPolicy()) .restApiName(props.getRestApiName()) .retainDeployments(props.getRetainDeployments()) .build()); } } ", "src/main/java/api/ApiProps.java": "package api; import software.amazon.awscdk.services.apigateway.CorsOptions; import software.amazon.awscdk.services.apigateway.StageOptions; import software.amazon.awscdk.services.apigateway.RestApiBaseProps; import software.amazon.awscdk.services.apigateway.DomainNameOptions; import software.amazon.awscdk.services.apigateway.EndpointType; import software.amazon.awscdk.services.iam.PolicyDocument; import software.aws.awsprototypingsdk.openapigateway.Authorizer; import software.aws.awsprototypingsdk.openapigateway.OpenApiIntegration; import com.generated.api.testjava.client.api.OperationConfig; import java.util.List; import java.util.Map; /** * Properties for the Api construct */ @lombok.Builder @lombok.Getter public class ApiProps implements RestApiBaseProps { public OperationConfig<OpenApiIntegration> integrations; public Authorizer defaultAuthorizer; public CorsOptions corsOptions; // Rest API Props public Boolean cloudWatchRole; public Boolean deploy; public StageOptions deployOptions; public String description; public Boolean disableExecuteApiEndpoint; public DomainNameOptions domainName; public String endpointExportName; public List<EndpointType> endpointTypes; public Boolean failOnWarnings; public Map<String, String> parameters; public PolicyDocument policy; public String restApiName; public Boolean retainDeployments; } ", "src/main/java/api/SampleApi.java": "package api; import software.amazon.awscdk.Duration; import software.amazon.awscdk.services.apigateway.CorsOptions; import software.amazon.awscdk.services.lambda.Code; import software.amazon.awscdk.services.lambda.Function; import software.amazon.awscdk.services.lambda.FunctionProps; import software.amazon.awscdk.services.lambda.Runtime; import software.aws.awsprototypingsdk.openapigateway.Authorizers; import software.aws.awsprototypingsdk.openapigateway.Integrations; import software.aws.awsprototypingsdk.openapigateway.OpenApiIntegration; import com.generated.api.testjava.client.api.OperationConfig; import software.constructs.Construct; import java.net.URISyntaxException; import java.util.Arrays; /** * An example of how to wire lambda handler functions to API operations */ public class SampleApi extends Api { public SampleApi(Construct scope, String id) { super(scope, id, ApiProps.builder() .defaultAuthorizer(Authorizers.iam()) .corsOptions(CorsOptions.builder() .allowOrigins(Arrays.asList(\\"*\\")) .allowMethods(Arrays.asList(\\"*\\")) .build()) .integrations(OperationConfig.<OpenApiIntegration>builder() .sayHello(OpenApiIntegration.builder() .integration(Integrations.lambda( new Function(scope, \\"say-hello\\", FunctionProps.builder() // Use the entire project jar for the lambda code in order to provide a simple, // \\"one-click\\" way to build the api. However this jar is much larger than necessary // since it includes cdk infrastructure, dependencies etc. // It is recommended to follow the instructions in the \\"Java API Lambda Handlers\\" // section of the open-api-gateway README to define your lambda handlers as a // separate project. .code(Code.fromAsset(SampleApi.getJarPath())) .handler(\\"api.SayHelloHandler\\") .runtime(Runtime.JAVA_11) .timeout(Duration.seconds(30)) .build()))) .build()) .build()) .build()); } private static String getJarPath() { try { // Retrieve the path of the jar in which this class resides return SampleApi.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath(); } catch (URISyntaxException e) { throw new RuntimeException(e); } } } ", "src/main/java/api/SayHelloHandler.java": "package api; import com.generated.api.testjava.client.api.Handlers.SayHello; import com.generated.api.testjava.client.api.Handlers.SayHello200Response; import com.generated.api.testjava.client.api.Handlers.SayHelloRequestInput; import com.generated.api.testjava.client.api.Handlers.SayHelloResponse; import com.generated.api.testjava.client.model.SayHelloResponseContent; /** * An example lambda handler which uses the generated handler wrapper class (Handlers.SayHello) to manage marshalling * inputs and outputs. */ public class SayHelloHandler extends SayHello { @Override public SayHelloResponse handle(SayHelloRequestInput sayHelloRequestInput) { return SayHello200Response.of(SayHelloResponseContent.builder() .message(String.format(\\"Hello %s\\", sayHelloRequestInput.getInput().getRequestParameters().getName())) .build()); } } ", "src/main/resources/spec/.parsed-spec.json": Object { "components": Object { "schemas": Object { "ApiErrorResponseContent": Object { "properties": Object { "errorMessage": Object { "type": "string", }, }, "required": Array [ "errorMessage", ], "type": "object", }, "SayHelloResponseContent": Object { "properties": Object { "message": Object { "type": "string", }, }, "required": Array [ "message", ], "type": "object", }, }, }, "info": Object { "description": "A sample smithy api", "title": "Hello", "version": "1.0", }, "openapi": "3.0.2", "paths": Object { "/hello": Object { "get": Object { "operationId": "SayHello", "parameters": Array [ Object { "in": "query", "name": "name", "required": true, "schema": Object { "type": "string", }, }, ], "responses": Object { "200": Object { "content": Object { "application/json": Object { "schema": Object { "$ref": "#/components/schemas/SayHelloResponseContent", }, }, }, "description": "SayHello 200 response", }, "400": Object { "content": Object { "application/json": Object { "schema": Object { "$ref": "#/components/schemas/ApiErrorResponseContent", }, }, }, "description": "ApiError 400 response", }, }, }, }, }, }, "src/test/java/org/acme/MyTest.java": "package org.acme; import org.junit.jupiter.api.Test; public class MyTest { @Test public void testHello() { System.out.println(\\"Hello, world!\\"); } }", } `;