From 8719666125752600f022f64a0cbd9d7fe8bf731c Mon Sep 17 00:00:00 2001 From: Layla Bristol Date: Sat, 3 Nov 2018 21:34:57 -0700 Subject: [PATCH 1/9] initial rails setup --- .gitignore | 27 +++ .ruby-version | 1 + Gemfile | 62 +++++ Gemfile.lock | 220 ++++++++++++++++++ README.md | 107 ++------- Rakefile | 6 + app/assets/config/manifest.js | 3 + app/assets/images/.keep | 0 app/assets/javascripts/application.js | 16 ++ app/assets/javascripts/cable.js | 13 ++ app/assets/javascripts/channels/.keep | 0 app/assets/stylesheets/application.css | 15 ++ app/channels/application_cable/channel.rb | 4 + app/channels/application_cable/connection.rb | 4 + app/controllers/application_controller.rb | 2 + app/controllers/concerns/.keep | 0 app/helpers/application_helper.rb | 2 + app/jobs/application_job.rb | 2 + app/mailers/application_mailer.rb | 4 + app/models/application_record.rb | 3 + app/models/concerns/.keep | 0 app/views/layouts/application.html.erb | 15 ++ app/views/layouts/mailer.html.erb | 13 ++ app/views/layouts/mailer.text.erb | 1 + bin/bundle | 3 + bin/rails | 9 + bin/rake | 9 + bin/setup | 36 +++ bin/spring | 17 ++ bin/update | 31 +++ bin/yarn | 11 + config.ru | 5 + config/application.rb | 19 ++ config/boot.rb | 4 + config/cable.yml | 10 + config/credentials.yml.enc | 1 + config/database.yml | 85 +++++++ config/environment.rb | 5 + config/environments/development.rb | 61 +++++ config/environments/production.rb | 94 ++++++++ config/environments/test.rb | 46 ++++ .../application_controller_renderer.rb | 8 + config/initializers/assets.rb | 14 ++ config/initializers/backtrace_silencers.rb | 7 + .../initializers/content_security_policy.rb | 25 ++ config/initializers/cookies_serializer.rb | 5 + .../initializers/filter_parameter_logging.rb | 4 + config/initializers/inflections.rb | 16 ++ config/initializers/mime_types.rb | 4 + config/initializers/wrap_parameters.rb | 14 ++ config/locales/en.yml | 33 +++ config/puma.rb | 34 +++ config/routes.rb | 3 + config/spring.rb | 6 + config/storage.yml | 34 +++ db/seeds.rb | 7 + lib/assets/.keep | 0 lib/tasks/.keep | 0 log/.keep | 0 package.json | 5 + public/404.html | 67 ++++++ public/422.html | 67 ++++++ public/500.html | 66 ++++++ public/apple-touch-icon-precomposed.png | 0 public/apple-touch-icon.png | 0 public/favicon.ico | 0 public/robots.txt | 1 + storage/.keep | 0 test/application_system_test_case.rb | 5 + test/controllers/.keep | 0 test/fixtures/.keep | 0 test/fixtures/files/.keep | 0 test/helpers/.keep | 0 test/integration/.keep | 0 test/mailers/.keep | 0 test/models/.keep | 0 test/system/.keep | 0 test/test_helper.rb | 10 + tmp/.keep | 0 vendor/.keep | 0 80 files changed, 1307 insertions(+), 94 deletions(-) create mode 100644 .gitignore create mode 100644 .ruby-version create mode 100644 Gemfile create mode 100644 Gemfile.lock create mode 100644 Rakefile create mode 100644 app/assets/config/manifest.js create mode 100644 app/assets/images/.keep create mode 100644 app/assets/javascripts/application.js create mode 100644 app/assets/javascripts/cable.js create mode 100644 app/assets/javascripts/channels/.keep create mode 100644 app/assets/stylesheets/application.css create mode 100644 app/channels/application_cable/channel.rb create mode 100644 app/channels/application_cable/connection.rb create mode 100644 app/controllers/application_controller.rb create mode 100644 app/controllers/concerns/.keep create mode 100644 app/helpers/application_helper.rb create mode 100644 app/jobs/application_job.rb create mode 100644 app/mailers/application_mailer.rb create mode 100644 app/models/application_record.rb create mode 100644 app/models/concerns/.keep create mode 100644 app/views/layouts/application.html.erb create mode 100644 app/views/layouts/mailer.html.erb create mode 100644 app/views/layouts/mailer.text.erb create mode 100755 bin/bundle create mode 100755 bin/rails create mode 100755 bin/rake create mode 100755 bin/setup create mode 100755 bin/spring create mode 100755 bin/update create mode 100755 bin/yarn create mode 100644 config.ru create mode 100644 config/application.rb create mode 100644 config/boot.rb create mode 100644 config/cable.yml create mode 100644 config/credentials.yml.enc create mode 100644 config/database.yml create mode 100644 config/environment.rb create mode 100644 config/environments/development.rb create mode 100644 config/environments/production.rb create mode 100644 config/environments/test.rb create mode 100644 config/initializers/application_controller_renderer.rb create mode 100644 config/initializers/assets.rb create mode 100644 config/initializers/backtrace_silencers.rb create mode 100644 config/initializers/content_security_policy.rb create mode 100644 config/initializers/cookies_serializer.rb create mode 100644 config/initializers/filter_parameter_logging.rb create mode 100644 config/initializers/inflections.rb create mode 100644 config/initializers/mime_types.rb create mode 100644 config/initializers/wrap_parameters.rb create mode 100644 config/locales/en.yml create mode 100644 config/puma.rb create mode 100644 config/routes.rb create mode 100644 config/spring.rb create mode 100644 config/storage.yml create mode 100644 db/seeds.rb create mode 100644 lib/assets/.keep create mode 100644 lib/tasks/.keep create mode 100644 log/.keep create mode 100644 package.json create mode 100644 public/404.html create mode 100644 public/422.html create mode 100644 public/500.html create mode 100644 public/apple-touch-icon-precomposed.png create mode 100644 public/apple-touch-icon.png create mode 100644 public/favicon.ico create mode 100644 public/robots.txt create mode 100644 storage/.keep create mode 100644 test/application_system_test_case.rb create mode 100644 test/controllers/.keep create mode 100644 test/fixtures/.keep create mode 100644 test/fixtures/files/.keep create mode 100644 test/helpers/.keep create mode 100644 test/integration/.keep create mode 100644 test/mailers/.keep create mode 100644 test/models/.keep create mode 100644 test/system/.keep create mode 100644 test/test_helper.rb create mode 100644 tmp/.keep create mode 100644 vendor/.keep diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..18b43c9cd --- /dev/null +++ b/.gitignore @@ -0,0 +1,27 @@ +# See https://help.github.com/articles/ignoring-files for more about ignoring files. +# +# If you find yourself ignoring temporary files generated by your text editor +# or operating system, you probably want to add a global ignore instead: +# git config --global core.excludesfile '~/.gitignore_global' + +# Ignore bundler config. +/.bundle + +# Ignore all logfiles and tempfiles. +/log/* +/tmp/* +!/log/.keep +!/tmp/.keep + +# Ignore uploaded files in development +/storage/* +!/storage/.keep + +/node_modules +/yarn-error.log + +/public/assets +.byebug_history + +# Ignore master key for decrypting credentials and more. +/config/master.key diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 000000000..e54d447e8 --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +ruby-2.4.1 \ No newline at end of file diff --git a/Gemfile b/Gemfile new file mode 100644 index 000000000..de002605e --- /dev/null +++ b/Gemfile @@ -0,0 +1,62 @@ +source 'https://rubygems.org' +git_source(:github) { |repo| "https://github.com/#{repo}.git" } + +ruby '2.4.1' + +# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' +gem 'rails', '~> 5.2.1' +# Use postgresql as the database for Active Record +gem 'pg', '>= 0.18', '< 2.0' +# Use Puma as the app server +gem 'puma', '~> 3.11' +# Use SCSS for stylesheets +gem 'sass-rails', '~> 5.0' +# Use Uglifier as compressor for JavaScript assets +gem 'uglifier', '>= 1.3.0' +# See https://github.com/rails/execjs#readme for more supported runtimes +# gem 'mini_racer', platforms: :ruby + +# Use CoffeeScript for .coffee assets and views +gem 'coffee-rails', '~> 4.2' +# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks +gem 'turbolinks', '~> 5' +# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder +gem 'jbuilder', '~> 2.5' +# Use Redis adapter to run Action Cable in production +# gem 'redis', '~> 4.0' +# Use ActiveModel has_secure_password +# gem 'bcrypt', '~> 3.1.7' + +# Use ActiveStorage variant +# gem 'mini_magick', '~> 4.8' + +# Use Capistrano for deployment +# gem 'capistrano-rails', group: :development + +# Reduces boot times through caching; required in config/boot.rb +gem 'bootsnap', '>= 1.1.0', require: false + +group :development, :test do + # Call 'byebug' anywhere in the code to stop execution and get a debugger console + gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] +end + +group :development do + # Access an interactive console on exception pages or by calling 'console' anywhere in the code. + gem 'web-console', '>= 3.3.0' + gem 'listen', '>= 3.0.5', '< 3.2' + # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring + gem 'spring' + gem 'spring-watcher-listen', '~> 2.0.0' +end + +group :test do + # Adds support for Capybara system testing and selenium driver + gem 'capybara', '>= 2.15' + gem 'selenium-webdriver' + # Easy installation and use of chromedriver to run system tests with Chrome + gem 'chromedriver-helper' +end + +# Windows does not include zoneinfo files, so bundle the tzinfo-data gem +gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 000000000..ac509668f --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,220 @@ +GEM + remote: https://rubygems.org/ + specs: + actioncable (5.2.1) + actionpack (= 5.2.1) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailer (5.2.1) + actionpack (= 5.2.1) + actionview (= 5.2.1) + activejob (= 5.2.1) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (5.2.1) + actionview (= 5.2.1) + activesupport (= 5.2.1) + rack (~> 2.0) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + actionview (5.2.1) + activesupport (= 5.2.1) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.3) + activejob (5.2.1) + activesupport (= 5.2.1) + globalid (>= 0.3.6) + activemodel (5.2.1) + activesupport (= 5.2.1) + activerecord (5.2.1) + activemodel (= 5.2.1) + activesupport (= 5.2.1) + arel (>= 9.0) + activestorage (5.2.1) + actionpack (= 5.2.1) + activerecord (= 5.2.1) + marcel (~> 0.3.1) + activesupport (5.2.1) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) + minitest (~> 5.1) + tzinfo (~> 1.1) + addressable (2.5.2) + public_suffix (>= 2.0.2, < 4.0) + archive-zip (0.11.0) + io-like (~> 0.3.0) + arel (9.0.0) + bindex (0.5.0) + bootsnap (1.3.2) + msgpack (~> 1.0) + builder (3.2.3) + byebug (10.0.2) + capybara (3.10.1) + addressable + mini_mime (>= 0.1.3) + nokogiri (~> 1.8) + rack (>= 1.6.0) + rack-test (>= 0.6.3) + regexp_parser (~> 1.2) + xpath (~> 3.2) + childprocess (0.9.0) + ffi (~> 1.0, >= 1.0.11) + chromedriver-helper (2.1.0) + archive-zip (~> 0.10) + nokogiri (~> 1.8) + coffee-rails (4.2.2) + coffee-script (>= 2.2.0) + railties (>= 4.0.0) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) + concurrent-ruby (1.0.5) + crass (1.0.4) + erubi (1.7.1) + execjs (2.7.0) + ffi (1.9.25) + globalid (0.4.1) + activesupport (>= 4.2.0) + i18n (1.1.1) + concurrent-ruby (~> 1.0) + io-like (0.3.0) + jbuilder (2.7.0) + activesupport (>= 4.2.0) + multi_json (>= 1.2) + listen (3.1.5) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + ruby_dep (~> 1.2) + loofah (2.2.3) + crass (~> 1.0.2) + nokogiri (>= 1.5.9) + mail (2.7.1) + mini_mime (>= 0.1.1) + marcel (0.3.3) + mimemagic (~> 0.3.2) + method_source (0.9.1) + mimemagic (0.3.2) + mini_mime (1.0.1) + mini_portile2 (2.3.0) + minitest (5.11.3) + msgpack (1.2.4) + multi_json (1.13.1) + nio4r (2.3.1) + nokogiri (1.8.5) + mini_portile2 (~> 2.3.0) + pg (1.1.3) + public_suffix (3.0.3) + puma (3.12.0) + rack (2.0.5) + rack-test (1.1.0) + rack (>= 1.0, < 3) + rails (5.2.1) + actioncable (= 5.2.1) + actionmailer (= 5.2.1) + actionpack (= 5.2.1) + actionview (= 5.2.1) + activejob (= 5.2.1) + activemodel (= 5.2.1) + activerecord (= 5.2.1) + activestorage (= 5.2.1) + activesupport (= 5.2.1) + bundler (>= 1.3.0) + railties (= 5.2.1) + sprockets-rails (>= 2.0.0) + rails-dom-testing (2.0.3) + activesupport (>= 4.2.0) + nokogiri (>= 1.6) + rails-html-sanitizer (1.0.4) + loofah (~> 2.2, >= 2.2.2) + railties (5.2.1) + actionpack (= 5.2.1) + activesupport (= 5.2.1) + method_source + rake (>= 0.8.7) + thor (>= 0.19.0, < 2.0) + rake (12.3.1) + rb-fsevent (0.10.3) + rb-inotify (0.9.10) + ffi (>= 0.5.0, < 2) + regexp_parser (1.2.0) + ruby_dep (1.5.0) + rubyzip (1.2.2) + sass (3.6.0) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sass-rails (5.0.7) + railties (>= 4.0.0, < 6) + sass (~> 3.1) + sprockets (>= 2.8, < 4.0) + sprockets-rails (>= 2.0, < 4.0) + tilt (>= 1.1, < 3) + selenium-webdriver (3.141.0) + childprocess (~> 0.5) + rubyzip (~> 1.2, >= 1.2.2) + spring (2.0.2) + activesupport (>= 4.2) + spring-watcher-listen (2.0.1) + listen (>= 2.7, < 4.0) + spring (>= 1.2, < 3.0) + sprockets (3.7.2) + concurrent-ruby (~> 1.0) + rack (> 1, < 3) + sprockets-rails (3.2.1) + actionpack (>= 4.0) + activesupport (>= 4.0) + sprockets (>= 3.0.0) + thor (0.20.0) + thread_safe (0.3.6) + tilt (2.0.8) + turbolinks (5.2.0) + turbolinks-source (~> 5.2) + turbolinks-source (5.2.0) + tzinfo (1.2.5) + thread_safe (~> 0.1) + uglifier (4.1.19) + execjs (>= 0.3.0, < 3) + web-console (3.7.0) + actionview (>= 5.0) + activemodel (>= 5.0) + bindex (>= 0.4.0) + railties (>= 5.0) + websocket-driver (0.7.0) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.3) + xpath (3.2.0) + nokogiri (~> 1.8) + +PLATFORMS + ruby + +DEPENDENCIES + bootsnap (>= 1.1.0) + byebug + capybara (>= 2.15) + chromedriver-helper + coffee-rails (~> 4.2) + jbuilder (~> 2.5) + listen (>= 3.0.5, < 3.2) + pg (>= 0.18, < 2.0) + puma (~> 3.11) + rails (~> 5.2.1) + sass-rails (~> 5.0) + selenium-webdriver + spring + spring-watcher-listen (~> 2.0.0) + turbolinks (~> 5) + tzinfo-data + uglifier (>= 1.3.0) + web-console (>= 3.3.0) + +RUBY VERSION + ruby 2.4.1p111 + +BUNDLED WITH + 1.16.2 diff --git a/README.md b/README.md index d76b81007..7db80e4ca 100644 --- a/README.md +++ b/README.md @@ -1,105 +1,24 @@ -# API Muncher: Recipe API Consumer +# README -## At a Glance +This README would normally document whatever steps are necessary to get the +application up and running. -- Individual, [stage 2](https://github.com/Ada-Developers-Academy/pedagogy/blob/master/rule-of-three.md#stage-2) project -- Due **before class, Mon 11/5** +Things you may want to cover: -## Learning Goals: +* Ruby version -- Configure an API for consumption -- Create authenticated API requests using HTTParty -- Consume JSON responses from an API -- Map response to application-specific data -- Separate API logic from application logic +* System dependencies -## Objective +* Configuration -We will create a web application that displays recipes based on a search term. We will utilize an API from Edamam called the [Recipe Search API](https://developer.edamam.com/edamam-recipe-api). +* Database creation -## Getting Started +* Database initialization -Before you start writing _any_ code: +* How to run the test suite -- Explore the API documentation to become familiar with the request(s) you can make -- Create a Trello Board listing the features you will need to add and use it to track the progress of your app. +* Services (job queues, cache servers, search engines, etc.) -Once you've explored the API docs, this project: +* Deployment instructions -- requires you to create a Rails application - - conform to Rails conventions on naming and inflection - - by using `rails new .` you will create a new rails app _inside_ of the fork folder instead of creating a _new_ folder for your rails app - - [Set `local: true` as default for `form_with` in Rails 5](https://stackoverflow.com/questions/47822826/set-local-true-as-default-for-form-with-in-rails-5/51666415#51666415) -- Use better_errors for debugging purposes -- Deploy your completed app to Heroku - - -## Requirements - -### Search - -- As a user, when I can type a search term into a text input and submit it, then the web app: - - Makes a request to the Edamam Recipe API using the search term - - Displays the results in a list - -### List View - -- As a user, when I look at the list of recipes that were the result of a search, then the web app: - - shows a **paged** list of recipes for a given search term, _ten at a time_ - - shows the name of the recipe and the corresponding photo - - shows next to within each listed recipe a link to that recipe's detail page - -### Show View - -- As a user, when I look at a recipe's detail page, then the web app shows the following details about the individual recipe: - - Name - - Link to the original recipe (opens in a new tab) - - Ingredients - - Dietary information - -### Non-functional Requirements - -- Follow the requirements of attribution to Edamam, as required by their Terms and Conditions - - [Official documentation from Edamam on attribution](https://developer.edamam.com/attribution) -- Create thorough tests for your any API Wrappers, classes, and controllers using VCR -- As a user, when I interact with the site and there is a problem, then I can see an error message detailing what the problem is and what I should do - - As a user, when I put in an incorrect parameter for an individual recipe in the browser's address bar, then the site reports a friendly error explaining that this recipe doesn't exist, and doesn't show an exception - -## Important Notes - -- How will you go from a list of recipes pulled down from an API, to being able to view a specific recipe in detail? Take time to consider your answer, write down the steps, and make a plan. Then, look at the API documentation to understand the detail of how you will execute it. Use Postman and your debugging skills to aggressively check what your requests look like in order to get specific recipe detail data. **Edamam's API is not RESTful**; this is not trivial. You'll have to use some clever code to get this to work! Be patient, and you'll get there. -- Using this API as a developer limits the number of API calls in a month to 5000. This means that we must try to minimize API calls for testing purposes as much as possible, to ensure you do not exceed this number of API calls in the one week of development we have. - -## Optional Enhancements - -- Keep track of most recent search terms and allow users to return to those searches -- Implement an OAuth strategy using Google - - Allow users to save recipes to a "favorites" section that they can return to -- Provide checkboxes or other controls to limit the search to options such as: - - Peanut Free - - Soy Free - - High Protein - - Etc - -### Optional Wireframes - -You have creative control over the design and layout of this project. Below are optional wireframes you may use. It is not a requirement that you do. - -### Homepage - - ![Splash Page Wireframe](assets/Muncher_splash_wireframe.png ) - -### Results Page - - ![Results Page Wireframe](assets/muncher_results_wireframe.png ) - -### Recipe Show Page - - ![Results Page Wireframe](assets/muncher_recipe_wireframe.png ) - - -Can you make your layout responsive? When the screen width shrinks to a medium screen, have a row with only two recipes. On a small screen width, have only a single recipe per line. - -## What Instructors Are Looking For - -Check out the [feedback template](feedback.md) which lists the items instructors will be looking for as they evaluate your project. +* ... diff --git a/Rakefile b/Rakefile new file mode 100644 index 000000000..e85f91391 --- /dev/null +++ b/Rakefile @@ -0,0 +1,6 @@ +# Add your own tasks in files placed in lib/tasks ending in .rake, +# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. + +require_relative 'config/application' + +Rails.application.load_tasks diff --git a/app/assets/config/manifest.js b/app/assets/config/manifest.js new file mode 100644 index 000000000..b16e53d6d --- /dev/null +++ b/app/assets/config/manifest.js @@ -0,0 +1,3 @@ +//= link_tree ../images +//= link_directory ../javascripts .js +//= link_directory ../stylesheets .css diff --git a/app/assets/images/.keep b/app/assets/images/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js new file mode 100644 index 000000000..82e6f0f6c --- /dev/null +++ b/app/assets/javascripts/application.js @@ -0,0 +1,16 @@ +// This is a manifest file that'll be compiled into application.js, which will include all the files +// listed below. +// +// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, or any plugin's +// vendor/assets/javascripts directory can be referenced here using a relative path. +// +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the +// compiled file. JavaScript code in this file should be added after the last require_* statement. +// +// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details +// about supported directives. +// +//= require rails-ujs +//= require activestorage +//= require turbolinks +//= require_tree . diff --git a/app/assets/javascripts/cable.js b/app/assets/javascripts/cable.js new file mode 100644 index 000000000..739aa5f02 --- /dev/null +++ b/app/assets/javascripts/cable.js @@ -0,0 +1,13 @@ +// Action Cable provides the framework to deal with WebSockets in Rails. +// You can generate new channels where WebSocket features live using the `rails generate channel` command. +// +//= require action_cable +//= require_self +//= require_tree ./channels + +(function() { + this.App || (this.App = {}); + + App.cable = ActionCable.createConsumer(); + +}).call(this); diff --git a/app/assets/javascripts/channels/.keep b/app/assets/javascripts/channels/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css new file mode 100644 index 000000000..d05ea0f51 --- /dev/null +++ b/app/assets/stylesheets/application.css @@ -0,0 +1,15 @@ +/* + * This is a manifest file that'll be compiled into application.css, which will include all the files + * listed below. + * + * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's + * vendor/assets/stylesheets directory can be referenced here using a relative path. + * + * You're free to add application-wide styles to this file and they'll appear at the bottom of the + * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS + * files in this directory. Styles in this file should be added after the last require_* statement. + * It is generally better to create a new file per style scope. + * + *= require_tree . + *= require_self + */ diff --git a/app/channels/application_cable/channel.rb b/app/channels/application_cable/channel.rb new file mode 100644 index 000000000..d67269728 --- /dev/null +++ b/app/channels/application_cable/channel.rb @@ -0,0 +1,4 @@ +module ApplicationCable + class Channel < ActionCable::Channel::Base + end +end diff --git a/app/channels/application_cable/connection.rb b/app/channels/application_cable/connection.rb new file mode 100644 index 000000000..0ff5442f4 --- /dev/null +++ b/app/channels/application_cable/connection.rb @@ -0,0 +1,4 @@ +module ApplicationCable + class Connection < ActionCable::Connection::Base + end +end diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb new file mode 100644 index 000000000..09705d12a --- /dev/null +++ b/app/controllers/application_controller.rb @@ -0,0 +1,2 @@ +class ApplicationController < ActionController::Base +end diff --git a/app/controllers/concerns/.keep b/app/controllers/concerns/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb new file mode 100644 index 000000000..de6be7945 --- /dev/null +++ b/app/helpers/application_helper.rb @@ -0,0 +1,2 @@ +module ApplicationHelper +end diff --git a/app/jobs/application_job.rb b/app/jobs/application_job.rb new file mode 100644 index 000000000..a009ace51 --- /dev/null +++ b/app/jobs/application_job.rb @@ -0,0 +1,2 @@ +class ApplicationJob < ActiveJob::Base +end diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb new file mode 100644 index 000000000..286b2239d --- /dev/null +++ b/app/mailers/application_mailer.rb @@ -0,0 +1,4 @@ +class ApplicationMailer < ActionMailer::Base + default from: 'from@example.com' + layout 'mailer' +end diff --git a/app/models/application_record.rb b/app/models/application_record.rb new file mode 100644 index 000000000..10a4cba84 --- /dev/null +++ b/app/models/application_record.rb @@ -0,0 +1,3 @@ +class ApplicationRecord < ActiveRecord::Base + self.abstract_class = true +end diff --git a/app/models/concerns/.keep b/app/models/concerns/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb new file mode 100644 index 000000000..f2e0d8faa --- /dev/null +++ b/app/views/layouts/application.html.erb @@ -0,0 +1,15 @@ + + + + ApiMuncher + <%= csrf_meta_tags %> + <%= csp_meta_tag %> + + <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> + <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> + + + + <%= yield %> + + diff --git a/app/views/layouts/mailer.html.erb b/app/views/layouts/mailer.html.erb new file mode 100644 index 000000000..cbd34d2e9 --- /dev/null +++ b/app/views/layouts/mailer.html.erb @@ -0,0 +1,13 @@ + + + + + + + + + <%= yield %> + + diff --git a/app/views/layouts/mailer.text.erb b/app/views/layouts/mailer.text.erb new file mode 100644 index 000000000..37f0bddbd --- /dev/null +++ b/app/views/layouts/mailer.text.erb @@ -0,0 +1 @@ +<%= yield %> diff --git a/bin/bundle b/bin/bundle new file mode 100755 index 000000000..f19acf5b5 --- /dev/null +++ b/bin/bundle @@ -0,0 +1,3 @@ +#!/usr/bin/env ruby +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__) +load Gem.bin_path('bundler', 'bundle') diff --git a/bin/rails b/bin/rails new file mode 100755 index 000000000..5badb2fde --- /dev/null +++ b/bin/rails @@ -0,0 +1,9 @@ +#!/usr/bin/env ruby +begin + load File.expand_path('../spring', __FILE__) +rescue LoadError => e + raise unless e.message.include?('spring') +end +APP_PATH = File.expand_path('../config/application', __dir__) +require_relative '../config/boot' +require 'rails/commands' diff --git a/bin/rake b/bin/rake new file mode 100755 index 000000000..d87d5f578 --- /dev/null +++ b/bin/rake @@ -0,0 +1,9 @@ +#!/usr/bin/env ruby +begin + load File.expand_path('../spring', __FILE__) +rescue LoadError => e + raise unless e.message.include?('spring') +end +require_relative '../config/boot' +require 'rake' +Rake.application.run diff --git a/bin/setup b/bin/setup new file mode 100755 index 000000000..94fd4d797 --- /dev/null +++ b/bin/setup @@ -0,0 +1,36 @@ +#!/usr/bin/env ruby +require 'fileutils' +include FileUtils + +# path to your application root. +APP_ROOT = File.expand_path('..', __dir__) + +def system!(*args) + system(*args) || abort("\n== Command #{args} failed ==") +end + +chdir APP_ROOT do + # This script is a starting point to setup your application. + # Add necessary setup steps to this file. + + puts '== Installing dependencies ==' + system! 'gem install bundler --conservative' + system('bundle check') || system!('bundle install') + + # Install JavaScript dependencies if using Yarn + # system('bin/yarn') + + # puts "\n== Copying sample files ==" + # unless File.exist?('config/database.yml') + # cp 'config/database.yml.sample', 'config/database.yml' + # end + + puts "\n== Preparing database ==" + system! 'bin/rails db:setup' + + puts "\n== Removing old logs and tempfiles ==" + system! 'bin/rails log:clear tmp:clear' + + puts "\n== Restarting application server ==" + system! 'bin/rails restart' +end diff --git a/bin/spring b/bin/spring new file mode 100755 index 000000000..fb2ec2ebb --- /dev/null +++ b/bin/spring @@ -0,0 +1,17 @@ +#!/usr/bin/env ruby + +# This file loads spring without using Bundler, in order to be fast. +# It gets overwritten when you run the `spring binstub` command. + +unless defined?(Spring) + require 'rubygems' + require 'bundler' + + lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read) + spring = lockfile.specs.detect { |spec| spec.name == "spring" } + if spring + Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path + gem 'spring', spring.version + require 'spring/binstub' + end +end diff --git a/bin/update b/bin/update new file mode 100755 index 000000000..58bfaed51 --- /dev/null +++ b/bin/update @@ -0,0 +1,31 @@ +#!/usr/bin/env ruby +require 'fileutils' +include FileUtils + +# path to your application root. +APP_ROOT = File.expand_path('..', __dir__) + +def system!(*args) + system(*args) || abort("\n== Command #{args} failed ==") +end + +chdir APP_ROOT do + # This script is a way to update your development environment automatically. + # Add necessary update steps to this file. + + puts '== Installing dependencies ==' + system! 'gem install bundler --conservative' + system('bundle check') || system!('bundle install') + + # Install JavaScript dependencies if using Yarn + # system('bin/yarn') + + puts "\n== Updating database ==" + system! 'bin/rails db:migrate' + + puts "\n== Removing old logs and tempfiles ==" + system! 'bin/rails log:clear tmp:clear' + + puts "\n== Restarting application server ==" + system! 'bin/rails restart' +end diff --git a/bin/yarn b/bin/yarn new file mode 100755 index 000000000..460dd565b --- /dev/null +++ b/bin/yarn @@ -0,0 +1,11 @@ +#!/usr/bin/env ruby +APP_ROOT = File.expand_path('..', __dir__) +Dir.chdir(APP_ROOT) do + begin + exec "yarnpkg", *ARGV + rescue Errno::ENOENT + $stderr.puts "Yarn executable was not detected in the system." + $stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install" + exit 1 + end +end diff --git a/config.ru b/config.ru new file mode 100644 index 000000000..f7ba0b527 --- /dev/null +++ b/config.ru @@ -0,0 +1,5 @@ +# This file is used by Rack-based servers to start the application. + +require_relative 'config/environment' + +run Rails.application diff --git a/config/application.rb b/config/application.rb new file mode 100644 index 000000000..6d15fbc81 --- /dev/null +++ b/config/application.rb @@ -0,0 +1,19 @@ +require_relative 'boot' + +require 'rails/all' + +# Require the gems listed in Gemfile, including any gems +# you've limited to :test, :development, or :production. +Bundler.require(*Rails.groups) + +module ApiMuncher + class Application < Rails::Application + # Initialize configuration defaults for originally generated Rails version. + config.load_defaults 5.2 + + # Settings in config/environments/* take precedence over those specified here. + # Application configuration can go into files in config/initializers + # -- all .rb files in that directory are automatically loaded after loading + # the framework and any gems in your application. + end +end diff --git a/config/boot.rb b/config/boot.rb new file mode 100644 index 000000000..b9e460cef --- /dev/null +++ b/config/boot.rb @@ -0,0 +1,4 @@ +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__) + +require 'bundler/setup' # Set up gems listed in the Gemfile. +require 'bootsnap/setup' # Speed up boot time by caching expensive operations. diff --git a/config/cable.yml b/config/cable.yml new file mode 100644 index 000000000..cf3ce7efa --- /dev/null +++ b/config/cable.yml @@ -0,0 +1,10 @@ +development: + adapter: async + +test: + adapter: async + +production: + adapter: redis + url: <%= ENV.fetch("REDIS_URL") { "redis://localhost:6379/1" } %> + channel_prefix: api-muncher_production diff --git a/config/credentials.yml.enc b/config/credentials.yml.enc new file mode 100644 index 000000000..a699b3603 --- /dev/null +++ b/config/credentials.yml.enc @@ -0,0 +1 @@ +6Pbvp7xYJBbcKpDqGEiEdYgZ8HqpIUdHSeLGN+OFEZ6mk511TinesOH51HaN9euyXui20mPvOqxTs7x41qr0VFDGDPZMQk1+1BeIWLUOUsLZPx7vaIr70PGSkdF+yawfcV232RlKGD3UhGoNRoeQdvtQf6GIx6jspEf6eAEtd6tvuE3vbcqC55r0JqbV8Omk1CGVW5+7Af4K8PP0wRXi7/SZOD4MGDiEb2L37kkcY3KsgiycQicZaMEloD4lnK0oob6ZxrWVE5FMvh/LM8udoFY15QZElpmx+nyu1+wftggDOsSa/phbYTKU/ai5ByXdLPaP3oi48n1NmkVQCMDrn9FuG3FS7ALaAFpw6nysXrareGm9ozrF/nQ5PO9hC6AMGaWAsG5o94W4kIWXX/R3SzVNXjZ+niD28Rq2--u1cPyqxw4ULbszGM--B06o1P8PiI43h5V7mpz2og== \ No newline at end of file diff --git a/config/database.yml b/config/database.yml new file mode 100644 index 000000000..4cb63a555 --- /dev/null +++ b/config/database.yml @@ -0,0 +1,85 @@ +# PostgreSQL. Versions 9.1 and up are supported. +# +# Install the pg driver: +# gem install pg +# On OS X with Homebrew: +# gem install pg -- --with-pg-config=/usr/local/bin/pg_config +# On OS X with MacPorts: +# gem install pg -- --with-pg-config=/opt/local/lib/postgresql84/bin/pg_config +# On Windows: +# gem install pg +# Choose the win32 build. +# Install PostgreSQL and put its /bin directory on your path. +# +# Configure Using Gemfile +# gem 'pg' +# +default: &default + adapter: postgresql + encoding: unicode + # For details on connection pooling, see Rails configuration guide + # http://guides.rubyonrails.org/configuring.html#database-pooling + pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> + +development: + <<: *default + database: api-muncher_development + + # The specified database role being used to connect to postgres. + # To create additional roles in postgres see `$ createuser --help`. + # When left blank, postgres will use the default role. This is + # the same name as the operating system user that initialized the database. + #username: api-muncher + + # The password associated with the postgres role (username). + #password: + + # Connect on a TCP socket. Omitted by default since the client uses a + # domain socket that doesn't need configuration. Windows does not have + # domain sockets, so uncomment these lines. + #host: localhost + + # The TCP port the server listens on. Defaults to 5432. + # If your server runs on a different port number, change accordingly. + #port: 5432 + + # Schema search path. The server defaults to $user,public + #schema_search_path: myapp,sharedapp,public + + # Minimum log levels, in increasing order: + # debug5, debug4, debug3, debug2, debug1, + # log, notice, warning, error, fatal, and panic + # Defaults to warning. + #min_messages: notice + +# Warning: The database defined as "test" will be erased and +# re-generated from your development database when you run "rake". +# Do not set this db to the same as development or production. +test: + <<: *default + database: api-muncher_test + +# As with config/secrets.yml, you never want to store sensitive information, +# like your database password, in your source code. If your source code is +# ever seen by anyone, they now have access to your database. +# +# Instead, provide the password as a unix environment variable when you boot +# the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database +# for a full rundown on how to provide these environment variables in a +# production deployment. +# +# On Heroku and other platform providers, you may have a full connection URL +# available as an environment variable. For example: +# +# DATABASE_URL="postgres://myuser:mypass@localhost/somedatabase" +# +# You can use this database configuration with: +# +# production: +# url: <%= ENV['DATABASE_URL'] %> +# +production: + <<: *default + database: api-muncher_production + username: api-muncher + password: <%= ENV['API-MUNCHER_DATABASE_PASSWORD'] %> diff --git a/config/environment.rb b/config/environment.rb new file mode 100644 index 000000000..426333bb4 --- /dev/null +++ b/config/environment.rb @@ -0,0 +1,5 @@ +# Load the Rails application. +require_relative 'application' + +# Initialize the Rails application. +Rails.application.initialize! diff --git a/config/environments/development.rb b/config/environments/development.rb new file mode 100644 index 000000000..1311e3e4e --- /dev/null +++ b/config/environments/development.rb @@ -0,0 +1,61 @@ +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # In the development environment your application's code is reloaded on + # every request. This slows down response time but is perfect for development + # since you don't have to restart the web server when you make code changes. + config.cache_classes = false + + # Do not eager load code on boot. + config.eager_load = false + + # Show full error reports. + config.consider_all_requests_local = true + + # Enable/disable caching. By default caching is disabled. + # Run rails dev:cache to toggle caching. + if Rails.root.join('tmp', 'caching-dev.txt').exist? + config.action_controller.perform_caching = true + + config.cache_store = :memory_store + config.public_file_server.headers = { + 'Cache-Control' => "public, max-age=#{2.days.to_i}" + } + else + config.action_controller.perform_caching = false + + config.cache_store = :null_store + end + + # Store uploaded files on the local file system (see config/storage.yml for options) + config.active_storage.service = :local + + # Don't care if the mailer can't send. + config.action_mailer.raise_delivery_errors = false + + config.action_mailer.perform_caching = false + + # Print deprecation notices to the Rails logger. + config.active_support.deprecation = :log + + # Raise an error on page load if there are pending migrations. + config.active_record.migration_error = :page_load + + # Highlight code that triggered database queries in logs. + config.active_record.verbose_query_logs = true + + # Debug mode disables concatenation and preprocessing of assets. + # This option may cause significant delays in view rendering with a large + # number of complex assets. + config.assets.debug = true + + # Suppress logger output for asset requests. + config.assets.quiet = true + + # Raises error for missing translations + # config.action_view.raise_on_missing_translations = true + + # Use an evented file watcher to asynchronously detect changes in source code, + # routes, locales, etc. This feature depends on the listen gem. + config.file_watcher = ActiveSupport::EventedFileUpdateChecker +end diff --git a/config/environments/production.rb b/config/environments/production.rb new file mode 100644 index 000000000..1d8a23cbf --- /dev/null +++ b/config/environments/production.rb @@ -0,0 +1,94 @@ +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # Code is not reloaded between requests. + config.cache_classes = true + + # Eager load code on boot. This eager loads most of Rails and + # your application in memory, allowing both threaded web servers + # and those relying on copy on write to perform better. + # Rake tasks automatically ignore this option for performance. + config.eager_load = true + + # Full error reports are disabled and caching is turned on. + config.consider_all_requests_local = false + config.action_controller.perform_caching = true + + # Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"] + # or in config/master.key. This key is used to decrypt credentials (and other encrypted files). + # config.require_master_key = true + + # Disable serving static files from the `/public` folder by default since + # Apache or NGINX already handles this. + config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present? + + # Compress JavaScripts and CSS. + config.assets.js_compressor = :uglifier + # config.assets.css_compressor = :sass + + # Do not fallback to assets pipeline if a precompiled asset is missed. + config.assets.compile = false + + # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb + + # Enable serving of images, stylesheets, and JavaScripts from an asset server. + # config.action_controller.asset_host = 'http://assets.example.com' + + # Specifies the header that your server uses for sending files. + # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache + # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX + + # Store uploaded files on the local file system (see config/storage.yml for options) + config.active_storage.service = :local + + # Mount Action Cable outside main process or domain + # config.action_cable.mount_path = nil + # config.action_cable.url = 'wss://example.com/cable' + # config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ] + + # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. + # config.force_ssl = true + + # Use the lowest log level to ensure availability of diagnostic information + # when problems arise. + config.log_level = :debug + + # Prepend all log lines with the following tags. + config.log_tags = [ :request_id ] + + # Use a different cache store in production. + # config.cache_store = :mem_cache_store + + # Use a real queuing backend for Active Job (and separate queues per environment) + # config.active_job.queue_adapter = :resque + # config.active_job.queue_name_prefix = "api-muncher_#{Rails.env}" + + config.action_mailer.perform_caching = false + + # Ignore bad email addresses and do not raise email delivery errors. + # Set this to true and configure the email server for immediate delivery to raise delivery errors. + # config.action_mailer.raise_delivery_errors = false + + # Enable locale fallbacks for I18n (makes lookups for any locale fall back to + # the I18n.default_locale when a translation cannot be found). + config.i18n.fallbacks = true + + # Send deprecation notices to registered listeners. + config.active_support.deprecation = :notify + + # Use default logging formatter so that PID and timestamp are not suppressed. + config.log_formatter = ::Logger::Formatter.new + + # Use a different logger for distributed setups. + # require 'syslog/logger' + # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name') + + if ENV["RAILS_LOG_TO_STDOUT"].present? + logger = ActiveSupport::Logger.new(STDOUT) + logger.formatter = config.log_formatter + config.logger = ActiveSupport::TaggedLogging.new(logger) + end + + # Do not dump schema after migrations. + config.active_record.dump_schema_after_migration = false +end diff --git a/config/environments/test.rb b/config/environments/test.rb new file mode 100644 index 000000000..0a38fd3ce --- /dev/null +++ b/config/environments/test.rb @@ -0,0 +1,46 @@ +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # The test environment is used exclusively to run your application's + # test suite. You never need to work with it otherwise. Remember that + # your test database is "scratch space" for the test suite and is wiped + # and recreated between test runs. Don't rely on the data there! + config.cache_classes = true + + # Do not eager load code on boot. This avoids loading your whole application + # just for the purpose of running a single test. If you are using a tool that + # preloads Rails for running tests, you may have to set it to true. + config.eager_load = false + + # Configure public file server for tests with Cache-Control for performance. + config.public_file_server.enabled = true + config.public_file_server.headers = { + 'Cache-Control' => "public, max-age=#{1.hour.to_i}" + } + + # Show full error reports and disable caching. + config.consider_all_requests_local = true + config.action_controller.perform_caching = false + + # Raise exceptions instead of rendering exception templates. + config.action_dispatch.show_exceptions = false + + # Disable request forgery protection in test environment. + config.action_controller.allow_forgery_protection = false + + # Store uploaded files on the local file system in a temporary directory + config.active_storage.service = :test + + config.action_mailer.perform_caching = false + + # Tell Action Mailer not to deliver emails to the real world. + # The :test delivery method accumulates sent emails in the + # ActionMailer::Base.deliveries array. + config.action_mailer.delivery_method = :test + + # Print deprecation notices to the stderr. + config.active_support.deprecation = :stderr + + # Raises error for missing translations + # config.action_view.raise_on_missing_translations = true +end diff --git a/config/initializers/application_controller_renderer.rb b/config/initializers/application_controller_renderer.rb new file mode 100644 index 000000000..89d2efab2 --- /dev/null +++ b/config/initializers/application_controller_renderer.rb @@ -0,0 +1,8 @@ +# Be sure to restart your server when you modify this file. + +# ActiveSupport::Reloader.to_prepare do +# ApplicationController.renderer.defaults.merge!( +# http_host: 'example.org', +# https: false +# ) +# end diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb new file mode 100644 index 000000000..4b828e80c --- /dev/null +++ b/config/initializers/assets.rb @@ -0,0 +1,14 @@ +# Be sure to restart your server when you modify this file. + +# Version of your assets, change this if you want to expire all your assets. +Rails.application.config.assets.version = '1.0' + +# Add additional assets to the asset load path. +# Rails.application.config.assets.paths << Emoji.images_path +# Add Yarn node_modules folder to the asset load path. +Rails.application.config.assets.paths << Rails.root.join('node_modules') + +# Precompile additional assets. +# application.js, application.css, and all non-JS/CSS in the app/assets +# folder are already added. +# Rails.application.config.assets.precompile += %w( admin.js admin.css ) diff --git a/config/initializers/backtrace_silencers.rb b/config/initializers/backtrace_silencers.rb new file mode 100644 index 000000000..59385cdf3 --- /dev/null +++ b/config/initializers/backtrace_silencers.rb @@ -0,0 +1,7 @@ +# Be sure to restart your server when you modify this file. + +# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces. +# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ } + +# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code. +# Rails.backtrace_cleaner.remove_silencers! diff --git a/config/initializers/content_security_policy.rb b/config/initializers/content_security_policy.rb new file mode 100644 index 000000000..d3bcaa5ec --- /dev/null +++ b/config/initializers/content_security_policy.rb @@ -0,0 +1,25 @@ +# Be sure to restart your server when you modify this file. + +# Define an application-wide content security policy +# For further information see the following documentation +# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy + +# Rails.application.config.content_security_policy do |policy| +# policy.default_src :self, :https +# policy.font_src :self, :https, :data +# policy.img_src :self, :https, :data +# policy.object_src :none +# policy.script_src :self, :https +# policy.style_src :self, :https + +# # Specify URI for violation reports +# # policy.report_uri "/csp-violation-report-endpoint" +# end + +# If you are using UJS then enable automatic nonce generation +# Rails.application.config.content_security_policy_nonce_generator = -> request { SecureRandom.base64(16) } + +# Report CSP violations to a specified URI +# For further information see the following documentation: +# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy-Report-Only +# Rails.application.config.content_security_policy_report_only = true diff --git a/config/initializers/cookies_serializer.rb b/config/initializers/cookies_serializer.rb new file mode 100644 index 000000000..5a6a32d37 --- /dev/null +++ b/config/initializers/cookies_serializer.rb @@ -0,0 +1,5 @@ +# Be sure to restart your server when you modify this file. + +# Specify a serializer for the signed and encrypted cookie jars. +# Valid options are :json, :marshal, and :hybrid. +Rails.application.config.action_dispatch.cookies_serializer = :json diff --git a/config/initializers/filter_parameter_logging.rb b/config/initializers/filter_parameter_logging.rb new file mode 100644 index 000000000..4a994e1e7 --- /dev/null +++ b/config/initializers/filter_parameter_logging.rb @@ -0,0 +1,4 @@ +# Be sure to restart your server when you modify this file. + +# Configure sensitive parameters which will be filtered from the log file. +Rails.application.config.filter_parameters += [:password] diff --git a/config/initializers/inflections.rb b/config/initializers/inflections.rb new file mode 100644 index 000000000..ac033bf9d --- /dev/null +++ b/config/initializers/inflections.rb @@ -0,0 +1,16 @@ +# Be sure to restart your server when you modify this file. + +# Add new inflection rules using the following format. Inflections +# are locale specific, and you may define rules for as many different +# locales as you wish. All of these examples are active by default: +# ActiveSupport::Inflector.inflections(:en) do |inflect| +# inflect.plural /^(ox)$/i, '\1en' +# inflect.singular /^(ox)en/i, '\1' +# inflect.irregular 'person', 'people' +# inflect.uncountable %w( fish sheep ) +# end + +# These inflection rules are supported but not enabled by default: +# ActiveSupport::Inflector.inflections(:en) do |inflect| +# inflect.acronym 'RESTful' +# end diff --git a/config/initializers/mime_types.rb b/config/initializers/mime_types.rb new file mode 100644 index 000000000..dc1899682 --- /dev/null +++ b/config/initializers/mime_types.rb @@ -0,0 +1,4 @@ +# Be sure to restart your server when you modify this file. + +# Add new mime types for use in respond_to blocks: +# Mime::Type.register "text/richtext", :rtf diff --git a/config/initializers/wrap_parameters.rb b/config/initializers/wrap_parameters.rb new file mode 100644 index 000000000..bbfc3961b --- /dev/null +++ b/config/initializers/wrap_parameters.rb @@ -0,0 +1,14 @@ +# Be sure to restart your server when you modify this file. + +# This file contains settings for ActionController::ParamsWrapper which +# is enabled by default. + +# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. +ActiveSupport.on_load(:action_controller) do + wrap_parameters format: [:json] +end + +# To enable root element in JSON for ActiveRecord objects. +# ActiveSupport.on_load(:active_record) do +# self.include_root_in_json = true +# end diff --git a/config/locales/en.yml b/config/locales/en.yml new file mode 100644 index 000000000..decc5a857 --- /dev/null +++ b/config/locales/en.yml @@ -0,0 +1,33 @@ +# Files in the config/locales directory are used for internationalization +# and are automatically loaded by Rails. If you want to use locales other +# than English, add the necessary files in this directory. +# +# To use the locales, use `I18n.t`: +# +# I18n.t 'hello' +# +# In views, this is aliased to just `t`: +# +# <%= t('hello') %> +# +# To use a different locale, set it with `I18n.locale`: +# +# I18n.locale = :es +# +# This would use the information in config/locales/es.yml. +# +# The following keys must be escaped otherwise they will not be retrieved by +# the default I18n backend: +# +# true, false, on, off, yes, no +# +# Instead, surround them with single quotes. +# +# en: +# 'true': 'foo' +# +# To learn more, please read the Rails Internationalization guide +# available at http://guides.rubyonrails.org/i18n.html. + +en: + hello: "Hello world" diff --git a/config/puma.rb b/config/puma.rb new file mode 100644 index 000000000..a5eccf816 --- /dev/null +++ b/config/puma.rb @@ -0,0 +1,34 @@ +# Puma can serve each request in a thread from an internal thread pool. +# The `threads` method setting takes two numbers: a minimum and maximum. +# Any libraries that use thread pools should be configured to match +# the maximum value specified for Puma. Default is set to 5 threads for minimum +# and maximum; this matches the default thread size of Active Record. +# +threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 } +threads threads_count, threads_count + +# Specifies the `port` that Puma will listen on to receive requests; default is 3000. +# +port ENV.fetch("PORT") { 3000 } + +# Specifies the `environment` that Puma will run in. +# +environment ENV.fetch("RAILS_ENV") { "development" } + +# Specifies the number of `workers` to boot in clustered mode. +# Workers are forked webserver processes. If using threads and workers together +# the concurrency of the application would be max `threads` * `workers`. +# Workers do not work on JRuby or Windows (both of which do not support +# processes). +# +# workers ENV.fetch("WEB_CONCURRENCY") { 2 } + +# Use the `preload_app!` method when specifying a `workers` number. +# This directive tells Puma to first boot the application and load code +# before forking the application. This takes advantage of Copy On Write +# process behavior so workers use less memory. +# +# preload_app! + +# Allow puma to be restarted by `rails restart` command. +plugin :tmp_restart diff --git a/config/routes.rb b/config/routes.rb new file mode 100644 index 000000000..787824f88 --- /dev/null +++ b/config/routes.rb @@ -0,0 +1,3 @@ +Rails.application.routes.draw do + # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html +end diff --git a/config/spring.rb b/config/spring.rb new file mode 100644 index 000000000..9fa7863f9 --- /dev/null +++ b/config/spring.rb @@ -0,0 +1,6 @@ +%w[ + .ruby-version + .rbenv-vars + tmp/restart.txt + tmp/caching-dev.txt +].each { |path| Spring.watch(path) } diff --git a/config/storage.yml b/config/storage.yml new file mode 100644 index 000000000..d32f76e8f --- /dev/null +++ b/config/storage.yml @@ -0,0 +1,34 @@ +test: + service: Disk + root: <%= Rails.root.join("tmp/storage") %> + +local: + service: Disk + root: <%= Rails.root.join("storage") %> + +# Use rails credentials:edit to set the AWS secrets (as aws:access_key_id|secret_access_key) +# amazon: +# service: S3 +# access_key_id: <%= Rails.application.credentials.dig(:aws, :access_key_id) %> +# secret_access_key: <%= Rails.application.credentials.dig(:aws, :secret_access_key) %> +# region: us-east-1 +# bucket: your_own_bucket + +# Remember not to checkin your GCS keyfile to a repository +# google: +# service: GCS +# project: your_project +# credentials: <%= Rails.root.join("path/to/gcs.keyfile") %> +# bucket: your_own_bucket + +# Use rails credentials:edit to set the Azure Storage secret (as azure_storage:storage_access_key) +# microsoft: +# service: AzureStorage +# storage_account_name: your_account_name +# storage_access_key: <%= Rails.application.credentials.dig(:azure_storage, :storage_access_key) %> +# container: your_container_name + +# mirror: +# service: Mirror +# primary: local +# mirrors: [ amazon, google, microsoft ] diff --git a/db/seeds.rb b/db/seeds.rb new file mode 100644 index 000000000..1beea2acc --- /dev/null +++ b/db/seeds.rb @@ -0,0 +1,7 @@ +# This file should contain all the record creation needed to seed the database with its default values. +# The data can then be loaded with the rails db:seed command (or created alongside the database with db:setup). +# +# Examples: +# +# movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }]) +# Character.create(name: 'Luke', movie: movies.first) diff --git a/lib/assets/.keep b/lib/assets/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/lib/tasks/.keep b/lib/tasks/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/log/.keep b/log/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/package.json b/package.json new file mode 100644 index 000000000..5da55eadc --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "name": "api-muncher", + "private": true, + "dependencies": {} +} diff --git a/public/404.html b/public/404.html new file mode 100644 index 000000000..2be3af26f --- /dev/null +++ b/public/404.html @@ -0,0 +1,67 @@ + + + + The page you were looking for doesn't exist (404) + + + + + + +
+
+

The page you were looking for doesn't exist.

+

You may have mistyped the address or the page may have moved.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/public/422.html b/public/422.html new file mode 100644 index 000000000..c08eac0d1 --- /dev/null +++ b/public/422.html @@ -0,0 +1,67 @@ + + + + The change you wanted was rejected (422) + + + + + + +
+
+

The change you wanted was rejected.

+

Maybe you tried to change something you didn't have access to.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/public/500.html b/public/500.html new file mode 100644 index 000000000..78a030af2 --- /dev/null +++ b/public/500.html @@ -0,0 +1,66 @@ + + + + We're sorry, but something went wrong (500) + + + + + + +
+
+

We're sorry, but something went wrong.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/public/apple-touch-icon-precomposed.png b/public/apple-touch-icon-precomposed.png new file mode 100644 index 000000000..e69de29bb diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 000000000..e69de29bb diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 000000000..e69de29bb diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 000000000..37b576a4a --- /dev/null +++ b/public/robots.txt @@ -0,0 +1 @@ +# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file diff --git a/storage/.keep b/storage/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/test/application_system_test_case.rb b/test/application_system_test_case.rb new file mode 100644 index 000000000..d19212abd --- /dev/null +++ b/test/application_system_test_case.rb @@ -0,0 +1,5 @@ +require "test_helper" + +class ApplicationSystemTestCase < ActionDispatch::SystemTestCase + driven_by :selenium, using: :chrome, screen_size: [1400, 1400] +end diff --git a/test/controllers/.keep b/test/controllers/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/test/fixtures/.keep b/test/fixtures/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/test/fixtures/files/.keep b/test/fixtures/files/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/test/helpers/.keep b/test/helpers/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/test/integration/.keep b/test/integration/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/test/mailers/.keep b/test/mailers/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/test/models/.keep b/test/models/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/test/system/.keep b/test/system/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/test/test_helper.rb b/test/test_helper.rb new file mode 100644 index 000000000..3ab84e3d1 --- /dev/null +++ b/test/test_helper.rb @@ -0,0 +1,10 @@ +ENV['RAILS_ENV'] ||= 'test' +require_relative '../config/environment' +require 'rails/test_help' + +class ActiveSupport::TestCase + # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order. + fixtures :all + + # Add more helper methods to be used by all tests here... +end diff --git a/tmp/.keep b/tmp/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/vendor/.keep b/vendor/.keep new file mode 100644 index 000000000..e69de29bb From 646c00ed70f288704bb2248a7118488bbaa31923 Mon Sep 17 00:00:00 2001 From: Layla Bristol Date: Sat, 3 Nov 2018 21:41:18 -0700 Subject: [PATCH 2/9] added .env and action_view --- .gitignore | 2 ++ config/initializers/action_view.rb | 1 + 2 files changed, 3 insertions(+) create mode 100644 config/initializers/action_view.rb diff --git a/.gitignore b/.gitignore index 18b43c9cd..dc5754d51 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,5 @@ # Ignore master key for decrypting credentials and more. /config/master.key + +.env diff --git a/config/initializers/action_view.rb b/config/initializers/action_view.rb new file mode 100644 index 000000000..142d382f8 --- /dev/null +++ b/config/initializers/action_view.rb @@ -0,0 +1 @@ +Rails.application.config.action_view.form_with_generates_remote_forms = false From fe9af913ea838b0ba8c1913844e997081c16e687 Mon Sep 17 00:00:00 2001 From: Layla Bristol Date: Sat, 3 Nov 2018 22:21:59 -0700 Subject: [PATCH 3/9] basic html pages set up --- app/assets/javascripts/main.coffee | 3 +++ app/assets/javascripts/recipes.coffee | 3 +++ app/assets/stylesheets/main.scss | 3 +++ app/assets/stylesheets/recipes.scss | 3 +++ app/controllers/application_controller.rb | 1 + app/controllers/main_controller.rb | 2 ++ app/controllers/recipes_controller.rb | 11 +++++++++++ app/helpers/main_helper.rb | 2 ++ app/helpers/recipes_helper.rb | 2 ++ app/views/layouts/application.html.erb | 11 +++++++++-- app/views/main/index.html.erb | 1 + app/views/recipes/index.html.erb | 1 + app/views/recipes/show.html.erb | 1 + config/routes.rb | 9 +++++++++ test/controllers/main_controller_test.rb | 7 +++++++ test/controllers/recipes_controller_test.rb | 7 +++++++ 16 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 app/assets/javascripts/main.coffee create mode 100644 app/assets/javascripts/recipes.coffee create mode 100644 app/assets/stylesheets/main.scss create mode 100644 app/assets/stylesheets/recipes.scss create mode 100644 app/controllers/main_controller.rb create mode 100644 app/controllers/recipes_controller.rb create mode 100644 app/helpers/main_helper.rb create mode 100644 app/helpers/recipes_helper.rb create mode 100644 app/views/main/index.html.erb create mode 100644 app/views/recipes/index.html.erb create mode 100644 app/views/recipes/show.html.erb create mode 100644 test/controllers/main_controller_test.rb create mode 100644 test/controllers/recipes_controller_test.rb diff --git a/app/assets/javascripts/main.coffee b/app/assets/javascripts/main.coffee new file mode 100644 index 000000000..24f83d18b --- /dev/null +++ b/app/assets/javascripts/main.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/javascripts/recipes.coffee b/app/assets/javascripts/recipes.coffee new file mode 100644 index 000000000..24f83d18b --- /dev/null +++ b/app/assets/javascripts/recipes.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/stylesheets/main.scss b/app/assets/stylesheets/main.scss new file mode 100644 index 000000000..971b13c82 --- /dev/null +++ b/app/assets/stylesheets/main.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the Main controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/assets/stylesheets/recipes.scss b/app/assets/stylesheets/recipes.scss new file mode 100644 index 000000000..95482059f --- /dev/null +++ b/app/assets/stylesheets/recipes.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the Recipes controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 09705d12a..1c07694e9 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -1,2 +1,3 @@ class ApplicationController < ActionController::Base + protect_from_forgery with: :exception end diff --git a/app/controllers/main_controller.rb b/app/controllers/main_controller.rb new file mode 100644 index 000000000..6519d7b99 --- /dev/null +++ b/app/controllers/main_controller.rb @@ -0,0 +1,2 @@ +class MainController < ApplicationController +end diff --git a/app/controllers/recipes_controller.rb b/app/controllers/recipes_controller.rb new file mode 100644 index 000000000..0e0ac5855 --- /dev/null +++ b/app/controllers/recipes_controller.rb @@ -0,0 +1,11 @@ +class RecipesController < ApplicationController + + def index + @recipes + end + + def show + end + + +end diff --git a/app/helpers/main_helper.rb b/app/helpers/main_helper.rb new file mode 100644 index 000000000..826effed9 --- /dev/null +++ b/app/helpers/main_helper.rb @@ -0,0 +1,2 @@ +module MainHelper +end diff --git a/app/helpers/recipes_helper.rb b/app/helpers/recipes_helper.rb new file mode 100644 index 000000000..f526316e2 --- /dev/null +++ b/app/helpers/recipes_helper.rb @@ -0,0 +1,2 @@ +module RecipesHelper +end diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index f2e0d8faa..2b6051e31 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -10,6 +10,13 @@ - <%= yield %> - + <% if flash[:status] %> +
+

+ <%= flash[:message] %> +

+
+ <% end %> + <%= yield %> + diff --git a/app/views/main/index.html.erb b/app/views/main/index.html.erb new file mode 100644 index 000000000..895f27ae3 --- /dev/null +++ b/app/views/main/index.html.erb @@ -0,0 +1 @@ +main page diff --git a/app/views/recipes/index.html.erb b/app/views/recipes/index.html.erb new file mode 100644 index 000000000..8e9d6354f --- /dev/null +++ b/app/views/recipes/index.html.erb @@ -0,0 +1 @@ +recipe list page diff --git a/app/views/recipes/show.html.erb b/app/views/recipes/show.html.erb new file mode 100644 index 000000000..b306c9a31 --- /dev/null +++ b/app/views/recipes/show.html.erb @@ -0,0 +1 @@ +recipe details page diff --git a/config/routes.rb b/config/routes.rb index 787824f88..02c016102 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,3 +1,12 @@ Rails.application.routes.draw do # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html + + + root 'main#index' + # get ':recipe/new', to: 'recipe#new', as: 'recipe_new' + # # get ':recipe', to: 'recipe#show', as: 'recipe_show' + + resources :recipes do + end + end diff --git a/test/controllers/main_controller_test.rb b/test/controllers/main_controller_test.rb new file mode 100644 index 000000000..4eb7ce00b --- /dev/null +++ b/test/controllers/main_controller_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class MainControllerTest < ActionDispatch::IntegrationTest + # test "the truth" do + # assert true + # end +end diff --git a/test/controllers/recipes_controller_test.rb b/test/controllers/recipes_controller_test.rb new file mode 100644 index 000000000..defc8f215 --- /dev/null +++ b/test/controllers/recipes_controller_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class RecipesControllerTest < ActionDispatch::IntegrationTest + # test "the truth" do + # assert true + # end +end From ac505371600a8fbb3c9212420fdf7fc2b3ab2c10 Mon Sep 17 00:00:00 2001 From: Layla Bristol Date: Sun, 4 Nov 2018 18:10:14 -0800 Subject: [PATCH 4/9] set up api wrapper, html views and style sheet --- Gemfile | 3 + Gemfile.lock | 9 +++ app/assets/stylesheets/application.css | 85 ++++++++++++++++++++++++++ app/controllers/recipes_controller.rb | 16 ++++- app/views/layouts/application.html.erb | 48 ++++++++++++--- app/views/main/index.html.erb | 1 - app/views/recipes/index.html.erb | 32 +++++++++- app/views/recipes/show.html.erb | 18 +++++- config/application.rb | 2 + config/routes.rb | 11 +--- lib/edamam_api_wrapper.rb | 59 ++++++++++++++++++ 11 files changed, 263 insertions(+), 21 deletions(-) create mode 100644 lib/edamam_api_wrapper.rb diff --git a/Gemfile b/Gemfile index de002605e..462dc9083 100644 --- a/Gemfile +++ b/Gemfile @@ -39,6 +39,7 @@ gem 'bootsnap', '>= 1.1.0', require: false group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] + gem 'dotenv-rails' end group :development do @@ -60,3 +61,5 @@ end # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] + +gem 'httparty' diff --git a/Gemfile.lock b/Gemfile.lock index ac509668f..d0f8ff5fc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -74,11 +74,17 @@ GEM coffee-script-source (1.12.2) concurrent-ruby (1.0.5) crass (1.0.4) + dotenv (2.5.0) + dotenv-rails (2.5.0) + dotenv (= 2.5.0) + railties (>= 3.2, < 6.0) erubi (1.7.1) execjs (2.7.0) ffi (1.9.25) globalid (0.4.1) activesupport (>= 4.2.0) + httparty (0.16.2) + multi_xml (>= 0.5.2) i18n (1.1.1) concurrent-ruby (~> 1.0) io-like (0.3.0) @@ -103,6 +109,7 @@ GEM minitest (5.11.3) msgpack (1.2.4) multi_json (1.13.1) + multi_xml (0.6.0) nio4r (2.3.1) nokogiri (1.8.5) mini_portile2 (~> 2.3.0) @@ -199,6 +206,8 @@ DEPENDENCIES capybara (>= 2.15) chromedriver-helper coffee-rails (~> 4.2) + dotenv-rails + httparty jbuilder (~> 2.5) listen (>= 3.0.5, < 3.2) pg (>= 0.18, < 2.0) diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index d05ea0f51..09fb59957 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -13,3 +13,88 @@ *= require_tree . *= require_self */ + @import "bootstrap"; + /* Import scss content */ + @import "**/*"; + + body { + background-color: lightblue; + padding: 5em; + color: #fff ; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; + background-repeat: no-repeat; + background-attachment: fixed; + background-position: center; + background-image: url('https://www.accugipuzkoa.org/wp-content/uploads/2018/09/TALLER-COCINA-EII-21-9-18.jpg'); + } + + a:visited { + color: #fff; + + } + a:link { + color: #fff; + } + + a:hover { + color: #A04668; + transition: .6s; + text-decoration: none; + } + + + h1 { + color: white; + text-align: center; + + } + + p { + font-family: verdana; + font-size: 20px; + text-align: center; + } + +footer { + color: #923030; + text-align: center; + +} + +main { + padding: 4rem; +} + +li { + list-style: none; +} + +.box{ + width: 100%; + text-align:center; +} + + +.grid-container { + display: grid; + grid-template-columns: 1fr 1fr 1fr 1fr; + text-align: center; + justify-content: center; + grid-column-gap: 50px; + grid-row-gap: 25px; + align-self: auto; + margin: 4em +} + +.grid-item img { + max-width: 100%; + height: 250px; + border-radius: 50; + padding: 2px; + border: 1px solid #fff ; + outline-offset: 1px; + margin: 0 auto ; +} diff --git a/app/controllers/recipes_controller.rb b/app/controllers/recipes_controller.rb index 0e0ac5855..b17d3bcf0 100644 --- a/app/controllers/recipes_controller.rb +++ b/app/controllers/recipes_controller.rb @@ -1,11 +1,23 @@ class RecipesController < ApplicationController def index - @recipes + unless params.key?('from') + params[:from] = 0 + end + + response = EdamamApiWrapper.search_recipes(params) + response = EdamamApiWrapper.parse_api_response(response) + + @recipes = response[:recipes] + @more_results = response[:more_results] + @next_from = response[:next_from] + @prev_from = response[:prev_from] + @query = params[:query] end def show - end + @recipe = EdamamApiWrapper.get_recipe(params[:recipe]) + end end diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 2b6051e31..07381596c 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -7,16 +7,50 @@ <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> + + - <% if flash[:status] %> -
-

- <%= flash[:message] %> -

-
+
+

+ <%= link_to "MUNCHER", root_path, class: "muncher-link" %> +

+

+

+ <%= form_tag(recipes_path, method: :get) do %> + <%= text_field_tag(:query) %> + <%= submit_tag("Search") %> + <% end %> +
+

+

+ + <% if flash[:result_text] or flash[:messages] %> +
+
+ <%= flash[:status].to_s == "failure" ? "A problem occurred: " : "" %><%= flash[:result_text] %> + <% if flash[:messages] %> +
    + <% flash[:messages].each do |name, problems| %> + <% problems.each do |problem| %> +
  • <%= name %>: <%= problem %>
  • + <% end %> + <% end %> +
+ <% end %> +
+
<% end %> + +
<%= yield %> - +
+ + + +
+
+
+ diff --git a/app/views/main/index.html.erb b/app/views/main/index.html.erb index 895f27ae3..e69de29bb 100644 --- a/app/views/main/index.html.erb +++ b/app/views/main/index.html.erb @@ -1 +0,0 @@ -main page diff --git a/app/views/recipes/index.html.erb b/app/views/recipes/index.html.erb index 8e9d6354f..12fc7af92 100644 --- a/app/views/recipes/index.html.erb +++ b/app/views/recipes/index.html.erb @@ -1 +1,31 @@ -recipe list page +

Search Results: + "<%= @query %>" +

+ +

+ +

+
    + <% @recipes.each do |recipe| %> +
  • + +
    + <% recipe = EdamamApiWrapper.parse_recipe(recipe['recipe']) %> + <%= link_to(image_tag(recipe[:image_url]), recipe_path(recipe: recipe[:uri])) %> +
    + <%= recipe[:name] %> +
    +
  • + <% end %> +
+ +

+
+<% unless @prev_from < 0 %> + <%= link_to('Previous 10 recipes', recipes_path(from: @prev_from, query: @query)) %> +<% end %> +

+<% if @more_results && @next_from > 0%> + <%= link_to('Next 10 recipes', recipes_path(from: @next_from, query: @query)) %> +<% end %> +
diff --git a/app/views/recipes/show.html.erb b/app/views/recipes/show.html.erb index b306c9a31..bac335d9d 100644 --- a/app/views/recipes/show.html.erb +++ b/app/views/recipes/show.html.erb @@ -1 +1,17 @@ -recipe details page +
+ +<% @recipe = EdamamApiWrapper.parse_recipe(@recipe) %> +<%= image_tag(@recipe[:image_url]) %> +

+
<%= @recipe[:name] %>
+
By: <%= @recipe[:source] %>
+

+
+ +

ingredient List:

+
+

+<% @recipe[:ingredients].each do |ingredient| %> +

<%= ingredient %>
+ <% end %> +

diff --git a/config/application.rb b/config/application.rb index 6d15fbc81..346387c48 100644 --- a/config/application.rb +++ b/config/application.rb @@ -15,5 +15,7 @@ class Application < Rails::Application # Application configuration can go into files in config/initializers # -- all .rb files in that directory are automatically loaded after loading # the framework and any gems in your application. + + config.eager_load_paths << Rails.root.join('lib') end end diff --git a/config/routes.rb b/config/routes.rb index 02c016102..c7586fe88 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,12 +1,5 @@ Rails.application.routes.draw do - # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html - - root 'main#index' - # get ':recipe/new', to: 'recipe#new', as: 'recipe_new' - # # get ':recipe', to: 'recipe#show', as: 'recipe_show' - - resources :recipes do - end - + resources :recipes, only: [:index] + resource :recipe, only: [:show] end diff --git a/lib/edamam_api_wrapper.rb b/lib/edamam_api_wrapper.rb new file mode 100644 index 000000000..42c6a2ebb --- /dev/null +++ b/lib/edamam_api_wrapper.rb @@ -0,0 +1,59 @@ +require 'cgi/escape' +require 'httparty' + +class EdamamApiWrapper + BASE_URL = "https://api.edamam.com/search" + APP_KEY = ENV["MUNCHER_TOKEN"] + APP_ID = ENV["MUNCHER_ID"] + API_URL = "#{BASE_URL}?app_id=#{APP_ID}&app_key=#{APP_KEY}" + + # + def self.search_recipes(params) + query = params[:query] + from = params[:from] + + url = "#{API_URL}&q=#{query}&from=#{from}" + data = self.do_query(url) + + return data + end + + def self.get_recipe(recipe) + recipe = CGI::escape(recipe) + url = "#{API_URL}&r=#{recipe}" + data = self.do_query(url) + + return data + end + + def self.parse_api_response(response) + data = {} + data[:next_from] = response['to'] + data[:prev_from] = response['from'] - (response['to'] - response['from']) + data[:more_results] = response['more'] + data[:recipes] = response['hits'] + # data[:text] = response['ingredients'] + + return data + end + + def self.parse_recipe(recipe) + recipe = recipe[0] if recipe.is_a?(Array) + parsed_recipe = {} + + parsed_recipe[:name] = recipe['label'] + parsed_recipe[:image_url] = recipe['image'] + parsed_recipe[:uri] = recipe['uri'] + parsed_recipe[:source] = recipe['source'] + parsed_recipe[:ingredients] = recipe['ingredientLines'] + + return parsed_recipe + end + + private + + def self.do_query(url) + response = HTTParty.get(url) + data = response.parsed_response + end +end From 58221ebd78e8d766b08d8faf8f71f54b5adf8c34 Mon Sep 17 00:00:00 2001 From: Layla Bristol Date: Sun, 4 Nov 2018 18:30:35 -0800 Subject: [PATCH 5/9] added additional parse options --- app/assets/stylesheets/application.css | 7 +++++-- app/views/recipes/index.html.erb | 2 +- app/views/recipes/show.html.erb | 12 +++++++++++- lib/edamam_api_wrapper.rb | 4 +++- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 09fb59957..e07dda1c3 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -40,7 +40,7 @@ } a:hover { - color: #A04668; + color: #F3EB5E; transition: .6s; text-decoration: none; } @@ -49,7 +49,10 @@ h1 { color: white; text-align: center; - + font-size: 5em; + } + h4 { + font-style: italic; } p { diff --git a/app/views/recipes/index.html.erb b/app/views/recipes/index.html.erb index 12fc7af92..17facef47 100644 --- a/app/views/recipes/index.html.erb +++ b/app/views/recipes/index.html.erb @@ -1,7 +1,7 @@

Search Results: "<%= @query %>"

- +

Displaying results ten at a time..

diff --git a/app/views/recipes/show.html.erb b/app/views/recipes/show.html.erb index bac335d9d..4d5e791f3 100644 --- a/app/views/recipes/show.html.erb +++ b/app/views/recipes/show.html.erb @@ -3,8 +3,9 @@ <% @recipe = EdamamApiWrapper.parse_recipe(@recipe) %> <%= image_tag(@recipe[:image_url]) %>

-
<%= @recipe[:name] %>
+
<%= link_to(@recipe[:name], @recipe[:url], target: "_blank") %>
By: <%= @recipe[:source] %>
+

@@ -15,3 +16,12 @@
<%= ingredient %>
<% end %>

+ + +

Dietary Labels:

+
+

+<% @recipe[:diets].each do |diet| %> +

<%= diet %>
+ <% end %> +

diff --git a/lib/edamam_api_wrapper.rb b/lib/edamam_api_wrapper.rb index 42c6a2ebb..cbb783842 100644 --- a/lib/edamam_api_wrapper.rb +++ b/lib/edamam_api_wrapper.rb @@ -32,7 +32,6 @@ def self.parse_api_response(response) data[:prev_from] = response['from'] - (response['to'] - response['from']) data[:more_results] = response['more'] data[:recipes] = response['hits'] - # data[:text] = response['ingredients'] return data end @@ -46,6 +45,9 @@ def self.parse_recipe(recipe) parsed_recipe[:uri] = recipe['uri'] parsed_recipe[:source] = recipe['source'] parsed_recipe[:ingredients] = recipe['ingredientLines'] + parsed_recipe[:url] = recipe['url'] + parsed_recipe[:diets] = recipe['dietLabels'] + return parsed_recipe end From 6141a00e570bce1cd200aaeb29367bf9b119a406 Mon Sep 17 00:00:00 2001 From: Layla Bristol Date: Sun, 4 Nov 2018 18:48:12 -0800 Subject: [PATCH 6/9] starting test stuff --- test/controllers/recipes_controller_test.rb | 11 +++++ test/recipes_test.rb | 0 test/test_helper.rb | 48 +++++++++++++++++++-- 3 files changed, 55 insertions(+), 4 deletions(-) create mode 100644 test/recipes_test.rb diff --git a/test/controllers/recipes_controller_test.rb b/test/controllers/recipes_controller_test.rb index defc8f215..033cbf2b2 100644 --- a/test/controllers/recipes_controller_test.rb +++ b/test/controllers/recipes_controller_test.rb @@ -4,4 +4,15 @@ class RecipesControllerTest < ActionDispatch::IntegrationTest # test "the truth" do # assert true # end + + describe "search" do + + it "can get search page" do + get root_path + must_respond_with :success + end + + end + + end diff --git a/test/recipes_test.rb b/test/recipes_test.rb new file mode 100644 index 000000000..e69de29bb diff --git a/test/test_helper.rb b/test/test_helper.rb index 3ab84e3d1..6f3dec2ac 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -1,10 +1,50 @@ -ENV['RAILS_ENV'] ||= 'test' -require_relative '../config/environment' -require 'rails/test_help' +ENV["RAILS_ENV"] = "test" +require File.expand_path("../../config/environment", __FILE__) +require "rails/test_help" +require "minitest/rails" +require "minitest/reporters" # for Colorized output +require 'vcr' +require 'webmock/minitest' + +# MonkeyPatch for This version of Rails :( +if ActionPack::VERSION::STRING >= "5.2.0" + Minitest::Rails::TestUnit = Rails::TestUnit +end + +# To add Capybara feature tests add `gem "minitest-rails-capybara"` +# to the test group in the Gemfile and uncomment the following: +# require "minitest/rails/capybara" + +# Uncomment for awesome colorful output +# require "minitest/pride" + +# For colorful output! +Minitest::Reporters.use!( + Minitest::Reporters::SpecReporter.new, + ENV, + Minitest.backtrace_filter +) + + +VCR.configure do |config| + config.cassette_library_dir = 'test/cassettes' # folder where casettes will be located + config.hook_into :webmock # tie into this other tool called webmock + config.default_cassette_options = { + :record => :new_episodes, # record new data when we don't have it yet + :match_requests_on => [:method, :uri, :body] # The http method, URI and body of a request all need to match + } + + config.filter_sensitive_data("MUNCHER_TOKEN") do + ENV['MUNCHER_TOKEN'] + end + + config.filter_sensitive_data("MUNCHER_ID") do + ENV['MUNCHER_ID'] + end + class ActiveSupport::TestCase # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order. fixtures :all - # Add more helper methods to be used by all tests here... end From 534bcc29bdea5f76948c6663c2b819e352c4d5cb Mon Sep 17 00:00:00 2001 From: Layla Bristol Date: Sun, 4 Nov 2018 19:13:10 -0800 Subject: [PATCH 7/9] added testing --- Gemfile | 4 ++ Gemfile.lock | 37 ++++++++++++++++ app/assets/stylesheets/application.css | 3 -- config/application.rb | 6 +++ test/cassettes/search_next_recipes.yml | 47 +++++++++++++++++++++ test/cassettes/search_recipes.yml | 47 +++++++++++++++++++++ test/controllers/recipes_controller_test.rb | 20 ++++++++- test/test_helper.rb | 2 +- 8 files changed, 161 insertions(+), 5 deletions(-) create mode 100644 test/cassettes/search_next_recipes.yml create mode 100644 test/cassettes/search_recipes.yml diff --git a/Gemfile b/Gemfile index 462dc9083..ff6e0cd23 100644 --- a/Gemfile +++ b/Gemfile @@ -40,6 +40,8 @@ group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] gem 'dotenv-rails' + gem 'minitest-vcr' + gem 'webmock' end group :development do @@ -57,6 +59,8 @@ group :test do gem 'selenium-webdriver' # Easy installation and use of chromedriver to run system tests with Chrome gem 'chromedriver-helper' + gem 'minitest-rails' + gem 'minitest-reporters' end # Windows does not include zoneinfo files, so bundle the tzinfo-data gem diff --git a/Gemfile.lock b/Gemfile.lock index d0f8ff5fc..2bf819941 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -44,12 +44,19 @@ GEM tzinfo (~> 1.1) addressable (2.5.2) public_suffix (>= 2.0.2, < 4.0) + ansi (1.5.0) archive-zip (0.11.0) io-like (~> 0.3.0) arel (9.0.0) + autoprefixer-rails (9.3.1) + execjs bindex (0.5.0) bootsnap (1.3.2) msgpack (~> 1.0) + bootstrap (4.1.3) + autoprefixer-rails (>= 6.0.3) + popper_js (>= 1.12.9, < 2) + sass (>= 3.5.2) builder (3.2.3) byebug (10.0.2) capybara (3.10.1) @@ -73,6 +80,8 @@ GEM execjs coffee-script-source (1.12.2) concurrent-ruby (1.0.5) + crack (0.4.3) + safe_yaml (~> 1.0.0) crass (1.0.4) dotenv (2.5.0) dotenv-rails (2.5.0) @@ -83,6 +92,7 @@ GEM ffi (1.9.25) globalid (0.4.1) activesupport (>= 4.2.0) + hashdiff (0.3.7) httparty (0.16.2) multi_xml (>= 0.5.2) i18n (1.1.1) @@ -106,7 +116,21 @@ GEM mimemagic (0.3.2) mini_mime (1.0.1) mini_portile2 (2.3.0) + minispec-metadata (2.0.0) + minitest minitest (5.11.3) + minitest-rails (3.0.0) + minitest (~> 5.8) + railties (~> 5.0) + minitest-reporters (1.3.5) + ansi + builder + minitest (>= 5.0) + ruby-progressbar + minitest-vcr (1.4.0) + minispec-metadata (~> 2.0) + minitest (>= 4.7.5) + vcr (>= 2.9) msgpack (1.2.4) multi_json (1.13.1) multi_xml (0.6.0) @@ -114,6 +138,7 @@ GEM nokogiri (1.8.5) mini_portile2 (~> 2.3.0) pg (1.1.3) + popper_js (1.14.3) public_suffix (3.0.3) puma (3.12.0) rack (2.0.5) @@ -148,8 +173,10 @@ GEM rb-inotify (0.9.10) ffi (>= 0.5.0, < 2) regexp_parser (1.2.0) + ruby-progressbar (1.10.0) ruby_dep (1.5.0) rubyzip (1.2.2) + safe_yaml (1.0.4) sass (3.6.0) sass-listen (~> 4.0.0) sass-listen (4.0.0) @@ -186,11 +213,16 @@ GEM thread_safe (~> 0.1) uglifier (4.1.19) execjs (>= 0.3.0, < 3) + vcr (4.0.0) web-console (3.7.0) actionview (>= 5.0) activemodel (>= 5.0) bindex (>= 0.4.0) railties (>= 5.0) + webmock (3.4.2) + addressable (>= 2.3.6) + crack (>= 0.3.2) + hashdiff websocket-driver (0.7.0) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.3) @@ -202,6 +234,7 @@ PLATFORMS DEPENDENCIES bootsnap (>= 1.1.0) + bootstrap (~> 4.1.3) byebug capybara (>= 2.15) chromedriver-helper @@ -210,6 +243,9 @@ DEPENDENCIES httparty jbuilder (~> 2.5) listen (>= 3.0.5, < 3.2) + minitest-rails + minitest-reporters + minitest-vcr pg (>= 0.18, < 2.0) puma (~> 3.11) rails (~> 5.2.1) @@ -221,6 +257,7 @@ DEPENDENCIES tzinfo-data uglifier (>= 1.3.0) web-console (>= 3.3.0) + webmock RUBY VERSION ruby 2.4.1p111 diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index e07dda1c3..d27636b48 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -13,9 +13,6 @@ *= require_tree . *= require_self */ - @import "bootstrap"; - /* Import scss content */ - @import "**/*"; body { background-color: lightblue; diff --git a/config/application.rb b/config/application.rb index 346387c48..37c9a0b70 100644 --- a/config/application.rb +++ b/config/application.rb @@ -8,6 +8,12 @@ module ApiMuncher class Application < Rails::Application + config.generators do |g| + # Force new test files to be generated in the minitest-spec style + g.test_framework :minitest, spec: true + # Always use .js files, never .coffee + g.javascript_engine :js + end # Initialize configuration defaults for originally generated Rails version. config.load_defaults 5.2 diff --git a/test/cassettes/search_next_recipes.yml b/test/cassettes/search_next_recipes.yml new file mode 100644 index 000000000..b59749162 --- /dev/null +++ b/test/cassettes/search_next_recipes.yml @@ -0,0 +1,47 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.edamam.com/search?app_id=MUNCHER_ID&app_key=MUNCHER_TOKEN&from=10&q=tacos + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Server: + - ngx_openresty + Date: + - Mon, 05 Nov 2018 03:11:42 GMT + Content-Type: + - application/json;charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Set-Cookie: + - route=8e5a812ca79b4bbf3e9a7ba3906de9f3; Path=/ + Cache-Control: + - private + Expires: + - Thu, 01 Jan 1970 00:00:00 GMT + X-Served-By: + - ip-10-140-213-39/10.140.213.39 + Vary: + - Accept-Encoding + body: + encoding: ASCII-8BIT + string: !binary |- + ewogICJxIiA6ICJ0YWNvcyIsCiAgImZyb20iIDogMTAsCiAgInRvIiA6IDIwLAogICJwYXJhbXMiIDogewogICAgInNhbmUiIDogWyBdLAogICAgInEiIDogWyAidGFjb3MiIF0sCiAgICAiZnJvbSIgOiBbICIxMCIgXSwKICAgICJhcHBfa2V5IiA6IFsgIk1VTkNIRVJfVE9LRU4iIF0sCiAgICAiYXBwX2lkIiA6IFsgIk1VTkNIRVJfSUQiIF0KICB9LAogICJtb3JlIiA6IHRydWUsCiAgImNvdW50IiA6IDEyNzI3LAogICJoaXRzIiA6IFsgewogICAgInJlY2lwZSIgOiB7CiAgICAgICJ1cmkiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9vbnRvbG9naWVzL2VkYW1hbS5vd2wjcmVjaXBlX2RjNDZlNjA2ZmI1YzU5NDQxNTg0YmZiNzU4Y2EzMjU3IiwKICAgICAgImxhYmVsIiA6ICJQb3JrIFRhY29zIiwKICAgICAgImltYWdlIiA6ICJodHRwczovL3d3dy5lZGFtYW0uY29tL3dlYi1pbWcvNGExLzRhMTY2YWVjYTg2MGEyMzc5YzY0ZWU5M2UwMmNhNTI5LmpwZyIsCiAgICAgICJzb3VyY2UiIDogIkxlaXRlJ3MgQ3VsaW5hcmlhIiwKICAgICAgInVybCIgOiAiaHR0cDovL2xlaXRlc2N1bGluYXJpYS5jb20vOTYzMTMvcmVjaXBlcy1wb3JrLXRhY29zLmh0bWwiLAogICAgICAic2hhcmVBcyIgOiAiaHR0cDovL3d3dy5lZGFtYW0uY29tL3JlY2lwZS9wb3JrLXRhY29zLWRjNDZlNjA2ZmI1YzU5NDQxNTg0YmZiNzU4Y2EzMjU3L3RhY29zIiwKICAgICAgInlpZWxkIiA6IDEwLjAsCiAgICAgICJkaWV0TGFiZWxzIiA6IFsgIkxvdy1DYXJiIiBdLAogICAgICAiaGVhbHRoTGFiZWxzIiA6IFsgIlBlYW51dC1GcmVlIiwgIlRyZWUtTnV0LUZyZWUiIF0sCiAgICAgICJjYXV0aW9ucyIgOiBbIF0sCiAgICAgICJpbmdyZWRpZW50TGluZXMiIDogWyAiMyB0YWJsZXNwb29ucyBsaWdodCBicm93biBzdWdhciIsICIzIHRhYmxlc3Bvb25zIGZpbmUgc2VhIHNhbHQiLCAiMSB3aG9sZSBib25lbGVzcyBwb3JrIGJ1dHQgb3Igc2hvdWxkZXIgKDYgdG8gNyBwb3VuZHMpIiwgIjIgb3VuY2VzIChhYm91dCA2IHRhYmxlc3Bvb25zKSBOZXcgTWV4aWNvIHJlZCBjaGlsZSBwb3dkZXIgKHlvdSBjYW4gdXN1YWxseSBmaW5kIHRoaXMgaW4gdGhlIEhpc3BhbmljIGZvb2RzIGFpc2xlIG9mIGFueSBzdG9yZSBvciB5b3UgY2FuIHN1YnN0aXR1dGUgc3RhbmRhcmQgZ3JvdW5kIGNoaWxpIHBvd2RlcikiLCAiMSB0YWJsZXNwb29uIGRyaWVkIG9yZWdhbm8iLCAiNiBjbG92ZXMgZ2FybGljLCBtaW5jZWQiLCAiMSB0ZWFzcG9vbiBncm91bmQgY3VtaW4iLCAiMS80IHRlYXNwb29uIGdyb3VuZCBjaW5uYW1vbiIsICIxICgxMi1vdW5jZSkgYm90dGxlIGJyb3duIGFsZSwgc3VjaCBhcyBOZXdjYXN0bGUiLCAiMSBsYXJnZSB5ZWxsb3cgb25pb24sIHF1YXJ0ZXJlZCIsICIxIG9yYW5nZSAocHJlZmVyYWJseSBvcmdhbmljKSwgdW5wZWVsZWQgYW5kIHF1YXJ0ZXJlZCIsICIxLzIgZnJlc2ggcGluZWFwcGxlLCBjdXQgaW50byBjaHVua3MgKDIgdG8gMiAxLzIgY3Vwczsgb3B0aW9uYWwpIiwgIkNhYmJhZ2UgbGVhdmVzLCB3YXJtIGNvcm4gdG9ydGlsbGFzLCBzYWxzYSwgcmFkaXNoIHNsaWNlcywgc2xpY2VkIGZyZXNoIGphbGFwZcOxb3MsIHNvdXIgY3JlYW0sIHF1ZXNvIGZyZXNjbywgbGltZSB3ZWRnZXMsIGFuZC9vciBmcmVzaCBjaWxhbnRybywgZm9yIHNlcnZpbmciIF0sCiAgICAgICJpbmdyZWRpZW50cyIgOiBbIHsKICAgICAgICAidGV4dCIgOiAiMyB0YWJsZXNwb29ucyBsaWdodCBicm93biBzdWdhciIsCiAgICAgICAgIndlaWdodCIgOiAyNy4xODc0OTk5OTk1NDAzNDMKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIzIHRhYmxlc3Bvb25zIGZpbmUgc2VhIHNhbHQiLAogICAgICAgICJ3ZWlnaHQiIDogNTQuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgd2hvbGUgYm9uZWxlc3MgcG9yayBidXR0IG9yIHNob3VsZGVyICg2IHRvIDcgcG91bmRzKSIsCiAgICAgICAgIndlaWdodCIgOiAyOTQ4LjM1MDQwNQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjIgb3VuY2VzIChhYm91dCA2IHRhYmxlc3Bvb25zKSBOZXcgTWV4aWNvIHJlZCBjaGlsZSBwb3dkZXIgKHlvdSBjYW4gdXN1YWxseSBmaW5kIHRoaXMgaW4gdGhlIEhpc3BhbmljIGZvb2RzIGFpc2xlIG9mIGFueSBzdG9yZSBvciB5b3UgY2FuIHN1YnN0aXR1dGUgc3RhbmRhcmQgZ3JvdW5kIGNoaWxpIHBvd2RlcikiLAogICAgICAgICJ3ZWlnaHQiIDogNTYuNjk5MDQ2MjUKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxIHRhYmxlc3Bvb24gZHJpZWQgb3JlZ2FubyIsCiAgICAgICAgIndlaWdodCIgOiA1Ljk5OTk5OTk5OTg5ODU1ODUKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICI2IGNsb3ZlcyBnYXJsaWMsIG1pbmNlZCIsCiAgICAgICAgIndlaWdodCIgOiAxOC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSB0ZWFzcG9vbiBncm91bmQgY3VtaW4iLAogICAgICAgICJ3ZWlnaHQiIDogMi4xCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMS80IHRlYXNwb29uIGdyb3VuZCBjaW5uYW1vbiIsCiAgICAgICAgIndlaWdodCIgOiAwLjY1CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSAoMTItb3VuY2UpIGJvdHRsZSBicm93biBhbGUsIHN1Y2ggYXMgTmV3Y2FzdGxlIiwKICAgICAgICAid2VpZ2h0IiA6IDM0MC4xOTQyNzc1CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSBsYXJnZSB5ZWxsb3cgb25pb24sIHF1YXJ0ZXJlZCIsCiAgICAgICAgIndlaWdodCIgOiAxNTAuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgb3JhbmdlIChwcmVmZXJhYmx5IG9yZ2FuaWMpLCB1bnBlZWxlZCBhbmQgcXVhcnRlcmVkIiwKICAgICAgICAid2VpZ2h0IiA6IDEzMS4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMS8yIGZyZXNoIHBpbmVhcHBsZSwgY3V0IGludG8gY2h1bmtzICgyIHRvIDIgMS8yIGN1cHM7IG9wdGlvbmFsKSIsCiAgICAgICAgIndlaWdodCIgOiA0NTIuNQogICAgICB9IF0sCiAgICAgICJjYWxvcmllcyIgOiA0OTIwLjY4NzY1NDQ3OTk4MywKICAgICAgInRvdGFsV2VpZ2h0IiA6IDQxNTAuMTc2OTY4NjY1OTc0NSwKICAgICAgInRvdGFsVGltZSIgOiAwLjAsCiAgICAgICJ0b3RhbE51dHJpZW50cyIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ5MjAuNjg3NjU0NDc5OTgzLAogICAgICAgICAgInVuaXQiIDogImtjYWwiCiAgICAgICAgfSwKICAgICAgICAiRkFUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMTYuMDcxMzI4MzQzMTU1NywKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBU0FUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0MS4yMzkxNjAxNzUwNjk0MzYsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVRSTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjIzODMwNzE3MDEwMDAwMDQsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQU1TIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTW9ub3Vuc2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0OC4zNjAyMzMyNDYyMDg3ODYsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVBVIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG9seXVuc2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMS4wOTc1OTU5OTc0NzU2MiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNjcuMjMzOTE2NTg2OTc5MjMsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGSUJURyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzNS4yNTM5MTgwOTQ5NTY4OTQsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJTVUdBUiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTQuMTIwNDc4OTI0OTI0OSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIlNVR0FSLmFkZGVkIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzLCBhZGRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjYuMzc3MzEyNDk5NTU0MDQsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1NDUuMTQ4MzU1NTAwNDIwNSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkNIT0xFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE1ODUuMDMzMTc3NzI4MDAwMywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTYxMC40Njc1NDM4MzIyNDUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiQ0EiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3MDEuMDMxMjMwMTE2OTY3MywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJNRyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODEzLjA3ODUwOTYwOTM1MDEsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiSyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTEyMzguNzg2NzI4OTA3NDM1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjguOTczNjg3MDUxNDkzOTgsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiWk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0Ni43MTU3NTM0OTE4NzM2ODQsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiUCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDU3MTMuNjUzODEyNDMxODMzLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEFfUkFFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5MjQuOTA1NjQyNjkxNDEzOCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzAzLjQyNDI5MzMyMzc0NzcsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVEhJQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTEuMzA5NTMwNDE4NzUxODIzLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlJJQkYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICAgInF1YW50aXR5IiA6IDUuMzk3MDA1MDU5ODg2NDY2LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk5JQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNDkuNTE1NjgzNDM0MTAxODIsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjAuMTk3NTA3MjMzNzU5NzU1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkZPTERGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIwMC44MTgyNjQ1OTk3NTUwMywKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiRk9MRkQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMDAuODE4MjY0NTk5NzU1MDMsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlZJVEIxMiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMy40NDE3NTYyOTI1ODAwMDMsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlZJVEQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEyLjM4MzA3MTcwMTAwMDAwMiwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNi4xNDgyNjM0NDc5NzE0OCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRLMSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTAxLjYyMjU5MTg4NTYxOTM0LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJ0b3RhbERhaWx5IiA6IHsKICAgICAgICAiRU5FUkNfS0NBTCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjQ2LjAzNDM4MjcyMzk5OTIsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMzMi40MTc0MjgyMjAyMzk1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFTQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIwNi4xOTU4MDA4NzUzNDcxNywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1NS43NDQ2Mzg4NjIzMjY0MiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE0MS4wMTU2NzIzNzk4Mjc1OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDEwOTAuMjk2NzExMDAwODQxLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0hPTEUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTI4LjM0NDM5MjU3NiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0MDAuNDM2MTQ3NjU5Njc2ODYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDcwLjEwMzEyMzAxMTY5Njc0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDE5My41OTAxMjEzMzU1NTk1NiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDIzOS4xMjMxMjE4OTE2NDc1NCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTYwLjk2NDkyODA2Mzg1NTQ0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiWk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0MjQuNjg4NjY4MTA3OTQyNiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4MTYuMjM2MjU4OTE4ODMzMywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEFfUkFFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMDIuNzY3MjkzNjMyMzc5MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMzNy4xMzgxMDM2OTMwNTMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5NDIuNDYwODY4MjI5MzE4NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlJJQkYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQxNS4xNTQyMzUzNzU4ODE5NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk5JQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5MzQuNDczMDIxNDYzMTM2MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEI2QSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE1NTMuNjU0NDAyNTk2OTA0MiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZPTERGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDUwLjIwNDU2NjE0OTkzODc1NiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEIxMiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1NjAuMDczMTc4ODU3NTAwMSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDgyLjU1MzgxMTM0MDAwMDAxLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNzQuMzIxNzU2MzE5ODA5ODgsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRLMSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODQuNjg1NDkzMjM4MDE2MTIsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkaWdlc3QiIDogWyB7CiAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICJ0YWciIDogIkZBVCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiZmF0Q29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDIxNi4wNzEzMjgzNDMxNTU3LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzMyLjQxNzQyODIyMDIzOTUsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVNBVCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzYXR1cmF0ZWRGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiA0MS4yMzkxNjAxNzUwNjk0MzYsCiAgICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgICAiZGFpbHkiIDogMjA2LjE5NTgwMDg3NTM0NzE3LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJUcmFucyIsCiAgICAgICAgICAidGFnIiA6ICJGQVRSTiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJ0cmFuc0ZhdENvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDEuMjM4MzA3MTcwMTAwMDAwNCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJNb25vdW5zYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFNUyIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogNDguMzYwMjMzMjQ2MjA4Nzg2LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVBVIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAyMS4wOTc1OTU5OTc0NzU2MiwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAidGFnIiA6ICJDSE9DREYiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNhcmJvaHlkcmF0ZUNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAxNjcuMjMzOTE2NTg2OTc5MjMsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA1NS43NDQ2Mzg4NjIzMjY0MiwKICAgICAgICAidW5pdCIgOiAiZyIsCiAgICAgICAgInN1YiIgOiBbIHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMgKG5ldCkiLAogICAgICAgICAgInRhZyIgOiAiQ0hPQ0RGLm5ldCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMTMxLjk3OTk5ODQ5MjAyMjMzLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJ0YWciIDogIkZJQlRHIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogImZpYmVyQ29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMzUuMjUzOTE4MDk0OTU2ODk0LAogICAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICAgImRhaWx5IiA6IDE0MS4wMTU2NzIzNzk4Mjc1OCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzIiwKICAgICAgICAgICJ0YWciIDogIlNVR0FSIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInN1Z2FyQ29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogOTQuMTIwNDc4OTI0OTI0OSwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMsIGFkZGVkIiwKICAgICAgICAgICJ0YWciIDogIlNVR0FSLmFkZGVkIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAyNi4zNzczMTI0OTk1NTQwNCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICJ0YWciIDogIlBST0NOVCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAicHJvdGVpbkNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiA1NDUuMTQ4MzU1NTAwNDIwNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEwOTAuMjk2NzExMDAwODQxLAogICAgICAgICJ1bml0IiA6ICJnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgInRhZyIgOiAiQ0hPTEUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNob2xlc3Rlcm9sQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDE1ODUuMDMzMTc3NzI4MDAwMywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDUyOC4zNDQzOTI1NzYsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICJ0YWciIDogIk5BIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzb2RpdW1Db250ZW50IiwKICAgICAgICAidG90YWwiIDogOTYxMC40Njc1NDM4MzIyNDUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0MDAuNDM2MTQ3NjU5Njc2ODYsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAidGFnIiA6ICJDQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA3MDEuMDMxMjMwMTE2OTY3MywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDcwLjEwMzEyMzAxMTY5Njc0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAidGFnIiA6ICJNRyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA4MTMuMDc4NTA5NjA5MzUwMSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE5My41OTAxMjEzMzU1NTk1NiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgInRhZyIgOiAiSyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxMTIzOC43ODY3Mjg5MDc0MzUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyMzkuMTIzMTIxODkxNjQ3NTQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAidGFnIiA6ICJGRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyOC45NzM2ODcwNTE0OTM5OCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE2MC45NjQ5MjgwNjM4NTU0NCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICJ0YWciIDogIlpOIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDQ2LjcxNTc1MzQ5MTg3MzY4NCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQyNC42ODg2NjgxMDc5NDI2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgInRhZyIgOiAiUCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA1NzEzLjY1MzgxMjQzMTgzMywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDgxNi4yMzYyNTg5MTg4MzMzLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAidGFnIiA6ICJWSVRBX1JBRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA5MjQuOTA1NjQyNjkxNDEzOCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEwMi43NjcyOTM2MzIzNzkzLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgInRhZyIgOiAiVklUQyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAzMDMuNDI0MjkzMzIzNzQ3NywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDMzNy4xMzgxMDM2OTMwNTMsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICJ0YWciIDogIlRISUEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTEuMzA5NTMwNDE4NzUxODIzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogOTQyLjQ2MDg2ODIyOTMxODcsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICJ0YWciIDogIlJJQkYiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNS4zOTcwMDUwNTk4ODY0NjYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0MTUuMTU0MjM1Mzc1ODgxOTcsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgInRhZyIgOiAiTklBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE0OS41MTU2ODM0MzQxMDE4MiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDkzNC40NzMwMjE0NjMxMzYzLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgInRhZyIgOiAiVklUQjZBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIwLjE5NzUwNzIzMzc1OTc1NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE1NTMuNjU0NDAyNTk2OTA0MiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICJ0YWciIDogIkZPTERGRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyMDAuODE4MjY0NTk5NzU1MDMsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA1MC4yMDQ1NjYxNDk5Mzg3NTYsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIChmb29kKSIsCiAgICAgICAgInRhZyIgOiAiRk9MRkQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjAwLjgxODI2NDU5OTc1NTAzLAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xpYyBhY2lkIiwKICAgICAgICAidGFnIiA6ICJGT0xBQyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAwLjAsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAidGFnIiA6ICJWSVRCMTIiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTMuNDQxNzU2MjkyNTgwMDAzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNTYwLjA3MzE3ODg1NzUwMDEsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAidGFnIiA6ICJWSVREIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEyLjM4MzA3MTcwMTAwMDAwMiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDgyLjU1MzgxMTM0MDAwMDAxLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgInRhZyIgOiAiVE9DUEhBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDI2LjE0ODI2MzQ0Nzk3MTQ4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTc0LjMyMTc1NjMxOTgwOTg4LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAidGFnIiA6ICJWSVRLMSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxMDEuNjIyNTkxODg1NjE5MzQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA4NC42ODU0OTMyMzgwMTYxMiwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9IF0KICAgIH0sCiAgICAiYm9va21hcmtlZCIgOiBmYWxzZSwKICAgICJib3VnaHQiIDogZmFsc2UKICB9LCB7CiAgICAicmVjaXBlIiA6IHsKICAgICAgInVyaSIgOiAiaHR0cDovL3d3dy5lZGFtYW0uY29tL29udG9sb2dpZXMvZWRhbWFtLm93bCNyZWNpcGVfZDk2OWYwNTA2YWU0ZWFlNWU3MTNhYTRlODg5YmFkYjUiLAogICAgICAibGFiZWwiIDogIkNhc3Nlcm9sZSBvZiBDaGlja2VuIFRhY29zIGFuZCBHcmVlbiBTYXVjZSIsCiAgICAgICJpbWFnZSIgOiAiaHR0cHM6Ly93d3cuZWRhbWFtLmNvbS93ZWItaW1nLzNjYy8zY2M5NTQ1MTdmOGVlY2M0YTUwNmUwNmU2M2FhZjY0ZS5qcGciLAogICAgICAic291cmNlIiA6ICJDb29rc3RyIiwKICAgICAgInVybCIgOiAiaHR0cDovL3d3dy5jb29rc3RyLmNvbS9DaGlja2VuLUNhc3Nlcm9sZS1SZWNpcGVzL0Nhc3Nlcm9sZS1vZi1DaGlja2VuLVRhY29zLWFuZC1HcmVlbi1TYXVjZSIsCiAgICAgICJzaGFyZUFzIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vcmVjaXBlL2Nhc3Nlcm9sZS1vZi1jaGlja2VuLXRhY29zLWFuZC1ncmVlbi1zYXVjZS1kOTY5ZjA1MDZhZTRlYWU1ZTcxM2FhNGU4ODliYWRiNS90YWNvcyIsCiAgICAgICJ5aWVsZCIgOiA4LjAsCiAgICAgICJkaWV0TGFiZWxzIiA6IFsgXSwKICAgICAgImhlYWx0aExhYmVscyIgOiBbICJQZWFudXQtRnJlZSIsICJUcmVlLU51dC1GcmVlIiwgIkFsY29ob2wtRnJlZSIgXSwKICAgICAgImNhdXRpb25zIiA6IFsgIkVnZ3MiLCAiTWlsayIgXSwKICAgICAgImluZ3JlZGllbnRMaW5lcyIgOiBbICLCvSBjdXAgKDg1IG1sKSBzYWZmbG93ZXIgb2lsLCBhcHByb3hpbWF0ZWx5LCBmb3IgZnJ5aW5nIiwgIjIwIDUtaW5jaCAoMTIuNSBjbSkgY29ybiB0b3J0aWxsYXMiLCAiMcK9IGN1cHMgKDM3NSBtbCkgdGhpY2sgY3LDqG1lIGZyYcOvY2hlIiwgIjIgY3VwcyAoNTAwIG1sKSB3ZWxsLXNlYXNvbmVkIHBvYWNoZWQgY2hpY2tlbiBmb3IgdGFjb3MsIHdhcm1lZCB0aHJvdWdoIiwgIjIgY3VwcyAoNTAwIG1sKSBlZ2dzIHdpdGggY2hvcml6byBhbmQgdG9tYXRvLCB3YXJtZWQgdGhyb3VnaCIsICIyIGN1cHMgKDUwMCBtbCkgc2Fsc2EgdmVyZGUsIHdhcm1lZCB0aHJvdWdoIiBdLAogICAgICAiaW5ncmVkaWVudHMiIDogWyB7CiAgICAgICAgInRleHQiIDogIsK9IGN1cCAoODUgbWwpIHNhZmZsb3dlciBvaWwsIGFwcHJveGltYXRlbHksIGZvciBmcnlpbmciLAogICAgICAgICJ3ZWlnaHQiIDogNzguMzIxNzMwMDgzMTQzODUKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIyMCA1LWluY2ggKDEyLjUgY20pIGNvcm4gdG9ydGlsbGFzIiwKICAgICAgICAid2VpZ2h0IiA6IDQ4MC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMcK9IGN1cHMgKDM3NSBtbCkgdGhpY2sgY3LDqG1lIGZyYcOvY2hlIiwKICAgICAgICAid2VpZ2h0IiA6IDM1NS4wNDcyMzgzNjkzNTE1CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMiBjdXBzICg1MDAgbWwpIHdlbGwtc2Vhc29uZWQgcG9hY2hlZCBjaGlja2VuIGZvciB0YWNvcywgd2FybWVkIHRocm91Z2giLAogICAgICAgICJ3ZWlnaHQiIDogMjk1Ljg3MjY5ODY0MTEyNjI1CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMiBjdXBzICg1MDAgbWwpIGVnZ3Mgd2l0aCBjaG9yaXpvIGFuZCB0b21hdG8sIHdhcm1lZCB0aHJvdWdoIiwKICAgICAgICAid2VpZ2h0IiA6IDI5OC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMiBjdXBzICg1MDAgbWwpIHNhbHNhIHZlcmRlLCB3YXJtZWQgdGhyb3VnaCIsCiAgICAgICAgIndlaWdodCIgOiA1MDcuMjEwMzQwNTM2MjIwNAogICAgICB9IF0sCiAgICAgICJjYWxvcmllcyIgOiAzMzA2LjUxMTQ5NTQ3MDAyNSwKICAgICAgInRvdGFsV2VpZ2h0IiA6IDIwMTQuNDUyMDA3NjI5ODQyLAogICAgICAidG90YWxUaW1lIiA6IDYwLjAsCiAgICAgICJ0b3RhbE51dHJpZW50cyIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMzMDYuNTExNDk1NDcwMDI1LAogICAgICAgICAgInVuaXQiIDogImtjYWwiCiAgICAgICAgfSwKICAgICAgICAiRkFUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMTEuNzIxMTUwNjU5NTQyODcsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVNBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjAuNzIzNTM1OTQ3NjUxMjMsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVRSTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAwLjI4Njk5NjUxNzY4MTg5MjQ0LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFNUyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTEuMTEzMzE0Nzg5MjAwMzEsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVBVIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG9seXVuc2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3OC4wNDM2NDk2MDgzNTUzNSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNjguMzQ4MTM4MTIzMTQwOSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQzLjQ1Mjk5NjQ3MDE4ODE4LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiU1VHQVIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQwLjAzOTEyMjM4MzgwNTA0LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiUFJPQ05UIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTguMDk1Njc2NjI5NTU0MzUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0MDYuNTI5MDg3OTMyOTA3NSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzY0OC4xNDUxMzQyOTk3MDU3LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODg3LjM0Njg4OTcwNTA3MDMsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDU2OS40MjkyMjgyNjcwNDIyLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDM5NzIuNTUwNzg4NTIxMzI0NiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzLjI3MTkwMTgwNjQ4MzQ2NiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzLjI4NzczNzcwOTM0Mjg0MiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJQIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjYyOS45MTM0MzA3NDcwNiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRBX1JBRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTI3LjE0NDA4MzQzMTkwNDYsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlZJVEMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDExMS4xNDIyNjAyMDk1MzcyOCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjEwMDExNzM4MTY0NDMwMzUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMS41MTY5NDQyMTA5NTc2NzUyLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk5JQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzNy42NjEyNzA3MjQwNjU1NDUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMi45NDg1MTU5NTM3NTk1MzUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTUxLjg4MjQ5NTg0NzIxOTgxLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xGRCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE1MS44ODI0OTU4NDcyMTk4MSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEuOTExMzM3NjMzMjIxNjc1NiwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMi4wMTE5MzQzNTA3NTk2NTgzLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJUT0NQSEEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM0LjI5MTc0MDM2NzQwNjMzNCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRLMSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTA4LjkxMjM4OTkxOTA5NDQxLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJ0b3RhbERhaWx5IiA6IHsKICAgICAgICAiRU5FUkNfS0NBTCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTY1LjMyNTU3NDc3MzUwMTIyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzMjUuNzI0ODQ3MTY4NTI3NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZBU0FUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzMDMuNjE3Njc5NzM4MjU2MTMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODkuNDQ5Mzc5Mzc0MzgwMzEsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGSUJURyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNzMuODExOTg1ODgwNzUyNzMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxOTYuMTkxMzUzMjU5MTA4NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0xFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzNS41MDk2OTU5Nzc2MzU4MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNTIuMDA2MDQ3MjYyNDg3NzMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDg4LjczNDY4ODk3MDUwNzA0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzNS41NzgzODc2ODI2MjkwOSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDg0LjUyMjM1NzIwMjU4MTM4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3My43MzI3ODc4MTM3OTcwMywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlpOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTIwLjc5NzYxNTUzOTQ4MDM4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM3NS43MDE5MTg2NzgxNTE0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEwMy4wMTYwMDkyNzAyMTE2MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEyMy40OTE0MDAyMzI4MTkyMiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDkxLjY3NjQ0ODQ3MDM1ODY0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTE2LjY4ODAxNjIyNzUxMzQ3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTklBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIzNS4zODI5NDIwMjU0MDk2NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEI2QSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIyNi44MDg5MTk1MTk5NjQyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzcuOTcwNjIzOTYxODA0OTU0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDc5LjYzOTA2ODA1MDkwMzE2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTMuNDEyODk1NjcxNzMxMDU1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMjguNjExNjAyNDQ5Mzc1NTQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRLMSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTAuNzYwMzI0OTMyNTc4NjcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkaWdlc3QiIDogWyB7CiAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICJ0YWciIDogIkZBVCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiZmF0Q29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDIxMS43MjExNTA2NTk1NDI4NywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDMyNS43MjQ4NDcxNjg1Mjc1LAogICAgICAgICJ1bml0IiA6ICJnIiwKICAgICAgICAic3ViIiA6IFsgewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFTQVQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic2F0dXJhdGVkRmF0Q29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogNjAuNzIzNTM1OTQ3NjUxMjMsCiAgICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgICAiZGFpbHkiIDogMzAzLjYxNzY3OTczODI1NjEzLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJUcmFucyIsCiAgICAgICAgICAidGFnIiA6ICJGQVRSTiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJ0cmFuc0ZhdENvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDAuMjg2OTk2NTE3NjgxODkyNDQsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiTW9ub3Vuc2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBTVMiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDUxLjExMzMxNDc4OTIwMDMxLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVBVIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiA3OC4wNDM2NDk2MDgzNTUzNSwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAidGFnIiA6ICJDSE9DREYiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNhcmJvaHlkcmF0ZUNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAyNjguMzQ4MTM4MTIzMTQwOSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDg5LjQ0OTM3OTM3NDM4MDMxLAogICAgICAgICJ1bml0IiA6ICJnIiwKICAgICAgICAic3ViIiA6IFsgewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyAobmV0KSIsCiAgICAgICAgICAidGFnIiA6ICJDSE9DREYubmV0IiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAyMjQuODk1MTQxNjUyOTUyNzYsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInRhZyIgOiAiRklCVEciLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiZmliZXJDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiA0My40NTI5OTY0NzAxODgxOCwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiAxNzMuODExOTg1ODgwNzUyNzMsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzdWdhckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDQwLjAzOTEyMjM4MzgwNTA0LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycywgYWRkZWQiLAogICAgICAgICAgInRhZyIgOiAiU1VHQVIuYWRkZWQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICJ0YWciIDogIlBST0NOVCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAicHJvdGVpbkNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiA5OC4wOTU2NzY2Mjk1NTQzNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE5Ni4xOTEzNTMyNTkxMDg3LAogICAgICAgICJ1bml0IiA6ICJnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgInRhZyIgOiAiQ0hPTEUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNob2xlc3Rlcm9sQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDQwNi41MjkwODc5MzI5MDc1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTM1LjUwOTY5NTk3NzYzNTgzLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAidGFnIiA6ICJOQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic29kaXVtQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDM2NDguMTQ1MTM0Mjk5NzA1NywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE1Mi4wMDYwNDcyNjI0ODc3MywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICJ0YWciIDogIkNBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDg4Ny4zNDY4ODk3MDUwNzAzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogODguNzM0Njg4OTcwNTA3MDQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICJ0YWciIDogIk1HIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDU2OS40MjkyMjgyNjcwNDIyLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTM1LjU3ODM4NzY4MjYyOTA5LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAidGFnIiA6ICJLIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDM5NzIuNTUwNzg4NTIxMzI0NiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDg0LjUyMjM1NzIwMjU4MTM4LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgInRhZyIgOiAiRkUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTMuMjcxOTAxODA2NDgzNDY2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNzMuNzMyNzg3ODEzNzk3MDMsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAidGFnIiA6ICJaTiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxMy4yODc3Mzc3MDkzNDI4NDIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMjAuNzk3NjE1NTM5NDgwMzgsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAidGFnIiA6ICJQIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDI2MjkuOTEzNDMwNzQ3MDYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzNzUuNzAxOTE4Njc4MTUxNCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgInRhZyIgOiAiVklUQV9SQUUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogOTI3LjE0NDA4MzQzMTkwNDYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMDMuMDE2MDA5MjcwMjExNjMsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAidGFnIiA6ICJWSVRDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDExMS4xNDIyNjAyMDk1MzcyOCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEyMy40OTE0MDAyMzI4MTkyMiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgInRhZyIgOiAiVEhJQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxLjEwMDExNzM4MTY0NDMwMzUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA5MS42NzY0NDg0NzAzNTg2NCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgInRhZyIgOiAiUklCRiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxLjUxNjk0NDIxMDk1NzY3NTIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMTYuNjg4MDE2MjI3NTEzNDcsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgInRhZyIgOiAiTklBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDM3LjY2MTI3MDcyNDA2NTU0NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDIzNS4zODI5NDIwMjU0MDk2NSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICJ0YWciIDogIlZJVEI2QSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyLjk0ODUxNTk1Mzc1OTUzNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDIyNi44MDg5MTk1MTk5NjQyLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgInRhZyIgOiAiRk9MREZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE1MS44ODI0OTU4NDcyMTk4MSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDM3Ljk3MDYyMzk2MTgwNDk1NCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgICAidGFnIiA6ICJGT0xGRCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxNTEuODgyNDk1ODQ3MjE5ODEsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICJ0YWciIDogIkZPTEFDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICJ0YWciIDogIlZJVEIxMiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxLjkxMTMzNzYzMzIyMTY3NTYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA3OS42MzkwNjgwNTA5MDMxNiwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAgICJ0YWciIDogIlZJVEQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMi4wMTE5MzQzNTA3NTk2NTgzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTMuNDEyODk1NjcxNzMxMDU1LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgInRhZyIgOiAiVE9DUEhBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDM0LjI5MTc0MDM2NzQwNjMzNCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDIyOC42MTE2MDI0NDkzNzU1NCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgInRhZyIgOiAiVklUSzEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTA4LjkxMjM4OTkxOTA5NDQxLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogOTAuNzYwMzI0OTMyNTc4NjcsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSBdCiAgICB9LAogICAgImJvb2ttYXJrZWQiIDogZmFsc2UsCiAgICAiYm91Z2h0IiA6IGZhbHNlCiAgfSwgewogICAgInJlY2lwZSIgOiB7CiAgICAgICJ1cmkiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9vbnRvbG9naWVzL2VkYW1hbS5vd2wjcmVjaXBlXzMyMWYyMmFkZTRiZGY2NWQ2MTY2ZWNhODI4YmI1M2ZjIiwKICAgICAgImxhYmVsIiA6ICJCZWVmIFRhY29zIiwKICAgICAgImltYWdlIiA6ICJodHRwczovL3d3dy5lZGFtYW0uY29tL3dlYi1pbWcvMDYxLzA2MTNlM2UyNWNlNzk2Y2E2Njk1OWVlMjZiZTE1ZWNlLmpwZyIsCiAgICAgICJzb3VyY2UiIDogIk5vIFJlY2lwZXMiLAogICAgICAidXJsIiA6ICJodHRwOi8vbm9yZWNpcGVzLmNvbS9iZWVmLXRhY29zLXJlY2lwZSIsCiAgICAgICJzaGFyZUFzIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vcmVjaXBlL2JlZWYtdGFjb3MtMzIxZjIyYWRlNGJkZjY1ZDYxNjZlY2E4MjhiYjUzZmMvdGFjb3MiLAogICAgICAieWllbGQiIDogOC4wLAogICAgICAiZGlldExhYmVscyIgOiBbIF0sCiAgICAgICJoZWFsdGhMYWJlbHMiIDogWyAiU3VnYXItQ29uc2Npb3VzIiwgIlBlYW51dC1GcmVlIiwgIlRyZWUtTnV0LUZyZWUiLCAiQWxjb2hvbC1GcmVlIiBdLAogICAgICAiY2F1dGlvbnMiIDogWyAiRWdncyIsICJNaWxrIiBdLAogICAgICAiaW5ncmVkaWVudExpbmVzIiA6IFsgIjEvMiBtZWRpdW0gb25pb24gY2hvcHBlZCIsICIyIGNsb3ZlcyBnYXJsaWMgbWluY2VkIiwgIjEgbGJzIHNsaWNlZCBvciBsZWFuIGdyb3VuZCBiZWVmIiwgIjIgdGJzIGNoaWxpIHBvd2RlciIsICIxIHRzcCBrb3NoZXIgc2FsdCIsICIxLzIgdHNwIHN1Z2FyIiwgIjEyIGNvcm4gdG9ydGlsbGFzIiwgIjEgcmVjaXBlIHNhbHNhIHZlcmRlIiwgIkNpbGFudHJvIiwgIkxpbWUgd2VkZ2VzIiBdLAogICAgICAiaW5ncmVkaWVudHMiIDogWyB7CiAgICAgICAgInRleHQiIDogIjEvMiBtZWRpdW0gb25pb24gY2hvcHBlZCIsCiAgICAgICAgIndlaWdodCIgOiA1NS4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMiBjbG92ZXMgZ2FybGljIG1pbmNlZCIsCiAgICAgICAgIndlaWdodCIgOiA2LjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxIGxicyBzbGljZWQgb3IgbGVhbiBncm91bmQgYmVlZiIsCiAgICAgICAgIndlaWdodCIgOiA0NTMuNTkyMzcKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIyIHRicyBjaGlsaSBwb3dkZXIiLAogICAgICAgICJ3ZWlnaHQiIDogMTYuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgdHNwIGtvc2hlciBzYWx0IiwKICAgICAgICAid2VpZ2h0IiA6IDQuODU0MTY2NjY2OTEyODc1CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMS8yIHRzcCBzdWdhciIsCiAgICAgICAgIndlaWdodCIgOiAyLjEKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxMiBjb3JuIHRvcnRpbGxhcyIsCiAgICAgICAgIndlaWdodCIgOiAyODguMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgcmVjaXBlIHNhbHNhIHZlcmRlIiwKICAgICAgICAid2VpZ2h0IiA6IDguOQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIkNpbGFudHJvIiwKICAgICAgICAid2VpZ2h0IiA6IDguNDI4MjE1MzY2NjY5MTMKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICJMaW1lIHdlZGdlcyIsCiAgICAgICAgIndlaWdodCIgOiA4LjM3NQogICAgICB9IF0sCiAgICAgICJjYWxvcmllcyIgOiAxNTE3LjM4MTU2MDczNDMzNCwKICAgICAgInRvdGFsV2VpZ2h0IiA6IDg0OS4wMDI5Mjk4MTgzNjksCiAgICAgICJ0b3RhbFRpbWUiIDogMC4wLAogICAgICAidG90YWxOdXRyaWVudHMiIDogewogICAgICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRW5lcmd5IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNTE3LjM4MTU2MDczNDMzNCwKICAgICAgICAgICJ1bml0IiA6ICJrY2FsIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTYuMDEyNzQzNzE5OTA2NjksCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVNBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTkuNTQ1MjY0ODIwMDUxMzMzLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFUUk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJUcmFucyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMi40NDkzOTg3OTgwMDAwMDAzLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFNUyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjEuNTY1MTg3ODQwMDU4MzQzLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFQVSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNi45NzUwNzYyMTI2NDY2NjcsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTQ3LjUyNTUwMDUwMzk1Njc1LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRklCVEciIDogewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjUuNDAzNjkwMDMwMjY2NzMsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJTVUdBUiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOC43MzgxMjI5NzM2OTAwMjIsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJTVUdBUi5hZGRlZCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycywgYWRkZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIuMDk1OCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDExMC42NDk4Nzk5ODczMTAwNywKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkNIT0xFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI5NC44MzUwNDA1MDAwMDAwNSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTk2OC4yNzYwMDU4NTg0ODIyLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzc1Ljc0ODUwMTM2NDA3NjMsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDMzMi45NzMzODM0Mzk4NTEsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiSyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjQ4Ni4xNDA1OTczMTY0ODIsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNi45MzMwNTI3MzY2ODA2NTQsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiWk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNi40MjIwNTU0NDQyODUwNDYsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiUCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE4MjAuNjM5MDA0MTc2MDAxMiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRBX1JBRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjg2LjEzMDI4MDU4NTY3NSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTAuOTM1ODQzMTQ5MDAwNjY2LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDAuNTQ5ODAzMTk5Njk1NjY4MywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJSSUJGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjA2MjU1MDE4NzU5NDAwNDIsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTklBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI5LjQ5MjU2NTMyNTU4NDY5LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEI2QSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIuODExNDM5MTM2MTk2MzM3MywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGT0xERkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2Mi45NzcwMzU3MjczMzQ4NjUsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIkZPTEZEIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIChmb29kKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjIuOTc3MDM1NzI3MzM0ODY1LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVRCMTIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTAuMDI0MzkxMzc3LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVREIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAwLjQ1MzU5MjM3MDAwMDAwMDEsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlRPQ1BIQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOC4wMzM0MTc0MTMxNjY3MywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRLMSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDcuNDE0MjU2NTk2Njc0MzA2LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJ0b3RhbERhaWx5IiA6IHsKICAgICAgICAiRU5FUkNfS0NBTCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNzUuODY5MDc4MDM2NzE2NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODYuMTczNDUxODc2Nzc5NTEsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGQVNBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTcuNzI2MzI0MTAwMjU2NjgsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDkuMTc1MTY2ODM0NjUyMjUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGSUJURyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMDEuNjE0NzYwMTIxMDY2OTIsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMjEuMjk5NzU5OTc0NjIwMTQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5OC4yNzgzNDY4MzMzMzMzNCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4Mi4wMTE1MDAyNDQxMDM0MiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzcuNTc0ODUwMTM2NDA3NjI2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDc5LjI3OTM3NzAwOTQ4ODMxLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiSyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTIuODk2NjA4NDUzNTQyMTY0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5NC4wNzI1MTUyMDM3ODE0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiWk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNDAuMjAwNTA0MDM4OTU0OTYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjYwLjA5MTI4NjMxMDg1NzMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRBX1JBRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzEuNzkyMjUzMzk4NDA4MzMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRDIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMi4xNTA5MzY4MzIyMjI5NjIsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0NS44MTY5MzMzMDc5NzIzNTYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJSSUJGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4MS43MzQ2Mjk4MTQ5MjM0MSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk5JQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxODQuMzI4NTMzMjg0OTA0MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEI2QSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIxNi4yNjQ1NDg5MzgxNzk4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTUuNzQ0MjU4OTMxODMzNzE4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQxNy42ODI5NzQwNDE2NjY3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMy4wMjM5NDkxMzMzMzMzMzM3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1My41NTYxMTYwODc3NzgxOSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEsxIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzOS41MTE4ODA0OTcyMjg1OSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0KICAgICAgfSwKICAgICAgImRpZ2VzdCIgOiBbIHsKICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgInRhZyIgOiAiRkFUIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmYXRDb250ZW50IiwKICAgICAgICAidG90YWwiIDogNTYuMDEyNzQzNzE5OTA2NjksCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA4Ni4xNzM0NTE4NzY3Nzk1MSwKICAgICAgICAidW5pdCIgOiAiZyIsCiAgICAgICAgInN1YiIgOiBbIHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBU0FUIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInNhdHVyYXRlZEZhdENvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDE5LjU0NTI2NDgyMDA1MTMzMywKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiA5Ny43MjYzMjQxMDAyNTY2OCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiVHJhbnMiLAogICAgICAgICAgInRhZyIgOiAiRkFUUk4iLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAidHJhbnNGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAyLjQ0OTM5ODc5ODAwMDAwMDMsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiTW9ub3Vuc2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBTVMiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDIxLjU2NTE4Nzg0MDA1ODM0MywKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJQb2x5dW5zYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFQVSIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogNi45NzUwNzYyMTI2NDY2NjcsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgInRhZyIgOiAiQ0hPQ0RGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJjYXJib2h5ZHJhdGVDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMTQ3LjUyNTUwMDUwMzk1Njc1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDkuMTc1MTY2ODM0NjUyMjUsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIChuZXQpIiwKICAgICAgICAgICJ0YWciIDogIkNIT0NERi5uZXQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDEyMi4xMjE4MTA0NzM2OTAwMiwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAidGFnIiA6ICJGSUJURyIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmaWJlckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDI1LjQwMzY5MDAzMDI2NjczLAogICAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICAgImRhaWx5IiA6IDEwMS42MTQ3NjAxMjEwNjY5MiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzIiwKICAgICAgICAgICJ0YWciIDogIlNVR0FSIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInN1Z2FyQ29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogOC43MzgxMjI5NzM2OTAwMjIsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzLCBhZGRlZCIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUi5hZGRlZCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMi4wOTU4LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9IF0KICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgInRhZyIgOiAiUFJPQ05UIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJwcm90ZWluQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDExMC42NDk4Nzk5ODczMTAwNywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDIyMS4yOTk3NTk5NzQ2MjAxNCwKICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICJ0YWciIDogIkNIT0xFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJjaG9sZXN0ZXJvbENvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAyOTQuODM1MDQwNTAwMDAwMDUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA5OC4yNzgzNDY4MzMzMzMzNCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgInRhZyIgOiAiTkEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogInNvZGl1bUNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAxOTY4LjI3NjAwNTg1ODQ4MjIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA4Mi4wMTE1MDAyNDQxMDM0MiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICJ0YWciIDogIkNBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDM3NS43NDg1MDEzNjQwNzYzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzcuNTc0ODUwMTM2NDA3NjI2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAidGFnIiA6ICJNRyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAzMzIuOTczMzgzNDM5ODUxLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNzkuMjc5Mzc3MDA5NDg4MzEsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICJ0YWciIDogIksiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjQ4Ni4xNDA1OTczMTY0ODIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA1Mi44OTY2MDg0NTM1NDIxNjQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAidGFnIiA6ICJGRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxNi45MzMwNTI3MzY2ODA2NTQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA5NC4wNzI1MTUyMDM3ODE0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgInRhZyIgOiAiWk4iLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjYuNDIyMDU1NDQ0Mjg1MDQ2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjQwLjIwMDUwNDAzODk1NDk2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgInRhZyIgOiAiUCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxODIwLjYzOTAwNDE3NjAwMTIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyNjAuMDkxMjg2MzEwODU3MywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgInRhZyIgOiAiVklUQV9SQUUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjg2LjEzMDI4MDU4NTY3NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDMxLjc5MjI1MzM5ODQwODMzLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgInRhZyIgOiAiVklUQyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxMC45MzU4NDMxNDkwMDA2NjYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMi4xNTA5MzY4MzIyMjI5NjIsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICJ0YWciIDogIlRISUEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMC41NDk4MDMxOTk2OTU2NjgzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDUuODE2OTMzMzA3OTcyMzU2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAidGFnIiA6ICJSSUJGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEuMDYyNTUwMTg3NTk0MDA0MiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDgxLjczNDYyOTgxNDkyMzQxLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICJ0YWciIDogIk5JQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyOS40OTI1NjUzMjU1ODQ2OSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE4NC4zMjg1MzMyODQ5MDQzLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgInRhZyIgOiAiVklUQjZBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIuODExNDM5MTM2MTk2MzM3MywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDIxNi4yNjQ1NDg5MzgxNzk4LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgInRhZyIgOiAiRk9MREZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDYyLjk3NzAzNTcyNzMzNDg2NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE1Ljc0NDI1ODkzMTgzMzcxOCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgICAidGFnIiA6ICJGT0xGRCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA2Mi45NzcwMzU3MjczMzQ4NjUsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICJ0YWciIDogIkZPTEFDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICJ0YWciIDogIlZJVEIxMiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxMC4wMjQzOTEzNzcsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0MTcuNjgyOTc0MDQxNjY2NywKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAgICJ0YWciIDogIlZJVEQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMC40NTM1OTIzNzAwMDAwMDAxLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMy4wMjM5NDkxMzMzMzMzMzM3LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgInRhZyIgOiAiVE9DUEhBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDguMDMzNDE3NDEzMTY2NzMsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA1My41NTYxMTYwODc3NzgxOSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgInRhZyIgOiAiVklUSzEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNDcuNDE0MjU2NTk2Njc0MzA2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzkuNTExODgwNDk3MjI4NTksCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSBdCiAgICB9LAogICAgImJvb2ttYXJrZWQiIDogZmFsc2UsCiAgICAiYm91Z2h0IiA6IGZhbHNlCiAgfSwgewogICAgInJlY2lwZSIgOiB7CiAgICAgICJ1cmkiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9vbnRvbG9naWVzL2VkYW1hbS5vd2wjcmVjaXBlXzY2YjJhMWU1NGJkYjIyNzUwNGE4ZTA5MTg3N2EwOGU4IiwKICAgICAgImxhYmVsIiA6ICJDaGlja2VuIFRhY29zIiwKICAgICAgImltYWdlIiA6ICJodHRwczovL3d3dy5lZGFtYW0uY29tL3dlYi1pbWcvMTkwLzE5MDY0MDJiOTNjYmMzYWVjODE3YjM0MWE4MDk3NWMyLmpwZyIsCiAgICAgICJzb3VyY2UiIDogIlJlYWwgU2ltcGxlIiwKICAgICAgInVybCIgOiAiaHR0cDovL3d3dy5yZWFsc2ltcGxlLmNvbS9mb29kLXJlY2lwZXMvYnJvd3NlLWFsbC1yZWNpcGVzL2NoaWNrZW4tdGFjb3MiLAogICAgICAic2hhcmVBcyIgOiAiaHR0cDovL3d3dy5lZGFtYW0uY29tL3JlY2lwZS9jaGlja2VuLXRhY29zLTY2YjJhMWU1NGJkYjIyNzUwNGE4ZTA5MTg3N2EwOGU4L3RhY29zIiwKICAgICAgInlpZWxkIiA6IDE0LjAsCiAgICAgICJkaWV0TGFiZWxzIiA6IFsgIkxvdy1DYXJiIiBdLAogICAgICAiaGVhbHRoTGFiZWxzIiA6IFsgIlN1Z2FyLUNvbnNjaW91cyIsICJQZWFudXQtRnJlZSIsICJUcmVlLU51dC1GcmVlIiwgIkFsY29ob2wtRnJlZSIgXSwKICAgICAgImNhdXRpb25zIiA6IFsgIkVnZ3MiLCAiTWlsayIgXSwKICAgICAgImluZ3JlZGllbnRMaW5lcyIgOiBbICIxIHN0b3JlLWJvdWdodCByb3Rpc3NlcmllIGNoaWNrZW4iLCAiMiBjdXBzIHN0b3JlLWJvdWdodCByZWQgb3IgZ3JlZW4gc2Fsc2EiLCAiOCB0YWNvIHNoZWxscyIsICIxIGN1cCAoNCBvenMpIGdyYXRlZCBjaGVkZGFyIG9yIG1vbnRlcmV5IGphY2sgY2hlZXNlIiwgIjggc3ByaWdzIGZyZXNoIGNpbGFudHJvIChvcHRpb25hbCkiLCAiMS8yIGN1cCBzb3VyIGNyZWFtIiwgIjEgYXZvY2FkbywgY2hvcHBlZCIsICIxIGxpbWUsIHF1YXJ0ZXJlZCIgXSwKICAgICAgImluZ3JlZGllbnRzIiA6IFsgewogICAgICAgICJ0ZXh0IiA6ICIxIHN0b3JlLWJvdWdodCByb3Rpc3NlcmllIGNoaWNrZW4iLAogICAgICAgICJ3ZWlnaHQiIDogOTIwLjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIyIGN1cHMgc3RvcmUtYm91Z2h0IHJlZCBvciBncmVlbiBzYWxzYSIsCiAgICAgICAgIndlaWdodCIgOiA1MjAuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjggdGFjbyBzaGVsbHMiLAogICAgICAgICJ3ZWlnaHQiIDogMTAxLjYKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxIGN1cCAoNCBvenMpIGdyYXRlZCBjaGVkZGFyIG9yIG1vbnRlcmV5IGphY2sgY2hlZXNlIiwKICAgICAgICAid2VpZ2h0IiA6IDExMy4zOTgwOTI1CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMS8yIGN1cCBzb3VyIGNyZWFtIiwKICAgICAgICAid2VpZ2h0IiA6IDExNS4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSBhdm9jYWRvLCBjaG9wcGVkIiwKICAgICAgICAid2VpZ2h0IiA6IDIwMS4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSBsaW1lLCBxdWFydGVyZWQiLAogICAgICAgICJ3ZWlnaHQiIDogNjcuMAogICAgICB9IF0sCiAgICAgICJjYWxvcmllcyIgOiAzNTk5LjA0MDg4NTAyNDk5OTYsCiAgICAgICJ0b3RhbFdlaWdodCIgOiAyMDM3Ljk5ODA5MjUsCiAgICAgICJ0b3RhbFRpbWUiIDogMC4wLAogICAgICAidG90YWxOdXRyaWVudHMiIDogewogICAgICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRW5lcmd5IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzNTk5LjA0MDg4NTAyNDk5OTYsCiAgICAgICAgICAidW5pdCIgOiAia2NhbCIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI0OC4yMDE2ODI0MDksCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVNBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODYuMTY4MjEwMzE2MDUwMDEsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVRSTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjA2NzE1MiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBTVMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJNb25vdW5zYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEwMC4wNDQzNDcwNzQ2NzUwMiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBUFUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb2x5dW5zYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQxLjU2OTM3ODg1MTU3NSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMjcuNzQwMDQ3MDI5MDAwMDIsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGSUJURyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzMS41MTAyMDAwMDAwMDAwMDUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJTVUdBUiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjguMzQ5ODkwNDYyNTAwMDAzLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiUFJPQ05UIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjIwLjI2OTkxMzA0NDAwMDA4LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiQ0hPTEUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODUwLjcyNDMwMjMyNSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTM4OS4wMzI1NTUwMDAwMDEsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiQ0EiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMzc3LjQ3OTc3MDA1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk1HIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0NTAuNzU1NDg0OTc1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ3NTIuNjg4NDU0OTI1MDAxLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTQuNTQ1NzA2MjY2MDAwMDAyLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlpOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTkuODc0ODAyNzc1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNTE4LjI0NTUzMDcsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDk0NS4zNTQyMjMxNTAwMDAzLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVRDIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2NS4yMzIsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVEhJQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMS4xNjY2MzU3MTM4NzUwMDAzLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlJJQkYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIuMjY2NDMyNTYwNzUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTklBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICAgInF1YW50aXR5IiA6IDc0LjE0ODI2MjIyNjAyNTAxLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEI2QSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICAgInF1YW50aXR5IiA6IDUuMDQxOTYyNDkzMDc1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkZPTERGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM1OC45OTE2NTY2NTAwMDAxLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xGRCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMxOS4zNjc2NTY2NTAwMDAxLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xBQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI0LjM4NCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQuMTE1MjA0MTY3NzUwMDAxLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVREIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyLjk4MDM4ODU1NSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNC45MTM5NzUwNDA1MDAwMDIsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDkxLjg5NDU1MjMxMjUwMDAxLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJ0b3RhbERhaWx5IiA6IHsKICAgICAgICAiRU5FUkNfS0NBTCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTc5Ljk1MjA0NDI1MTI1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzODEuODQ4NzQyMTY3NjkyMywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZBU0FUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0MzAuODQxMDUxNTgwMjUwMDUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDIuNTgwMDE1Njc2MzMzMzQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGSUJURyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMjYuMDQwODAwMDAwMDAwMDIsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0NDAuNTM5ODI2MDg4MDAwMSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0xFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI4My41NzQ3Njc0NDE2NjY2NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMjQuNTQzMDIzMTI1MDAwMDUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzNy43NDc5NzcwMDUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJNRyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTA3LjMyMjczNDUxNzg1NzE0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiSyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTAxLjEyMTAzMDk1NTg1MTA3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4MC44MDk0NzkyNTU1NTU1NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlpOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTgwLjY4MDAyNTIyNzI3MjcyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM1OS43NDkzNjE1Mjg1NzE0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEwNS4wMzkzNTgxMjc3Nzc4MiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDcyLjQ4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVEhJQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTcuMjE5NjQyODIyOTE2NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlJJQkYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE3NC4zNDA5NjYyMTE1Mzg0NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk5JQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0NjMuNDI2NjM4OTEyNjU2MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEI2QSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM4Ny44NDMyNjg2OTgwNzY5NCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZPTERGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDg5Ljc0NzkxNDE2MjUwMDAyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE3MS40NjY4NDAzMjI5MTY3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTkuODY5MjU3MDMzMzMzMzM0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5OS40MjY1MDAyNywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEsxIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3Ni41Nzg3OTM1OTM3NTAwMiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0KICAgICAgfSwKICAgICAgImRpZ2VzdCIgOiBbIHsKICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgInRhZyIgOiAiRkFUIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmYXRDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMjQ4LjIwMTY4MjQwOSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDM4MS44NDg3NDIxNjc2OTIzLAogICAgICAgICJ1bml0IiA6ICJnIiwKICAgICAgICAic3ViIiA6IFsgewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFTQVQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic2F0dXJhdGVkRmF0Q29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogODYuMTY4MjEwMzE2MDUwMDEsCiAgICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgICAiZGFpbHkiIDogNDMwLjg0MTA1MTU4MDI1MDA1LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJUcmFucyIsCiAgICAgICAgICAidGFnIiA6ICJGQVRSTiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJ0cmFuc0ZhdENvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDEuMDY3MTUyLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQU1TIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAxMDAuMDQ0MzQ3MDc0Njc1MDIsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiUG9seXVuc2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBUFUiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDQxLjU2OTM3ODg1MTU3NSwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAidGFnIiA6ICJDSE9DREYiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNhcmJvaHlkcmF0ZUNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAxMjcuNzQwMDQ3MDI5MDAwMDIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0Mi41ODAwMTU2NzYzMzMzNCwKICAgICAgICAidW5pdCIgOiAiZyIsCiAgICAgICAgInN1YiIgOiBbIHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMgKG5ldCkiLAogICAgICAgICAgInRhZyIgOiAiQ0hPQ0RGLm5ldCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogOTYuMjI5ODQ3MDI5MDAwMDEsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInRhZyIgOiAiRklCVEciLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiZmliZXJDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAzMS41MTAyMDAwMDAwMDAwMDUsCiAgICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgICAiZGFpbHkiIDogMTI2LjA0MDgwMDAwMDAwMDAyLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMiLAogICAgICAgICAgInRhZyIgOiAiU1VHQVIiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic3VnYXJDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAyOC4zNDk4OTA0NjI1MDAwMDMsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzLCBhZGRlZCIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUi5hZGRlZCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9IF0KICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgInRhZyIgOiAiUFJPQ05UIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJwcm90ZWluQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDIyMC4yNjk5MTMwNDQwMDAwOCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQ0MC41Mzk4MjYwODgwMDAxLAogICAgICAgICJ1bml0IiA6ICJnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgInRhZyIgOiAiQ0hPTEUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNob2xlc3Rlcm9sQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDg1MC43MjQzMDIzMjUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyODMuNTc0NzY3NDQxNjY2NjcsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICJ0YWciIDogIk5BIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzb2RpdW1Db250ZW50IiwKICAgICAgICAidG90YWwiIDogNTM4OS4wMzI1NTUwMDAwMDEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyMjQuNTQzMDIzMTI1MDAwMDUsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAidGFnIiA6ICJDQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxMzc3LjQ3OTc3MDA1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTM3Ljc0Nzk3NzAwNSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgInRhZyIgOiAiTUciLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNDUwLjc1NTQ4NDk3NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEwNy4zMjI3MzQ1MTc4NTcxNCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgInRhZyIgOiAiSyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA0NzUyLjY4ODQ1NDkyNTAwMSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEwMS4xMjEwMzA5NTU4NTEwNywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICJ0YWciIDogIkZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE0LjU0NTcwNjI2NjAwMDAwMiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDgwLjgwOTQ3OTI1NTU1NTU3LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgInRhZyIgOiAiWk4iLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTkuODc0ODAyNzc1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTgwLjY4MDAyNTIyNzI3MjcyLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgInRhZyIgOiAiUCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyNTE4LjI0NTUzMDcsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzNTkuNzQ5MzYxNTI4NTcxNCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgInRhZyIgOiAiVklUQV9SQUUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogOTQ1LjM1NDIyMzE1MDAwMDMsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMDUuMDM5MzU4MTI3Nzc3ODIsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAidGFnIiA6ICJWSVRDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDY1LjIzMiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDcyLjQ4LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAidGFnIiA6ICJUSElBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEuMTY2NjM1NzEzODc1MDAwMywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDk3LjIxOTY0MjgyMjkxNjcsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICJ0YWciIDogIlJJQkYiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMi4yNjY0MzI1NjA3NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE3NC4zNDA5NjYyMTE1Mzg0NywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAidGFnIiA6ICJOSUEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNzQuMTQ4MjYyMjI2MDI1MDEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0NjMuNDI2NjM4OTEyNjU2MywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICJ0YWciIDogIlZJVEI2QSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA1LjA0MTk2MjQ5MzA3NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDM4Ny44NDMyNjg2OTgwNzY5NCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICJ0YWciIDogIkZPTERGRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAzNTguOTkxNjU2NjUwMDAwMSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDg5Ljc0NzkxNDE2MjUwMDAyLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAgICJ0YWciIDogIkZPTEZEIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDMxOS4zNjc2NTY2NTAwMDAxLAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xpYyBhY2lkIiwKICAgICAgICAidGFnIiA6ICJGT0xBQyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyNC4zODQsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAidGFnIiA6ICJWSVRCMTIiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNC4xMTUyMDQxNjc3NTAwMDEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxNzEuNDY2ODQwMzIyOTE2NywKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAgICJ0YWciIDogIlZJVEQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMi45ODAzODg1NTUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxOS44NjkyNTcwMzMzMzMzMzQsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAidGFnIiA6ICJUT0NQSEEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTQuOTEzOTc1MDQwNTAwMDAyLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogOTkuNDI2NTAwMjcsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICJ0YWciIDogIlZJVEsxIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDkxLjg5NDU1MjMxMjUwMDAxLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNzYuNTc4NzkzNTkzNzUwMDIsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSBdCiAgICB9LAogICAgImJvb2ttYXJrZWQiIDogZmFsc2UsCiAgICAiYm91Z2h0IiA6IGZhbHNlCiAgfSwgewogICAgInJlY2lwZSIgOiB7CiAgICAgICJ1cmkiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9vbnRvbG9naWVzL2VkYW1hbS5vd2wjcmVjaXBlXzkyZTk4YTg2NjRjNWQ3YWEyYTNmY2Q0YTUzNjlhZGVjIiwKICAgICAgImxhYmVsIiA6ICJTYWxhZCBUYWNvcyIsCiAgICAgICJpbWFnZSIgOiAiaHR0cHM6Ly93d3cuZWRhbWFtLmNvbS93ZWItaW1nLzQ1My80NTNiMTJiMTFiM2ZhMTgzMjI4OGM4MThkNWI3NTRkZi5qcGciLAogICAgICAic291cmNlIiA6ICJQaW9uZWVyIFdvbWFuIiwKICAgICAgInVybCIgOiAiaHR0cDovL3RoZXBpb25lZXJ3b21hbi5jb20vY29va2luZy8yMDEzLzAxL3NhbGFkLXRhY29zLyIsCiAgICAgICJzaGFyZUFzIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vcmVjaXBlL3NhbGFkLXRhY29zLTkyZTk4YTg2NjRjNWQ3YWEyYTNmY2Q0YTUzNjlhZGVjL3RhY29zIiwKICAgICAgInlpZWxkIiA6IDguMCwKICAgICAgImRpZXRMYWJlbHMiIDogWyBdLAogICAgICAiaGVhbHRoTGFiZWxzIiA6IFsgIlN1Z2FyLUNvbnNjaW91cyIsICJQZWFudXQtRnJlZSIsICJUcmVlLU51dC1GcmVlIiwgIkFsY29ob2wtRnJlZSIgXSwKICAgICAgImNhdXRpb25zIiA6IFsgIkVnZ3MiLCAiTWlsayIgXSwKICAgICAgImluZ3JlZGllbnRMaW5lcyIgOiBbICIxNiB3aG9sZSBUYWNvIFNoZWxscyIsICIyIHBvdW5kcyBHcm91bmQgQmVlZiIsICIzIFRhYmxlc3Bvb25zIFRhY28gU2Vhc29uaW5nIiwgIjEgY2FuICg0IE91bmNlKSBUb21hdG8gUGFzdGUiLCAiU2FsdCBUbyBUYXN0ZSIsICIxIGNhbiAoMTQuNSBPdW5jZSkgQmVhbnMgKGtpZG5leSwgUGludG8sIENoaWxpKSwgVW5kcmFpbmVkIiwgIjEvMiBjdXAgSG90IFdhdGVyIiwgIjEgaGVhZCBHcmVlbiBMZWFmIExldHR1Y2UsIFNsaWNlZCBWZXJ5IFRoaW4iLCAiMSBjdXAgR3JhcGUgVG9tYXRvZXMsIEhhbHZlZCAob3IgRGljZWQgUmVndWxhciBUb21hdG9lcykiLCAiMSBjdXAgR3JhdGVkIENoZWVzZSAoY2hlZGRhciwgSmFjaywgT3IgQ2hlZGRhci9qYWNrKSIsICIxLzQgY3VwIE1heW9ubmFpc2UiLCAiMS80IGN1cCBTb3VyIENyZWFtIiwgIjEvNCBjdXAgU2Fsc2EiLCAiMSBUYWJsZXNwb29uIFJhbmNoIERyZXNzaW5nIE1peCAob3B0aW9uYWwpIiwgIkV4dHJhIEhvdCBTYXVjZSAob3B0aW9uYWwpIiwgIkNydXNoZWQgVG9ydGlsbGEgQ2hpcHMgKG9wdGlvbmFsKSIgXSwKICAgICAgImluZ3JlZGllbnRzIiA6IFsgewogICAgICAgICJ0ZXh0IiA6ICIxNiB3aG9sZSBUYWNvIFNoZWxscyIsCiAgICAgICAgIndlaWdodCIgOiAyMDMuMgogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjIgcG91bmRzIEdyb3VuZCBCZWVmIiwKICAgICAgICAid2VpZ2h0IiA6IDkwNy4xODQ3NAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjMgVGFibGVzcG9vbnMgVGFjbyBTZWFzb25pbmciLAogICAgICAgICJ3ZWlnaHQiIDogMjUuNjQ5OTk5OTk4MjY1MzQzCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSBjYW4gKDQgT3VuY2UpIFRvbWF0byBQYXN0ZSIsCiAgICAgICAgIndlaWdodCIgOiAxMTMuMzk4MDkyNQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIlNhbHQgVG8gVGFzdGUiLAogICAgICAgICJ3ZWlnaHQiIDogMTMuNTEzNTA1NTA2ODY0NTkyCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSBjYW4gKDE0LjUgT3VuY2UpIEJlYW5zIChraWRuZXksIFBpbnRvLCBDaGlsaSksIFVuZHJhaW5lZCIsCiAgICAgICAgIndlaWdodCIgOiA0MTEuMDY4MDg1MzEyNQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEvMiBjdXAgSG90IFdhdGVyIiwKICAgICAgICAid2VpZ2h0IiA6IDExOC41CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSBoZWFkIEdyZWVuIExlYWYgTGV0dHVjZSwgU2xpY2VkIFZlcnkgVGhpbiIsCiAgICAgICAgIndlaWdodCIgOiA1LjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxIGN1cCBHcmFwZSBUb21hdG9lcywgSGFsdmVkIChvciBEaWNlZCBSZWd1bGFyIFRvbWF0b2VzKSIsCiAgICAgICAgIndlaWdodCIgOiAxNzUuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgY3VwIEdyYXRlZCBDaGVlc2UgKGNoZWRkYXIsIEphY2ssIE9yIENoZWRkYXIvamFjaykiLAogICAgICAgICJ3ZWlnaHQiIDogMTEzLjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxLzQgY3VwIE1heW9ubmFpc2UiLAogICAgICAgICJ3ZWlnaHQiIDogNTcuNzUKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxLzQgY3VwIFNvdXIgQ3JlYW0iLAogICAgICAgICJ3ZWlnaHQiIDogNTcuNQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEvNCBjdXAgU2Fsc2EiLAogICAgICAgICJ3ZWlnaHQiIDogNjUuMAogICAgICB9IF0sCiAgICAgICJjYWxvcmllcyIgOiA0OTM2LjA2MzI5MjcwMDY2NSwKICAgICAgInRvdGFsV2VpZ2h0IiA6IDIyNTIuMjUwOTE3ODEwNzY1MywKICAgICAgInRvdGFsVGltZSIgOiAwLjAsCiAgICAgICJ0b3RhbE51dHJpZW50cyIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ5MzYuMDYzMjkyNzAwNjY1LAogICAgICAgICAgInVuaXQiIDogImtjYWwiCiAgICAgICAgfSwKICAgICAgICAiRkFUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzMjEuOTM5NjQ2NDgyMTU2MjYsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVNBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTE4Ljg1MDQwOTk3NjczNzUyLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFUUk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJUcmFucyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTIuMzg2NTUzOTMyMDAwMDAyLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFNUyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTE4LjE5Njg3MDIxOTM1NjI3LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFQVSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDUuNTk5MTYxMjQ5OTY4NzUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjY2LjkyNDU5MzM3Njk5MzksCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGSUJURyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0NC43MzE0Mzk4ODcyNjkyOTYsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJTVUdBUiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzAuMDEyNzgwMTEzNzE4MzksCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMzUuNjQ5MjgwNDQ3NjA5NDcsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4MTEuNzgzNjY1NDAwMDAwMSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTU4MS4wMzAyNjMyOTA2NzcsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiQ0EiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNTc1LjcwMTI2ODc3ODEyNSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJNRyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjQ3LjI0NDMyODE1OTM3NSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJLIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2OTcwLjI1MTU2MzI1MTQwMywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDM5LjUyMTkxMjg2MzIxODg0NCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDUxLjA0NzQ2MjY3MDI1MDAxLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzMDQxLjM2NTI2MzYwOTM3NTIsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDYyMC4yOTE5Mzk5MDAwMDAxLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVRDIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1MC43NDY2ODIyNTc1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEuNDMzMjI1NjU1NjAwMDAwMywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJSSUJGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyLjUwNDQ3MzIzMDQ5MDYyNSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDcuOTg1MTcwMjIxNTAzMTQsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNC4yNDI1ODg2NTM5ODQzNzUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTgyLjkyOTk1ODM1MzEyNSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiRk9MRkQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1MDMuNjgxOTU4MzUzMTI1LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xBQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ4Ljc2OCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIwLjU2OTE1MzQzNjAwMDAwNCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMS44MTUxODQ3NDAwMDAwMDAzLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJUT0NQSEEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzLjk0OTI0OTkwOTQ2ODc1MSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRLMSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODQuNjM0ODgyMzM5MDYyNSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfQogICAgICB9LAogICAgICAidG90YWxEYWlseSIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI0Ni44MDMxNjQ2MzUwMzMyNiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDk1LjI5MTc2MzgxODcwMTk1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFTQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDU5NC4yNTIwNDk4ODM2ODc2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0hPQ0RGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDg4Ljk3NDg2NDQ1ODk5Nzk4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRklCVEciIDogewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTc4LjkyNTc1OTU0OTA3NzE4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUFJPQ05UIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDcxLjI5ODU2MDg5NTIxODksCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNzAuNTk0NTU1MTMzMzMzNCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMzIuNTQyOTI3NjM3MTExNTIsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDE1Ny41NzAxMjY4Nzc4MTI1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDE1NC4xMDU3OTI0MTg4OTg4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiSyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTQ4LjMwMzIyNDc1MDAyOTg0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMTkuNTY2MTgyNTczNDM4MDMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ2NC4wNjc4NDI0NTY4MTgzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQzNC40ODA3NTE5NDQxOTY0NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEFfUkFFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2OC45MjEzMjY2NTU1NTU1NiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDU2LjM4NTIwMjUwODMzMzMzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVEhJQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTE5LjQzNTQ3MTMwMDAwMDAyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTkyLjY1MTc4Njk2MDgxNzMzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTklBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI5OS45MDczMTM4ODQzOTQ2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzI2LjM1Mjk3MzM4MzQxMzQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGT0xERkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNDUuNzMyNDg5NTg4MjgxMjUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRCMTIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODU3LjA0ODA1OTgzMzMzMzYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVREIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMi4xMDEyMzE2MDAwMDAwMDIsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJUT0NQSEEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICAgInF1YW50aXR5IiA6IDkyLjk5NDk5OTM5NjQ1ODM0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDcwLjUyOTA2ODYxNTg4NTQxLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfQogICAgICB9LAogICAgICAiZGlnZXN0IiA6IFsgewogICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAidGFnIiA6ICJGQVQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImZhdENvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAzMjEuOTM5NjQ2NDgyMTU2MjYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0OTUuMjkxNzYzODE4NzAxOTUsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVNBVCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzYXR1cmF0ZWRGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAxMTguODUwNDA5OTc2NzM3NTIsCiAgICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgICAiZGFpbHkiIDogNTk0LjI1MjA0OTg4MzY4NzYsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgICAgICJ0YWciIDogIkZBVFJOIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInRyYW5zRmF0Q29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMTIuMzg2NTUzOTMyMDAwMDAyLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQU1TIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAxMTguMTk2ODcwMjE5MzU2MjcsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiUG9seXVuc2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBUFUiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDQ1LjU5OTE2MTI0OTk2ODc1LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9IF0KICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiQ2FyYnMiLAogICAgICAgICJ0YWciIDogIkNIT0NERiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiY2FyYm9oeWRyYXRlQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDI2Ni45MjQ1OTMzNzY5OTM5LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogODguOTc0ODY0NDU4OTk3OTgsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIChuZXQpIiwKICAgICAgICAgICJ0YWciIDogIkNIT0NERi5uZXQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDIyMi4xOTMxNTM0ODk3MjQ2NCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAidGFnIiA6ICJGSUJURyIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmaWJlckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDQ0LjczMTQzOTg4NzI2OTI5NiwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiAxNzguOTI1NzU5NTQ5MDc3MTgsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzdWdhckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDMwLjAxMjc4MDExMzcxODM5LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycywgYWRkZWQiLAogICAgICAgICAgInRhZyIgOiAiU1VHQVIuYWRkZWQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICJ0YWciIDogIlBST0NOVCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAicHJvdGVpbkNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAyMzUuNjQ5MjgwNDQ3NjA5NDcsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0NzEuMjk4NTYwODk1MjE4OSwKICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICJ0YWciIDogIkNIT0xFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJjaG9sZXN0ZXJvbENvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiA4MTEuNzgzNjY1NDAwMDAwMSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDI3MC41OTQ1NTUxMzMzMzM0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAidGFnIiA6ICJOQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic29kaXVtQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDU1ODEuMDMwMjYzMjkwNjc3LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjMyLjU0MjkyNzYzNzExMTUyLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgInRhZyIgOiAiQ0EiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTU3NS43MDEyNjg3NzgxMjUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxNTcuNTcwMTI2ODc3ODEyNSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgInRhZyIgOiAiTUciLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNjQ3LjI0NDMyODE1OTM3NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE1NC4xMDU3OTI0MTg4OTg4LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAidGFnIiA6ICJLIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDY5NzAuMjUxNTYzMjUxNDAzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTQ4LjMwMzIyNDc1MDAyOTg0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgInRhZyIgOiAiRkUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMzkuNTIxOTEyODYzMjE4ODQ0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjE5LjU2NjE4MjU3MzQzODAzLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgInRhZyIgOiAiWk4iLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNTEuMDQ3NDYyNjcwMjUwMDEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0NjQuMDY3ODQyNDU2ODE4MywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICJ0YWciIDogIlAiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMzA0MS4zNjUyNjM2MDkzNzUyLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDM0LjQ4MDc1MTk0NDE5NjQ3LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAidGFnIiA6ICJWSVRBX1JBRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA2MjAuMjkxOTM5OTAwMDAwMSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDY4LjkyMTMyNjY1NTU1NTU2LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgInRhZyIgOiAiVklUQyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA1MC43NDY2ODIyNTc1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNTYuMzg1MjAyNTA4MzMzMzMsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICJ0YWciIDogIlRISUEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMS40MzMyMjU2NTU2MDAwMDAzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTE5LjQzNTQ3MTMwMDAwMDAyLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAidGFnIiA6ICJSSUJGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIuNTA0NDczMjMwNDkwNjI1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTkyLjY1MTc4Njk2MDgxNzMzLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICJ0YWciIDogIk5JQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA0Ny45ODUxNzAyMjE1MDMxNCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDI5OS45MDczMTM4ODQzOTQ2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgInRhZyIgOiAiVklUQjZBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDQuMjQyNTg4NjUzOTg0Mzc1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzI2LjM1Mjk3MzM4MzQxMzQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAidGFnIiA6ICJGT0xERkUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNTgyLjkyOTk1ODM1MzEyNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE0NS43MzI0ODk1ODgyODEyNSwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgICAidGFnIiA6ICJGT0xGRCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA1MDMuNjgxOTU4MzUzMTI1LAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xpYyBhY2lkIiwKICAgICAgICAidGFnIiA6ICJGT0xBQyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA0OC43NjgsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAidGFnIiA6ICJWSVRCMTIiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjAuNTY5MTUzNDM2MDAwMDA0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogODU3LjA0ODA1OTgzMzMzMzYsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAidGFnIiA6ICJWSVREIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEuODE1MTg0NzQwMDAwMDAwMywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEyLjEwMTIzMTYwMDAwMDAwMiwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICJ0YWciIDogIlRPQ1BIQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxMy45NDkyNDk5MDk0Njg3NTEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA5Mi45OTQ5OTkzOTY0NTgzNCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgInRhZyIgOiAiVklUSzEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogODQuNjM0ODgyMzM5MDYyNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDcwLjUyOTA2ODYxNTg4NTQxLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0gXQogICAgfSwKICAgICJib29rbWFya2VkIiA6IGZhbHNlLAogICAgImJvdWdodCIgOiBmYWxzZQogIH0sIHsKICAgICJyZWNpcGUiIDogewogICAgICAidXJpIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vb250b2xvZ2llcy9lZGFtYW0ub3dsI3JlY2lwZV85ZDI1NmI5YjFhODNkMmRlZTNmYmFkNjRkMzRiZmJiNiIsCiAgICAgICJsYWJlbCIgOiAiVW5jbGUgUmF5J3MgQ3Jhd2Zpc2ggVGFjb3MiLAogICAgICAiaW1hZ2UiIDogImh0dHBzOi8vd3d3LmVkYW1hbS5jb20vd2ViLWltZy9iNmQvYjZkYTZlNjFhZTFlOWU0YzZkMGRlYzBhMDZiMmUwYzUuanBnIiwKICAgICAgInNvdXJjZSIgOiAiVGhlIFRyYXZlbGVyJ3MgTHVuY2hib3giLAogICAgICAidXJsIiA6ICJodHRwczovL3RyYXZlbGVyc2x1bmNoYm94LmNvbS8yMDA1LzA2LzIzL3NvdXRoZXJuLWNvbWZvcnQtYS1sYS11bmNsZS1yYXkvIiwKICAgICAgInNoYXJlQXMiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9yZWNpcGUvdW5jbGUtcmF5LXMtY3Jhd2Zpc2gtdGFjb3MtOWQyNTZiOWIxYTgzZDJkZWUzZmJhZDY0ZDM0YmZiYjYvdGFjb3MiLAogICAgICAieWllbGQiIDogNC4wLAogICAgICAiZGlldExhYmVscyIgOiBbIF0sCiAgICAgICJoZWFsdGhMYWJlbHMiIDogWyAiUGVhbnV0LUZyZWUiLCAiVHJlZS1OdXQtRnJlZSIsICJBbGNvaG9sLUZyZWUiIF0sCiAgICAgICJjYXV0aW9ucyIgOiBbICJFZ2dzIiwgIk1pbGsiIF0sCiAgICAgICJpbmdyZWRpZW50TGluZXMiIDogWyAiMiB0YnNwIG9saXZlIG9pbCIsICIyIHRic3AgYnV0dGVyIiwgIjYgY2xvdmVzIGdhcmxpYywgbWluY2VkIiwgIjIgbGIgY3Jhd2Zpc2ggdGFpbHMiLCAiMi8zIGN1cCBjaG9wcGVkIGZyZXNoIGNpbGFudHJvL2NvcmlhbmRlciIsICIxLzIgdHNwIGNheWVubmUgcGVwcGVyIiwgIjEvMiB4IGxlbW9uIiwgIlNhbHQiLCAiNiB0YnNwIG9saXZlIG9pbCIsICIzIHRic3AgYmFsc2FtaWMgdmluZWdhciIsICIyIHRzcCBzdWdhciIsICJTYWx0IGFuZCBwZXBwZXIgdG8gdGFzdGUiLCAiMSB4IHJlZCBvbmlvbiwgZGljZWQiLCAiMS8yIGxiIHNoYXJwIHdoaXRlIGNoZWRkYXIsIGdyYXRlZCIsICIxIDEvMiBjdXAgc291ciBjcmVhbSIsICJFeHRyYSBjaG9wcGVkIGNpbGFudHJvLCBmb3IgZ2FybmlzaCIsICJUYWNvIHNoZWxscywgaGVhdGVkIGluIGEgMjUwZi8xMjVjIG92ZW4gZm9yIGFib3V0IDEwIG1pbnV0ZXMiIF0sCiAgICAgICJpbmdyZWRpZW50cyIgOiBbIHsKICAgICAgICAidGV4dCIgOiAiMiB0YnNwIG9saXZlIG9pbCIsCiAgICAgICAgIndlaWdodCIgOiAyNy4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMiB0YnNwIGJ1dHRlciIsCiAgICAgICAgIndlaWdodCIgOiAyOC40CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiNiBjbG92ZXMgZ2FybGljLCBtaW5jZWQiLAogICAgICAgICJ3ZWlnaHQiIDogMTguMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjIgbGIgY3Jhd2Zpc2ggdGFpbHMiLAogICAgICAgICJ3ZWlnaHQiIDogOTA3LjE4NDc0CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMi8zIGN1cCBjaG9wcGVkIGZyZXNoIGNpbGFudHJvL2NvcmlhbmRlciIsCiAgICAgICAgIndlaWdodCIgOiA1My4zMzMzMzMzMzQyMzUwMzYKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxLzIgdHNwIGNheWVubmUgcGVwcGVyIiwKICAgICAgICAid2VpZ2h0IiA6IDAuOQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEvMiB4IGxlbW9uIiwKICAgICAgICAid2VpZ2h0IiA6IDI5LjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICJTYWx0IiwKICAgICAgICAid2VpZ2h0IiA6IDExLjM4ODA4NTU1MDAwNTQxCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiNiB0YnNwIG9saXZlIG9pbCIsCiAgICAgICAgIndlaWdodCIgOiA4MS4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMyB0YnNwIGJhbHNhbWljIHZpbmVnYXIiLAogICAgICAgICJ3ZWlnaHQiIDogNDguMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjIgdHNwIHN1Z2FyIiwKICAgICAgICAid2VpZ2h0IiA6IDguNAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIlNhbHQgYW5kIHBlcHBlciB0byB0YXN0ZSIsCiAgICAgICAgIndlaWdodCIgOiAxMS4zODgwODU1NTAwMDU0MQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIlNhbHQgYW5kIHBlcHBlciB0byB0YXN0ZSIsCiAgICAgICAgIndlaWdodCIgOiA1LjY5NDA0Mjc3NTAwMjcwNQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgeCByZWQgb25pb24sIGRpY2VkIiwKICAgICAgICAid2VpZ2h0IiA6IDEyNS4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMS8yIGxiIHNoYXJwIHdoaXRlIGNoZWRkYXIsIGdyYXRlZCIsCiAgICAgICAgIndlaWdodCIgOiAyMjYuNzk2MTg1CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSAxLzIgY3VwIHNvdXIgY3JlYW0iLAogICAgICAgICJ3ZWlnaHQiIDogMzQ1LjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICJUYWNvIHNoZWxscywgaGVhdGVkIGluIGEgMjUwZi8xMjVjIG92ZW4gZm9yIGFib3V0IDEwIG1pbnV0ZXMiLAogICAgICAgICJ3ZWlnaHQiIDogMC4wCiAgICAgIH0gXSwKICAgICAgImNhbG9yaWVzIiA6IDM3NzkuNTg4MTQxNjAxMjc2NywKICAgICAgInRvdGFsV2VpZ2h0IiA6IDE5MDkuNDY5NzYzMzIxNTMzNSwKICAgICAgInRvdGFsVGltZSIgOiAwLjAsCiAgICAgICJ0b3RhbE51dHJpZW50cyIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM3NzkuNTg4MTQxNjAxMjc2NywKICAgICAgICAgICJ1bml0IiA6ICJrY2FsIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjk0LjU0NDg1MzkyNDk1ODcsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVNBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTE1LjI4NTA0MTkyMjgzNjk3LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFUUk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJUcmFucyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMy42MDQ4NzkwMjExNTAwMDA0LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFNUyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTMwLjI3NjI0MzU2MjI5NjM3LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFQVSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjIuMTkyNDYyNDk5NDkzNjQsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODMuMzQ5NzU5NjE1NjEwMDgsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGSUJURyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNy4zNDcwNTk0ODkxMjAxNjMsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJTVUdBUiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzIuNDgxNzcxMTkxNzYwMDIsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJTVUdBUi5hZGRlZCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycywgYWRkZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDguMzgzMiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDIxNy4xNTMxNDAyMjk3Njc2NywKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkNIT0xFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE1MDUuOTgyNzEyMywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDQyNy4wMzU1ODAwNjM1MTEsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiQ0EiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNjUxLjE5NjgyMjMxMzkzOTMsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDU1My40ODUyNzc1MjAzNTMzLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ1MjUuMDMxMDk0MjAxNTI4NSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDE5LjYxODYxMDA5MDkwMDQ5NiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIzLjk4OTUxODAwMzQ0Mzg3NywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJQIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDEwNi4wMjE4MTAzNzE1MjYsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE1NjMuNjM1OTE2NDk5MjUxLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVRDIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1Ni4xMTQ4MTY4ODAxODkzNSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjA2MzU1MjUyMDgxNTgyNDcsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMi4xMTE3ODM1MDMzNjQyODY3LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk5JQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMi4wODY0NTk0ODAyODc0OSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjcyMjUxMTMxNDMyNTI1OCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGT0xERkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0NDkuMDI5MzQ5MTcxNzUwNSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiRk9MRkQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0NDkuMDI5MzQ5MTcxNzUwNSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIxLjE1Mzc4MTIyODAwMDAwMywKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMy4xNjY3NzcxMSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0NS43MDkyNDMzNzc4NjAwMzQsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDkxLjU0ODEyMjEyNzY3OTQ1LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJ0b3RhbERhaWx5IiA6IHsKICAgICAgICAiRU5FUkNfS0NBTCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTg4Ljk3OTQwNzA4MDA2MzgyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0NTMuMTQ1OTI5MTE1MzIxMSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZBU0FUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1NzYuNDI1MjA5NjE0MTg0OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNy43ODMyNTMyMDUyMDMzNjYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGSUJURyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMDkuMzg4MjM3OTU2NDgwNjQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0MzQuMzA2MjgwNDU5NTM1MzQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1MDEuOTk0MjM3NDMzMzMzMzUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJOQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTg0LjQ1OTgxNTgzNTk3OTYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDI2NS4xMTk2ODIyMzEzOTM5NCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk1HIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMzEuNzgyMjA4OTMzNDE3NDUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJLIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5Ni4yNzcyNTczMjM0MzY3NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTA4Ljk5MjI3ODI4Mjc4MDU1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiWk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMTguMDg2NTI3MzA0MDM1MjYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTg2LjU3NDU0NDMzODc4OTUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRBX1JBRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTczLjczNzMyNDA1NTQ3MjMzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjIuMzQ5Nzk2NTMzNTQzNzMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4OC42MjkzNzY3MzQ2NTIwNywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlJJQkYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE2Mi40NDQ4ODQ4NzQxNzU5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTklBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzOC4wNDAzNzE3NTE3OTY4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTMyLjUwMDg3MDMzMjcxMjE0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTEyLjI1NzMzNzI5MjkzNzYyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDg4MS40MDc1NTExNjY2NjY4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjEuMTExODQ3NCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlRPQ1BIQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzA0LjcyODI4OTE4NTczMzU2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDc2LjI5MDEwMTc3MzA2NjIxLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfQogICAgICB9LAogICAgICAiZGlnZXN0IiA6IFsgewogICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAidGFnIiA6ICJGQVQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImZhdENvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAyOTQuNTQ0ODUzOTI0OTU4NywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQ1My4xNDU5MjkxMTUzMjExLAogICAgICAgICJ1bml0IiA6ICJnIiwKICAgICAgICAic3ViIiA6IFsgewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFTQVQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic2F0dXJhdGVkRmF0Q29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMTE1LjI4NTA0MTkyMjgzNjk3LAogICAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICAgImRhaWx5IiA6IDU3Ni40MjUyMDk2MTQxODQ4LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJUcmFucyIsCiAgICAgICAgICAidGFnIiA6ICJGQVRSTiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJ0cmFuc0ZhdENvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDMuNjA0ODc5MDIxMTUwMDAwNCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJNb25vdW5zYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFNUyIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMTMwLjI3NjI0MzU2MjI5NjM3LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVBVIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAyMi4xOTI0NjI0OTk0OTM2NCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAidGFnIiA6ICJDSE9DREYiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNhcmJvaHlkcmF0ZUNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiA4My4zNDk3NTk2MTU2MTAwOCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDI3Ljc4MzI1MzIwNTIwMzM2NiwKICAgICAgICAidW5pdCIgOiAiZyIsCiAgICAgICAgInN1YiIgOiBbIHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMgKG5ldCkiLAogICAgICAgICAgInRhZyIgOiAiQ0hPQ0RGLm5ldCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogNTYuMDAyNzAwMTI2NDg5OTIsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInRhZyIgOiAiRklCVEciLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiZmliZXJDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAyNy4zNDcwNTk0ODkxMjAxNjMsCiAgICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgICAiZGFpbHkiIDogMTA5LjM4ODIzNzk1NjQ4MDY0LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMiLAogICAgICAgICAgInRhZyIgOiAiU1VHQVIiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic3VnYXJDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAzMi40ODE3NzExOTE3NjAwMiwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMsIGFkZGVkIiwKICAgICAgICAgICJ0YWciIDogIlNVR0FSLmFkZGVkIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiA4LjM4MzIsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAidGFnIiA6ICJQUk9DTlQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogInByb3RlaW5Db250ZW50IiwKICAgICAgICAidG90YWwiIDogMjE3LjE1MzE0MDIyOTc2NzY3LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDM0LjMwNjI4MDQ1OTUzNTM0LAogICAgICAgICJ1bml0IiA6ICJnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgInRhZyIgOiAiQ0hPTEUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNob2xlc3Rlcm9sQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDE1MDUuOTgyNzEyMywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDUwMS45OTQyMzc0MzMzMzMzNSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgInRhZyIgOiAiTkEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogInNvZGl1bUNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiA0NDI3LjAzNTU4MDA2MzUxMSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE4NC40NTk4MTU4MzU5Nzk2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgInRhZyIgOiAiQ0EiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjY1MS4xOTY4MjIzMTM5MzkzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjY1LjExOTY4MjIzMTM5Mzk0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAidGFnIiA6ICJNRyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA1NTMuNDg1Mjc3NTIwMzUzMywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEzMS43ODIyMDg5MzM0MTc0NSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgInRhZyIgOiAiSyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA0NTI1LjAzMTA5NDIwMTUyODUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA5Ni4yNzcyNTczMjM0MzY3NywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICJ0YWciIDogIkZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE5LjYxODYxMDA5MDkwMDQ5NiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEwOC45OTIyNzgyODI3ODA1NSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICJ0YWciIDogIlpOIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIzLjk4OTUxODAwMzQ0Mzg3NywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDIxOC4wODY1MjczMDQwMzUyNiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICJ0YWciIDogIlAiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNDEwNi4wMjE4MTAzNzE1MjYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA1ODYuNTc0NTQ0MzM4Nzg5NSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgInRhZyIgOiAiVklUQV9SQUUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTU2My42MzU5MTY0OTkyNTEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxNzMuNzM3MzI0MDU1NDcyMzMsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAidGFnIiA6ICJWSVRDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDU2LjExNDgxNjg4MDE4OTM1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNjIuMzQ5Nzk2NTMzNTQzNzMsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICJ0YWciIDogIlRISUEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMS4wNjM1NTI1MjA4MTU4MjQ3LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogODguNjI5Mzc2NzM0NjUyMDcsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICJ0YWciIDogIlJJQkYiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMi4xMTE3ODM1MDMzNjQyODY3LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTYyLjQ0NDg4NDg3NDE3NTksCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgInRhZyIgOiAiTklBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIyLjA4NjQ1OTQ4MDI4NzQ5LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTM4LjA0MDM3MTc1MTc5NjgsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAidGFnIiA6ICJWSVRCNkEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMS43MjI1MTEzMTQzMjUyNTgsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMzIuNTAwODcwMzMyNzEyMTQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAidGFnIiA6ICJGT0xERkUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNDQ5LjAyOTM0OTE3MTc1MDUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMTIuMjU3MzM3MjkyOTM3NjIsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIChmb29kKSIsCiAgICAgICAgInRhZyIgOiAiRk9MRkQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNDQ5LjAyOTM0OTE3MTc1MDUsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICJ0YWciIDogIkZPTEFDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICJ0YWciIDogIlZJVEIxMiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyMS4xNTM3ODEyMjgwMDAwMDMsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA4ODEuNDA3NTUxMTY2NjY2OCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAgICJ0YWciIDogIlZJVEQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMy4xNjY3NzcxMSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDIxLjExMTg0NzQsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAidGFnIiA6ICJUT0NQSEEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNDUuNzA5MjQzMzc3ODYwMDM0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzA0LjcyODI4OTE4NTczMzU2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAidGFnIiA6ICJWSVRLMSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA5MS41NDgxMjIxMjc2Nzk0NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDc2LjI5MDEwMTc3MzA2NjIxLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0gXQogICAgfSwKICAgICJib29rbWFya2VkIiA6IGZhbHNlLAogICAgImJvdWdodCIgOiBmYWxzZQogIH0sIHsKICAgICJyZWNpcGUiIDogewogICAgICAidXJpIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vb250b2xvZ2llcy9lZGFtYW0ub3dsI3JlY2lwZV9jYWQ1ZGQ1ZTdkZGQ0NDFmZmJkODkwMGQ5YWM5Y2Q0MiIsCiAgICAgICJsYWJlbCIgOiAiSGVycmluZyB0YWNvcyIsCiAgICAgICJpbWFnZSIgOiAiaHR0cHM6Ly93d3cuZWRhbWFtLmNvbS93ZWItaW1nL2JlMC9iZTA1YWUxNTAxMmM5Yjk2ZTYyMjI2YTI4YmExM2I5NC5qcGciLAogICAgICAic291cmNlIiA6ICJKYW1pZSBPbGl2ZXIiLAogICAgICAidXJsIiA6ICJodHRwOi8vd3d3LmphbWllb2xpdmVyLmNvbS9yZWNpcGVzL2Zpc2gtcmVjaXBlcy9oZXJyaW5nLXRhY29zLyIsCiAgICAgICJzaGFyZUFzIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vcmVjaXBlL2hlcnJpbmctdGFjb3MtY2FkNWRkNWU3ZGRkNDQxZmZiZDg5MDBkOWFjOWNkNDIvdGFjb3MiLAogICAgICAieWllbGQiIDogNi4wLAogICAgICAiZGlldExhYmVscyIgOiBbIF0sCiAgICAgICJoZWFsdGhMYWJlbHMiIDogWyAiUGVhbnV0LUZyZWUiLCAiVHJlZS1OdXQtRnJlZSIsICJBbGNvaG9sLUZyZWUiIF0sCiAgICAgICJjYXV0aW9ucyIgOiBbICJFZ2dzIiwgIk1pbGsiIF0sCiAgICAgICJpbmdyZWRpZW50TGluZXMiIDogWyAiNCBjbG92ZXMgb2YgZ2FybGljIiwgIjEgc21hbGwgcGluY2ggb2YgY3VtaW4gc2VlZHMiLCAiMS8yIHRlYXNwb29uIGZlbm5lbCBzZWVkcyIsICIxLzIgdGVhc3Bvb24gY2hpbGxpIGZsYWtlcyIsICIxLzIgdGVhc3Bvb24gc3dlZXQgcGFwcmlrYSIsICIyIGxpbWVzIiwgIm9saXZlIG9pbCIsICI4IGhlcnJpbmcgZmlsbGV0cywgc2NhbGVkIGFuZCBwaW4tYm9uZWQsIGZyb20gc3VzdGFpbmFibGUgc291cmNlcyIsICIxNTAgZyBmYXQtZnJlZSBuYXR1cmFsIHlvZ2h1cnQiLCAiMTIgaGFyZCB0YWNvIHNoZWxscyIsICIzIGJhYnkgZ2VtIGxldHR1Y2UiLCAiR1VBQ0FNT0xFIiwgIjMgcmlwZSBhdm9jYWRvcyIsICIyIGxpbWVzIiwgIjEvMiBhIGJ1bmNoIG9mIGZyZXNoIGNvcmlhbmRlciIsICJUT01BVE8gU0FMU0EiLCAiMzAwIGcgcmlwZSBjaGVycnkgdG9tYXRvZXMiLCAiMS8yIGJ1bmNoIG9mIGZyZXNoIGNvcmlhbmRlciIsICIxIGZyZXNoIHJlZCBjaGlsbGkiLCAiZXh0cmEgdmlyZ2luIG9saXZlIG9pbCIgXSwKICAgICAgImluZ3JlZGllbnRzIiA6IFsgewogICAgICAgICJ0ZXh0IiA6ICI0IGNsb3ZlcyBvZiBnYXJsaWMiLAogICAgICAgICJ3ZWlnaHQiIDogMTIuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgc21hbGwgcGluY2ggb2YgY3VtaW4gc2VlZHMiLAogICAgICAgICJ3ZWlnaHQiIDogMC4wOTM3NTAwMDAxMjA0NjI0NgogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEvMiB0ZWFzcG9vbiBmZW5uZWwgc2VlZHMiLAogICAgICAgICJ3ZWlnaHQiIDogMS4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMS8yIHRlYXNwb29uIGNoaWxsaSBmbGFrZXMiLAogICAgICAgICJ3ZWlnaHQiIDogMC45CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMS8yIHRlYXNwb29uIHN3ZWV0IHBhcHJpa2EiLAogICAgICAgICJ3ZWlnaHQiIDogMS4xNQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjIgbGltZXMiLAogICAgICAgICJ3ZWlnaHQiIDogMTM0LjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICJvbGl2ZSBvaWwiLAogICAgICAgICJ3ZWlnaHQiIDogNDEuNDg3Mzk1MDAwMDAxNjM0CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiOCBoZXJyaW5nIGZpbGxldHMsIHNjYWxlZCBhbmQgcGluLWJvbmVkLCBmcm9tIHN1c3RhaW5hYmxlIHNvdXJjZXMiLAogICAgICAgICJ3ZWlnaHQiIDogMTQ3Mi4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMTUwIGcgZmF0LWZyZWUgbmF0dXJhbCB5b2dodXJ0IiwKICAgICAgICAid2VpZ2h0IiA6IDE1MC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMTIgaGFyZCB0YWNvIHNoZWxscyIsCiAgICAgICAgIndlaWdodCIgOiAxNTIuMzk5OTk5OTk5OTk5OTgKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIzIGJhYnkgZ2VtIGxldHR1Y2UiLAogICAgICAgICJ3ZWlnaHQiIDogNC45OTk5OTk5OTk5OTk5OTUKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIzIHJpcGUgYXZvY2Fkb3MiLAogICAgICAgICJ3ZWlnaHQiIDogNjAzLjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIyIGxpbWVzIiwKICAgICAgICAid2VpZ2h0IiA6IDEzNC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMS8yIGEgYnVuY2ggb2YgZnJlc2ggY29yaWFuZGVyIiwKICAgICAgICAid2VpZ2h0IiA6IDIwLjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICJUT01BVE8gU0FMU0EiLAogICAgICAgICJ3ZWlnaHQiIDogMC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMzAwIGcgcmlwZSBjaGVycnkgdG9tYXRvZXMiLAogICAgICAgICJ3ZWlnaHQiIDogMzAwLjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxLzIgYnVuY2ggb2YgZnJlc2ggY29yaWFuZGVyIiwKICAgICAgICAid2VpZ2h0IiA6IDIwLjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxIGZyZXNoIHJlZCBjaGlsbGkiLAogICAgICAgICJ3ZWlnaHQiIDogNDUuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogImV4dHJhIHZpcmdpbiBvbGl2ZSBvaWwiLAogICAgICAgICJ3ZWlnaHQiIDogNDEuNDg3Mzk1MDAwMDAxNjM0CiAgICAgIH0gXSwKICAgICAgImNhbG9yaWVzIiA6IDUwMzEuMDE3NzA2MTAwNDgxNSwKICAgICAgInRvdGFsV2VpZ2h0IiA6IDMxMzMuNTE4NTQwMDAwMTIzNywKICAgICAgInRvdGFsVGltZSIgOiAzMC4wLAogICAgICAidG90YWxOdXRyaWVudHMiIDogewogICAgICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRW5lcmd5IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1MDMxLjAxNzcwNjEwMDQ4MTUsCiAgICAgICAgICAidW5pdCIgOiAia2NhbCIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM0NC42MTI1OTMxMjUwMywKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBU0FUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2OC41MTc1MzgwNjU3MDIzMSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBVFJOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVHJhbnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDAuMjYyMTI3OTk5OTk5OTk5OTcsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQU1TIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTW9ub3Vuc2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxODYuOTUyNTExNTMxOTE5MywKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBUFUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb2x5dW5zYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDYwLjMzMjM1MDIxNDIwNDMwNCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMDYuMzA3OTkwMDAwMDUzMywKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDY0Ljg3MTc5Mzc1MDAxMjY2LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiU1VHQVIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI4Ljc4OTA3OTM3NTAwMjcxNCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDI5OC44OTA2MzY4NzUwMjE0LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiQ0hPTEUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTAyLjcsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDE5NzguNjM0OTk1ODAwMjAyNywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDE0MzcuOTM4MDYwNDAxMTIyLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk1HIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4NzEuNDkwMTI1MDAwNDQwOSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJLIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5Nzg0LjAwNTk5NzkwMjE1NSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDI2Ljk2Mzk0MTMyNDA3OTk1OCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIzLjE1NTI1NTAwMDAwNTc5NSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJQIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDQ3NS40NTc4MTI1MDA2MDMsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDgzOS42Mzc1MDAwMDAwNzcxLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVRDIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNzAuNzUxMTY4NzUwMDA5MywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyLjQxOTc5OTc1MDAwMDc1NywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJSSUJGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0LjgwNTIzMjU2MjUwMDM5NSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjQuNDc2MjI5ODEyNTA1NTIsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNy4xOTkxNDEzMTI1MDA1MjQsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODgyLjc5Njg3NTAwMDAxMiwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiRk9MRkQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4MjMuMzYwODc1MDAwMDEyLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xBQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM2LjU3NTk5OTk5OTk5OTk5LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVRCMTIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjAxLjc3NzQwMDAwMDAwMDAzLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVREIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2MS45NzQwMDAwMDAwMDAwMDQsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlRPQ1BIQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDUuNDI1ODg0MjQwMDA0NDgsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM1NC4wMzc0MzYwODAwMDg1LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJ0b3RhbERhaWx5IiA6IHsKICAgICAgICAiRU5FUkNfS0NBTCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjUxLjU1MDg4NTMwNTAyNDA4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1MzAuMTczMjIwMTkyMzUzOSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZBU0FUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzNDIuNTg3NjkwMzI4NTExNTQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjguNzY5MzMwMDAwMDE3NzcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGSUJURyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNTkuNDg3MTc1MDAwMDUwNiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDU5Ny43ODEyNzM3NTAwNDI4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0hPTEUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzAwLjksCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJOQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODIuNDQzMTI0ODI1MDA4NDQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDE0My43OTM4MDYwNDAxMTIyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDIwNy40OTc2NDg4MDk2Mjg3NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDIwOC4xNzAzNDAzODA4OTY5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNDkuNzk5Njc0MDIyNjY2NCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlpOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjEwLjUwMjMxODE4MTg3MDg2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDYzOS4zNTExMTYwNzE1MTQ4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDkzLjI5MzA1NTU1NTU2NDEyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzAwLjgzNDYzMTk0NDQ1NDc3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVEhJQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjAxLjY0OTk3OTE2NjcyOTc0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzY5LjYzMzI3NDAzODQ5MTksCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDAyLjk3NjQzNjMyODE1OTU0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTUzLjc4MDEwMDk2MTU3ODcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGT0xERkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMjAuNjk5MjE4NzUwMDAzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDg0MDcuMzkxNjY2NjY2NjY4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDEzLjE2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzMDIuODM5MjI4MjY2Njk2NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEsxIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyOTUuMDMxMTk2NzMzMzQwNCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0KICAgICAgfSwKICAgICAgImRpZ2VzdCIgOiBbIHsKICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgInRhZyIgOiAiRkFUIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmYXRDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMzQ0LjYxMjU5MzEyNTAzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNTMwLjE3MzIyMDE5MjM1MzksCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVNBVCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzYXR1cmF0ZWRGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiA2OC41MTc1MzgwNjU3MDIzMSwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiAzNDIuNTg3NjkwMzI4NTExNTQsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgICAgICJ0YWciIDogIkZBVFJOIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInRyYW5zRmF0Q29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMC4yNjIxMjc5OTk5OTk5OTk5NywKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJNb25vdW5zYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFNUyIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMTg2Ljk1MjUxMTUzMTkxOTMsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiUG9seXVuc2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBUFUiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDYwLjMzMjM1MDIxNDIwNDMwNCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAidGFnIiA6ICJDSE9DREYiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNhcmJvaHlkcmF0ZUNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAyMDYuMzA3OTkwMDAwMDUzMywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDY4Ljc2OTMzMDAwMDAxNzc3LAogICAgICAgICJ1bml0IiA6ICJnIiwKICAgICAgICAic3ViIiA6IFsgewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyAobmV0KSIsCiAgICAgICAgICAidGFnIiA6ICJDSE9DREYubmV0IiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAxNDEuNDM2MTk2MjUwMDQwNjcsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInRhZyIgOiAiRklCVEciLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiZmliZXJDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiA2NC44NzE3OTM3NTAwMTI2NiwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiAyNTkuNDg3MTc1MDAwMDUwNiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzIiwKICAgICAgICAgICJ0YWciIDogIlNVR0FSIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInN1Z2FyQ29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMjguNzg5MDc5Mzc1MDAyNzE0LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycywgYWRkZWQiLAogICAgICAgICAgInRhZyIgOiAiU1VHQVIuYWRkZWQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICJ0YWciIDogIlBST0NOVCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAicHJvdGVpbkNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAyOTguODkwNjM2ODc1MDIxNCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDU5Ny43ODEyNzM3NTAwNDI4LAogICAgICAgICJ1bml0IiA6ICJnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgInRhZyIgOiAiQ0hPTEUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNob2xlc3Rlcm9sQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDkwMi43LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzAwLjksCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICJ0YWciIDogIk5BIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzb2RpdW1Db250ZW50IiwKICAgICAgICAidG90YWwiIDogMTk3OC42MzQ5OTU4MDAyMDI3LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogODIuNDQzMTI0ODI1MDA4NDQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAidGFnIiA6ICJDQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxNDM3LjkzODA2MDQwMTEyMiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE0My43OTM4MDYwNDAxMTIyLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAidGFnIiA6ICJNRyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA4NzEuNDkwMTI1MDAwNDQwOSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDIwNy40OTc2NDg4MDk2Mjg3NywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgInRhZyIgOiAiSyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA5Nzg0LjAwNTk5NzkwMjE1NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDIwOC4xNzAzNDAzODA4OTY5LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgInRhZyIgOiAiRkUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjYuOTYzOTQxMzI0MDc5OTU4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTQ5Ljc5OTY3NDAyMjY2NjQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAidGFnIiA6ICJaTiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyMy4xNTUyNTUwMDAwMDU3OTUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyMTAuNTAyMzE4MTgxODcwODYsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAidGFnIiA6ICJQIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDQ0NzUuNDU3ODEyNTAwNjAzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNjM5LjM1MTExNjA3MTUxNDgsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICJ0YWciIDogIlZJVEFfUkFFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDgzOS42Mzc1MDAwMDAwNzcxLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogOTMuMjkzMDU1NTU1NTY0MTIsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAidGFnIiA6ICJWSVRDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDI3MC43NTExNjg3NTAwMDkzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzAwLjgzNDYzMTk0NDQ1NDc3LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAidGFnIiA6ICJUSElBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIuNDE5Nzk5NzUwMDAwNzU3LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjAxLjY0OTk3OTE2NjcyOTc0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAidGFnIiA6ICJSSUJGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDQuODA1MjMyNTYyNTAwMzk1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzY5LjYzMzI3NDAzODQ5MTksCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgInRhZyIgOiAiTklBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDY0LjQ3NjIyOTgxMjUwNTUyLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDAyLjk3NjQzNjMyODE1OTU0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgInRhZyIgOiAiVklUQjZBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDcuMTk5MTQxMzEyNTAwNTI0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNTUzLjc4MDEwMDk2MTU3ODcsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAidGFnIiA6ICJGT0xERkUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogODgyLjc5Njg3NTAwMDAxMiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDIyMC42OTkyMTg3NTAwMDMsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIChmb29kKSIsCiAgICAgICAgInRhZyIgOiAiRk9MRkQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogODIzLjM2MDg3NTAwMDAxMiwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9saWMgYWNpZCIsCiAgICAgICAgInRhZyIgOiAiRk9MQUMiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMzYuNTc1OTk5OTk5OTk5OTksCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAidGFnIiA6ICJWSVRCMTIiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjAxLjc3NzQwMDAwMDAwMDAzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogODQwNy4zOTE2NjY2NjY2NjgsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAidGFnIiA6ICJWSVREIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDYxLjk3NDAwMDAwMDAwMDAwNCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQxMy4xNiwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICJ0YWciIDogIlRPQ1BIQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA0NS40MjU4ODQyNDAwMDQ0OCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDMwMi44MzkyMjgyNjY2OTY1LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAidGFnIiA6ICJWSVRLMSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAzNTQuMDM3NDM2MDgwMDA4NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDI5NS4wMzExOTY3MzMzNDA0LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0gXQogICAgfSwKICAgICJib29rbWFya2VkIiA6IGZhbHNlLAogICAgImJvdWdodCIgOiBmYWxzZQogIH0sIHsKICAgICJyZWNpcGUiIDogewogICAgICAidXJpIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vb250b2xvZ2llcy9lZGFtYW0ub3dsI3JlY2lwZV9iMjQ3NjBlZDIyMWJhNjFjODg2MzAwMGZjN2YzNTU0YSIsCiAgICAgICJsYWJlbCIgOiAiVmVnZ2llIFRhY29zIiwKICAgICAgImltYWdlIiA6ICJodHRwczovL3d3dy5lZGFtYW0uY29tL3dlYi1pbWcvY2U3L2NlNzI1YjI1OTQ3ZDZiNTA4NTI5MWRmNjRiZjc5ZjNkLmpwZyIsCiAgICAgICJzb3VyY2UiIDogIkVwaWN1cmlvdXMiLAogICAgICAidXJsIiA6ICJodHRwOi8vd3d3LmVwaWN1cmlvdXMuY29tL3JlY2lwZXMvZm9vZC92aWV3cy9WZWdnaWUtVGFjb3MtMjQxNTUwIiwKICAgICAgInNoYXJlQXMiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9yZWNpcGUvdmVnZ2llLXRhY29zLWIyNDc2MGVkMjIxYmE2MWM4ODYzMDAwZmM3ZjM1NTRhL3RhY29zIiwKICAgICAgInlpZWxkIiA6IDguMCwKICAgICAgImRpZXRMYWJlbHMiIDogWyBdLAogICAgICAiaGVhbHRoTGFiZWxzIiA6IFsgIlZlZ2V0YXJpYW4iLCAiUGVhbnV0LUZyZWUiLCAiVHJlZS1OdXQtRnJlZSIsICJBbGNvaG9sLUZyZWUiIF0sCiAgICAgICJjYXV0aW9ucyIgOiBbICJFZ2dzIiwgIk1pbGsiIF0sCiAgICAgICJpbmdyZWRpZW50TGluZXMiIDogWyAiMSBzbWFsbCBlZ2dwbGFudCwgY3V0IGludG8gMS8yLWluY2ggY3ViZXMiLCAiMSAxLzIgdGVhc3Bvb25zIGNvYXJzZSBzYWx0IiwgIjYgdGFibGVzcG9vbnMgb2xpdmUgb2lsIiwgIjMvNCBjdXAgZGljZWQgb25pb24iLCAiMiBjbG92ZXMgb2YgZ2FybGljLCBmaW5lbHkgY2hvcHBlZCIsICIxIGN1cCBkaWNlZCByZWQgYmVsbCBwZXBwZXIiLCAiMSBjYW4gKDI4IG91bmNlcykgdG9tYXRvZXMiLCAiMy80IHBvdW5kIHBsdW0gdG9tYXRvZXMsIGN1dCBpbnRvIDEtaW5jaCBjdWJlcyIsICIxIHRhYmxlc3Bvb24gY2hpbGkgcG93ZGVyIiwgIjEgMS8yIHRlYXNwb29ucyBjdW1pbiIsICJTYWx0IGFuZCBwZXBwZXIsIHRvIHRhc3RlIiwgIjEvNCBjdXAgY2hvcHBlZCBwYXJzbGV5IiwgIjEvMiBjdXAgY2FubmVkIGRhcmstcmVkIGtpZG5leSBiZWFucywgZHJhaW5lZCIsICIxLzIgY3VwIGNhbm5lZCBjaGlja3BlYXMsIGRyYWluZWQiLCAiOCBoYXJkIGNvcm4gdGFjbyBzaGVsbHMiLCAiMiBjdXBzIGZpbmVseSBzaHJlZGRlZCBpY2ViZXJnIGxldHR1Y2UiLCAiMSBjdXAgZGljZWQgcmVkIG9uaW9uIiwgIjQgcmlwZSBwbHVtIHRvbWF0b2VzLCBkaWNlZCIsICI4IG91bmNlcyBzb3VyIGNyZWFtIiwgIjggb3VuY2VzIGdyYXRlZCBjaGVkZGFyIGNoZWVzZSIgXSwKICAgICAgImluZ3JlZGllbnRzIiA6IFsgewogICAgICAgICJ0ZXh0IiA6ICIxIHNtYWxsIGVnZ3BsYW50LCBjdXQgaW50byAxLzItaW5jaCBjdWJlcyIsCiAgICAgICAgIndlaWdodCIgOiA0MTEuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgMS8yIHRlYXNwb29ucyBjb2Fyc2Ugc2FsdCIsCiAgICAgICAgIndlaWdodCIgOiA3LjI4MTI1MDAwMDM2OTMxMzUKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICI2IHRhYmxlc3Bvb25zIG9saXZlIG9pbCIsCiAgICAgICAgIndlaWdodCIgOiA4MS4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMy80IGN1cCBkaWNlZCBvbmlvbiIsCiAgICAgICAgIndlaWdodCIgOiAxMjAuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjIgY2xvdmVzIG9mIGdhcmxpYywgZmluZWx5IGNob3BwZWQiLAogICAgICAgICJ3ZWlnaHQiIDogNi4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSBjdXAgZGljZWQgcmVkIGJlbGwgcGVwcGVyIiwKICAgICAgICAid2VpZ2h0IiA6IDE0OS4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSBjYW4gKDI4IG91bmNlcykgdG9tYXRvZXMiLAogICAgICAgICJ3ZWlnaHQiIDogNzkzLjc4NjY0NzUwMDAwMDEKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIzLzQgcG91bmQgcGx1bSB0b21hdG9lcywgY3V0IGludG8gMS1pbmNoIGN1YmVzIiwKICAgICAgICAid2VpZ2h0IiA6IDM0MC4xOTQyNzc1CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSB0YWJsZXNwb29uIGNoaWxpIHBvd2RlciIsCiAgICAgICAgIndlaWdodCIgOiA4LjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxIDEvMiB0ZWFzcG9vbnMgY3VtaW4iLAogICAgICAgICJ3ZWlnaHQiIDogMy4xNTAwMDAwMDAwMDAwMDA0CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiU2FsdCBhbmQgcGVwcGVyLCB0byB0YXN0ZSIsCiAgICAgICAgIndlaWdodCIgOiAxOS4yNTc2MjcyNzAwMDIyMgogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIlNhbHQgYW5kIHBlcHBlciwgdG8gdGFzdGUiLAogICAgICAgICJ3ZWlnaHQiIDogOS42Mjg4MTM2MzUwMDExMQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEvNCBjdXAgY2hvcHBlZCBwYXJzbGV5IiwKICAgICAgICAid2VpZ2h0IiA6IDE1LjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxLzIgY3VwIGNhbm5lZCBkYXJrLXJlZCBraWRuZXkgYmVhbnMsIGRyYWluZWQiLAogICAgICAgICJ3ZWlnaHQiIDogOTIuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEvMiBjdXAgY2FubmVkIGNoaWNrcGVhcywgZHJhaW5lZCIsCiAgICAgICAgIndlaWdodCIgOiA3Ni4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiOCBoYXJkIGNvcm4gdGFjbyBzaGVsbHMiLAogICAgICAgICJ3ZWlnaHQiIDogMTAxLjYKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIyIGN1cHMgZmluZWx5IHNocmVkZGVkIGljZWJlcmcgbGV0dHVjZSIsCiAgICAgICAgIndlaWdodCIgOiAxNDQuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgY3VwIGRpY2VkIHJlZCBvbmlvbiIsCiAgICAgICAgIndlaWdodCIgOiAxNjAuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjQgcmlwZSBwbHVtIHRvbWF0b2VzLCBkaWNlZCIsCiAgICAgICAgIndlaWdodCIgOiAyNDguMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjggb3VuY2VzIHNvdXIgY3JlYW0iLAogICAgICAgICJ3ZWlnaHQiIDogMjI2Ljc5NjE4NQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjggb3VuY2VzIGdyYXRlZCBjaGVkZGFyIGNoZWVzZSIsCiAgICAgICAgIndlaWdodCIgOiAyMjYuNzk2MTg1CiAgICAgIH0gXSwKICAgICAgImNhbG9yaWVzIiA6IDM1NTYuMjY2ODAzOTIzODUzLAogICAgICAidG90YWxXZWlnaHQiIDogMzIyMi42ODU2OTMwMDQ3MDk3LAogICAgICAidG90YWxUaW1lIiA6IDIwNS4wLAogICAgICAidG90YWxOdXRyaWVudHMiIDogewogICAgICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRW5lcmd5IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzNTU2LjI2NjgwMzkyMzg1MywKICAgICAgICAgICJ1bml0IiA6ICJrY2FsIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjM0LjM2NDM1NjU2NTc1MTA1LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFTQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDg5Ljg2MTMxOTU2MjM5OTIyLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFUUk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJUcmFucyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMi44NDg2NzkwMjExNSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBTVMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJNb25vdW5zYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDk4LjYxMDU5NDk0NTM4NzY1LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFQVSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjMuMTQ3MzM3MTA5NDI3MzEsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjc1LjExMDA5OTc3MTA4MzIsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGSUJURyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4NC43NjIzMTc0ODIxNTUyNywKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIlNVR0FSIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4NS44NjM3Mjc4NjI3NjQwMiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDExNy41NjQzMTY3OTc0MjY2MSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkNIT0xFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM0OS4yNjYxMjQ5LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3NDY5LjMzMDM4OTU4ODUyMiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDI2MzguMDI3Mjc4MzI2Nzg0NywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJNRyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjIxLjg4NDIzMDg4NDU0OSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJLIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3MzI5Ljg5NDI3NTgwODc0MywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDI1LjUxMDg5NDQ4Mjg3ODY0LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlpOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTcuODE3MDg1MzYzODc2MjI0LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNjAxLjgzMTk1MDAxODMwMTUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE4NjMuNjU1OTU3ODgxNDUwNCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDMzLjA0NDQ0OTI2NzQ5OTk0LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDYuMTUzNTkzODIxMDc1ODAyLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlJJQkYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIuNzMxMzM2ODE0NDkzMDAyNiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTkuNDE3NjMxMTMyMTk4MDY0LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEI2QSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMuNzIzODYyOTA0NTAyODUzLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkZPTERGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDk4Ny42NjY3MTI3OTI5NTAzLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xGRCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDk0OC4wNDI3MTI3OTI5NTAzLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xBQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI0LjM4NCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIuNjMwODM1NzQ2MDAwMDAwNywKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMi4yNjc5NjE4NTAwMDAwMDAzLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJUT0NQSEEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMwLjY0OTc3ODQzNzU1NDAxNiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRLMSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDgzLjMyOTI4OTM3Mjk5NjgsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0KICAgICAgfSwKICAgICAgInRvdGFsRGFpbHkiIDogewogICAgICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRW5lcmd5IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNzcuODEzMzQwMTk2MTkyNjYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM2MC41NjA1NDg1NjI2OTM5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFTQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ0OS4zMDY1OTc4MTE5OTYxLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0hPQ0RGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDkxLjcwMzM2NjU5MDM2MTA2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRklCVEciIDogewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzM5LjA0OTI2OTkyODYyMTEsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMzUuMTI4NjMzNTk0ODUzMjMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMTYuNDIyMDQxNjMzMzMzMzQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJOQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzExLjIyMjA5OTU2NjE4ODQzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0EiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNjMuODAyNzI3ODMyNjc4NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk1HIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNDguMDY3Njc0MDIwMTMwNywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDE1NS45NTUxOTczNTc2MzI4NCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTQxLjcyNzE5MTU3MTU0OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlpOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTYxLjk3MzUwMzMwNzk2NTY3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM3MS42OTAyNzg1NzQwNDMxLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIwNy4wNzI4ODQyMDkwNTAwNSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ4MS4xNjA0OTkxODYxMTEwNSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDUxMi43OTk0ODUwODk2NTAxLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjEwLjEwMjgzMTg4NDA3NzEsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTIxLjM2MDE5NDU3NjIzNzksCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyODYuNDUwOTkyNjU0MDY1NiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZPTERGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI0Ni45MTY2NzgxOTgyMzc1OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEIxMiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMDkuNjE4MTU2MDgzMzMzMzcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVREIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNS4xMTk3NDU2NjY2NjY2NjksCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJUT0NQSEEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIwNC4zMzE4NTYyNTAzNjAxLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQwMi43NzQ0MDc4MTA4MzA2NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0KICAgICAgfSwKICAgICAgImRpZ2VzdCIgOiBbIHsKICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgInRhZyIgOiAiRkFUIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmYXRDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMjM0LjM2NDM1NjU2NTc1MTA1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzYwLjU2MDU0ODU2MjY5MzksCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVNBVCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzYXR1cmF0ZWRGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiA4OS44NjEzMTk1NjIzOTkyMiwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiA0NDkuMzA2NTk3ODExOTk2MSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiVHJhbnMiLAogICAgICAgICAgInRhZyIgOiAiRkFUUk4iLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAidHJhbnNGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAyLjg0ODY3OTAyMTE1LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQU1TIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiA5OC42MTA1OTQ5NDUzODc2NSwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJQb2x5dW5zYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFQVSIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMjMuMTQ3MzM3MTA5NDI3MzEsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgInRhZyIgOiAiQ0hPQ0RGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJjYXJib2h5ZHJhdGVDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMjc1LjExMDA5OTc3MTA4MzIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA5MS43MDMzNjY1OTAzNjEwNiwKICAgICAgICAidW5pdCIgOiAiZyIsCiAgICAgICAgInN1YiIgOiBbIHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMgKG5ldCkiLAogICAgICAgICAgInRhZyIgOiAiQ0hPQ0RGLm5ldCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMTkwLjM0Nzc4MjI4ODkyNzkzLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJ0YWciIDogIkZJQlRHIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogImZpYmVyQ29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogODQuNzYyMzE3NDgyMTU1MjcsCiAgICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgICAiZGFpbHkiIDogMzM5LjA0OTI2OTkyODYyMTEsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzdWdhckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDg1Ljg2MzcyNzg2Mjc2NDAyLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycywgYWRkZWQiLAogICAgICAgICAgInRhZyIgOiAiU1VHQVIuYWRkZWQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICJ0YWciIDogIlBST0NOVCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAicHJvdGVpbkNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAxMTcuNTY0MzE2Nzk3NDI2NjEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyMzUuMTI4NjMzNTk0ODUzMjMsCiAgICAgICAgInVuaXQiIDogImciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAidGFnIiA6ICJDSE9MRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiY2hvbGVzdGVyb2xDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMzQ5LjI2NjEyNDksCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMTYuNDIyMDQxNjMzMzMzMzQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICJ0YWciIDogIk5BIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzb2RpdW1Db250ZW50IiwKICAgICAgICAidG90YWwiIDogNzQ2OS4zMzAzODk1ODg1MjIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzMTEuMjIyMDk5NTY2MTg4NDMsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAidGFnIiA6ICJDQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyNjM4LjAyNzI3ODMyNjc4NDcsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyNjMuODAyNzI3ODMyNjc4NSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgInRhZyIgOiAiTUciLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNjIxLjg4NDIzMDg4NDU0OSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE0OC4wNjc2NzQwMjAxMzA3LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAidGFnIiA6ICJLIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDczMjkuODk0Mjc1ODA4NzQzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTU1Ljk1NTE5NzM1NzYzMjg0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgInRhZyIgOiAiRkUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjUuNTEwODk0NDgyODc4NjQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxNDEuNzI3MTkxNTcxNTQ4LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgInRhZyIgOiAiWk4iLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTcuODE3MDg1MzYzODc2MjI0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTYxLjk3MzUwMzMwNzk2NTY3LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgInRhZyIgOiAiUCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyNjAxLjgzMTk1MDAxODMwMTUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzNzEuNjkwMjc4NTc0MDQzMSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgInRhZyIgOiAiVklUQV9SQUUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTg2My42NTU5NTc4ODE0NTA0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjA3LjA3Mjg4NDIwOTA1MDA1LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgInRhZyIgOiAiVklUQyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA0MzMuMDQ0NDQ5MjY3NDk5OTQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0ODEuMTYwNDk5MTg2MTExMDUsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICJ0YWciIDogIlRISUEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNi4xNTM1OTM4MjEwNzU4MDIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA1MTIuNzk5NDg1MDg5NjUwMSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgInRhZyIgOiAiUklCRiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyLjczMTMzNjgxNDQ5MzAwMjYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyMTAuMTAyODMxODg0MDc3MSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAidGFnIiA6ICJOSUEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTkuNDE3NjMxMTMyMTk4MDY0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTIxLjM2MDE5NDU3NjIzNzksCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAidGFnIiA6ICJWSVRCNkEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMy43MjM4NjI5MDQ1MDI4NTMsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyODYuNDUwOTkyNjU0MDY1NiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICJ0YWciIDogIkZPTERGRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA5ODcuNjY2NzEyNzkyOTUwMywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDI0Ni45MTY2NzgxOTgyMzc1OCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgICAidGFnIiA6ICJGT0xGRCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA5NDguMDQyNzEyNzkyOTUwMywKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9saWMgYWNpZCIsCiAgICAgICAgInRhZyIgOiAiRk9MQUMiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjQuMzg0LAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgInRhZyIgOiAiVklUQjEyIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIuNjMwODM1NzQ2MDAwMDAwNywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEwOS42MTgxNTYwODMzMzMzNywKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAgICJ0YWciIDogIlZJVEQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMi4yNjc5NjE4NTAwMDAwMDAzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTUuMTE5NzQ1NjY2NjY2NjY5LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgInRhZyIgOiAiVE9DUEhBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDMwLjY0OTc3ODQzNzU1NDAxNiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDIwNC4zMzE4NTYyNTAzNjAxLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAidGFnIiA6ICJWSVRLMSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA0ODMuMzI5Mjg5MzcyOTk2OCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQwMi43NzQ0MDc4MTA4MzA2NywKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9IF0KICAgIH0sCiAgICAiYm9va21hcmtlZCIgOiBmYWxzZSwKICAgICJib3VnaHQiIDogZmFsc2UKICB9LCB7CiAgICAicmVjaXBlIiA6IHsKICAgICAgInVyaSIgOiAiaHR0cDovL3d3dy5lZGFtYW0uY29tL29udG9sb2dpZXMvZWRhbWFtLm93bCNyZWNpcGVfYTc2ZDRlYTYwNzdlNWVkOGZlYjFlMTM5ZDU5NDE0YjUiLAogICAgICAibGFiZWwiIDogIlZlZ2V0YXJpYW4gVGFjb3MiLAogICAgICAiaW1hZ2UiIDogImh0dHBzOi8vd3d3LmVkYW1hbS5jb20vd2ViLWltZy8yNGUvMjRlOGYwMjQzOGRkM2MxOTlmY2MwMjg3YmFkN2E4ZWMuanBnIiwKICAgICAgInNvdXJjZSIgOiAiQ2hvd2hvdW5kIiwKICAgICAgInVybCIgOiAiaHR0cHM6Ly93d3cuY2hvd2hvdW5kLmNvbS9yZWNpcGVzL2hlYWx0aHktdmVnZXRhYmxlLXRhY29zLTMxMDMyIiwKICAgICAgInNoYXJlQXMiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9yZWNpcGUvdmVnZXRhcmlhbi10YWNvcy1hNzZkNGVhNjA3N2U1ZWQ4ZmViMWUxMzlkNTk0MTRiNS90YWNvcyIsCiAgICAgICJ5aWVsZCIgOiA4LjAsCiAgICAgICJkaWV0TGFiZWxzIiA6IFsgIkJhbGFuY2VkIiBdLAogICAgICAiaGVhbHRoTGFiZWxzIiA6IFsgIlN1Z2FyLUNvbnNjaW91cyIsICJWZWdldGFyaWFuIiwgIlBlYW51dC1GcmVlIiwgIlRyZWUtTnV0LUZyZWUiLCAiQWxjb2hvbC1GcmVlIiBdLAogICAgICAiY2F1dGlvbnMiIDogWyAiRWdncyIsICJNaWxrIiBdLAogICAgICAiaW5ncmVkaWVudExpbmVzIiA6IFsgIjIgcG9ibGFubyBwZXBwZXJzIiwgIjIgbWVkaXVtIHllbGxvdyBzcXVhc2giLCAiMSBzbWFsbCB3aGl0ZSBvbmlvbiIsICIxMCBtZWRpdW0gY3JlbWluaSBtdXNocm9vbXMiLCAiMSB0ZWFzcG9vbiBvbGl2ZSBvaWwiLCAiS29zaGVyIHNhbHQgYW5kIGZyZXNobHkgZ3JvdW5kIGJsYWNrIHBlcHBlciwgdG8gdGFzdGUiLCAiMSBoYW5kZnVsIG1penVuYSAoSmFwYW5lc2UgbXVzdGFyZCBncmVlbnMpIG9yIG90aGVyIGxlYWZ5IGdyZWVuIiwgIjggY29ybiB0b3J0aWxsYXMiLCAiOCBvdW5jZXMgQ290aWphIGNoZWVzZSwgY3J1bWJsZWQiLCAiMS8yIGN1cCBwaWNvIGRlIGdhbGxvIHNhbHNhIiwgIjEgbGltZSwgY3V0IGludG8gd2VkZ2VzIiBdLAogICAgICAiaW5ncmVkaWVudHMiIDogWyB7CiAgICAgICAgInRleHQiIDogIjIgcG9ibGFubyBwZXBwZXJzIiwKICAgICAgICAid2VpZ2h0IiA6IDkwLjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIyIG1lZGl1bSB5ZWxsb3cgc3F1YXNoIiwKICAgICAgICAid2VpZ2h0IiA6IDg2Mi4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSBzbWFsbCB3aGl0ZSBvbmlvbiIsCiAgICAgICAgIndlaWdodCIgOiA3MC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMTAgbWVkaXVtIGNyZW1pbmkgbXVzaHJvb21zIiwKICAgICAgICAid2VpZ2h0IiA6IDEyMC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSB0ZWFzcG9vbiBvbGl2ZSBvaWwiLAogICAgICAgICJ3ZWlnaHQiIDogNC41CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiS29zaGVyIHNhbHQgYW5kIGZyZXNobHkgZ3JvdW5kIGJsYWNrIHBlcHBlciwgdG8gdGFzdGUiLAogICAgICAgICJ3ZWlnaHQiIDogMTEuMjIxNzc3MTEKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICJLb3NoZXIgc2FsdCBhbmQgZnJlc2hseSBncm91bmQgYmxhY2sgcGVwcGVyLCB0byB0YXN0ZSIsCiAgICAgICAgIndlaWdodCIgOiA1LjYxMDg4ODU1NQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgaGFuZGZ1bCBtaXp1bmEgKEphcGFuZXNlIG11c3RhcmQgZ3JlZW5zKSBvciBvdGhlciBsZWFmeSBncmVlbiIsCiAgICAgICAgIndlaWdodCIgOiAxMDguMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjggY29ybiB0b3J0aWxsYXMiLAogICAgICAgICJ3ZWlnaHQiIDogMTkyLjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICI4IG91bmNlcyBDb3RpamEgY2hlZXNlLCBjcnVtYmxlZCIsCiAgICAgICAgIndlaWdodCIgOiAyMjYuNzk2MTg1CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMS8yIGN1cCBwaWNvIGRlIGdhbGxvIHNhbHNhIiwKICAgICAgICAid2VpZ2h0IiA6IDEzMC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSBsaW1lLCBjdXQgaW50byB3ZWRnZXMiLAogICAgICAgICJ3ZWlnaHQiIDogNjcuMAogICAgICB9IF0sCiAgICAgICJjYWxvcmllcyIgOiAxODE2LjAxNzM2NzM3MzA0OTksCiAgICAgICJ0b3RhbFdlaWdodCIgOiAxODc1LjkwNzA3MzU1NSwKICAgICAgInRvdGFsVGltZSIgOiA0MC4wLAogICAgICAidG90YWxOdXRyaWVudHMiIDogewogICAgICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRW5lcmd5IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxODE2LjAxNzM2NzM3MzA0OTksCiAgICAgICAgICAidW5pdCIgOiAia2NhbCIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDc5Ljk5Njc3MDQ2Njg5MzAxLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFTQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQxLjU5MDgxNTk0MzY4NTYxLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFNUyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjMuNzIyNDQ1NTYyNDcxNDUzLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFQVSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNi43MzA0NzIzODM3Mjg5MDEsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjI4LjE3MDE3MTc3NTQyMjUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGSUJURyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzNS42NDk1NTQ4MDQ0MTUwMDQsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJTVUdBUiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTguNzg5ODA5Njg2NzUyLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiUFJPQ05UIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNzMuNzY3MjA4MzIwODY0NSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkNIT0xFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIyNi43OTYxODUwMDAwMDAwNCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDQ1Mi43OTg3Njc3MTEsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiQ0EiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNDQ5LjM0MDcxNjI5ODY1MDUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDY2MS4xNTcxNjk3MjkwNTAxLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDU1MDAuMzI4OTQwMTQ1OTUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMy41Mzg2MTcyNzg2OTA1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlpOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTQuODk4MDgxOTMzMzA0NTAyLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyODg3LjA0OTM5MjU2NjksCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEwOTIuMTU4MjAzNTU5ODQ5OSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzcyLjYxNywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjc5NTExMDY1MzI4OTQwMDMsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMi4xNjM0MjkwNTg0OTksCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTklBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE2Ljc1MTA0MDEwNzA4MzY1NCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyLjcwNjE0NzgxNjM0NTA1MDMsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjY5LjQ1MzQ2OTU1NDM1LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xGRCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI2OS40NTM0Njk1NTQzNSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDUuMjQ1NTkzNzgxLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVREIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjI1Mzk4MDkyNSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2LjIzMDI5MzcwMzQ3MiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRLMSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTMxLjYxNTE1MjA3OTUzNTIsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0KICAgICAgfSwKICAgICAgInRvdGFsRGFpbHkiIDogewogICAgICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRW5lcmd5IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5MC44MDA4NjgzNjg2NTI0OSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTIzLjA3MTk1NDU2NDQ1MDc5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFTQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIwNy45NTQwNzk3MTg0MjgwNiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3Ni4wNTY3MjM5MjUxNDA4MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE0Mi41OTgyMTkyMTc2NjAwMiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDE0Ny41MzQ0MTY2NDE3MjksCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3NS41OTg3MjgzMzMzMzMzNCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxODUuNTMzMjgxOTg3OTU4MzYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDI0NC45MzQwNzE2Mjk4NjUwMywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk1HIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNTcuNDE4MzczNzQ1MDExOTMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJLIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMTcuMDI4Mjc1MzIyMjU0MjUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDc1LjIxNDU0MDQzNzE2OTQ1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiWk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMzUuNDM3MTA4NDg0NTg2NCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0MTIuNDM1NjI3NTA5NTU3MiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEFfUkFFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMjEuMzUwOTExNTA2NjUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRDIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0MTQuMDE4ODg4ODg4ODg4OSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE0OS41OTI1NTQ0NDA3ODMzNSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlJJQkYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE2Ni40MTc2MTk4ODQ1Mzg0NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk5JQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMDQuNjk0MDAwNjY5MjcyODQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMDguMTY1MjE2NjQxOTI2OTUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGT0xERkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2Ny4zNjMzNjczODg1ODc1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIxOC41NjY0MDc1NDE2NjY2OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDguMzU5ODcyODMzMzMzMzM0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0MS41MzUyOTEzNTY0OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEsxIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3NzYuMzQ1OTYwMDY2Mjc5MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0KICAgICAgfSwKICAgICAgImRpZ2VzdCIgOiBbIHsKICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgInRhZyIgOiAiRkFUIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmYXRDb250ZW50IiwKICAgICAgICAidG90YWwiIDogNzkuOTk2NzcwNDY2ODkzMDEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMjMuMDcxOTU0NTY0NDUwNzksCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVNBVCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzYXR1cmF0ZWRGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiA0MS41OTA4MTU5NDM2ODU2MSwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiAyMDcuOTU0MDc5NzE4NDI4MDYsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgICAgICJ0YWciIDogIkZBVFJOIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInRyYW5zRmF0Q29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQU1TIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAyMy43MjI0NDU1NjI0NzE0NTMsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiUG9seXVuc2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBUFUiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDYuNzMwNDcyMzgzNzI4OTAxLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9IF0KICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiQ2FyYnMiLAogICAgICAgICJ0YWciIDogIkNIT0NERiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiY2FyYm9oeWRyYXRlQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDIyOC4xNzAxNzE3NzU0MjI1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNzYuMDU2NzIzOTI1MTQwODMsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIChuZXQpIiwKICAgICAgICAgICJ0YWciIDogIkNIT0NERi5uZXQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDE5Mi41MjA2MTY5NzEwMDc0OCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAidGFnIiA6ICJGSUJURyIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmaWJlckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDM1LjY0OTU1NDgwNDQxNTAwNCwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiAxNDIuNTk4MjE5MjE3NjYwMDIsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzdWdhckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDE4Ljc4OTgwOTY4Njc1MiwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMsIGFkZGVkIiwKICAgICAgICAgICJ0YWciIDogIlNVR0FSLmFkZGVkIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAwLjAsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAidGFnIiA6ICJQUk9DTlQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogInByb3RlaW5Db250ZW50IiwKICAgICAgICAidG90YWwiIDogNzMuNzY3MjA4MzIwODY0NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE0Ny41MzQ0MTY2NDE3MjksCiAgICAgICAgInVuaXQiIDogImciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAidGFnIiA6ICJDSE9MRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiY2hvbGVzdGVyb2xDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMjI2Ljc5NjE4NTAwMDAwMDA0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNzUuNTk4NzI4MzMzMzMzMzQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICJ0YWciIDogIk5BIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzb2RpdW1Db250ZW50IiwKICAgICAgICAidG90YWwiIDogNDQ1Mi43OTg3Njc3MTEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxODUuNTMzMjgxOTg3OTU4MzYsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAidGFnIiA6ICJDQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyNDQ5LjM0MDcxNjI5ODY1MDUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyNDQuOTM0MDcxNjI5ODY1MDMsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICJ0YWciIDogIk1HIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDY2MS4xNTcxNjk3MjkwNTAxLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTU3LjQxODM3Mzc0NTAxMTkzLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAidGFnIiA6ICJLIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDU1MDAuMzI4OTQwMTQ1OTUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMTcuMDI4Mjc1MzIyMjU0MjUsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAidGFnIiA6ICJGRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxMy41Mzg2MTcyNzg2OTA1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNzUuMjE0NTQwNDM3MTY5NDUsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAidGFnIiA6ICJaTiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxNC44OTgwODE5MzMzMDQ1MDIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMzUuNDM3MTA4NDg0NTg2NCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICJ0YWciIDogIlAiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjg4Ny4wNDkzOTI1NjY5LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDEyLjQzNTYyNzUwOTU1NzIsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICJ0YWciIDogIlZJVEFfUkFFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEwOTIuMTU4MjAzNTU5ODQ5OSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEyMS4zNTA5MTE1MDY2NSwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICJ0YWciIDogIlZJVEMiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMzcyLjYxNywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQxNC4wMTg4ODg4ODg4ODg5LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAidGFnIiA6ICJUSElBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEuNzk1MTEwNjUzMjg5NDAwMywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE0OS41OTI1NTQ0NDA3ODMzNSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgInRhZyIgOiAiUklCRiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyLjE2MzQyOTA1ODQ5OSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE2Ni40MTc2MTk4ODQ1Mzg0NSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAidGFnIiA6ICJOSUEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTYuNzUxMDQwMTA3MDgzNjU0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTA0LjY5NDAwMDY2OTI3Mjg0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgInRhZyIgOiAiVklUQjZBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIuNzA2MTQ3ODE2MzQ1MDUwMywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDIwOC4xNjUyMTY2NDE5MjY5NSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICJ0YWciIDogIkZPTERGRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyNjkuNDUzNDY5NTU0MzUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA2Ny4zNjMzNjczODg1ODc1LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAgICJ0YWciIDogIkZPTEZEIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDI2OS40NTM0Njk1NTQzNSwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9saWMgYWNpZCIsCiAgICAgICAgInRhZyIgOiAiRk9MQUMiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgInRhZyIgOiAiVklUQjEyIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDUuMjQ1NTkzNzgxLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjE4LjU2NjQwNzU0MTY2NjY4LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgInRhZyIgOiAiVklURCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxLjI1Mzk4MDkyNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDguMzU5ODcyODMzMzMzMzM0LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgInRhZyIgOiAiVE9DUEhBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDYuMjMwMjkzNzAzNDcyLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDEuNTM1MjkxMzU2NDgsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICJ0YWciIDogIlZJVEsxIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDkzMS42MTUxNTIwNzk1MzUyLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNzc2LjM0NTk2MDA2NjI3OTMsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSBdCiAgICB9LAogICAgImJvb2ttYXJrZWQiIDogZmFsc2UsCiAgICAiYm91Z2h0IiA6IGZhbHNlCiAgfSwgewogICAgInJlY2lwZSIgOiB7CiAgICAgICJ1cmkiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9vbnRvbG9naWVzL2VkYW1hbS5vd2wjcmVjaXBlXzE2MWJjOWMxZWFmYjhjNzAyMTcyMjIzNGViYTg0MWIwIiwKICAgICAgImxhYmVsIiA6ICJadWNjaGluaSBQZXBwZXIgVGFjb3MiLAogICAgICAiaW1hZ2UiIDogImh0dHBzOi8vd3d3LmVkYW1hbS5jb20vd2ViLWltZy81YjYvNWI2ZDEzOTI4MjBiMGYxN2ViYzU4OThhMzVmZDA5N2EuanBnIiwKICAgICAgInNvdXJjZSIgOiAiQ2hleiBVcyIsCiAgICAgICJ1cmwiIDogImh0dHA6Ly9jaGV6dXMuY29tLzIwMTUvMDYvMTYvenVjY2hpbmktcGVwcGVyLXRhY29zLyIsCiAgICAgICJzaGFyZUFzIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vcmVjaXBlL3p1Y2NoaW5pLXBlcHBlci10YWNvcy0xNjFiYzljMWVhZmI4YzcwMjE3MjIyMzRlYmE4NDFiMC90YWNvcyIsCiAgICAgICJ5aWVsZCIgOiA0LjAsCiAgICAgICJkaWV0TGFiZWxzIiA6IFsgXSwKICAgICAgImhlYWx0aExhYmVscyIgOiBbICJWZWdhbiIsICJWZWdldGFyaWFuIiwgIlBlYW51dC1GcmVlIiwgIlRyZWUtTnV0LUZyZWUiLCAiQWxjb2hvbC1GcmVlIiBdLAogICAgICAiY2F1dGlvbnMiIDogWyBdLAogICAgICAiaW5ncmVkaWVudExpbmVzIiA6IFsgIiogMiBlYXIgb2YgY29ybiBrZXJuZWwgb25seSIsICIqIDEgc21hbGwgamFsYXBlbm8sIHRoaW5seSBzbGljZWQiLCAiKiBqdWljZSBmcm9tIDEgbGltZSIsICIqIDEgdGFibGVzcG9vbiBzaGFsbG90LCBmaW5lbHkgbWluY2VkIiwgIiogaGFuZGZ1bCBjaWxhbnRybywgcm91Z2hseSBjaG9wcGVkIiwgIioga29zaGVyIHNhbHQiLCAiKiAyIG1lZGl1bSB6dWNjaGluaSwgdGhpbmx5IHNsaWNlZCIsICIqIDIgcGVwcGVyLCBlaXRoZXIgb3JhbmdlIG9yIHJlZCBvciBhIGNvbWJpbmF0aW9uLCB0aGlubHkgc2xpY2VkIiwgIiogMSB5ZWxsb3cgb25pb24sIHRoaW5seSBzbGljZWQiLCAiKiAxIHRhYmxlc3Bvb24gb2xpdmUgb2lsIiwgIiogMSB0YWJsZXNwb29uIHlvdXIgZmF2b3JpdGUgdGFjbyBzZWFzb25pbmciIF0sCiAgICAgICJpbmdyZWRpZW50cyIgOiBbIHsKICAgICAgICAidGV4dCIgOiAiKiAyIGVhciBvZiBjb3JuIGtlcm5lbCBvbmx5IiwKICAgICAgICAid2VpZ2h0IiA6IDMzMC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiKiAxIHNtYWxsIGphbGFwZW5vLCB0aGlubHkgc2xpY2VkIiwKICAgICAgICAid2VpZ2h0IiA6IDEwLjUKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIqIGp1aWNlIGZyb20gMSBsaW1lIiwKICAgICAgICAid2VpZ2h0IiA6IDY3LjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIqIDEgdGFibGVzcG9vbiBzaGFsbG90LCBmaW5lbHkgbWluY2VkIiwKICAgICAgICAid2VpZ2h0IiA6IDEwLjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIqIGhhbmRmdWwgY2lsYW50cm8sIHJvdWdobHkgY2hvcHBlZCIsCiAgICAgICAgIndlaWdodCIgOiA2LjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIqIGtvc2hlciBzYWx0IiwKICAgICAgICAid2VpZ2h0IiA6IDcuMzQ3Mjk5OTk5OTk2NTMwNQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIiogMiBtZWRpdW0genVjY2hpbmksIHRoaW5seSBzbGljZWQiLAogICAgICAgICJ3ZWlnaHQiIDogMzkyLjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIqIDIgcGVwcGVyLCBlaXRoZXIgb3JhbmdlIG9yIHJlZCBvciBhIGNvbWJpbmF0aW9uLCB0aGlubHkgc2xpY2VkIiwKICAgICAgICAid2VpZ2h0IiA6IDI2Mi4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiKiAxIHllbGxvdyBvbmlvbiwgdGhpbmx5IHNsaWNlZCIsCiAgICAgICAgIndlaWdodCIgOiAxMjUuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIiogMSB0YWJsZXNwb29uIG9saXZlIG9pbCIsCiAgICAgICAgIndlaWdodCIgOiAxMy41CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiKiAxIHRhYmxlc3Bvb24geW91ciBmYXZvcml0ZSB0YWNvIHNlYXNvbmluZyIsCiAgICAgICAgIndlaWdodCIgOiA4LjU0OTk5OTk5OTQyMTc4CiAgICAgIH0gXSwKICAgICAgImNhbG9yaWVzIiA6IDg1MC42NzU5OTk5OTgxMzgyLAogICAgICAidG90YWxXZWlnaHQiIDogMTIzMC4xNjUyNjY2MTI4NywKICAgICAgInRvdGFsVGltZSIgOiAwLjAsCiAgICAgICJ0b3RhbE51dHJpZW50cyIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDg1MC42NzU5OTk5OTgxMzgyLAogICAgICAgICAgInVuaXQiIDogImtjYWwiCiAgICAgICAgfSwKICAgICAgICAiRkFUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMC4wOTM4NSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBU0FUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyLjgwNzEsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQU1TIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTW9ub3Vuc2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMC45NTAxNDAwMDAwMDAwMDEsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVBVIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG9seXVuc2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzLjQ0Njg4NTAwMDAwMDAwMDQsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTU0LjYyNTY5OTk5OTY2NDY4LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRklCVEciIDogewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjQuNzA4MTQ5OTk5OTIzMDk4LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiU1VHQVIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDU0LjAxNTA2NDk5OTkzNzM4LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiUFJPQ05UIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjEuODU0MDk5OTk5OTczOTgyLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiTkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDI4NDcuNjY2NTMzOTk4NjU1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjQ1LjM0MjY2Mzk4NzIyNzYsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDIwMS4wNzExNTI2NjYxMzQ0OCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJLIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyODM1Ljc2NDIyMTMyMzI5NDQsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0LjYyNjA4MDM3OTc4Mjc0OCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMuNTYzMzE1MjY2NjEzNDQ5LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1NTkuMDYsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzNC44NTAwMDAwMDAwMDAwMiwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjUzLjE3MiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAwLjc3MDA2MDAwMDAwMDAwMDEsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMC43MDQ0OTk5OTk5OTk5OTk5LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk5JQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5LjgzOCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjQ1ODQwNSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGT0xERkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMTEuNzQ1LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xGRCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMzNy4xNDUwMDAwMDAwMDAwNCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzLjkxMTU1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEsxIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0Ny44Mjc0OTk5OTk5OTk5OSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfQogICAgICB9LAogICAgICAidG90YWxEYWlseSIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQyLjUzMzc5OTk5OTkwNjkwNCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzAuOTEzNjE1Mzg0NjE1MzgzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFTQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE0LjAzNTUwMDAwMDAwMDAwMywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1MS41NDE4OTk5OTk4ODgyMywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDk4LjgzMjU5OTk5OTY5MjM5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUFJPQ05UIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDMuNzA4MTk5OTk5OTQ3OTY1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDExOC42NTI3NzIyNDk5NDM5NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjQuNTM0MjY2Mzk4NzIyNzYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJNRyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDcuODc0MDgzOTY4MTI3MjYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJLIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2MC4zMzU0MDg5NjQzMjU0MSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjUuNzAwNDQ2NTU0MzQ4NjAyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiWk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzMi4zOTM3NzUxNTEwMzEzNSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3OS44NjU3MTQyODU3MTQyOCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEFfUkFFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNC45ODMzMzMzMzMzMzMzMzYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRDIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyODEuMzAyMjIyMjIyMjIyMiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDY0LjE3MTY2NjY2NjY2NjY4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTQuMTkyMzA3NjkyMzA3NjgsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjEuNDg3NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEI2QSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICAgInF1YW50aXR5IiA6IDExMi4xODQ5OTk5OTk5OTk5OSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZPTERGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDUyLjkzNjI1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNi4wNzcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRLMSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzkuODU2MjQ5OTk5OTk5OTk2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfQogICAgICB9LAogICAgICAiZGlnZXN0IiA6IFsgewogICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAidGFnIiA6ICJGQVQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImZhdENvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAyMC4wOTM4NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDMwLjkxMzYxNTM4NDYxNTM4MywKICAgICAgICAidW5pdCIgOiAiZyIsCiAgICAgICAgInN1YiIgOiBbIHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBU0FUIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInNhdHVyYXRlZEZhdENvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDIuODA3MSwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiAxNC4wMzU1MDAwMDAwMDAwMDMsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgICAgICJ0YWciIDogIkZBVFJOIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInRyYW5zRmF0Q29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQU1TIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAxMC45NTAxNDAwMDAwMDAwMDEsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiUG9seXVuc2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBUFUiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDMuNDQ2ODg1MDAwMDAwMDAwNCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAidGFnIiA6ICJDSE9DREYiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNhcmJvaHlkcmF0ZUNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAxNTQuNjI1Njk5OTk5NjY0NjgsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA1MS41NDE4OTk5OTk4ODgyMywKICAgICAgICAidW5pdCIgOiAiZyIsCiAgICAgICAgInN1YiIgOiBbIHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMgKG5ldCkiLAogICAgICAgICAgInRhZyIgOiAiQ0hPQ0RGLm5ldCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMTI5LjkxNzU0OTk5OTc0MTU3LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJ0YWciIDogIkZJQlRHIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogImZpYmVyQ29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMjQuNzA4MTQ5OTk5OTIzMDk4LAogICAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICAgImRhaWx5IiA6IDk4LjgzMjU5OTk5OTY5MjM5LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMiLAogICAgICAgICAgInRhZyIgOiAiU1VHQVIiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic3VnYXJDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiA1NC4wMTUwNjQ5OTk5MzczOCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMsIGFkZGVkIiwKICAgICAgICAgICJ0YWciIDogIlNVR0FSLmFkZGVkIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAwLjAsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAidGFnIiA6ICJQUk9DTlQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogInByb3RlaW5Db250ZW50IiwKICAgICAgICAidG90YWwiIDogMjEuODU0MDk5OTk5OTczOTgyLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDMuNzA4MTk5OTk5OTQ3OTY1LAogICAgICAgICJ1bml0IiA6ICJnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgInRhZyIgOiAiQ0hPTEUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNob2xlc3Rlcm9sQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICJ0YWciIDogIk5BIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzb2RpdW1Db250ZW50IiwKICAgICAgICAidG90YWwiIDogMjg0Ny42NjY1MzM5OTg2NTUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMTguNjUyNzcyMjQ5OTQzOTUsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAidGFnIiA6ICJDQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyNDUuMzQyNjYzOTg3MjI3NiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDI0LjUzNDI2NjM5ODcyMjc2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAidGFnIiA6ICJNRyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyMDEuMDcxMTUyNjY2MTM0NDgsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0Ny44NzQwODM5NjgxMjcyNiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgInRhZyIgOiAiSyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyODM1Ljc2NDIyMTMyMzI5NDQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA2MC4zMzU0MDg5NjQzMjU0MSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICJ0YWciIDogIkZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDQuNjI2MDgwMzc5NzgyNzQ4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjUuNzAwNDQ2NTU0MzQ4NjAyLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgInRhZyIgOiAiWk4iLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMy41NjMzMTUyNjY2MTM0NDksCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzMi4zOTM3NzUxNTEwMzEzNSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICJ0YWciIDogIlAiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNTU5LjA2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNzkuODY1NzE0Mjg1NzE0MjgsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICJ0YWciIDogIlZJVEFfUkFFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEzNC44NTAwMDAwMDAwMDAwMiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE0Ljk4MzMzMzMzMzMzMzMzNiwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICJ0YWciIDogIlZJVEMiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjUzLjE3MiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDI4MS4zMDIyMjIyMjIyMjIyLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAidGFnIiA6ICJUSElBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuNzcwMDYwMDAwMDAwMDAwMSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDY0LjE3MTY2NjY2NjY2NjY4LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAidGFnIiA6ICJSSUJGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuNzA0NDk5OTk5OTk5OTk5OSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDU0LjE5MjMwNzY5MjMwNzY4LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICJ0YWciIDogIk5JQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA5LjgzOCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDYxLjQ4NzUsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAidGFnIiA6ICJWSVRCNkEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMS40NTg0MDUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMTIuMTg0OTk5OTk5OTk5OTksCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAidGFnIiA6ICJGT0xERkUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjExLjc0NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDUyLjkzNjI1LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAgICJ0YWciIDogIkZPTEZEIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDMzNy4xNDUwMDAwMDAwMDAwNCwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9saWMgYWNpZCIsCiAgICAgICAgInRhZyIgOiAiRk9MQUMiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgInRhZyIgOiAiVklUQjEyIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAidGFnIiA6ICJWSVREIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAidGFnIiA6ICJUT0NQSEEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMy45MTE1NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDI2LjA3NywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgInRhZyIgOiAiVklUSzEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNDcuODI3NDk5OTk5OTk5OTksCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzOS44NTYyNDk5OTk5OTk5OTYsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSBdCiAgICB9LAogICAgImJvb2ttYXJrZWQiIDogZmFsc2UsCiAgICAiYm91Z2h0IiA6IGZhbHNlCiAgfSBdCn0= + http_version: + recorded_at: Mon, 05 Nov 2018 03:11:42 GMT +recorded_with: VCR 4.0.0 diff --git a/test/cassettes/search_recipes.yml b/test/cassettes/search_recipes.yml new file mode 100644 index 000000000..81f77a157 --- /dev/null +++ b/test/cassettes/search_recipes.yml @@ -0,0 +1,47 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.edamam.com/search?app_id=MUNCHER_ID&app_key=MUNCHER_TOKEN&from=0&q=tacos + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Server: + - ngx_openresty + Date: + - Mon, 05 Nov 2018 03:03:23 GMT + Content-Type: + - application/json;charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Set-Cookie: + - route=e631c7ba5082b8aedfb6e067f8f8e739; Path=/ + Cache-Control: + - private + Expires: + - Thu, 01 Jan 1970 00:00:00 GMT + X-Served-By: + - ip-10-157-133-209/10.157.133.209 + Vary: + - Accept-Encoding + body: + encoding: ASCII-8BIT + string: !binary |- + ewogICJxIiA6ICJ0YWNvcyIsCiAgImZyb20iIDogMCwKICAidG8iIDogMTAsCiAgInBhcmFtcyIgOiB7CiAgICAic2FuZSIgOiBbIF0sCiAgICAicSIgOiBbICJ0YWNvcyIgXSwKICAgICJmcm9tIiA6IFsgIjAiIF0sCiAgICAiYXBwX2tleSIgOiBbICJNVU5DSEVSX1RPS0VOIiBdLAogICAgImFwcF9pZCIgOiBbICJNVU5DSEVSX0lEIiBdCiAgfSwKICAibW9yZSIgOiB0cnVlLAogICJjb3VudCIgOiAxMjcyNywKICAiaGl0cyIgOiBbIHsKICAgICJyZWNpcGUiIDogewogICAgICAidXJpIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vb250b2xvZ2llcy9lZGFtYW0ub3dsI3JlY2lwZV82YzZiNWJhZjIyMGNlYjViMjViN2M5Njk1ZjkxMDQ2ZSIsCiAgICAgICJsYWJlbCIgOiAiQ3Jpc3AgVGFjb3MgUGljYWRpbGxvIiwKICAgICAgImltYWdlIiA6ICJodHRwczovL3d3dy5lZGFtYW0uY29tL3dlYi1pbWcvMzJkLzMyZGE4YzIwMWM0MmQ4YWFlN2E3ZjUxNDQ5YzgzZTJhLmpwZyIsCiAgICAgICJzb3VyY2UiIDogIkxvdHRpZSArIERvb2YiLAogICAgICAidXJsIiA6ICJodHRwOi8vd3d3LmxvdHRpZWFuZGRvb2YuY29tLzIwMDkvMDcvcGljYWRpbGxvLyIsCiAgICAgICJzaGFyZUFzIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vcmVjaXBlL2NyaXNwLXRhY29zLXBpY2FkaWxsby02YzZiNWJhZjIyMGNlYjViMjViN2M5Njk1ZjkxMDQ2ZS90YWNvcyIsCiAgICAgICJ5aWVsZCIgOiAxNC4wLAogICAgICAiZGlldExhYmVscyIgOiBbIF0sCiAgICAgICJoZWFsdGhMYWJlbHMiIDogWyAiUGVhbnV0LUZyZWUiLCAiVHJlZS1OdXQtRnJlZSIsICJBbGNvaG9sLUZyZWUiIF0sCiAgICAgICJjYXV0aW9ucyIgOiBbICJFZ2dzIiwgIk1pbGsiIF0sCiAgICAgICJpbmdyZWRpZW50TGluZXMiIDogWyAiMiB0c3AgVmVnZXRhYmxlIE9pbCAocGljYWRpbGxvKSIsICIxLzIgeCB3aGl0ZSBvbmlvbiAobGFyZ2UpLCBjaG9wcGVkICgxIDEvMiBjdXBzKSAocGljYWRpbGxvKSIsICIxIGxiIEdyb3VuZCBDaHVjayAoODAgcGVyY2VudCBsZWFuKSAocGljYWRpbGxvKSIsICIxIHRic3AgbWluY2VkIGdhcmxpYyBjbG92ZXMoMSB0byAyIGNsb3ZlcykgKHBpY2FkaWxsbykiLCAiMiB4IHRvbWF0b2VzIChtZWRpdW0pLCBkaWNlZCAoMiAzLzQgY3VwcykgKHBpY2FkaWxsbykiLCAiMSAxLzIgdHNwIFBhcHJpa2EgKHBpY2FkaWxsbykiLCAiMSB0c3AgYW5jaG8gY2hpbGUgcG93ZGVyIChwaWNhZGlsbG8pIiwgIjEgdHNwIERyaWVkIE9yZWdhbm8gKHBpY2FkaWxsbykiLCAiMSB0c3AgY29hcnNlIHNhbHQgKHBpY2FkaWxsbykiLCAiMSB0c3AgZnJlc2hseSBncm91bmQgcGVwcGVyIChwaWNhZGlsbG8pIiwgIjMvNCB0c3AgR3JvdW5kIEN1bWluIChwaWNhZGlsbG8pIiwgIjEgMS8yIGN1cCB3YXRlciAocGljYWRpbGxvKSIsICIzIHRzcCBXaGl0ZSBWaW5lZ2FyIChwaWNhZGlsbG8pIiwgInZlZ2V0YWJsZSBvaWwgZm9yIGZyeWluZyAodGFjb3MpIiwgIjIwIHggQ29ybiBUb3J0aWxsYXMgKHRhY29zKSIsICJJY2ViZXJnIExldHR1Y2UgU2hyZWRkZWQsZm9yIHNlcnZpbmcgKHRhY29zKSIsICJ3aGl0ZSBvbmlvbiBzaHJlZGRlZCxmb3Igc2VydmluZyAodGFjb3MpIiwgInNocmVkZGVkIGNoZWRkYXIgY2hlZXNlICh0YWNvcykiLCAic2Fsc2EgUGljYW50ZSwgZm9yIHNlcnZpbmcgKHRhY29zKSIgXSwKICAgICAgImluZ3JlZGllbnRzIiA6IFsgewogICAgICAgICJ0ZXh0IiA6ICIyIHRzcCBWZWdldGFibGUgT2lsIChwaWNhZGlsbG8pIiwKICAgICAgICAid2VpZ2h0IiA6IDkuMzMzMzMzMzMzOTY0NTI5CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMS8yIHggd2hpdGUgb25pb24gKGxhcmdlKSwgY2hvcHBlZCAoMSAxLzIgY3VwcykgKHBpY2FkaWxsbykiLAogICAgICAgICJ3ZWlnaHQiIDogMjQwLjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxIGxiIEdyb3VuZCBDaHVjayAoODAgcGVyY2VudCBsZWFuKSAocGljYWRpbGxvKSIsCiAgICAgICAgIndlaWdodCIgOiA0NTMuNTkyMzcKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxIHRic3AgbWluY2VkIGdhcmxpYyBjbG92ZXMoMSB0byAyIGNsb3ZlcykgKHBpY2FkaWxsbykiLAogICAgICAgICJ3ZWlnaHQiIDogNC41CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMiB4IHRvbWF0b2VzIChtZWRpdW0pLCBkaWNlZCAoMiAzLzQgY3VwcykgKHBpY2FkaWxsbykiLAogICAgICAgICJ3ZWlnaHQiIDogNDA5Ljc1CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSAxLzIgdHNwIFBhcHJpa2EgKHBpY2FkaWxsbykiLAogICAgICAgICJ3ZWlnaHQiIDogMy40NDk5OTk5OTk5OTk5OTk3CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSB0c3AgYW5jaG8gY2hpbGUgcG93ZGVyIChwaWNhZGlsbG8pIiwKICAgICAgICAid2VpZ2h0IiA6IDIuNwogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgdHNwIERyaWVkIE9yZWdhbm8gKHBpY2FkaWxsbykiLAogICAgICAgICJ3ZWlnaHQiIDogMS4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSB0c3AgY29hcnNlIHNhbHQgKHBpY2FkaWxsbykiLAogICAgICAgICJ3ZWlnaHQiIDogNC44NTQxNjY2NjY5MTI4NzUKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxIHRzcCBmcmVzaGx5IGdyb3VuZCBwZXBwZXIgKHBpY2FkaWxsbykiLAogICAgICAgICJ3ZWlnaHQiIDogMi45CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMy80IHRzcCBHcm91bmQgQ3VtaW4gKHBpY2FkaWxsbykiLAogICAgICAgICJ3ZWlnaHQiIDogMS41NzUwMDAwMDAwMDAwMDAyCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSAxLzIgY3VwIHdhdGVyIChwaWNhZGlsbG8pIiwKICAgICAgICAid2VpZ2h0IiA6IDM1NS41CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMyB0c3AgV2hpdGUgVmluZWdhciAocGljYWRpbGxvKSIsCiAgICAgICAgIndlaWdodCIgOiAxNS4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAidmVnZXRhYmxlIG9pbCBmb3IgZnJ5aW5nICh0YWNvcykiLAogICAgICAgICJ3ZWlnaHQiIDogMjYuOTg0NTA2MjMyMDExOTM1CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMjAgeCBDb3JuIFRvcnRpbGxhcyAodGFjb3MpIiwKICAgICAgICAid2VpZ2h0IiA6IDQ4MC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAic2hyZWRkZWQgY2hlZGRhciBjaGVlc2UgKHRhY29zKSIsCiAgICAgICAgIndlaWdodCIgOiAwLjAKICAgICAgfSBdLAogICAgICAiY2Fsb3JpZXMiIDogNDA2MS44OTc0MDUyOTI1NzMyLAogICAgICAidG90YWxXZWlnaHQiIDogMjIyNy4wNTMxMDA1MDA5MTQ4LAogICAgICAidG90YWxUaW1lIiA6IDAuMCwKICAgICAgInRvdGFsTnV0cmllbnRzIiA6IHsKICAgICAgICAiRU5FUkNfS0NBTCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDA2MS44OTc0MDUyOTI1NzMyLAogICAgICAgICAgInVuaXQiIDogImtjYWwiCiAgICAgICAgfSwKICAgICAgICAiRkFUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyOTAuMDMxOTU5MzMxMDAxNTMsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVNBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjguMDM0MTAwOTg2ODMxODM4LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFUUk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJUcmFucyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMy4wNjg1OTcwMTk2MDY3OTE4LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFNUyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTk2LjgyOTg1NDU4MTczNjAyLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFQVSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTIuMjc5NjYzNTU2MzM3NTc0LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiQ0hPQ0RGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI1Ny40MzQyMzYwOTM5OTk5NywKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQxLjk0ODY5NSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIlNVR0FSIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMy44ODU3MDQyNTAwMDAwMDMsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMzIuOTgzOTM0MzY4LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiQ0hPTEUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjg1Ljc2MzE5MzEsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDI1ODEuNTE1NTE0MDYyMDkyMywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDYxNS45MDAwMDgxMDAwNTksCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDUzMS45MzY0MTQzNjY2NjkyLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDQwMTMuMTEyNjk4NDMzMzUzLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTkuODMyNjQ1MDMzMDAwODEyLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlpOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzIuMzI1MDI5NjMzNjY2OTE1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNjgzLjk2NDA5MjksCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI5My4zMzM3OTc0MDAwMDAwNCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjguNjY1NzU3NSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjA5MzMyNDcyMSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJSSUJGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjMwMDY4ODA1NCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzIuNjY2MzE4MDIxOSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0LjM5NjgxMDQxMTYwMDAwMSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGT0xERkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNDAuMTgwNjQ2MSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiRk9MRkQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNDAuMTgwNjQ2MSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEwLjI5NjU0Njc5OTAwMDAwMSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMC40NTM1OTIzNzAwMDAwMDAxLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJUT0NQSEEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICAgInF1YW50aXR5IiA6IDYxLjUwNjE5NjE4MTgxMjMzNSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRLMSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTMuODc0OTEzMDUwMDAwMDEsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0KICAgICAgfSwKICAgICAgInRvdGFsRGFpbHkiIDogewogICAgICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRW5lcmd5IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMDMuMDk0ODcwMjY0NjI4NjcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ0Ni4yMDMwMTQzNTUzODcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGQVNBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTQwLjE3MDUwNDkzNDE1OTE3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0hPQ0RGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDg1LjgxMTQxMjAzMTMzMzMyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRklCVEciIDogewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTY3Ljc5NDc4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUFJPQ05UIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjY1Ljk2Nzg2ODczNiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0xFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICAgInF1YW50aXR5IiA6IDk1LjI1NDM5NzcwMDAwMDAxLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDEwNy41NjMxNDY0MTkyNTM4NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjEuNTkwMDAwODEwMDA1OTA0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDEyNi42NTE1MjcyMzAxNTkzMywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDg1LjM4NTM3NjU2MjQxMTc2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMTAuMTgxMzYxMjk0NDQ4OTYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI5My44NjM5MDU3NjA2MDgzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM4My40MjM0NDE4NDI4NTcyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMyLjU5MjY0NDE1NTU1NTU2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNzYuMjk1Mjg2MTExMTExMTEsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5MS4xMTAzOTM0MTY2NjY2OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlJJQkYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEwMC4wNTI5MjcyMzA3NjkyMywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk5JQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMDQuMTY0NDg3NjM2ODc0OTgsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzMzguMjE2MTg1NTA3NjkyMzMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGT0xERkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzNS4wNDUxNjE1MjUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRCMTIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDI5LjAyMjc4MzI5MTY2Njc3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMy4wMjM5NDkxMzMzMzMzMzM3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0MTAuMDQxMzA3ODc4NzQ4OSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEsxIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0NC44OTU3NjA4NzUwMDAwMTUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkaWdlc3QiIDogWyB7CiAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICJ0YWciIDogIkZBVCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiZmF0Q29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDI5MC4wMzE5NTkzMzEwMDE1MywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQ0Ni4yMDMwMTQzNTUzODcsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVNBVCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzYXR1cmF0ZWRGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAyOC4wMzQxMDA5ODY4MzE4MzgsCiAgICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgICAiZGFpbHkiIDogMTQwLjE3MDUwNDkzNDE1OTE3LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJUcmFucyIsCiAgICAgICAgICAidGFnIiA6ICJGQVRSTiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJ0cmFuc0ZhdENvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDMuMDY4NTk3MDE5NjA2NzkxOCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJNb25vdW5zYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFNUyIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMTk2LjgyOTg1NDU4MTczNjAyLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVBVIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiA1Mi4yNzk2NjM1NTYzMzc1NzQsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgInRhZyIgOiAiQ0hPQ0RGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJjYXJib2h5ZHJhdGVDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMjU3LjQzNDIzNjA5Mzk5OTk3LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogODUuODExNDEyMDMxMzMzMzIsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIChuZXQpIiwKICAgICAgICAgICJ0YWciIDogIkNIT0NERi5uZXQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDIxNS40ODU1NDEwOTM5OTk5OCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAidGFnIiA6ICJGSUJURyIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmaWJlckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDQxLjk0ODY5NSwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiAxNjcuNzk0NzgsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzdWdhckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDIzLjg4NTcwNDI1MDAwMDAwMywKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMsIGFkZGVkIiwKICAgICAgICAgICJ0YWciIDogIlNVR0FSLmFkZGVkIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAwLjAsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAidGFnIiA6ICJQUk9DTlQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogInByb3RlaW5Db250ZW50IiwKICAgICAgICAidG90YWwiIDogMTMyLjk4MzkzNDM2OCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDI2NS45Njc4Njg3MzYsCiAgICAgICAgInVuaXQiIDogImciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAidGFnIiA6ICJDSE9MRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiY2hvbGVzdGVyb2xDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMjg1Ljc2MzE5MzEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA5NS4yNTQzOTc3MDAwMDAwMSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgInRhZyIgOiAiTkEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogInNvZGl1bUNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAyNTgxLjUxNTUxNDA2MjA5MjMsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMDcuNTYzMTQ2NDE5MjUzODUsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAidGFnIiA6ICJDQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA2MTUuOTAwMDA4MTAwMDU5LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNjEuNTkwMDAwODEwMDA1OTA0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAidGFnIiA6ICJNRyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA1MzEuOTM2NDE0MzY2NjY5MiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEyNi42NTE1MjcyMzAxNTkzMywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgInRhZyIgOiAiSyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA0MDEzLjExMjY5ODQzMzM1MywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDg1LjM4NTM3NjU2MjQxMTc2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgInRhZyIgOiAiRkUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTkuODMyNjQ1MDMzMDAwODEyLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTEwLjE4MTM2MTI5NDQ0ODk2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgInRhZyIgOiAiWk4iLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMzIuMzI1MDI5NjMzNjY2OTE1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjkzLjg2MzkwNTc2MDYwODMsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAidGFnIiA6ICJQIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDI2ODMuOTY0MDkyOSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDM4My40MjM0NDE4NDI4NTcyLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAidGFnIiA6ICJWSVRBX1JBRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyOTMuMzMzNzk3NDAwMDAwMDQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzMi41OTI2NDQxNTU1NTU1NiwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICJ0YWciIDogIlZJVEMiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNjguNjY1NzU3NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDc2LjI5NTI4NjExMTExMTExLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAidGFnIiA6ICJUSElBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEuMDkzMzI0NzIxLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogOTEuMTEwMzkzNDE2NjY2NjgsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICJ0YWciIDogIlJJQkYiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMS4zMDA2ODgwNTQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMDAuMDUyOTI3MjMwNzY5MjMsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgInRhZyIgOiAiTklBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDMyLjY2NjMxODAyMTksCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyMDQuMTY0NDg3NjM2ODc0OTgsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAidGFnIiA6ICJWSVRCNkEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNC4zOTY4MTA0MTE2MDAwMDEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzMzguMjE2MTg1NTA3NjkyMzMsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAidGFnIiA6ICJGT0xERkUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTQwLjE4MDY0NjEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzNS4wNDUxNjE1MjUsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIChmb29kKSIsCiAgICAgICAgInRhZyIgOiAiRk9MRkQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTQwLjE4MDY0NjEsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICJ0YWciIDogIkZPTEFDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICJ0YWciIDogIlZJVEIxMiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxMC4yOTY1NDY3OTkwMDAwMDEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0MjkuMDIyNzgzMjkxNjY2NzcsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAidGFnIiA6ICJWSVREIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuNDUzNTkyMzcwMDAwMDAwMSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDMuMDIzOTQ5MTMzMzMzMzMzNywKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICJ0YWciIDogIlRPQ1BIQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA2MS41MDYxOTYxODE4MTIzMzUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0MTAuMDQxMzA3ODc4NzQ4OSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgInRhZyIgOiAiVklUSzEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNTMuODc0OTEzMDUwMDAwMDEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0NC44OTU3NjA4NzUwMDAwMTUsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSBdCiAgICB9LAogICAgImJvb2ttYXJrZWQiIDogZmFsc2UsCiAgICAiYm91Z2h0IiA6IGZhbHNlCiAgfSwgewogICAgInJlY2lwZSIgOiB7CiAgICAgICJ1cmkiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9vbnRvbG9naWVzL2VkYW1hbS5vd2wjcmVjaXBlXzVlN2IyNzhiNTgwY2NlYThhYjQ4NTYwN2RmZjU0MTZhIiwKICAgICAgImxhYmVsIiA6ICJQaWNhZGlsbG8gVGFjb3MiLAogICAgICAiaW1hZ2UiIDogImh0dHBzOi8vd3d3LmVkYW1hbS5jb20vd2ViLWltZy8yNzQvMjc0ZTMwOGVmZDkwNDBiMmE2YTY5NjM4NjRhN2MyMTUuanBnIiwKICAgICAgInNvdXJjZSIgOiAiSG9uZXN0IENvb2tpbmciLAogICAgICAidXJsIiA6ICJodHRwOi8vaG9uZXN0Y29va2luZy5jb20vcGljYWRpbGxvLXRhY29zLXJlY2lwZS8iLAogICAgICAic2hhcmVBcyIgOiAiaHR0cDovL3d3dy5lZGFtYW0uY29tL3JlY2lwZS9waWNhZGlsbG8tdGFjb3MtNWU3YjI3OGI1ODBjY2VhOGFiNDg1NjA3ZGZmNTQxNmEvdGFjb3MiLAogICAgICAieWllbGQiIDogNC4wLAogICAgICAiZGlldExhYmVscyIgOiBbIF0sCiAgICAgICJoZWFsdGhMYWJlbHMiIDogWyAiUGVhbnV0LUZyZWUiLCAiVHJlZS1OdXQtRnJlZSIsICJBbGNvaG9sLUZyZWUiIF0sCiAgICAgICJjYXV0aW9ucyIgOiBbICJFZ2dzIiwgIk1pbGsiIF0sCiAgICAgICJpbmdyZWRpZW50TGluZXMiIDogWyAiMSBsYiBncm91bmQgcG9yayIsICLCvCBjdXAgKyAyIHRic3AgZ29sZGVuIHJhaXNpbnMiLCAiwrwgY3VwIHBpbWVudG8gb2xpdmVzLCBkaWNlZCIsICLCvSBzd2VldCByZWQgcGVwcGVyLCBkaWNlZCIsICLCvCBtZWRpdW0gb25pb24sIGRpY2VkIiwgIjEgdHNwIGFnYXZlIiwgIsK8IGN1cCBvZiB3YXRlciIsICI4IGhhcmQgdGFjb3Mgc2hlbGxzIiwgIlNhbHQgYW5kIHBlcHBlciB0byB0YXN0ZSIgXSwKICAgICAgImluZ3JlZGllbnRzIiA6IFsgewogICAgICAgICJ0ZXh0IiA6ICIxIGxiIGdyb3VuZCBwb3JrIiwKICAgICAgICAid2VpZ2h0IiA6IDQ1My41OTIzNwogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIsK8IGN1cCArIDIgdGJzcCBnb2xkZW4gcmFpc2lucyIsCiAgICAgICAgIndlaWdodCIgOiAzNi4yNQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIsK8IGN1cCArIDIgdGJzcCBnb2xkZW4gcmFpc2lucyIsCiAgICAgICAgIndlaWdodCIgOiAxOC4xMjQ5OTk5OTk2OTM1NgogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIsK8IGN1cCBwaW1lbnRvIG9saXZlcywgZGljZWQiLAogICAgICAgICJ3ZWlnaHQiIDogMzAuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIsK9IHN3ZWV0IHJlZCBwZXBwZXIsIGRpY2VkIiwKICAgICAgICAid2VpZ2h0IiA6IDU5LjUKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICLCvCBtZWRpdW0gb25pb24sIGRpY2VkIiwKICAgICAgICAid2VpZ2h0IiA6IDI3LjUKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxIHRzcCBhZ2F2ZSIsCiAgICAgICAgIndlaWdodCIgOiA2LjkKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICLCvCBjdXAgb2Ygd2F0ZXIiLAogICAgICAgICJ3ZWlnaHQiIDogNTkuMjUKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICI4IGhhcmQgdGFjb3Mgc2hlbGxzIiwKICAgICAgICAid2VpZ2h0IiA6IDEwMS42CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiU2FsdCBhbmQgcGVwcGVyIHRvIHRhc3RlIiwKICAgICAgICAid2VpZ2h0IiA6IDQuNzU2MzA0MjE5OTk4MTYxCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiU2FsdCBhbmQgcGVwcGVyIHRvIHRhc3RlIiwKICAgICAgICAid2VpZ2h0IiA6IDIuMzc4MTUyMTA5OTk5MDgwNgogICAgICB9IF0sCiAgICAgICJjYWxvcmllcyIgOiAxOTMwLjQyNDU5NDg5NTE3MjMsCiAgICAgICJ0b3RhbFdlaWdodCIgOiA3OTcuNzU5MzEzNzg0MDE0NiwKICAgICAgInRvdGFsVGltZSIgOiAyNS4wLAogICAgICAidG90YWxOdXRyaWVudHMiIDogewogICAgICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRW5lcmd5IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxOTMwLjQyNDU5NDg5NTE3MjMsCiAgICAgICAgICAidW5pdCIgOiAia2NhbCIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEyMS45OTI1MTU5NjE3ODQ1OCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBU0FUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0My40ODM3MjQ2NDYzNzA3MywKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBVFJOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVHJhbnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDAuMTc0NzUyLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFNUyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTIuMjY0NzQ1NTIyMDkyODMsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVBVIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG9seXVuc2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNC42NjMyOTk0NzUwNTczOCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMjIuNTQ0MDE4Mjc0MTAwNzQsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGSUJURyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMi42MDU4NzI0ODM4MTc1MSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIlNVR0FSIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0Mi4yODc3ODI2NzMzMjI2MSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIlNVR0FSLmFkZGVkIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzLCBhZGRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNC44OTksCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4Ni4zMTI5MDQ1NjAyMTg1LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiQ0hPTEUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzI2LjU4NjUwNjQsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDE4NDguOTc4NzM0NzU1NjQ4LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjQzLjc2MzcwNTY0ODk3MDc4LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk1HIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMDUuMzE3NTc4MzI0NzM0NDMsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiSyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjE0Mi4wNTczNDY3NzM1NDc2LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOC4xNzQ0NzQ0Mzg0MDA2OSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEyLjA4NzE4MDk0MTc4MjMzMiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJQIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTEyMS4xNDgzNzc4MzM0NDY0LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEFfUkFFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMTAuMTQ0OTQ4NDY5Njk5NzQsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlZJVEMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDgzLjIwMTY0NjU4OTk5MDE5LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMuNTkyMzUwNTUyNjc4Nzc0NSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJSSUJGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjMxMzM1ODk5MzI5NzQxMzIsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTklBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIyLjg0NzM1ODc4OTIxMzc5MywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyLjMzNDkwMzQ0OTczOTEwNzUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTQzLjY3MDE1NDM1ODY5MDY0LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xGRCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEwNC4wNDYxNTQzNTg2OTA2NiwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiRk9MQUMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xpYyBhY2lkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNC4zODQsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlZJVEIxMiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzLjE3NTE0NjU5LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJUT0NQSEEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIuMjMxNjIyNzgxOTQzNjIzLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEsxIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNy45NzkyNjAwMDQwNTc3NywKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfQogICAgICB9LAogICAgICAidG90YWxEYWlseSIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDk2LjUyMTIyOTc0NDc1ODYxLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxODcuNjgwNzkzNzg3MzYwOSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZBU0FUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMTcuNDE4NjIzMjMxODUzNjQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDAuODQ4MDA2MDkxMzY2OTEsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGSUJURyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1MC40MjM0ODk5MzUyNzAwNSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDE3Mi42MjU4MDkxMjA0MzcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMDguODYyMTY4OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3Ny4wNDA3ODA2MTQ4MTg2NiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjQuMzc2MzcwNTY0ODk3MDgsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJNRyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDguODg1MTM3Njk2MzY1MzQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJLIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0NS41NzU2ODgyMjkyMjQ0MSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDUuNDEzNzQ2ODgwMDAzODM1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiWk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMDkuODgzNDYzMTA3MTEyMTIsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTYwLjE2NDA1Mzk3NjIwNjY1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEyLjIzODMyNzYwNzc0NDQxNSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDkyLjQ0NjI3Mzk4ODg3Nzk5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVEhJQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjk5LjM2MjU0NjA1NjU2NDU1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTAxLjAyNzYxNDg2OTAzMTc4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTklBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE0Mi43OTU5OTI0MzI1ODYyMiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEI2QSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE3OS42MDc5NTc2NzIyMzkwMiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZPTERGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM1LjkxNzUzODU4OTY3MjY2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzMi4yOTc3NzQ1ODMzMzMzNCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlRPQ1BIQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTQuODc3NDg1MjEyOTU3NDg2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE0Ljk4MjcxNjY3MDA0ODE0MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0KICAgICAgfSwKICAgICAgImRpZ2VzdCIgOiBbIHsKICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgInRhZyIgOiAiRkFUIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmYXRDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMTIxLjk5MjUxNTk2MTc4NDU4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTg3LjY4MDc5Mzc4NzM2MDksCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVNBVCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzYXR1cmF0ZWRGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiA0My40ODM3MjQ2NDYzNzA3MywKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiAyMTcuNDE4NjIzMjMxODUzNjQsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgICAgICJ0YWciIDogIkZBVFJOIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInRyYW5zRmF0Q29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMC4xNzQ3NTIsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiTW9ub3Vuc2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBTVMiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDUyLjI2NDc0NTUyMjA5MjgzLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVBVIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAxNC42NjMyOTk0NzUwNTczOCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAidGFnIiA6ICJDSE9DREYiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNhcmJvaHlkcmF0ZUNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAxMjIuNTQ0MDE4Mjc0MTAwNzQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0MC44NDgwMDYwOTEzNjY5MSwKICAgICAgICAidW5pdCIgOiAiZyIsCiAgICAgICAgInN1YiIgOiBbIHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMgKG5ldCkiLAogICAgICAgICAgInRhZyIgOiAiQ0hPQ0RGLm5ldCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMTA5LjkzODE0NTc5MDI4MzIzLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJ0YWciIDogIkZJQlRHIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogImZpYmVyQ29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMTIuNjA1ODcyNDgzODE3NTEsCiAgICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgICAiZGFpbHkiIDogNTAuNDIzNDg5OTM1MjcwMDUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzdWdhckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDQyLjI4Nzc4MjY3MzMyMjYxLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycywgYWRkZWQiLAogICAgICAgICAgInRhZyIgOiAiU1VHQVIuYWRkZWQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDQuODk5LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9IF0KICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgInRhZyIgOiAiUFJPQ05UIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJwcm90ZWluQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDg2LjMxMjkwNDU2MDIxODUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxNzIuNjI1ODA5MTIwNDM3LAogICAgICAgICJ1bml0IiA6ICJnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgInRhZyIgOiAiQ0hPTEUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNob2xlc3Rlcm9sQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDMyNi41ODY1MDY0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTA4Ljg2MjE2ODgsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICJ0YWciIDogIk5BIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzb2RpdW1Db250ZW50IiwKICAgICAgICAidG90YWwiIDogMTg0OC45Nzg3MzQ3NTU2NDgsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA3Ny4wNDA3ODA2MTQ4MTg2NiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICJ0YWciIDogIkNBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDI0My43NjM3MDU2NDg5NzA3OCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDI0LjM3NjM3MDU2NDg5NzA4LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAidGFnIiA6ICJNRyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyMDUuMzE3NTc4MzI0NzM0NDMsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0OC44ODUxMzc2OTYzNjUzNCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgInRhZyIgOiAiSyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyMTQyLjA1NzM0Njc3MzU0NzYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0NS41NzU2ODgyMjkyMjQ0MSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICJ0YWciIDogIkZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDguMTc0NDc0NDM4NDAwNjksCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0NS40MTM3NDY4ODAwMDM4MzUsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAidGFnIiA6ICJaTiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxMi4wODcxODA5NDE3ODIzMzIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMDkuODgzNDYzMTA3MTEyMTIsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAidGFnIiA6ICJQIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDExMjEuMTQ4Mzc3ODMzNDQ2NCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE2MC4xNjQwNTM5NzYyMDY2NSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgInRhZyIgOiAiVklUQV9SQUUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTEwLjE0NDk0ODQ2OTY5OTc0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTIuMjM4MzI3NjA3NzQ0NDE1LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgInRhZyIgOiAiVklUQyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA4My4yMDE2NDY1ODk5OTAxOSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDkyLjQ0NjI3Mzk4ODg3Nzk5LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAidGFnIiA6ICJUSElBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDMuNTkyMzUwNTUyNjc4Nzc0NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDI5OS4zNjI1NDYwNTY1NjQ1NSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgInRhZyIgOiAiUklCRiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxLjMxMzM1ODk5MzI5NzQxMzIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMDEuMDI3NjE0ODY5MDMxNzgsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgInRhZyIgOiAiTklBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIyLjg0NzM1ODc4OTIxMzc5MywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE0Mi43OTU5OTI0MzI1ODYyMiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICJ0YWciIDogIlZJVEI2QSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyLjMzNDkwMzQ0OTczOTEwNzUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxNzkuNjA3OTU3NjcyMjM5MDIsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAidGFnIiA6ICJGT0xERkUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTQzLjY3MDE1NDM1ODY5MDY0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzUuOTE3NTM4NTg5NjcyNjYsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIChmb29kKSIsCiAgICAgICAgInRhZyIgOiAiRk9MRkQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTA0LjA0NjE1NDM1ODY5MDY2LAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xpYyBhY2lkIiwKICAgICAgICAidGFnIiA6ICJGT0xBQyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyNC4zODQsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAidGFnIiA6ICJWSVRCMTIiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMy4xNzUxNDY1OSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEzMi4yOTc3NzQ1ODMzMzMzNCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAgICJ0YWciIDogIlZJVEQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICJ0YWciIDogIlRPQ1BIQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyLjIzMTYyMjc4MTk0MzYyMywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE0Ljg3NzQ4NTIxMjk1NzQ4NiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgInRhZyIgOiAiVklUSzEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTcuOTc5MjYwMDA0MDU3NzcsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxNC45ODI3MTY2NzAwNDgxNDMsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSBdCiAgICB9LAogICAgImJvb2ttYXJrZWQiIDogZmFsc2UsCiAgICAiYm91Z2h0IiA6IGZhbHNlCiAgfSwgewogICAgInJlY2lwZSIgOiB7CiAgICAgICJ1cmkiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9vbnRvbG9naWVzL2VkYW1hbS5vd2wjcmVjaXBlXzk3YzM4NjdhZTY2MjZlZGRjODFiZjgyZTczYTJkM2RiIiwKICAgICAgImxhYmVsIiA6ICJDaGFycmVkIENvcm4gVGFjb3MgV2l0aCBadWNjaGluaS1SYWRpc2ggU2xhdyIsCiAgICAgICJpbWFnZSIgOiAiaHR0cHM6Ly93d3cuZWRhbWFtLmNvbS93ZWItaW1nLzRkMC80ZDBmY2RjZTM1MTQyNzFiYWNjMzM5ODg4YmU2M2RlYS5qcGciLAogICAgICAic291cmNlIiA6ICJTbWl0dGVuIEtpdGNoZW4iLAogICAgICAidXJsIiA6ICJodHRwOi8vc21pdHRlbmtpdGNoZW4uY29tLzIwMTEvMDcvY2hhcnJlZC1jb3JuLXRhY29zLXdpdGgtenVjY2hpbmktcmFkaXNoLXNsYXcvIiwKICAgICAgInNoYXJlQXMiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9yZWNpcGUvY2hhcnJlZC1jb3JuLXRhY29zLXdpdGgtenVjY2hpbmktcmFkaXNoLXNsYXctOTdjMzg2N2FlNjYyNmVkZGM4MWJmODJlNzNhMmQzZGIvdGFjb3MiLAogICAgICAieWllbGQiIDogNi4wLAogICAgICAiZGlldExhYmVscyIgOiBbICJCYWxhbmNlZCIgXSwKICAgICAgImhlYWx0aExhYmVscyIgOiBbICJWZWdldGFyaWFuIiwgIlBlYW51dC1GcmVlIiwgIlRyZWUtTnV0LUZyZWUiLCAiQWxjb2hvbC1GcmVlIiBdLAogICAgICAiY2F1dGlvbnMiIDogWyAiRWdncyIsICJNaWxrIiBdLAogICAgICAiaW5ncmVkaWVudExpbmVzIiA6IFsgIjEvMiBwb3VuZCByZWQgcmFkaXNoZXMgKGZyb20gYWJvdXQgMi8zIG9mIGEgYnVuZGxlIHdpdGggc3RlbXMgYW5kIGxlYXZlcyksIHRyaW1tZWQiLCAiMSBzbWFsbCAoNCB0byA1IG91bmNlcykgenVjY2hpbmksIGxvbmcgYW5kIG5hcnJvdyBpZiB5b3UgY2FuIGZpbmQgaXQiLCAiMiBsaW1lcyIsICJTYWx0IiwgIjQgZWFycyBjb3JuLCBodXNrcyByZW1vdmVkIiwgIjIgdGFibGVzcG9vbnMgdW5zYWx0ZWQgYnV0dGVyIiwgIjEgdGFibGVzcG9vbiBvbGl2ZSBvaWwsIHBsdXMgYWRkaXRpb25hbCBpZiBibGlzdGVyaW5nIHRhY29zIGluIHNraWxsZXQiLCAiMSBtZWRpdW0gd2hpdGUgb25pb24sIGZpbmVseSBjaG9wcGVkIiwgIjIgY2xvdmVzIGdhcmxpYywgbWluY2VkIiwgIjMgdGFibGVzcG9vbnMgY2hvcHBlZCBlcGF6b3RlIChpZiB5b3UgY2FuIGZpbmQgaXQpLCBjaWxhbnRybyBvciBwYXNsZXkgKGZvciB0aGUgY2lsYW50cm8tYXZlcnNlKSBsZWF2ZXMgKG9wdGlvbmFsKSIsICIxLzIgY3VwICgyIDEvMiBvdW5jZXMgb3IgNzAgZ3JhbXMpIGNydW1ibGVkIGNvdGlqYSBjaGVlc2UgKG9yIGFub3RoZXIgc2FsdHksIGNydW1ibHkgY2hlZXNlIHN1Y2ggYXMgcmljb3R0YSBzYWxhdGEgb3IgZmV0YSkiLCAiMS80IHRlYXNwb29uIGNoaWxpIHBvd2RlciIsICIxMCB0byAxMiBzbWFsbCAoNi1pbmNoKSBzb2Z0IGNvcm4gdG9ydGlsbGFzIiBdLAogICAgICAiaW5ncmVkaWVudHMiIDogWyB7CiAgICAgICAgInRleHQiIDogIjEvMiBwb3VuZCByZWQgcmFkaXNoZXMgKGZyb20gYWJvdXQgMi8zIG9mIGEgYnVuZGxlIHdpdGggc3RlbXMgYW5kIGxlYXZlcyksIHRyaW1tZWQiLAogICAgICAgICJ3ZWlnaHQiIDogMjI2Ljc5NjE4NQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgc21hbGwgKDQgdG8gNSBvdW5jZXMpIHp1Y2NoaW5pLCBsb25nIGFuZCBuYXJyb3cgaWYgeW91IGNhbiBmaW5kIGl0IiwKICAgICAgICAid2VpZ2h0IiA6IDE5Ni4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMiBsaW1lcyIsCiAgICAgICAgIndlaWdodCIgOiAxMzQuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIlNhbHQiLAogICAgICAgICJ3ZWlnaHQiIDogOC4zMzQ0MjcxMQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjQgZWFycyBjb3JuLCBodXNrcyByZW1vdmVkIiwKICAgICAgICAid2VpZ2h0IiA6IDQwOC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMiB0YWJsZXNwb29ucyB1bnNhbHRlZCBidXR0ZXIiLAogICAgICAgICJ3ZWlnaHQiIDogMjguNAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgdGFibGVzcG9vbiBvbGl2ZSBvaWwsIHBsdXMgYWRkaXRpb25hbCBpZiBibGlzdGVyaW5nIHRhY29zIGluIHNraWxsZXQiLAogICAgICAgICJ3ZWlnaHQiIDogMTIuNwogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgbWVkaXVtIHdoaXRlIG9uaW9uLCBmaW5lbHkgY2hvcHBlZCIsCiAgICAgICAgIndlaWdodCIgOiAxMTAuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjIgY2xvdmVzIGdhcmxpYywgbWluY2VkIiwKICAgICAgICAid2VpZ2h0IiA6IDYuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEvMiBjdXAgKDIgMS8yIG91bmNlcyBvciA3MCBncmFtcykgY3J1bWJsZWQgY290aWphIGNoZWVzZSAob3IgYW5vdGhlciBzYWx0eSwgY3J1bWJseSBjaGVlc2Ugc3VjaCBhcyByaWNvdHRhIHNhbGF0YSBvciBmZXRhKSIsCiAgICAgICAgIndlaWdodCIgOiAyLjUKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxLzQgdGVhc3Bvb24gY2hpbGkgcG93ZGVyIiwKICAgICAgICAid2VpZ2h0IiA6IDAuNjc1CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMTAgdG8gMTIgc21hbGwgKDYtaW5jaCkgc29mdCBjb3JuIHRvcnRpbGxhcyIsCiAgICAgICAgIndlaWdodCIgOiAyNjQuMAogICAgICB9IF0sCiAgICAgICJjYWxvcmllcyIgOiAxMzY0LjI4MDg4OTYwMDAwMDEsCiAgICAgICJ0b3RhbFdlaWdodCIgOiAxMzk2LjM5NzE2Mjg1NTI2NTYsCiAgICAgICJ0b3RhbFRpbWUiIDogMC4wLAogICAgICAidG90YWxOdXRyaWVudHMiIDogewogICAgICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRW5lcmd5IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMzY0LjI4MDg4OTYwMDAwMDEsCiAgICAgICAgICAidW5pdCIgOiAia2NhbCIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQwLjk0Mjk1NjE4NSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBU0FUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxOC43ODUxMjAyNzkyLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFUUk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJUcmFucyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMC45ODEzNTU5OTk5OTk5OTk5LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFNUyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTAuNzcwNjgzNjAxNDUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVBVIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG9seXVuc2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3Ljc3MzQ3NDY2ODgwMDAwMDUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjQyLjg0ODQ2NTI4OTk5OTk4LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRklCVEciIDogewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzcuMjE0NTM4OTYsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJTVUdBUiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDQuMjI3MDgxNTQxMDAwMDA0LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiUFJPQ05UIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzYuNDc5MzM5MDU4MDAwMDEsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2My41NTk5OTk5OTk5OTk5OTUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDMyMzAuMjU3MjU5MjkzNzk5NSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDQzMy45NDA3ODA5MzUyNjM3LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk1HIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0MzIuNjc3NjI4Mjc4NTUyNywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJLIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzMDA3LjAwMTY4OTI3ODQyMDYsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4LjM1NzAxNzc1NTkyMjM3NiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDcuMzY0NTYwMjk1ODU1MjY2LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNDMzLjc3NjIzNywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRBX1JBRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjY5LjExODI1LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVRDIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNDUuNDA0NTYwMzgwMDAwMDIsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVEhJQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMS4xMzAwNDAwNDIxOTk5OTk5LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlJJQkYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICAgInF1YW50aXR5IiA6IDAuNzcwMTAxNTEyMTUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTklBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzLjQwNDEyOTMwOTksCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMS43NDM4MTc3OTEzNSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGT0xERkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzMzIuMTg1MDQ2MjUsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIkZPTEZEIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIChmb29kKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzI3LjIzMjA0NjI1LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xBQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMuMDQ4LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVRCMTIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMC4xMDQ3Nzk5OTk5OTk5OTk5OCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMC40Mzg0OTk5OTk5OTk5OTk5NSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyLjU5MTgwNSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRLMSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTcuNzg3NTI1NDA1LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJ0b3RhbERhaWx5IiA6IHsKICAgICAgICAiRU5FUkNfS0NBTCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjguMjE0MDQ0NDgwMDAwMDEsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDYyLjk4OTE2MzM2MTUzODQ2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFTQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDkzLjkyNTYwMTM5NiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4MC45NDk0ODg0Mjk5OTk5OSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE0OC44NTgxNTU4NCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDcyLjk1ODY3ODExNjAwMDAyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0hPTEUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjEuMTg2NjY2NjY2NjY2NjY0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzNC41OTQwNTI0NzA1NzQ5OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDMuMzk0MDc4MDkzNTI2MzcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJNRyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTAzLjAxODQ4MjkyMzQ2NDkyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiSyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjMuOTc4NzU5MzQ2MzQ5MzcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ2LjQyNzg3NjQyMTc5MDk4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiWk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2Ni45NTA1NDgxNDQxMzg3OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMDQuODI1MTc2NzE0Mjg1NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEFfUkFFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyOS45MDIwMjc3Nzc3Nzc3NzUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRDIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNjEuNTYwNjIyNjQ0NDQ0NDYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5NC4xNzAwMDM1MTY2NjY2NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlJJQkYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICAgInF1YW50aXR5IiA6IDU5LjIzODU3Nzg1NzY5MjMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODMuNzc1ODA4MTg2ODc1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTM0LjEzOTgzMDEwMzg0NjE1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODMuMDQ2MjYxNTYyNSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEIxMiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0LjM2NTgzMzMzMzMzMzMzMywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIuOTIzMzMzMzMzMzMzMzMzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNy4yNzg3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE0LjgyMjkzNzgzNzUwMDAwMSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0KICAgICAgfSwKICAgICAgImRpZ2VzdCIgOiBbIHsKICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgInRhZyIgOiAiRkFUIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmYXRDb250ZW50IiwKICAgICAgICAidG90YWwiIDogNDAuOTQyOTU2MTg1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNjIuOTg5MTYzMzYxNTM4NDYsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVNBVCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzYXR1cmF0ZWRGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAxOC43ODUxMjAyNzkyLAogICAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICAgImRhaWx5IiA6IDkzLjkyNTYwMTM5NiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiVHJhbnMiLAogICAgICAgICAgInRhZyIgOiAiRkFUUk4iLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAidHJhbnNGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAwLjk4MTM1NTk5OTk5OTk5OTksCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiTW9ub3Vuc2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBTVMiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDEwLjc3MDY4MzYwMTQ1LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVBVIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiA3Ljc3MzQ3NDY2ODgwMDAwMDUsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgInRhZyIgOiAiQ0hPQ0RGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJjYXJib2h5ZHJhdGVDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMjQyLjg0ODQ2NTI4OTk5OTk4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogODAuOTQ5NDg4NDI5OTk5OTksCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIChuZXQpIiwKICAgICAgICAgICJ0YWciIDogIkNIT0NERi5uZXQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDIwNS42MzM5MjYzMjk5OTk5OCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAidGFnIiA6ICJGSUJURyIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmaWJlckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDM3LjIxNDUzODk2LAogICAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICAgImRhaWx5IiA6IDE0OC44NTgxNTU4NCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzIiwKICAgICAgICAgICJ0YWciIDogIlNVR0FSIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInN1Z2FyQ29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogNDQuMjI3MDgxNTQxMDAwMDA0LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycywgYWRkZWQiLAogICAgICAgICAgInRhZyIgOiAiU1VHQVIuYWRkZWQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICJ0YWciIDogIlBST0NOVCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAicHJvdGVpbkNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAzNi40NzkzMzkwNTgwMDAwMSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDcyLjk1ODY3ODExNjAwMDAyLAogICAgICAgICJ1bml0IiA6ICJnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgInRhZyIgOiAiQ0hPTEUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNob2xlc3Rlcm9sQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDYzLjU1OTk5OTk5OTk5OTk5NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDIxLjE4NjY2NjY2NjY2NjY2NCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgInRhZyIgOiAiTkEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogInNvZGl1bUNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAzMjMwLjI1NzI1OTI5Mzc5OTUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMzQuNTk0MDUyNDcwNTc0OTgsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAidGFnIiA6ICJDQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA0MzMuOTQwNzgwOTM1MjYzNywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQzLjM5NDA3ODA5MzUyNjM3LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAidGFnIiA6ICJNRyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA0MzIuNjc3NjI4Mjc4NTUyNywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEwMy4wMTg0ODI5MjM0NjQ5MiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgInRhZyIgOiAiSyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAzMDA3LjAwMTY4OTI3ODQyMDYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA2My45Nzg3NTkzNDYzNDkzNywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICJ0YWciIDogIkZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDguMzU3MDE3NzU1OTIyMzc2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDYuNDI3ODc2NDIxNzkwOTgsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAidGFnIiA6ICJaTiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA3LjM2NDU2MDI5NTg1NTI2NiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDY2Ljk1MDU0ODE0NDEzODc4LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgInRhZyIgOiAiUCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxNDMzLjc3NjIzNywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDIwNC44MjUxNzY3MTQyODU3LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAidGFnIiA6ICJWSVRBX1JBRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyNjkuMTE4MjUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyOS45MDIwMjc3Nzc3Nzc3NzUsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAidGFnIiA6ICJWSVRDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE0NS40MDQ1NjAzODAwMDAwMiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE2MS41NjA2MjI2NDQ0NDQ0NiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgInRhZyIgOiAiVEhJQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxLjEzMDA0MDA0MjE5OTk5OTksCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA5NC4xNzAwMDM1MTY2NjY2NSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgInRhZyIgOiAiUklCRiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAwLjc3MDEwMTUxMjE1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNTkuMjM4NTc3ODU3NjkyMywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAidGFnIiA6ICJOSUEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTMuNDA0MTI5MzA5OSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDgzLjc3NTgwODE4Njg3NSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICJ0YWciIDogIlZJVEI2QSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxLjc0MzgxNzc5MTM1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTM0LjEzOTgzMDEwMzg0NjE1LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgInRhZyIgOiAiRk9MREZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDMzMi4xODUwNDYyNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDgzLjA0NjI2MTU2MjUsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIChmb29kKSIsCiAgICAgICAgInRhZyIgOiAiRk9MRkQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMzI3LjIzMjA0NjI1LAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xpYyBhY2lkIiwKICAgICAgICAidGFnIiA6ICJGT0xBQyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAzLjA0OCwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICJ0YWciIDogIlZJVEIxMiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAwLjEwNDc3OTk5OTk5OTk5OTk4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNC4zNjU4MzMzMzMzMzMzMzMsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAidGFnIiA6ICJWSVREIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuNDM4NDk5OTk5OTk5OTk5OTUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyLjkyMzMzMzMzMzMzMzMzMywKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICJ0YWciIDogIlRPQ1BIQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyLjU5MTgwNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE3LjI3ODcsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICJ0YWciIDogIlZJVEsxIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE3Ljc4NzUyNTQwNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE0LjgyMjkzNzgzNzUwMDAwMSwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9IF0KICAgIH0sCiAgICAiYm9va21hcmtlZCIgOiBmYWxzZSwKICAgICJib3VnaHQiIDogZmFsc2UKICB9LCB7CiAgICAicmVjaXBlIiA6IHsKICAgICAgInVyaSIgOiAiaHR0cDovL3d3dy5lZGFtYW0uY29tL29udG9sb2dpZXMvZWRhbWFtLm93bCNyZWNpcGVfMmYxNWFlNjM1MjlmNWU3MWM3ZWM1ODE3NmJiNWM0NWUiLAogICAgICAibGFiZWwiIDogIkNyb2NrLVBvdCBDaGlja2VuIFRhY29zIFJlY2lwZSIsCiAgICAgICJpbWFnZSIgOiAiaHR0cHM6Ly93d3cuZWRhbWFtLmNvbS93ZWItaW1nL2U2Ny9lNjcwYzhkZTUzNmY0YmVjZWVkYzBmNDcwN2VmZWM1MC5qcGciLAogICAgICAic291cmNlIiA6ICJUaGUgRGFpbHkgTWVhbCIsCiAgICAgICJ1cmwiIDogImh0dHA6Ly93d3cudGhlZGFpbHltZWFsLmNvbS9jcm9jay1wb3QtY2hpY2tlbi10YWNvcy1yZWNpcGUiLAogICAgICAic2hhcmVBcyIgOiAiaHR0cDovL3d3dy5lZGFtYW0uY29tL3JlY2lwZS9jcm9jay1wb3QtY2hpY2tlbi10YWNvcy1yZWNpcGUtMmYxNWFlNjM1MjlmNWU3MWM3ZWM1ODE3NmJiNWM0NWUvdGFjb3MiLAogICAgICAieWllbGQiIDogNi4wLAogICAgICAiZGlldExhYmVscyIgOiBbIF0sCiAgICAgICJoZWFsdGhMYWJlbHMiIDogWyAiU3VnYXItQ29uc2Npb3VzIiwgIlBlYW51dC1GcmVlIiwgIlRyZWUtTnV0LUZyZWUiLCAiQWxjb2hvbC1GcmVlIiBdLAogICAgICAiY2F1dGlvbnMiIDogWyAiRWdncyIsICJNaWxrIiBdLAogICAgICAiaW5ncmVkaWVudExpbmVzIiA6IFsgIjYgICBmcm96ZW4gY2hpY2tlbiBicmVhc3RzIiwgIjEgIEN1cCAgIHNhbHNhIiwgIjEgICBwYWNrZXQgb2YgdGFjbyBzZWFzb25pbmciLCAiMS80ICBDdXAgICByYW5jaCBkcmVzc2luZyIsICIxOCAgIGhhcmQgb3Igc29mdCB0YWNvcyIgXSwKICAgICAgImluZ3JlZGllbnRzIiA6IFsgewogICAgICAgICJ0ZXh0IiA6ICI2ICAgZnJvemVuIGNoaWNrZW4gYnJlYXN0cyIsCiAgICAgICAgIndlaWdodCIgOiAxMDQ0LjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxICBDdXAgICBzYWxzYSIsCiAgICAgICAgIndlaWdodCIgOiAyNjAuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgICBwYWNrZXQgb2YgdGFjbyBzZWFzb25pbmciLAogICAgICAgICJ3ZWlnaHQiIDogNC40CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMS80ICBDdXAgICByYW5jaCBkcmVzc2luZyIsCiAgICAgICAgIndlaWdodCIgOiA2MC4wMDAwMDAwMDEwMTQ0MgogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjE4ICAgaGFyZCBvciBzb2Z0IHRhY29zIiwKICAgICAgICAid2VpZ2h0IiA6IDIyOC42CiAgICAgIH0gXSwKICAgICAgImNhbG9yaWVzIiA6IDMyMjUuMzI0MDAwMDA0MjcwNiwKICAgICAgInRvdGFsV2VpZ2h0IiA6IDE1OTcuMDAwMDAwMDAxMDE0MywKICAgICAgInRvdGFsVGltZSIgOiAwLjAsCiAgICAgICJ0b3RhbE51dHJpZW50cyIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMyMjUuMzI0MDAwMDA0MjcwNiwKICAgICAgICAgICJ1bml0IiA6ICJrY2FsIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTczLjg3OTI2MDAwMDQ1MTgsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVNBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDguNDEzNTkwMDAwMDcwNjQsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVRSTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjgyNTM5MjAwMDAwNTY4MDcsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQU1TIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTW9ub3Vuc2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2MS4zNTE4NzQwMDAwOTI5NywKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBUFUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb2x5dW5zYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ4LjgxNjE1NDAwMDI2MDUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTY4Ljk0MDEwMDAwMDA1ODI0LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRklCVEciIDogewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjAuNDkzNCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIlNVR0FSIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNi41NjYyMDAwMDAwNDc1NzYsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMzcuNTQ1MjIwMDAwMDEzNCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkNIT0xFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICAgInF1YW50aXR5IiA6IDY4My43NjAwMDAwMDAyNjM3LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzNzczLjE3MjAwMDAwOTE0LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDgyLjA2NDAwMDAwMDI4NCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJNRyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTAyLjU5NDAwMDAwMDA1MDcsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiSyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzYzNC4zNjIwMDAwMDA2NDg1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTQuMjQ3ODQwMDAwMDAzMDQxLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlpOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTIuNzY2NjIwMDAwMDAxNzI0LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNTU0LjkyMjAwMDAwMTg1NjMsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMyOS40NTQwMDAwMDAxNDIwNiwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNS40NjgsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVEhJQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMS4yNjMxMTIwMDAwMDAxNTIsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMS4yMTQwODQwMDAwMDA4ODI2LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk5JQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMTAuNzgyNTYyMDAwMDAwNTQsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNi41MzA5MzgwMDAwMDAzMDQ2LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkZPTERGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI1NC45NDIwMDAwMDAwNDA2LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xGRCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE2NS43ODgwMDAwMDAwNDA2LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xBQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDU0Ljg2NDAwMDAwMDAwMDAwNCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMuNjU3NjAwMDAwMDAxODI1NiwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNC4yMzYwMDAwMDAwMDEwMTUsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlRPQ1BIQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOC45NTgyMjAwMDAwMjI1MjEsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE0MS4xMzcyMDAwMDEyNzAwNiwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfQogICAgICB9LAogICAgICAidG90YWxEYWlseSIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE2MS4yNjYyMDAwMDAyMTM1MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjY3LjUwNjU1Mzg0Njg0ODkzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFTQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI0Mi4wNjc5NTAwMDAzNTMyMiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1Ni4zMTMzNjY2NjY2ODYwOCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDgxLjk3MzYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0NzUuMDkwNDQwMDAwMDI2OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0xFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIyNy45MjAwMDAwMDAwODc5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDE1Ny4yMTU1MDAwMDAzODA4NCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDguMjA2NDAwMDAwMDI4NCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk1HIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMTkuNjY1MjM4MDk1MjUwMTcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJLIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3Ny4zMjY4NTEwNjM4NDM1OSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNzkuMTU0NjY2NjY2NjgzNTcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDExNi4wNjAxODE4MTgxOTc0OSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzNjQuOTg4ODU3MTQzMTIyMzUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRBX1JBRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzYuNjA2MDAwMDAwMDE1NzgsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRDIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2LjA3NTU1NTU1NTU1NTU1NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEwNS4yNTkzMzMzMzMzNDU5OSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlJJQkYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICAgInF1YW50aXR5IiA6IDkzLjM5MTA3NjkyMzE0NDgxLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTklBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICAgInF1YW50aXR5IiA6IDY5Mi4zOTEwMTI1MDAwMDM0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTAyLjM3OTg0NjE1Mzg2OTU1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjMuNzM1NTAwMDAwMDEwMTUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRCMTIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTUyLjQwMDAwMDAwMDA3NjEsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVREIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyOC4yNDAwMDAwMDAwMDY3NjYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJUT0NQSEEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICAgInF1YW50aXR5IiA6IDU5LjcyMTQ2NjY2NjgxNjgxLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDExNy42MTQzMzMzMzQzOTE3MiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0KICAgICAgfSwKICAgICAgImRpZ2VzdCIgOiBbIHsKICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgInRhZyIgOiAiRkFUIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmYXRDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMTczLjg3OTI2MDAwMDQ1MTgsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyNjcuNTA2NTUzODQ2ODQ4OTMsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVNBVCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzYXR1cmF0ZWRGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiA0OC40MTM1OTAwMDAwNzA2NCwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiAyNDIuMDY3OTUwMDAwMzUzMjIsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgICAgICJ0YWciIDogIkZBVFJOIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogInRyYW5zRmF0Q29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMS44MjUzOTIwMDAwMDU2ODA3LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQU1TIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiA2MS4zNTE4NzQwMDAwOTI5NywKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJQb2x5dW5zYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFQVSIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogNDguODE2MTU0MDAwMjYwNSwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAidGFnIiA6ICJDSE9DREYiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNhcmJvaHlkcmF0ZUNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAxNjguOTQwMTAwMDAwMDU4MjQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA1Ni4zMTMzNjY2NjY2ODYwOCwKICAgICAgICAidW5pdCIgOiAiZyIsCiAgICAgICAgInN1YiIgOiBbIHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMgKG5ldCkiLAogICAgICAgICAgInRhZyIgOiAiQ0hPQ0RGLm5ldCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMTQ4LjQ0NjcwMDAwMDA1ODIzLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJ0YWciIDogIkZJQlRHIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogImZpYmVyQ29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMjAuNDkzNCwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiA4MS45NzM2LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMiLAogICAgICAgICAgInRhZyIgOiAiU1VHQVIiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic3VnYXJDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAxNi41NjYyMDAwMDAwNDc1NzYsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzLCBhZGRlZCIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUi5hZGRlZCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9IF0KICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgInRhZyIgOiAiUFJPQ05UIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJwcm90ZWluQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDIzNy41NDUyMjAwMDAwMTM0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDc1LjA5MDQ0MDAwMDAyNjgsCiAgICAgICAgInVuaXQiIDogImciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAidGFnIiA6ICJDSE9MRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiY2hvbGVzdGVyb2xDb250ZW50IiwKICAgICAgICAidG90YWwiIDogNjgzLjc2MDAwMDAwMDI2MzcsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyMjcuOTIwMDAwMDAwMDg3OSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgInRhZyIgOiAiTkEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogInNvZGl1bUNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAzNzczLjE3MjAwMDAwOTE0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTU3LjIxNTUwMDAwMDM4MDg0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgInRhZyIgOiAiQ0EiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNDgyLjA2NDAwMDAwMDI4NCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQ4LjIwNjQwMDAwMDAyODQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICJ0YWciIDogIk1HIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDUwMi41OTQwMDAwMDAwNTA3LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTE5LjY2NTIzODA5NTI1MDE3LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAidGFnIiA6ICJLIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDM2MzQuMzYyMDAwMDAwNjQ4NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDc3LjMyNjg1MTA2Mzg0MzU5LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgInRhZyIgOiAiRkUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTQuMjQ3ODQwMDAwMDAzMDQxLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNzkuMTU0NjY2NjY2NjgzNTcsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAidGFnIiA6ICJaTiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxMi43NjY2MjAwMDAwMDE3MjQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMTYuMDYwMTgxODE4MTk3NDksCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAidGFnIiA6ICJQIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDI1NTQuOTIyMDAwMDAxODU2MywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDM2NC45ODg4NTcxNDMxMjIzNSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgInRhZyIgOiAiVklUQV9SQUUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMzI5LjQ1NDAwMDAwMDE0MjA2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzYuNjA2MDAwMDAwMDE1NzgsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAidGFnIiA6ICJWSVRDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDUuNDY4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNi4wNzU1NTU1NTU1NTU1NTUsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICJ0YWciIDogIlRISUEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMS4yNjMxMTIwMDAwMDAxNTIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMDUuMjU5MzMzMzMzMzQ1OTksCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICJ0YWciIDogIlJJQkYiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMS4yMTQwODQwMDAwMDA4ODI2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogOTMuMzkxMDc2OTIzMTQ0ODEsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgInRhZyIgOiAiTklBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDExMC43ODI1NjIwMDAwMDA1NCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDY5Mi4zOTEwMTI1MDAwMDM0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgInRhZyIgOiAiVklUQjZBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDYuNTMwOTM4MDAwMDAwMzA0NiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDUwMi4zNzk4NDYxNTM4Njk1NSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICJ0YWciIDogIkZPTERGRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyNTQuOTQyMDAwMDAwMDQwNiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDYzLjczNTUwMDAwMDAxMDE1LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAgICJ0YWciIDogIkZPTEZEIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE2NS43ODgwMDAwMDAwNDA2LAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xpYyBhY2lkIiwKICAgICAgICAidGFnIiA6ICJGT0xBQyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA1NC44NjQwMDAwMDAwMDAwMDQsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAidGFnIiA6ICJWSVRCMTIiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMy42NTc2MDAwMDAwMDE4MjU2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTUyLjQwMDAwMDAwMDA3NjEsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAidGFnIiA6ICJWSVREIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDQuMjM2MDAwMDAwMDAxMDE1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjguMjQwMDAwMDAwMDA2NzY2LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgInRhZyIgOiAiVE9DUEhBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDguOTU4MjIwMDAwMDIyNTIxLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNTkuNzIxNDY2NjY2ODE2ODEsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICJ0YWciIDogIlZJVEsxIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE0MS4xMzcyMDAwMDEyNzAwNiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDExNy42MTQzMzMzMzQzOTE3MiwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9IF0KICAgIH0sCiAgICAiYm9va21hcmtlZCIgOiBmYWxzZSwKICAgICJib3VnaHQiIDogZmFsc2UKICB9LCB7CiAgICAicmVjaXBlIiA6IHsKICAgICAgInVyaSIgOiAiaHR0cDovL3d3dy5lZGFtYW0uY29tL29udG9sb2dpZXMvZWRhbWFtLm93bCNyZWNpcGVfYWM0NGFlNjhiZTM0OWE3NGZlMDZmZmIzMGYzYjk1YTYiLAogICAgICAibGFiZWwiIDogIkJlZWYgVGFjb3MiLAogICAgICAiaW1hZ2UiIDogImh0dHBzOi8vd3d3LmVkYW1hbS5jb20vd2ViLWltZy9jNmIvYzZiNTg2ZGM3ZTcyZDQ1OTlkMGQ5NjI0NzM2ZWE0YTQuanBnIiwKICAgICAgInNvdXJjZSIgOiAiTWFydGhhIFN0ZXdhcnQiLAogICAgICAidXJsIiA6ICJodHRwOi8vd3d3Lm1hcnRoYXN0ZXdhcnQuY29tLzMzODU3OS9iZWVmLXRhY29zIiwKICAgICAgInNoYXJlQXMiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9yZWNpcGUvYmVlZi10YWNvcy1hYzQ0YWU2OGJlMzQ5YTc0ZmUwNmZmYjMwZjNiOTVhNi90YWNvcyIsCiAgICAgICJ5aWVsZCIgOiA0LjAsCiAgICAgICJkaWV0TGFiZWxzIiA6IFsgIkJhbGFuY2VkIiBdLAogICAgICAiaGVhbHRoTGFiZWxzIiA6IFsgIlN1Z2FyLUNvbnNjaW91cyIsICJWZWdldGFyaWFuIiwgIlBlYW51dC1GcmVlIiwgIlRyZWUtTnV0LUZyZWUiLCAiQWxjb2hvbC1GcmVlIiBdLAogICAgICAiY2F1dGlvbnMiIDogWyAiRWdncyIsICJNaWxrIiBdLAogICAgICAiaW5ncmVkaWVudExpbmVzIiA6IFsgIjMgY3VwcyBUYWNvIEZpbGxpbmcsIHRoYXdlZCIsICIxMiBjb3JuIHRvcnRpbGxhcyAoNi1pbmNoKSIsICIyIGN1cHMgc2hyZWRkZWQgaWNlYmVyZyBsZXR0dWNlIiwgIjEvMiBjdXAgdGhpbmx5IHNsaWNlZCByYWRpc2hlcyIsICIxLzIgY3VwIHNocmVkZGVkIE1vbnRlcmV5IEphY2sgY2hlZXNlIiwgIjEvMyBjaG9wcGVkIGZyZXNoIGNpbGFudHJvIiwgIjEvMiBjdXAgcHJlcGFyZWQgc2Fsc2EiLCAiMS80IGN1cCByZWR1Y2VkLWZhdCBzb3VyIGNyZWFtIiwgIkRpY2VkIGphbGFwZW5vIChvcHRpb25hbCkiIF0sCiAgICAgICJpbmdyZWRpZW50cyIgOiBbIHsKICAgICAgICAidGV4dCIgOiAiMyBjdXBzIFRhY28gRmlsbGluZywgdGhhd2VkIiwKICAgICAgICAid2VpZ2h0IiA6IDM4LjA5OTk5OTk5OTk5OTk5NAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEyIGNvcm4gdG9ydGlsbGFzICg2LWluY2gpIiwKICAgICAgICAid2VpZ2h0IiA6IDI4OC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMiBjdXBzIHNocmVkZGVkIGljZWJlcmcgbGV0dHVjZSIsCiAgICAgICAgIndlaWdodCIgOiAxNDQuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEvMiBjdXAgdGhpbmx5IHNsaWNlZCByYWRpc2hlcyIsCiAgICAgICAgIndlaWdodCIgOiA1OC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMS8yIGN1cCBzaHJlZGRlZCBNb250ZXJleSBKYWNrIGNoZWVzZSIsCiAgICAgICAgIndlaWdodCIgOiA1Ni41CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMS8zIGNob3BwZWQgZnJlc2ggY2lsYW50cm8iLAogICAgICAgICJ3ZWlnaHQiIDogMC4wOTk5OTk5OTk5OTk5OTk5OQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEvMiBjdXAgcHJlcGFyZWQgc2Fsc2EiLAogICAgICAgICJ3ZWlnaHQiIDogMTMwLjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxLzQgY3VwIHJlZHVjZWQtZmF0IHNvdXIgY3JlYW0iLAogICAgICAgICJ3ZWlnaHQiIDogNTcuNQogICAgICB9IF0sCiAgICAgICJjYWxvcmllcyIgOiAxMTkxLjE3OSwKICAgICAgInRvdGFsV2VpZ2h0IiA6IDc3Mi4yLAogICAgICAidG90YWxUaW1lIiA6IDAuMCwKICAgICAgInRvdGFsTnV0cmllbnRzIiA6IHsKICAgICAgICAiRU5FUkNfS0NBTCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTE5MS4xNzksCiAgICAgICAgICAidW5pdCIgOiAia2NhbCIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQyLjIwNjgxMDAwMDAwMDAwNCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBU0FUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxOS44Njk5MjksCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVRSTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAwLjA2NTUzMTk5OTk5OTk5OTk5LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFNUyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTEuOTg4Mjg1LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFQVSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNy4yNTk2ODk5OTk5OTk5OTksCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTcyLjE1MDU1OTk5OTk5OTk4LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRklCVEciIDogewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjUuNjk1NTAwMDAwMDAwMDAzLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiU1VHQVIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEyLjU5OTM2OTk5OTk5OTk5OSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDQwLjQwODk0LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiQ0hPTEUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNzAuNDEwMDAwMDAwMDAwMDEsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDE1ODUuODYwMDAwMDAwMDAwMSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDg1My40MzIwMDAwMDAwMDAxLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk1HIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyOTUuOTY5LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDE0OTkuOTgxOTk5OTk5OTk5NywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDUuOTE3OTEsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiWk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2Ljg2MjM2LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMzc3LjQ3NiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRBX1JBRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjQ4LjIxMzAwMDAwMDAwMDAyLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVRDIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNS42MzA1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDAuNDk2MDU4LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlJJQkYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICAgInF1YW50aXR5IiA6IDAuNjc2NDEyLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk5JQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2Ljg5OTkxNjAwMDAwMDAwMSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjA5NDgwNjk5OTk5OTk5OTksCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTI0LjgwMTk5OTk5OTk5OTk5LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xGRCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEwOS45NDMsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIkZPTEFDIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9saWMgYWNpZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOS4xNDM5OTk5OTk5OTk5OTgsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlZJVEIxMiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAwLjY0MTQ1MDAwMDAwMDAwMDEsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlZJVEQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDAuNTExNTAwMDAwMDAwMDAwMSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzLjI5Mzg4OTk5OTk5OTk5OTgsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ2LjMxOTYwMDAwMDAwMDAxLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJ0b3RhbERhaWx5IiA6IHsKICAgICAgICAiRU5FUkNfS0NBTCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTkuNTU4OTUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDY0LjkzMzU1Mzg0NjE1Mzg2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFTQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDk5LjM0OTY0NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1Ny4zODM1MTk5OTk5OTk5OSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEwMi43ODIwMDAwMDAwMDAwMSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDgwLjgxNzg4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0hPTEUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjMuNDcwMDAwMDAwMDAwMDAyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDY2LjA3NzUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDg1LjM0MzIwMDAwMDAwMDAxLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDcwLjQ2ODgwOTUyMzgwOTUxLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiSyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzEuOTE0NTEwNjM4Mjk3ODcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDMyLjg3NzI3Nzc3Nzc3Nzc4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiWk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2Mi4zODUwOTA5MDkwOTA5MDYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTk2Ljc4MjI4NTcxNDI4NTczLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI3LjU3OTIyMjIyMjIyMjIyNCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE3LjM2NzIyMjIyMjIyMjIyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVEhJQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDEuMzM4MTY2NjY2NjY2NjcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJSSUJGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1Mi4wMzE2OTIzMDc2OTIzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTklBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQzLjEyNDQ3NTAwMDAwMDAwNCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEI2QSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICAgInF1YW50aXR5IiA6IDg0LjIxNTkyMzA3NjkyMzA2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzEuMjAwNDk5OTk5OTk5OTk4LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI2LjcyNzA4MzMzMzMzMzM0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMy40MTAwMDAwMDAwMDAwMDA2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMS45NTkyNjY2NjY2NjY2NjQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRLMSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzguNTk5NjY2NjY2NjY2NjcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkaWdlc3QiIDogWyB7CiAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICJ0YWciIDogIkZBVCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiZmF0Q29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDQyLjIwNjgxMDAwMDAwMDAwNCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDY0LjkzMzU1Mzg0NjE1Mzg2LAogICAgICAgICJ1bml0IiA6ICJnIiwKICAgICAgICAic3ViIiA6IFsgewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFTQVQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic2F0dXJhdGVkRmF0Q29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMTkuODY5OTI5LAogICAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICAgImRhaWx5IiA6IDk5LjM0OTY0NSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiVHJhbnMiLAogICAgICAgICAgInRhZyIgOiAiRkFUUk4iLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAidHJhbnNGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAwLjA2NTUzMTk5OTk5OTk5OTk5LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQU1TIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAxMS45ODgyODUsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiUG9seXVuc2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBUFUiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDcuMjU5Njg5OTk5OTk5OTk5LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9IF0KICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiQ2FyYnMiLAogICAgICAgICJ0YWciIDogIkNIT0NERiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiY2FyYm9oeWRyYXRlQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDE3Mi4xNTA1NTk5OTk5OTk5OCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDU3LjM4MzUxOTk5OTk5OTk5LAogICAgICAgICJ1bml0IiA6ICJnIiwKICAgICAgICAic3ViIiA6IFsgewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyAobmV0KSIsCiAgICAgICAgICAidGFnIiA6ICJDSE9DREYubmV0IiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAxNDYuNDU1MDU5OTk5OTk5OTcsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInRhZyIgOiAiRklCVEciLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiZmliZXJDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAyNS42OTU1MDAwMDAwMDAwMDMsCiAgICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgICAiZGFpbHkiIDogMTAyLjc4MjAwMDAwMDAwMDAxLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMiLAogICAgICAgICAgInRhZyIgOiAiU1VHQVIiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic3VnYXJDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAxMi41OTkzNjk5OTk5OTk5OTksCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzLCBhZGRlZCIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUi5hZGRlZCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9IF0KICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgInRhZyIgOiAiUFJPQ05UIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJwcm90ZWluQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDQwLjQwODk0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogODAuODE3ODgsCiAgICAgICAgInVuaXQiIDogImciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAidGFnIiA6ICJDSE9MRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiY2hvbGVzdGVyb2xDb250ZW50IiwKICAgICAgICAidG90YWwiIDogNzAuNDEwMDAwMDAwMDAwMDEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyMy40NzAwMDAwMDAwMDAwMDIsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICJ0YWciIDogIk5BIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzb2RpdW1Db250ZW50IiwKICAgICAgICAidG90YWwiIDogMTU4NS44NjAwMDAwMDAwMDAxLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNjYuMDc3NSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICJ0YWciIDogIkNBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDg1My40MzIwMDAwMDAwMDAxLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogODUuMzQzMjAwMDAwMDAwMDEsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICJ0YWciIDogIk1HIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDI5NS45NjksCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA3MC40Njg4MDk1MjM4MDk1MSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgInRhZyIgOiAiSyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxNDk5Ljk4MTk5OTk5OTk5OTcsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzMS45MTQ1MTA2MzgyOTc4NywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICJ0YWciIDogIkZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDUuOTE3OTEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzMi44NzcyNzc3Nzc3Nzc3OCwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICJ0YWciIDogIlpOIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDYuODYyMzYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA2Mi4zODUwOTA5MDkwOTA5MDYsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAidGFnIiA6ICJQIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEzNzcuNDc2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTk2Ljc4MjI4NTcxNDI4NTczLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAidGFnIiA6ICJWSVRBX1JBRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyNDguMjEzMDAwMDAwMDAwMDIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyNy41NzkyMjIyMjIyMjIyMjQsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAidGFnIiA6ICJWSVRDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE1LjYzMDUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxNy4zNjcyMjIyMjIyMjIyMiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgInRhZyIgOiAiVEhJQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAwLjQ5NjA1OCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQxLjMzODE2NjY2NjY2NjY3LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAidGFnIiA6ICJSSUJGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuNjc2NDEyLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNTIuMDMxNjkyMzA3NjkyMywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAidGFnIiA6ICJOSUEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNi44OTk5MTYwMDAwMDAwMDEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0My4xMjQ0NzUwMDAwMDAwMDQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAidGFnIiA6ICJWSVRCNkEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMS4wOTQ4MDY5OTk5OTk5OTk5LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogODQuMjE1OTIzMDc2OTIzMDYsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAidGFnIiA6ICJGT0xERkUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTI0LjgwMTk5OTk5OTk5OTk5LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzEuMjAwNDk5OTk5OTk5OTk4LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAgICJ0YWciIDogIkZPTEZEIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEwOS45NDMsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICJ0YWciIDogIkZPTEFDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDkuMTQzOTk5OTk5OTk5OTk4LAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgInRhZyIgOiAiVklUQjEyIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuNjQxNDUwMDAwMDAwMDAwMSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDI2LjcyNzA4MzMzMzMzMzM0LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgInRhZyIgOiAiVklURCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAwLjUxMTUwMDAwMDAwMDAwMDEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzLjQxMDAwMDAwMDAwMDAwMDYsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAidGFnIiA6ICJUT0NQSEEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMy4yOTM4ODk5OTk5OTk5OTk4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjEuOTU5MjY2NjY2NjY2NjY0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAidGFnIiA6ICJWSVRLMSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA0Ni4zMTk2MDAwMDAwMDAwMSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDM4LjU5OTY2NjY2NjY2NjY3LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0gXQogICAgfSwKICAgICJib29rbWFya2VkIiA6IGZhbHNlLAogICAgImJvdWdodCIgOiBmYWxzZQogIH0sIHsKICAgICJyZWNpcGUiIDogewogICAgICAidXJpIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vb250b2xvZ2llcy9lZGFtYW0ub3dsI3JlY2lwZV9jODI3OWVhYzViMzU3YjYxMDdjZTEyOTMwOTg1MTk2MSIsCiAgICAgICJsYWJlbCIgOiAiQ3VycmllZCBGaXNoIFRhY29zIFdpdGggQmVhbiBTYWxhZCIsCiAgICAgICJpbWFnZSIgOiAiaHR0cHM6Ly93d3cuZWRhbWFtLmNvbS93ZWItaW1nLzA5Ni8wOTYxODA3OGY4YTM0ZTQxYWQwODhlMDY0MTUxNWMzZC5qcGciLAogICAgICAic291cmNlIiA6ICJCQkMgR29vZCBGb29kIiwKICAgICAgInVybCIgOiAiaHR0cDovL3d3dy5iYmNnb29kZm9vZC5jb20vcmVjaXBlcy81ODY3L2N1cnJpZWQtZmlzaC10YWNvcy13aXRoLWJlYW4tc2FsYWQiLAogICAgICAic2hhcmVBcyIgOiAiaHR0cDovL3d3dy5lZGFtYW0uY29tL3JlY2lwZS9jdXJyaWVkLWZpc2gtdGFjb3Mtd2l0aC1iZWFuLXNhbGFkLWM4Mjc5ZWFjNWIzNTdiNjEwN2NlMTI5MzA5ODUxOTYxL3RhY29zIiwKICAgICAgInlpZWxkIiA6IDIuMCwKICAgICAgImRpZXRMYWJlbHMiIDogWyBdLAogICAgICAiaGVhbHRoTGFiZWxzIiA6IFsgIlBlYW51dC1GcmVlIiwgIlRyZWUtTnV0LUZyZWUiLCAiQWxjb2hvbC1GcmVlIiBdLAogICAgICAiY2F1dGlvbnMiIDogWyBdLAogICAgICAiaW5ncmVkaWVudExpbmVzIiA6IFsgIkZpbmdlci1sZW5ndGggY3VjdW1iZXIgY2h1bmssIGRpY2VkIiwgIjg1LjBnIGNoZXJyeSB0b21hdG9lcyAsIGhhdmxlZCIsICJKdWljZSDCvSBsZW1vbiIsICIxLjAgdGJzcCBtaWxkIGN1cnJ5IHBvd2RlciIsICIxLjAgdGJzcCBwbGFpbiBmbG91ciIsICI0IHRhY29zIHNoZWxscywgc291cmVkIGNyZWFtIGFuZCBsaW1lIHdlZGdlcyB0byBzZXJ2ZSIsICIyLjAgdHNwIHZlZ2V0YWJsZSBvaWwiLCAiwr0gNDEwZyBjYW4ga2lkbmV5IGJlYW4gLCByaW5zZWQgYW5kIGRyYWluZWQiLCAiMSByaXBlIGF2b2NhZG8gLCBwZWVsZWQgYW5kIGNob3BwZWQiLCAiMiBza2lubGVzcyBoYWRkb2NrIGZpbGxldHMsIGFib3V0IDE0MGcvNW96IGVhY2giIF0sCiAgICAgICJpbmdyZWRpZW50cyIgOiBbIHsKICAgICAgICAidGV4dCIgOiAiRmluZ2VyLWxlbmd0aCBjdWN1bWJlciBjaHVuaywgZGljZWQiLAogICAgICAgICJ3ZWlnaHQiIDogMC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiODUuMGcgY2hlcnJ5IHRvbWF0b2VzICwgaGF2bGVkIiwKICAgICAgICAid2VpZ2h0IiA6IDg1LjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICJKdWljZSDCvSBsZW1vbiIsCiAgICAgICAgIndlaWdodCIgOiAyOS4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMS4wIHRic3AgbWlsZCBjdXJyeSBwb3dkZXIiLAogICAgICAgICJ3ZWlnaHQiIDogNi4zCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMS4wIHRic3AgcGxhaW4gZmxvdXIiLAogICAgICAgICJ3ZWlnaHQiIDogNy44MTI0OTk5OTk4Njc5MTQ1CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiNCB0YWNvcyBzaGVsbHMsIHNvdXJlZCBjcmVhbSBhbmQgbGltZSB3ZWRnZXMgdG8gc2VydmUiLAogICAgICAgICJ3ZWlnaHQiIDogMzMuNQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjIuMCB0c3AgdmVnZXRhYmxlIG9pbCIsCiAgICAgICAgIndlaWdodCIgOiA5LjMzMzMzMzMzMzk2NDUyOQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIsK9IDQxMGcgY2FuIGtpZG5leSBiZWFuICwgcmluc2VkIGFuZCBkcmFpbmVkIiwKICAgICAgICAid2VpZ2h0IiA6IDIwNS4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSByaXBlIGF2b2NhZG8gLCBwZWVsZWQgYW5kIGNob3BwZWQiLAogICAgICAgICJ3ZWlnaHQiIDogMjAxLjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIyIHNraW5sZXNzIGhhZGRvY2sgZmlsbGV0cywgYWJvdXQgMTQwZy81b3ogZWFjaCIsCiAgICAgICAgIndlaWdodCIgOiAyODAuMAogICAgICB9IF0sCiAgICAgICJjYWxvcmllcyIgOiA4NjYuMTc5MTY2NjcxNzY1NiwKICAgICAgInRvdGFsV2VpZ2h0IiA6IDg1Ni45NDU4MzMzMzM4MzI0LAogICAgICAidG90YWxUaW1lIiA6IDAuMCwKICAgICAgInRvdGFsTnV0cmllbnRzIiA6IHsKICAgICAgICAiRU5FUkNfS0NBTCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODY2LjE3OTE2NjY3MTc2NTYsCiAgICAgICAgICAidW5pdCIgOiAia2NhbCIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQyLjU3MzEyNTgzMzk2MzI0LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFTQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDUuNTgzMjE2NzA4Mzc0MjI2LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFUUk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJUcmFucyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMC4wODI3ODY2NjY2NzE1MDc5NCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBTVMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJNb25vdW5zYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI3Ljk2NTAxNzg3NTQ1NDI5LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFQVSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNi41ODk1MDE5NTg0NDA3MSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2NS44ODk1MDg3NDk4OTkyLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRklCVEciIDogewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjguNjE0NTM3NDk5OTk2NDM3LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiU1VHQVIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDguODQwNzIzNzQ5OTk5NjQzLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiUFJPQ05UIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjMuNDI1ODAxMjQ5OTg2MzY0LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiQ0hPTEUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTUxLjIwMDAwMDAwMDAwMDAyLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMjI2LjIwMjI0OTk5OTk5NzUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiQ0EiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxODUuOTYxODc0OTk5OTgwMTgsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDIwMy45MDM3NDk5OTk5NzA5NiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJLIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNjE5LjIwOTM3NDk5OTg1OSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDUuODc5MjA2MjQ5OTk4NDU1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlpOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMy42NzQ5Mzc0OTk5OTkwNzYsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiUCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDk4Ny4yNDg0OTk5OTk4NTc0LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEFfUkFFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5OC4zOTMsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlZJVEMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDU5LjM2NzYsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVEhJQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMC41MDIwMzI5OTk5OTk4NDE1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlJJQkYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICAgInF1YW50aXR5IiA6IDAuNTY5ODI0OTk5OTk5OTQ3MiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTQuNjU2MjY2MjQ5OTk4MzUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMS41NzA3Mjc0OTk5OTk5NDIsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjk0LjM4OTI0OTk5OTk2NTcsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIkZPTEZEIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIChmb29kKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjk0LjM4OTI0OTk5OTk2NTcsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlZJVEIxMiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1LjEyNDAwMDAwMDAwMDAwMDYsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlZJVEQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEuNDAwMDAwMDAwMDAwMDAwMSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVE9DUEhBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5LjY2NzM3NDE2NjgwNDE4OSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRLMSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjQuMTIxODM3NDk5OTk5NjEsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0KICAgICAgfSwKICAgICAgInRvdGFsRGFpbHkiIDogewogICAgICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRW5lcmd5IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0My4zMDg5NTgzMzM1ODgyODYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDY1LjQ5NzExNjY2NzYzNTc1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFTQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI3LjkxNjA4MzU0MTg3MTEzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0hPQ0RGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIxLjk2MzE2OTU4MzI5OTczNCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDExNC40NTgxNDk5OTk5ODU3NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDEyNi44NTE2MDI0OTk5NzI3MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0xFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICAgInF1YW50aXR5IiA6IDUwLjQwMDAwMDAwMDAwMDAwNiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1MS4wOTE3NjA0MTY2NjY1NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTguNTk2MTg3NDk5OTk4MDE3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ4LjU0ODUxMTkwNDc1NDk5NiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDU1LjcyNzg1OTA0MjU1MDE4NiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzIuNjYyMjU2OTQ0NDM1ODYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMzLjQwODUyMjcyNzI2NDMzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE0MS4wMzU0OTk5OTk5Nzk2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEwLjkzMjU1NTU1NTU1NTU1NCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDY1Ljk2NCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQxLjgzNjA4MzMzMzMyMDEzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDMuODMyNjkyMzA3Njg4MjQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTEuNjAxNjY0MDYyNDg5NjksCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMjAuODI1MTkyMzA3Njg3ODYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGT0xERkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3My41OTczMTI0OTk5OTE0MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEIxMiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMTMuNTAwMDAwMDAwMDAwMDYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVREIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5LjMzMzMzMzMzMzMzMzMzNCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlRPQ1BIQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjQuNDQ5MTYxMTEyMDI3OTIsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRLMSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTMuNDM0ODY0NTgzMzMzMDEsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkaWdlc3QiIDogWyB7CiAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICJ0YWciIDogIkZBVCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiZmF0Q29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDQyLjU3MzEyNTgzMzk2MzI0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNjUuNDk3MTE2NjY3NjM1NzUsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVNBVCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzYXR1cmF0ZWRGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiA1LjU4MzIxNjcwODM3NDIyNiwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiAyNy45MTYwODM1NDE4NzExMywKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiVHJhbnMiLAogICAgICAgICAgInRhZyIgOiAiRkFUUk4iLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAidHJhbnNGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAwLjA4Mjc4NjY2NjY3MTUwNzk0LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQU1TIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAyNy45NjUwMTc4NzU0NTQyOSwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJQb2x5dW5zYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFQVSIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogNi41ODk1MDE5NTg0NDA3MSwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAidGFnIiA6ICJDSE9DREYiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNhcmJvaHlkcmF0ZUNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiA2NS44ODk1MDg3NDk4OTkyLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjEuOTYzMTY5NTgzMjk5NzM0LAogICAgICAgICJ1bml0IiA6ICJnIiwKICAgICAgICAic3ViIiA6IFsgewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyAobmV0KSIsCiAgICAgICAgICAidGFnIiA6ICJDSE9DREYubmV0IiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAzNy4yNzQ5NzEyNDk5MDI3NywKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAidGFnIiA6ICJGSUJURyIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmaWJlckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDI4LjYxNDUzNzQ5OTk5NjQzNywKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiAxMTQuNDU4MTQ5OTk5OTg1NzUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzdWdhckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDguODQwNzIzNzQ5OTk5NjQzLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycywgYWRkZWQiLAogICAgICAgICAgInRhZyIgOiAiU1VHQVIuYWRkZWQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSBdCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICJ0YWciIDogIlBST0NOVCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAicHJvdGVpbkNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiA2My40MjU4MDEyNDk5ODYzNjQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMjYuODUxNjAyNDk5OTcyNzMsCiAgICAgICAgInVuaXQiIDogImciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAidGFnIiA6ICJDSE9MRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiY2hvbGVzdGVyb2xDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMTUxLjIwMDAwMDAwMDAwMDAyLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNTAuNDAwMDAwMDAwMDAwMDA2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAidGFnIiA6ICJOQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic29kaXVtQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDEyMjYuMjAyMjQ5OTk5OTk3NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDUxLjA5MTc2MDQxNjY2NjU3LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgInRhZyIgOiAiQ0EiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTg1Ljk2MTg3NDk5OTk4MDE4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTguNTk2MTg3NDk5OTk4MDE3LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAidGFnIiA6ICJNRyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyMDMuOTAzNzQ5OTk5OTcwOTYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0OC41NDg1MTE5MDQ3NTQ5OTYsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICJ0YWciIDogIksiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjYxOS4yMDkzNzQ5OTk4NTksCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA1NS43Mjc4NTkwNDI1NTAxODYsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAidGFnIiA6ICJGRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA1Ljg3OTIwNjI0OTk5ODQ1NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDMyLjY2MjI1Njk0NDQzNTg2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgInRhZyIgOiAiWk4iLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMy42NzQ5Mzc0OTk5OTkwNzYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzMy40MDg1MjI3MjcyNjQzMywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICJ0YWciIDogIlAiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogOTg3LjI0ODQ5OTk5OTg1NzQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxNDEuMDM1NDk5OTk5OTc5NiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgInRhZyIgOiAiVklUQV9SQUUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogOTguMzkzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTAuOTMyNTU1NTU1NTU1NTU0LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgInRhZyIgOiAiVklUQyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA1OS4zNjc2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNjUuOTY0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAidGFnIiA6ICJUSElBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuNTAyMDMyOTk5OTk5ODQxNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQxLjgzNjA4MzMzMzMyMDEzLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAidGFnIiA6ICJSSUJGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuNTY5ODI0OTk5OTk5OTQ3MiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQzLjgzMjY5MjMwNzY4ODI0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICJ0YWciIDogIk5JQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxNC42NTYyNjYyNDk5OTgzNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDkxLjYwMTY2NDA2MjQ4OTY5LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgInRhZyIgOiAiVklUQjZBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEuNTcwNzI3NDk5OTk5OTQyLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTIwLjgyNTE5MjMwNzY4Nzg2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgInRhZyIgOiAiRk9MREZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDI5NC4zODkyNDk5OTk5NjU3LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNzMuNTk3MzEyNDk5OTkxNDMsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIChmb29kKSIsCiAgICAgICAgInRhZyIgOiAiRk9MRkQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjk0LjM4OTI0OTk5OTk2NTcsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICJ0YWciIDogIkZPTEFDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICJ0YWciIDogIlZJVEIxMiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA1LjEyNDAwMDAwMDAwMDAwMDYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyMTMuNTAwMDAwMDAwMDAwMDYsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAidGFnIiA6ICJWSVREIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEuNDAwMDAwMDAwMDAwMDAwMSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDkuMzMzMzMzMzMzMzMzMzM0LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgInRhZyIgOiAiVE9DUEhBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDkuNjY3Mzc0MTY2ODA0MTg5LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNjQuNDQ5MTYxMTEyMDI3OTIsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICJ0YWciIDogIlZJVEsxIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDY0LjEyMTgzNzQ5OTk5OTYxLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNTMuNDM0ODY0NTgzMzMzMDEsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSBdCiAgICB9LAogICAgImJvb2ttYXJrZWQiIDogZmFsc2UsCiAgICAiYm91Z2h0IiA6IGZhbHNlCiAgfSwgewogICAgInJlY2lwZSIgOiB7CiAgICAgICJ1cmkiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9vbnRvbG9naWVzL2VkYW1hbS5vd2wjcmVjaXBlXzMxMjdhMGEwODljOGFhZDQ0NjQ1YjFhNGZlODg2N2ExIiwKICAgICAgImxhYmVsIiA6ICJTdGVhayBUYWNvcyBXaXRoIFJvYXN0ZWQgVG9tYXRvIEdyZWVuIENoaWxlIFNhbHNhIFJlY2lwZSIsCiAgICAgICJpbWFnZSIgOiAiaHR0cHM6Ly93d3cuZWRhbWFtLmNvbS93ZWItaW1nLzMyYy8zMmMzNGJhMjdiYWY4OWEyNzg4YjNjY2E5YTQ0YjVkZC5qcGciLAogICAgICAic291cmNlIiA6ICJTZXJpb3VzIEVhdHMiLAogICAgICAidXJsIiA6ICJodHRwOi8vd3d3LnNlcmlvdXNlYXRzLmNvbS9yZWNpcGVzLzIwMTEvMDUvc3RlYWstdGFjb3Mtd2l0aC1yb2FzdGVkLXRvbWF0by1ncmVlbi1jaGlsZS1zYWxzYS1yZWNpcGUuaHRtbCIsCiAgICAgICJzaGFyZUFzIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vcmVjaXBlL3N0ZWFrLXRhY29zLXdpdGgtcm9hc3RlZC10b21hdG8tZ3JlZW4tY2hpbGUtc2Fsc2EtcmVjaXBlLTMxMjdhMGEwODljOGFhZDQ0NjQ1YjFhNGZlODg2N2ExL3RhY29zIiwKICAgICAgInlpZWxkIiA6IDYuMCwKICAgICAgImRpZXRMYWJlbHMiIDogWyBdLAogICAgICAiaGVhbHRoTGFiZWxzIiA6IFsgIlBlYW51dC1GcmVlIiwgIlRyZWUtTnV0LUZyZWUiLCAiQWxjb2hvbC1GcmVlIiBdLAogICAgICAiY2F1dGlvbnMiIDogWyAiRWdncyIsICJNaWxrIiBdLAogICAgICAiaW5ncmVkaWVudExpbmVzIiA6IFsgIkZvciBUYWNvczoiLCAiMS80IGN1cCBjaG9wcGVkIHdoaXRlIG9uaW9uIiwgIjMgZ2FybGljIGNsb3ZlcywgbWluY2VkIiwgIjMgdGFibGVzcG9vbnMgbGltZSBqdWljZSIsICIxLzQgdGVhc3Bvb24gY3VtaW4iLCAiMS8yIHRlYXNwb29uIHNhbHQiLCAiMSAxLzIgcG91bmRzIHNraXJ0IHN0ZWFrLCBmYXQgdHJpbW1lZCIsICIyIHBvYmxhbm8gcGVwcGVycyIsICIyNCBzbWFsbCBjb3JuIHRvcnRpbGxhcywgd2FybSIsICJGb3IgU2Fsc2E6IiwgIjMgdG9tYXRvZXMiLCAiNCBzZXJyYW5vIGNoaWxpZXMiLCAiMyBjbG92ZXMgZ2FybGljIiwgIjEvNCBjdXAgY2hvcHBlZCB3aGl0ZSBvbmlvbiIsICIxLzMgY3VwIGNob3BwZWQgZnJlc2ggY2lsYW50cm8iLCAiU2FsdCIsICIxIHRhYmxlc3Bvb24gZnJlc2ggbGltZSBqdWljZSIgXSwKICAgICAgImluZ3JlZGllbnRzIiA6IFsgewogICAgICAgICJ0ZXh0IiA6ICIxLzQgY3VwIGNob3BwZWQgd2hpdGUgb25pb24iLAogICAgICAgICJ3ZWlnaHQiIDogNDAuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjMgZ2FybGljIGNsb3ZlcywgbWluY2VkIiwKICAgICAgICAid2VpZ2h0IiA6IDkuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjMgdGFibGVzcG9vbnMgbGltZSBqdWljZSIsCiAgICAgICAgIndlaWdodCIgOiA0Ni4xOTk5OTk5OTkyMTg4OTYKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxLzQgdGVhc3Bvb24gY3VtaW4iLAogICAgICAgICJ3ZWlnaHQiIDogMC41MjUKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxLzIgdGVhc3Bvb24gc2FsdCIsCiAgICAgICAgIndlaWdodCIgOiAzLjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxIDEvMiBwb3VuZHMgc2tpcnQgc3RlYWssIGZhdCB0cmltbWVkIiwKICAgICAgICAid2VpZ2h0IiA6IDY4MC4zODg1NTUKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIyIHBvYmxhbm8gcGVwcGVycyIsCiAgICAgICAgIndlaWdodCIgOiA5MC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMjQgc21hbGwgY29ybiB0b3J0aWxsYXMsIHdhcm0iLAogICAgICAgICJ3ZWlnaHQiIDogNTc2LjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIzIHRvbWF0b2VzIiwKICAgICAgICAid2VpZ2h0IiA6IDM2OS4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiNCBzZXJyYW5vIGNoaWxpZXMiLAogICAgICAgICJ3ZWlnaHQiIDogMjQuNAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjMgY2xvdmVzIGdhcmxpYyIsCiAgICAgICAgIndlaWdodCIgOiA5LjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxLzQgY3VwIGNob3BwZWQgd2hpdGUgb25pb24iLAogICAgICAgICJ3ZWlnaHQiIDogNDAuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEvMyBjdXAgY2hvcHBlZCBmcmVzaCBjaWxhbnRybyIsCiAgICAgICAgIndlaWdodCIgOiA1LjMzMzMzMzMzMzMzMzMzMwogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIlNhbHQiLAogICAgICAgICJ3ZWlnaHQiIDogMTEuNDQ5NDgxMzI5OTkzNzUKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxIHRhYmxlc3Bvb24gZnJlc2ggbGltZSBqdWljZSIsCiAgICAgICAgIndlaWdodCIgOiAxNS4zOTk5OTk5OTk3Mzk2MzMKICAgICAgfSBdLAogICAgICAiY2Fsb3JpZXMiIDogMjc3MC4wODEwOTg5MTY0MDYsCiAgICAgICJ0b3RhbFdlaWdodCIgOiAxOTE0Ljc3MDQ1NDE1MDQzNDMsCiAgICAgICJ0b3RhbFRpbWUiIDogMC4wLAogICAgICAidG90YWxOdXRyaWVudHMiIDogewogICAgICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRW5lcmd5IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNzcwLjA4MTA5ODkxNjQwNiwKICAgICAgICAgICJ1bml0IiA6ICJrY2FsIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTA0Ljc1Mjc4ODE2MjMzMjYsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVNBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzcuMDYwMDA5Mjc1MzY2NTgsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVRSTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0LjY2MDY2MTYwMTc1LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFNUyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDUuMTEyODU4ODIyMTY2NTksCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVBVIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG9seXVuc2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMi43NzkwMjk4NzExMzMwOTYsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzAwLjY2NjgxMzMzMzI0NTYsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGSUJURyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0NS4xNTc2NTgzMzMzMjkxNiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIlNVR0FSIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNC45NjkyNzI0OTk5ODI0LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiUFJPQ05UIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTc3LjI4MDMyNjYzMjk5NTYsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0NDIuMjUyNTYwNzUwMDAwMDQsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ0MzAuNjEzNTMzODc4OTc4LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjMzLjUxODA1MjQyOTU0MTcsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDY0MC4wODcxMTMzMjQ3NjQ4LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDQzNTMuNDg0NDgxNjMwOSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDIxLjk0MTIwMzIwMjE5ODkzNSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ5LjU4MTAwNjk2NTk4Mzk3LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyOTkyLjY2MzI2OTE5OTg1NDMsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI2Ni4zMDQ4NzU1MzMzMTI1LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVRDIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzMTEuMjU1MDI0OTk5Njg3NSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjIyNzgyMjI2NzQ4MzA3MzIsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMi40NzczMzkyNzYyNDk4NDQsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiTklBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ2Ljk3NjYxNjEzNTEzMTg0LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEI2QSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICAgInF1YW50aXR5IiA6IDUuMTUzMjM4MTE4NzY2MjcxNSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGT0xERkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNTYuMTMyODIzMzE2NTYyNSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiRk9MRkQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNTYuMTMyODIzMzE2NTYyNSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE2LjczNzU1ODQ1MzAwMDAwMiwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMC42ODAzODg1NTUwMDAwMDAxLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJUT0NQSEEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICAgInF1YW50aXR5IiA6IDUuODY4MTU2Mzc2ODMxMDQzLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEsxIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3Mi42NjMzMTE2NTgzMjcwNywKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfQogICAgICB9LAogICAgICAidG90YWxEYWlseSIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzOC41MDQwNTQ5NDU4MjAzMSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTYxLjE1ODEzNTYzNDM1Nzg1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFTQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE4NS4zMDAwNDYzNzY4MzI5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0hPQ0RGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEwMC4yMjIyNzExMTEwODE4OCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE4MC42MzA2MzMzMzMzMTY2NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDM1NC41NjA2NTMyNjU5OTEyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0hPTEUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTQ3LjQxNzUyMDI1MDAwMDAyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDE4NC42MDg4OTcyNDQ5NTc0MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjMuMzUxODA1MjQyOTU0MTcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJNRyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTUyLjQwMTY5MzY0ODc1MzU0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiSyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTIuNjI3MzI5Mzk2NDAyMTIsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDEyMS44OTU1NzMzNDU1NDk2NCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlpOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDUwLjczNjQyNjk2MzQ5MDY2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQyNy41MjMzMjQxNzE0MDc3NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEFfUkFFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyOS41ODk0MzA2MTQ4MTI1MDMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRDIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzNDUuODM4OTE2NjY2MzE5NDUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJUSElBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMDIuMzE4NTIyMjkwMjU2MTEsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJSSUJGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxOTAuNTY0NTU5NzExNTI2NDcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjkzLjYwMzg1MDg0NDU3NCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEI2QSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM5Ni40MDI5MzIyMTI3OTAwNiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZPTERGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM5LjAzMzIwNTgyOTE0MDYzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDY5Ny4zOTgyNjg4NzUwMDAxLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNC41MzU5MjM3MDAwMDAwMDEsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJUT0NQSEEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM5LjEyMTA0MjUxMjIwNjk1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDYwLjU1Mjc1OTcxNTI3MjU2NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0KICAgICAgfSwKICAgICAgImRpZ2VzdCIgOiBbIHsKICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgInRhZyIgOiAiRkFUIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmYXRDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMTA0Ljc1Mjc4ODE2MjMzMjYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxNjEuMTU4MTM1NjM0MzU3ODUsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVNBVCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzYXR1cmF0ZWRGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAzNy4wNjAwMDkyNzUzNjY1OCwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiAxODUuMzAwMDQ2Mzc2ODMyOSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiVHJhbnMiLAogICAgICAgICAgInRhZyIgOiAiRkFUUk4iLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAidHJhbnNGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiA0LjY2MDY2MTYwMTc1LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQU1TIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiA0NS4xMTI4NTg4MjIxNjY1OSwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJQb2x5dW5zYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFQVSIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMTIuNzc5MDI5ODcxMTMzMDk2LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9IF0KICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiQ2FyYnMiLAogICAgICAgICJ0YWciIDogIkNIT0NERiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiY2FyYm9oeWRyYXRlQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDMwMC42NjY4MTMzMzMyNDU2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTAwLjIyMjI3MTExMTA4MTg4LAogICAgICAgICJ1bml0IiA6ICJnIiwKICAgICAgICAic3ViIiA6IFsgewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyAobmV0KSIsCiAgICAgICAgICAidGFnIiA6ICJDSE9DREYubmV0IiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAyNTUuNTA5MTU0OTk5OTE2NDYsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInRhZyIgOiAiRklCVEciLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiZmliZXJDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiA0NS4xNTc2NTgzMzMzMjkxNiwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiAxODAuNjMwNjMzMzMzMzE2NjcsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzdWdhckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDI0Ljk2OTI3MjQ5OTk4MjQsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzLCBhZGRlZCIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUi5hZGRlZCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9IF0KICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgInRhZyIgOiAiUFJPQ05UIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJwcm90ZWluQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDE3Ny4yODAzMjY2MzI5OTU2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzU0LjU2MDY1MzI2NTk5MTIsCiAgICAgICAgInVuaXQiIDogImciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAidGFnIiA6ICJDSE9MRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAiY2hvbGVzdGVyb2xDb250ZW50IiwKICAgICAgICAidG90YWwiIDogNDQyLjI1MjU2MDc1MDAwMDA0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTQ3LjQxNzUyMDI1MDAwMDAyLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAidGFnIiA6ICJOQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic29kaXVtQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDQ0MzAuNjEzNTMzODc4OTc4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTg0LjYwODg5NzI0NDk1NzQzLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgInRhZyIgOiAiQ0EiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNjMzLjUxODA1MjQyOTU0MTcsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA2My4zNTE4MDUyNDI5NTQxNywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgInRhZyIgOiAiTUciLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNjQwLjA4NzExMzMyNDc2NDgsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxNTIuNDAxNjkzNjQ4NzUzNTQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICJ0YWciIDogIksiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNDM1My40ODQ0ODE2MzA5LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogOTIuNjI3MzI5Mzk2NDAyMTIsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAidGFnIiA6ICJGRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyMS45NDEyMDMyMDIxOTg5MzUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMjEuODk1NTczMzQ1NTQ5NjQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICAgICAidGFnIiA6ICJaTiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA0OS41ODEwMDY5NjU5ODM5NywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDQ1MC43MzY0MjY5NjM0OTA2NiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICJ0YWciIDogIlAiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjk5Mi42NjMyNjkxOTk4NTQzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDI3LjUyMzMyNDE3MTQwNzc1LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAidGFnIiA6ICJWSVRBX1JBRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyNjYuMzA0ODc1NTMzMzEyNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDI5LjU4OTQzMDYxNDgxMjUwMywKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICJ0YWciIDogIlZJVEMiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMzExLjI1NTAyNDk5OTY4NzUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzNDUuODM4OTE2NjY2MzE5NDUsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICJ0YWciIDogIlRISUEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMS4yMjc4MjIyNjc0ODMwNzMyLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTAyLjMxODUyMjI5MDI1NjExLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAidGFnIiA6ICJSSUJGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIuNDc3MzM5Mjc2MjQ5ODQ0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTkwLjU2NDU1OTcxMTUyNjQ3LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICJ0YWciIDogIk5JQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA0Ni45NzY2MTYxMzUxMzE4NCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDI5My42MDM4NTA4NDQ1NzQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAidGFnIiA6ICJWSVRCNkEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNS4xNTMyMzgxMTg3NjYyNzE1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzk2LjQwMjkzMjIxMjc5MDA2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgInRhZyIgOiAiRk9MREZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE1Ni4xMzI4MjMzMTY1NjI1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzkuMDMzMjA1ODI5MTQwNjMsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIChmb29kKSIsCiAgICAgICAgInRhZyIgOiAiRk9MRkQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTU2LjEzMjgyMzMxNjU2MjUsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICJ0YWciIDogIkZPTEFDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICJ0YWciIDogIlZJVEIxMiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxNi43Mzc1NTg0NTMwMDAwMDIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA2OTcuMzk4MjY4ODc1MDAwMSwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAgICJ0YWciIDogIlZJVEQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMC42ODAzODg1NTUwMDAwMDAxLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNC41MzU5MjM3MDAwMDAwMDEsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICAgICAidGFnIiA6ICJUT0NQSEEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNS44NjgxNTYzNzY4MzEwNDMsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzOS4xMjEwNDI1MTIyMDY5NSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgInRhZyIgOiAiVklUSzEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNzIuNjYzMzExNjU4MzI3MDcsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA2MC41NTI3NTk3MTUyNzI1NjUsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSBdCiAgICB9LAogICAgImJvb2ttYXJrZWQiIDogZmFsc2UsCiAgICAiYm91Z2h0IiA6IGZhbHNlCiAgfSwgewogICAgInJlY2lwZSIgOiB7CiAgICAgICJ1cmkiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9vbnRvbG9naWVzL2VkYW1hbS5vd2wjcmVjaXBlX2Q2NTZhYjRjODdiMmUzNzZiZjk4MjZkMDA0ODU1ZDZlIiwKICAgICAgImxhYmVsIiA6ICJIYWxpYnV0IEZpc2ggVGFjb3MiLAogICAgICAiaW1hZ2UiIDogImh0dHBzOi8vd3d3LmVkYW1hbS5jb20vd2ViLWltZy8zOTAvMzkwOTk5NmMyNDNjNzg0OTUzNGZiOTUyYzA1ZTQ0NTguanBnIiwKICAgICAgInNvdXJjZSIgOiAiU2FuIEZyYW5jaXNjbyBHYXRlIiwKICAgICAgInVybCIgOiAiaHR0cDovL3d3dy5zZmdhdGUuY29tL2Zvb2QvcmVjaXBlcy9kZXRhaWwuaHRtbD9yaWQ9MTcwMjImc29yaWc9cXMiLAogICAgICAic2hhcmVBcyIgOiAiaHR0cDovL3d3dy5lZGFtYW0uY29tL3JlY2lwZS9oYWxpYnV0LWZpc2gtdGFjb3MtZDY1NmFiNGM4N2IyZTM3NmJmOTgyNmQwMDQ4NTVkNmUvdGFjb3MiLAogICAgICAieWllbGQiIDogOC4wLAogICAgICAiZGlldExhYmVscyIgOiBbIF0sCiAgICAgICJoZWFsdGhMYWJlbHMiIDogWyAiUGVhbnV0LUZyZWUiLCAiVHJlZS1OdXQtRnJlZSIsICJBbGNvaG9sLUZyZWUiIF0sCiAgICAgICJjYXV0aW9ucyIgOiBbICJFZ2dzIiwgIk1pbGsiIF0sCiAgICAgICJpbmdyZWRpZW50TGluZXMiIDogWyAiMSBjdXAgY29ybiBmbG91ciAoQm9iJ3MgUmVkIE1pbGwgaXMgZ29vZCkiLCAiMS8yIHRlYXNwb29uIGtvc2hlciBzYWx0IiwgIjEgdGVhc3Bvb24gZ3JvdW5kIHJlZCBjaGlsZSIsICItLSBGcmVzaGx5IGdyb3VuZCBibGFjayBwZXBwZXIiLCAiMSAxLzQgcG91bmRzIGhhbGlidXQgZmlsbGV0LCBjdXQgaW50byAyLWluY2ggcGllY2VzIHRvIGVhc2lseSBmaXQgdGFjb3MiLCAiMSB0YWJsZXNwb29uIG1heW9ubmFpc2UiLCAiMiB0ZWFzcG9vbnMgd2hpdGUgd2luZSB2aW5lZ2FyIiwgIjEvNCBjdXAgbWluY2VkIGNpbGFudHJvIiwgIjQgY3VwcyB0aGlubHkgc2xpY2VkIHdoaXRlIGNhYmJhZ2UiLCAiMS80IGN1cCBjYW5vbGEgb2lsICsgbW9yZSBpZiBuZWVkZWQiLCAiLS0gU2Fsc2FzIChzZWUgcmVjaXBlcyBpbiBhcnRpY2xlIGxpbmspIiwgIjEgZG96ZW4gY29ybiB0b3J0aWxsYXMsIHdhcm1lZCBqdXN0IGJlZm9yZSBzZXJ2aW5nIiBdLAogICAgICAiaW5ncmVkaWVudHMiIDogWyB7CiAgICAgICAgInRleHQiIDogIjEgY3VwIGNvcm4gZmxvdXIgKEJvYidzIFJlZCBNaWxsIGlzIGdvb2QpIiwKICAgICAgICAid2VpZ2h0IiA6IDExNC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMS8yIHRlYXNwb29uIGtvc2hlciBzYWx0IiwKICAgICAgICAid2VpZ2h0IiA6IDIuNDI3MDgzMzMzNDU2NDM3NwogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgdGVhc3Bvb24gZ3JvdW5kIHJlZCBjaGlsZSIsCiAgICAgICAgIndlaWdodCIgOiAzLjEyNTAwMDAwMDE1ODUwMzQKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICItLSBGcmVzaGx5IGdyb3VuZCBibGFjayBwZXBwZXIiLAogICAgICAgICJ3ZWlnaHQiIDogNC4yNDA5Mjc2Mzc1MDA4NDUKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxIDEvNCBwb3VuZHMgaGFsaWJ1dCBmaWxsZXQsIGN1dCBpbnRvIDItaW5jaCBwaWVjZXMgdG8gZWFzaWx5IGZpdCB0YWNvcyIsCiAgICAgICAgIndlaWdodCIgOiA1NjYuOTkwNDYyNQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgdGFibGVzcG9vbiBtYXlvbm5haXNlIiwKICAgICAgICAid2VpZ2h0IiA6IDE0LjYKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIyIHRlYXNwb29ucyB3aGl0ZSB3aW5lIHZpbmVnYXIiLAogICAgICAgICJ3ZWlnaHQiIDogMTAuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEvNCBjdXAgbWluY2VkIGNpbGFudHJvIiwKICAgICAgICAid2VpZ2h0IiA6IDQuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjQgY3VwcyB0aGlubHkgc2xpY2VkIHdoaXRlIGNhYmJhZ2UiLAogICAgICAgICJ3ZWlnaHQiIDogMzU2LjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxLzQgY3VwIGNhbm9sYSBvaWwgKyBtb3JlIGlmIG5lZWRlZCIsCiAgICAgICAgIndlaWdodCIgOiA1NC41CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiLS0gU2Fsc2FzIChzZWUgcmVjaXBlcyBpbiBhcnRpY2xlIGxpbmspIiwKICAgICAgICAid2VpZ2h0IiA6IDAuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjEgZG96ZW4gY29ybiB0b3J0aWxsYXMsIHdhcm1lZCBqdXN0IGJlZm9yZSBzZXJ2aW5nIiwKICAgICAgICAid2VpZ2h0IiA6IDI4OC4wCiAgICAgIH0gXSwKICAgICAgImNhbG9yaWVzIiA6IDIyNDQuMDQ4MDQ5MjQ1MTkwNywKICAgICAgInRvdGFsV2VpZ2h0IiA6IDE0MTcuODgzNDczNDcxMTE1OCwKICAgICAgInRvdGFsVGltZSIgOiAwLjAsCiAgICAgICJ0b3RhbE51dHJpZW50cyIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIyNDQuMDQ4MDQ5MjQ1MTkwNywKICAgICAgICAgICJ1bml0IiA6ICJrY2FsIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODYuMjI2Mzc3MzkyMjMzMjMsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVNBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOS40NDE2MDMzNjMyMTQwNzgsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVRSTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAwLjIxNTI3NTAwMDAwMDAwMDAyLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFNUyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDMuMjA2ODk1NTMzNjE2MTcsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVBVIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG9seXVuc2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyOS44OTA4NTU1NDkwNzI2NCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMzkuNjYxOTg1NzI0MTk1NzcsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGSUJURyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzNS41NzE4Mjk2OTIyOTAwOTUsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJTVUdBUiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTQuMTU3OTY2OTM2ODg4NDA3LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiUFJPQ05UIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTM2LjQzNDg5OTcyMTUzOTMsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyODMuNTE5MzI2NjI1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNjEzLjAzMzkwODQwODU2MDQsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiQ0EiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA1OTUuNzc2NjQxODA5MTgwNSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJNRyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDk1LjY0MjgxMzQ2ODQ5NzUsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiSyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzk5My42MjcxMDY4NDQ1NzI2LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTYuMzM4NTc1Njg4NjAzMzc0LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlpOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOC41ODg3ODQ3ODcyMjAxMywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJQIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjYwOC42ODE5MDcxNjczMTk0LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEFfUkFFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNTkuODYzMTQyOTYyMjAxMzIsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlZJVEMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzNS44NjY2MjUwMDAyMjc4LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIuNDYyMzg1NDMzMDk4NjE1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlJJQkYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEuNDM0MTk4MzA4NDk3NjM4MiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOSUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJOaWFjaW4gKEIzKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTMuNTI5NzU3NjI1NTIzNiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0Ljc1NDg4MTMzMzkyNTkzLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkZPTERGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDYyMS4zMzg1NjMxOTg0MTE2LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xGRCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI3Mi40OTg1NjMxOTg0MTE2LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xBQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIwNS4yMDAwMDAwMDAwMDAwMiwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDYuMjM2ODk1MDg3NTAwMDAxLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVREIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNi42NDg1NTE3Mzc1LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJUT0NQSEEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE0LjQ4MDQwOTk2ODY4MTEwMywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRLMSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gSyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzI5LjE5ODM5ODU0MjYxMTEsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0KICAgICAgfSwKICAgICAgInRvdGFsRGFpbHkiIDogewogICAgICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRW5lcmd5IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMTIuMjAyNDAyNDYyMjU5NTMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGYXQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzMi42NTU5NjUyMTg4MjAzNCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZBU0FUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0Ny4yMDgwMTY4MTYwNzAzOSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3OS44ODczMjg1NzQ3MzE5MiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE0Mi4yODczMTg3NjkxNjAzOCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDI3Mi44Njk3OTk0NDMwNzg2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiQ0hPTEUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTQuNTA2NDQyMjA4MzMzMzQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJOQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjcuMjA5NzQ2MTgzNjkwMDIsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDU5LjU3NzY2NDE4MDkxODA1NiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk1HIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMTguMDEwMTkzNjgyOTc1NiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIksiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDg0Ljk3MDc4OTUwNzMzMTMzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA5MC43Njk4NjQ5MzY2ODU0MSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlpOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNzguMDc5ODYxNzAyMDAxMTcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzcyLjY2ODg0Mzg4MTA0NTYzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE3Ljc2MjU3MTQ0MDI0NDU5MiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE1MC45NjI5MTY2NjY5MTk3NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIwNS4xOTg3ODYwOTE1NTEyNiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlJJQkYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICAgInF1YW50aXR5IiA6IDExMC4zMjI5NDY4MDc1MTA2MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk5JQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzMzQuNTYwOTg1MTU5NTIyNSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEI2QSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM2NS43NjAxMDI2MDk2ODY5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTU1LjMzNDY0MDc5OTYwMjksCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVRCMTIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjU5Ljg3MDYyODY0NTgzMzQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVREIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNzcuNjU3MDExNTgzMzMzMzQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJUT0NQSEEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICAgInF1YW50aXR5IiA6IDk2LjUzNjA2NjQ1Nzg3NDAzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI3NC4zMzE5OTg3ODU1MDkyNiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0KICAgICAgfSwKICAgICAgImRpZ2VzdCIgOiBbIHsKICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgInRhZyIgOiAiRkFUIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmYXRDb250ZW50IiwKICAgICAgICAidG90YWwiIDogODYuMjI2Mzc3MzkyMjMzMjMsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMzIuNjU1OTY1MjE4ODIwMzQsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVNBVCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzYXR1cmF0ZWRGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiA5LjQ0MTYwMzM2MzIxNDA3OCwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiA0Ny4yMDgwMTY4MTYwNzAzOSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiVHJhbnMiLAogICAgICAgICAgInRhZyIgOiAiRkFUUk4iLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAidHJhbnNGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAwLjIxNTI3NTAwMDAwMDAwMDAyLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQU1TIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiA0My4yMDY4OTU1MzM2MTYxNywKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJQb2x5dW5zYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFQVSIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMjkuODkwODU1NTQ5MDcyNjQsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgInRhZyIgOiAiQ0hPQ0RGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJjYXJib2h5ZHJhdGVDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMjM5LjY2MTk4NTcyNDE5NTc3LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNzkuODg3MzI4NTc0NzMxOTIsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIChuZXQpIiwKICAgICAgICAgICJ0YWciIDogIkNIT0NERi5uZXQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDIwNC4wOTAxNTYwMzE5MDU2OCwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAidGFnIiA6ICJGSUJURyIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJmaWJlckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDM1LjU3MTgyOTY5MjI5MDA5NSwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiAxNDIuMjg3MzE4NzY5MTYwMzgsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUiIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzdWdhckNvbnRlbnQiLAogICAgICAgICAgInRvdGFsIiA6IDE0LjE1Nzk2NjkzNjg4ODQwNywKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMsIGFkZGVkIiwKICAgICAgICAgICJ0YWciIDogIlNVR0FSLmFkZGVkIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAwLjAsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAidGFnIiA6ICJQUk9DTlQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogInByb3RlaW5Db250ZW50IiwKICAgICAgICAidG90YWwiIDogMTM2LjQzNDg5OTcyMTUzOTMsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyNzIuODY5Nzk5NDQzMDc4NiwKICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICJ0YWciIDogIkNIT0xFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJjaG9sZXN0ZXJvbENvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAyODMuNTE5MzI2NjI1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogOTQuNTA2NDQyMjA4MzMzMzQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICJ0YWciIDogIk5BIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzb2RpdW1Db250ZW50IiwKICAgICAgICAidG90YWwiIDogMTYxMy4wMzM5MDg0MDg1NjA0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNjcuMjA5NzQ2MTgzNjkwMDIsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAidGFnIiA6ICJDQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA1OTUuNzc2NjQxODA5MTgwNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDU5LjU3NzY2NDE4MDkxODA1NiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgInRhZyIgOiAiTUciLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNDk1LjY0MjgxMzQ2ODQ5NzUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMTguMDEwMTkzNjgyOTc1NiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgInRhZyIgOiAiSyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAzOTkzLjYyNzEwNjg0NDU3MjYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA4NC45NzA3ODk1MDczMzEzMywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICJ0YWciIDogIkZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE2LjMzODU3NTY4ODYwMzM3NCwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDkwLjc2OTg2NDkzNjY4NTQxLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgInRhZyIgOiAiWk4iLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogOC41ODg3ODQ3ODcyMjAxMywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDc4LjA3OTg2MTcwMjAwMTE3LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgInRhZyIgOiAiUCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyNjA4LjY4MTkwNzE2NzMxOTQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzNzIuNjY4ODQzODgxMDQ1NjMsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICJ0YWciIDogIlZJVEFfUkFFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE1OS44NjMxNDI5NjIyMDEzMiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDE3Ljc2MjU3MTQ0MDI0NDU5MiwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICJ0YWciIDogIlZJVEMiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTM1Ljg2NjYyNTAwMDIyNzgsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxNTAuOTYyOTE2NjY2OTE5NzcsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICJ0YWciIDogIlRISUEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMi40NjIzODU0MzMwOTg2MTUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyMDUuMTk4Nzg2MDkxNTUxMjYsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICJ0YWciIDogIlJJQkYiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMS40MzQxOTgzMDg0OTc2MzgyLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTEwLjMyMjk0NjgwNzUxMDYzLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICJ0YWciIDogIk5JQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA1My41Mjk3NTc2MjU1MjM2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzM0LjU2MDk4NTE1OTUyMjUsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAidGFnIiA6ICJWSVRCNkEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNC43NTQ4ODEzMzM5MjU5MywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDM2NS43NjAxMDI2MDk2ODY5LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgInRhZyIgOiAiRk9MREZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDYyMS4zMzg1NjMxOTg0MTE2LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTU1LjMzNDY0MDc5OTYwMjksCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIChmb29kKSIsCiAgICAgICAgInRhZyIgOiAiRk9MRkQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjcyLjQ5ODU2MzE5ODQxMTYsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICJ0YWciIDogIkZPTEFDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIwNS4yMDAwMDAwMDAwMDAwMiwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICJ0YWciIDogIlZJVEIxMiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA2LjIzNjg5NTA4NzUwMDAwMSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDI1OS44NzA2Mjg2NDU4MzM0LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgInRhZyIgOiAiVklURCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyNi42NDg1NTE3Mzc1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTc3LjY1NzAxMTU4MzMzMzM0LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgInRhZyIgOiAiVE9DUEhBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE0LjQ4MDQwOTk2ODY4MTEwMywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDk2LjUzNjA2NjQ1Nzg3NDAzLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAidGFnIiA6ICJWSVRLMSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAzMjkuMTk4Mzk4NTQyNjExMSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDI3NC4zMzE5OTg3ODU1MDkyNiwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9IF0KICAgIH0sCiAgICAiYm9va21hcmtlZCIgOiBmYWxzZSwKICAgICJib3VnaHQiIDogZmFsc2UKICB9LCB7CiAgICAicmVjaXBlIiA6IHsKICAgICAgInVyaSIgOiAiaHR0cDovL3d3dy5lZGFtYW0uY29tL29udG9sb2dpZXMvZWRhbWFtLm93bCNyZWNpcGVfMTQxNzI1Y2NhMjBjZjIyNGFjYjk3YTkxMGFjNGYwOGYiLAogICAgICAibGFiZWwiIDogIk11c2hyb29tLUxlbnRpbCBUYWNvcyBXaXRoIFRhaGluaSBZb2d1cnQgU2F1Y2UiLAogICAgICAiaW1hZ2UiIDogImh0dHBzOi8vd3d3LmVkYW1hbS5jb20vd2ViLWltZy9jNTEvYzUxNjk2NTdhOWM1NmIwODk0NDk4YmI0MWE3N2NhYjcuanBnIiwKICAgICAgInNvdXJjZSIgOiAiRm9vZDUyIiwKICAgICAgInVybCIgOiAiaHR0cDovL2Zvb2Q1Mi5jb20vcmVjaXBlcy8zMDE4MC1tdXNocm9vbS1sZW50aWwtdGFjb3Mtd2l0aC10YWhpbmkteW9ndXJ0LXNhdWNlIiwKICAgICAgInNoYXJlQXMiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9yZWNpcGUvbXVzaHJvb20tbGVudGlsLXRhY29zLXdpdGgtdGFoaW5pLXlvZ3VydC1zYXVjZS0xNDE3MjVjY2EyMGNmMjI0YWNiOTdhOTEwYWM0ZjA4Zi90YWNvcyIsCiAgICAgICJ5aWVsZCIgOiA2LjAsCiAgICAgICJkaWV0TGFiZWxzIiA6IFsgXSwKICAgICAgImhlYWx0aExhYmVscyIgOiBbICJTdWdhci1Db25zY2lvdXMiLCAiVmVnZXRhcmlhbiIsICJQZWFudXQtRnJlZSIsICJUcmVlLU51dC1GcmVlIiwgIkFsY29ob2wtRnJlZSIgXSwKICAgICAgImNhdXRpb25zIiA6IFsgIkVnZ3MiLCAiTWlsayIgXSwKICAgICAgImluZ3JlZGllbnRMaW5lcyIgOiBbICIxIGN1cCBjb29rZWQgbGVudGlscyIsICIyIDEvMiBjdXBzIGNob3BwZWQgbXVzaHJvb21zIChhYm91dCAyIHBhY2thZ2VzOyBJIHVzZWQgYSBtaXggb2YgZmFybWVycyBtYXJrZXQgc2hpaXRha2UgYW5kIGJ1dHRvbiAnc2hyb29tcykiLCAiMiBtZWRpdW0gY2xvdmVzIGdhcmxpYywgbWluY2VkIiwgIk9saXZlIG9pbCIsICIxIDEvMiB0ZWFzcG9vbiBjdW1pbiIsICJTYWx0IGFuZCBwZXBwZXIiLCAiUGluY2ggcGFwcmlrYSIsICIxIDEvMiB0YWJsZXNwb29uIGxlbW9uIGp1aWNlIiwgIjEvNCBjdXAgdGFoaW5pIiwgIjIgdGVhc3Bvb25zIG9saXZlIG9pbCIsICIxIGluZGl2aWR1YWwgY29udGFpbmVyIEdyZWVrIHlvZ3VydCAoNiBvdW5jZXMpIiwgIlNhbHQgYW5kIHBlcHBlciIsICIyIGJpZyBoYW5kZnVscyBvZiBhcnVndWxhIiwgIjYgdmVzc2VscyAoSSBoYWQgdG9ydGlsbGFzLCBzbyB0aGVzZSBhcmUg4oCcdGFjb3Mu4oCdKSIgXSwKICAgICAgImluZ3JlZGllbnRzIiA6IFsgewogICAgICAgICJ0ZXh0IiA6ICIxIGN1cCBjb29rZWQgbGVudGlscyIsCiAgICAgICAgIndlaWdodCIgOiAxOTguMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjIgMS8yIGN1cHMgY2hvcHBlZCBtdXNocm9vbXMgKGFib3V0IDIgcGFja2FnZXM7IEkgdXNlZCBhIG1peCBvZiBmYXJtZXJzIG1hcmtldCBzaGlpdGFrZSBhbmQgYnV0dG9uICdzaHJvb21zKSIsCiAgICAgICAgIndlaWdodCIgOiAxNzUuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjIgbWVkaXVtIGNsb3ZlcyBnYXJsaWMsIG1pbmNlZCIsCiAgICAgICAgIndlaWdodCIgOiA2LjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICJPbGl2ZSBvaWwiLAogICAgICAgICJ3ZWlnaHQiIDogMTAuOTY2ODg3NzUzNjgyOTM2CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSAxLzIgdGVhc3Bvb24gY3VtaW4iLAogICAgICAgICJ3ZWlnaHQiIDogMy4xNTAwMDAwMDAwMDAwMDA0CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiU2FsdCBhbmQgcGVwcGVyIiwKICAgICAgICAid2VpZ2h0IiA6IDQuODM4MzMyODMyNTA3MTc4CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiU2FsdCBhbmQgcGVwcGVyIiwKICAgICAgICAid2VpZ2h0IiA6IDIuNDE5MTY2NDE2MjUzNTg5CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiUGluY2ggcGFwcmlrYSIsCiAgICAgICAgIndlaWdodCIgOiAwLjE0MTY2NjY2Njg0ODY5ODgKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxIDEvMiB0YWJsZXNwb29uIGxlbW9uIGp1aWNlIiwKICAgICAgICAid2VpZ2h0IiA6IDIxLjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxLzQgY3VwIHRhaGluaSIsCiAgICAgICAgIndlaWdodCIgOiA2MC4wMDAwMDAwMDEwMTQ0MgogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjIgdGVhc3Bvb25zIG9saXZlIG9pbCIsCiAgICAgICAgIndlaWdodCIgOiA5LjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxIGluZGl2aWR1YWwgY29udGFpbmVyIEdyZWVrIHlvZ3VydCAoNiBvdW5jZXMpIiwKICAgICAgICAid2VpZ2h0IiA6IDE3MC4wOTcxMzg3NQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIlNhbHQgYW5kIHBlcHBlciIsCiAgICAgICAgIndlaWdodCIgOiA0LjgzODMzMjgzMjUwNzE3OAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIlNhbHQgYW5kIHBlcHBlciIsCiAgICAgICAgIndlaWdodCIgOiAyLjQxOTE2NjQxNjI1MzU4OQogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjIgYmlnIGhhbmRmdWxzIG9mIGFydWd1bGEiLAogICAgICAgICJ3ZWlnaHQiIDogMjAuMAogICAgICB9LCB7CiAgICAgICAgInRleHQiIDogIjYgdmVzc2VscyAoSSBoYWQgdG9ydGlsbGFzLCBzbyB0aGVzZSBhcmUg4oCcdGFjb3Mu4oCdKSIsCiAgICAgICAgIndlaWdodCIgOiAxNDQuMAogICAgICB9IF0sCiAgICAgICJjYWxvcmllcyIgOiAxMjYyLjI4Mjc1Nzc5NjE5OTMsCiAgICAgICJ0b3RhbFdlaWdodCIgOiA4MjYuNTEyNzYyMTE1NTkzMywKICAgICAgInRvdGFsVGltZSIgOiAwLjAsCiAgICAgICJ0b3RhbE51dHJpZW50cyIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEyNjIuMjgyNzU3Nzk2MTk5MywKICAgICAgICAgICJ1bml0IiA6ICJrY2FsIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNjQuMjkyMzQwMjQ3Mjk5ODIsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQVNBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTEuODM0MDk3NjQ5MDAzOTgsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGQU1TIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTW9ub3Vuc2F0dXJhdGVkIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyOS44ODM1NDQ5NTI4NDMzNywKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZBUFUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQb2x5dW5zYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE5LjMxMTU5MTg2MTIyNDk4MywKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMzkuMjExMjg2MzQ1Nzg0OSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM0LjE1NzI4OTg3MzQ0ODg2LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiU1VHQVIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE3LjYzMjQxNTMyOTIzNTE3MiwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ5LjYzMjMyMDE2Mjc4NzM1LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiQ0hPTEUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjIuMTEyNjI4MDM3NTAwMDAyLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxOTExLjk5NTc2MzU5MTkwNjMsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiQ0EiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3MTcuMzY4NDM0NTUxMjE4MiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJNRyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzAwLjM3OTU1OTgyMjY1NzEsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiSyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjMxMC44OTkxNzYxODEzMzA0LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTcuODIxNjA1NDIxNDYyNzU2LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlpOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOS40Nzk5MDIxODIxNjQ3OTMsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiUCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE2MDQuOTIwMTgxMDI5MTkyLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEFfUkFFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3OC4zMzc4MjczMzE3OTA4MiwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjAuNzM4MzEwNjkzNzUxNjM2LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlRISUEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJUaGlhbWluIChCMSkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEuNDQ0MzczMDY5NzA5NTg0MiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJSSUJGIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxLjUxNDY3OTkzNjEzMDU1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk5JQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNC4zMDE2NDUxNjUwNzgzMjMsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMS4xMjI4MDYyMTYyODEzMzgsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDkxLjAyMzczMjk2MTc3NjE1LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xGRCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQ5MS4wMjM3MzI5NjE3NzYxNSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDAuNjk5MzU5NDEzMzc1MDAwMSwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklURCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMC41MjAwOTcxMzg3NTAwMDAxLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJUT0NQSEEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQuMDc0NTQ1MzM3NDE3MDgzLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEsxIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0NS43NTI0Njk4ODU1MTA4ODQsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0KICAgICAgfSwKICAgICAgInRvdGFsRGFpbHkiIDogewogICAgICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRW5lcmd5IiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2My4xMTQxMzc4ODk4MDk5NywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTguOTExMjkyNjg4MTUzNTcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGQVNBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTkuMTcwNDg4MjQ1MDE5OSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNIT0NERiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0Ni40MDM3NjIxMTUyNjE2NCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZJQlRHIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzNi42MjkxNTk0OTM3OTU0NCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlBST0NOVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlByb3RlaW4iLAogICAgICAgICAgInF1YW50aXR5IiA6IDk5LjI2NDY0MDMyNTU3NDcsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3LjM3MDg3NjAxMjUwMDAwMSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA3OS42NjY0OTAxNDk2NjI3NiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNzEuNzM2ODQzNDU1MTIxODMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJNRyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1hZ25lc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNzEuNTE4OTQyODE0OTE4MzYsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJLIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0OS4xNjgwNjc1NzgzMjYxOCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTkuMDA4OTE5MDA4MTI2NDMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJaTiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDg2LjE4MDkyODkyODc3MDg0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIyOS4yNzQzMTE1NzU1OTg4MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEFfUkFFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA4LjcwNDIwMzAzNjg2NTY0NiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEMiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIzLjA0MjU2NzQzNzUwMTgyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVEhJQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTIwLjM2NDQyMjQ3NTc5ODY5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTE2LjUxMzg0MTI0MDgxMTUzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTklBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICAgInF1YW50aXR5IiA6IDg5LjM4NTI4MjI4MTczOTUyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODYuMzY5NzA4OTQ0NzE4MywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkZPTERGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEyMi43NTU5MzMyNDA0NDQwMiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEIxMiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyOS4xMzk5NzU1NTcyOTE2NzQsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJWSVREIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzLjQ2NzMxNDI1ODMzMzMzNCwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlRPQ1BIQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjcuMTYzNjM1NTgyNzgwNTU0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM4LjEyNzA1ODIzNzkyNTc0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfQogICAgICB9LAogICAgICAiZGlnZXN0IiA6IFsgewogICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAidGFnIiA6ICJGQVQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImZhdENvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiA2NC4yOTIzNDAyNDcyOTk4MiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDk4LjkxMTI5MjY4ODE1MzU3LAogICAgICAgICJ1bml0IiA6ICJnIiwKICAgICAgICAic3ViIiA6IFsgewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFTQVQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic2F0dXJhdGVkRmF0Q29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMTEuODM0MDk3NjQ5MDAzOTgsCiAgICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgICAiZGFpbHkiIDogNTkuMTcwNDg4MjQ1MDE5OSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiVHJhbnMiLAogICAgICAgICAgInRhZyIgOiAiRkFUUk4iLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAidHJhbnNGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAwLjAsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiTW9ub3Vuc2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBTVMiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDI5Ljg4MzU0NDk1Mjg0MzM3LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVBVIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAxOS4zMTE1OTE4NjEyMjQ5ODMsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgInRhZyIgOiAiQ0hPQ0RGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJjYXJib2h5ZHJhdGVDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMTM5LjIxMTI4NjM0NTc4NDksCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA0Ni40MDM3NjIxMTUyNjE2NCwKICAgICAgICAidW5pdCIgOiAiZyIsCiAgICAgICAgInN1YiIgOiBbIHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FyYnMgKG5ldCkiLAogICAgICAgICAgInRhZyIgOiAiQ0hPQ0RGLm5ldCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMTA1LjA1Mzk5NjQ3MjMzNjA1LAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJ0YWciIDogIkZJQlRHIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogImZpYmVyQ29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMzQuMTU3Mjg5ODczNDQ4ODYsCiAgICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgICAiZGFpbHkiIDogMTM2LjYyOTE1OTQ5Mzc5NTQ0LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMiLAogICAgICAgICAgInRhZyIgOiAiU1VHQVIiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic3VnYXJDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAxNy42MzI0MTUzMjkyMzUxNzIsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiU3VnYXJzLCBhZGRlZCIsCiAgICAgICAgICAidGFnIiA6ICJTVUdBUi5hZGRlZCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMC4wLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9IF0KICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICAgInRhZyIgOiAiUFJPQ05UIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJwcm90ZWluQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDQ5LjYzMjMyMDE2Mjc4NzM1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogOTkuMjY0NjQwMzI1NTc0NywKICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAgICJ0YWciIDogIkNIT0xFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJjaG9sZXN0ZXJvbENvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAyMi4xMTI2MjgwMzc1MDAwMDIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA3LjM3MDg3NjAxMjUwMDAwMSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgInRhZyIgOiAiTkEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogInNvZGl1bUNvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAxOTExLjk5NTc2MzU5MTkwNjMsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA3OS42NjY0OTAxNDk2NjI3NiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAgICJ0YWciIDogIkNBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDcxNy4zNjg0MzQ1NTEyMTgyLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNzEuNzM2ODQzNDU1MTIxODMsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICJ0YWciIDogIk1HIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDMwMC4zNzk1NTk4MjI2NTcxLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNzEuNTE4OTQyODE0OTE4MzYsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICJ0YWciIDogIksiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjMxMC44OTkxNzYxODEzMzA0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDkuMTY4MDY3NTc4MzI2MTgsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICAgICAidGFnIiA6ICJGRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxNy44MjE2MDU0MjE0NjI3NTYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA5OS4wMDg5MTkwMDgxMjY0MywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAgICJ0YWciIDogIlpOIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDkuNDc5OTAyMTgyMTY0NzkzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogODYuMTgwOTI4OTI4NzcwODQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAidGFnIiA6ICJQIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDE2MDQuOTIwMTgxMDI5MTkyLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjI5LjI3NDMxMTU3NTU5ODgzLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgICAidGFnIiA6ICJWSVRBX1JBRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA3OC4zMzc4MjczMzE3OTA4MiwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDguNzA0MjAzMDM2ODY1NjQ2LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgInRhZyIgOiAiVklUQyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyMC43MzgzMTA2OTM3NTE2MzYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyMy4wNDI1Njc0Mzc1MDE4MiwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgInRhZyIgOiAiVEhJQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxLjQ0NDM3MzA2OTcwOTU4NDIsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMjAuMzY0NDIyNDc1Nzk4NjksCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJSaWJvZmxhdmluIChCMikiLAogICAgICAgICJ0YWciIDogIlJJQkYiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMS41MTQ2Nzk5MzYxMzA1NSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDExNi41MTM4NDEyNDA4MTE1MywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAidGFnIiA6ICJOSUEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTQuMzAxNjQ1MTY1MDc4MzIzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogODkuMzg1MjgyMjgxNzM5NTIsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAidGFnIiA6ICJWSVRCNkEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMS4xMjI4MDYyMTYyODEzMzgsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA4Ni4zNjk3MDg5NDQ3MTgzLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgInRhZyIgOiAiRk9MREZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDQ5MS4wMjM3MzI5NjE3NzYxNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEyMi43NTU5MzMyNDA0NDQwMiwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgICAidGFnIiA6ICJGT0xGRCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA0OTEuMDIzNzMyOTYxNzc2MTUsCiAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICJ0YWciIDogIkZPTEFDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuMCwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICJ0YWciIDogIlZJVEIxMiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAwLjY5OTM1OTQxMzM3NTAwMDEsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyOS4xMzk5NzU1NTcyOTE2NzQsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAidGFnIiA6ICJWSVREIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDAuNTIwMDk3MTM4NzUwMDAwMSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDMuNDY3MzE0MjU4MzMzMzM0LAogICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgInRhZyIgOiAiVE9DUEhBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDQuMDc0NTQ1MzM3NDE3MDgzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjcuMTYzNjM1NTgyNzgwNTU0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAidGFnIiA6ICJWSVRLMSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA0NS43NTI0Njk4ODU1MTA4ODQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzOC4xMjcwNTgyMzc5MjU3NCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9IF0KICAgIH0sCiAgICAiYm9va21hcmtlZCIgOiBmYWxzZSwKICAgICJib3VnaHQiIDogZmFsc2UKICB9LCB7CiAgICAicmVjaXBlIiA6IHsKICAgICAgInVyaSIgOiAiaHR0cDovL3d3dy5lZGFtYW0uY29tL29udG9sb2dpZXMvZWRhbWFtLm93bCNyZWNpcGVfNzQyYzBkMGZhODUzNDgxZjNjMTQyODg1YTllMzA5NDAiLAogICAgICAibGFiZWwiIDogIlR1cmtleSBUYWNvcyIsCiAgICAgICJpbWFnZSIgOiAiaHR0cHM6Ly93d3cuZWRhbWFtLmNvbS93ZWItaW1nLzQ1Yi80NWIyNGYyODRkNWY5ZWIzNjIyZjE3M2I3ODkxZjBmMS5qcGciLAogICAgICAic291cmNlIiA6ICJGaW5lIENvb2tpbmciLAogICAgICAidXJsIiA6ICJodHRwOi8vd3d3LmZpbmVjb29raW5nLmNvbS9yZWNpcGVzL3F1aWNrLXNvZnQtdHVya2V5LXRhY29zLmFzcHgiLAogICAgICAic2hhcmVBcyIgOiAiaHR0cDovL3d3dy5lZGFtYW0uY29tL3JlY2lwZS90dXJrZXktdGFjb3MtNzQyYzBkMGZhODUzNDgxZjNjMTQyODg1YTllMzA5NDAvdGFjb3MiLAogICAgICAieWllbGQiIDogNC4wLAogICAgICAiZGlldExhYmVscyIgOiBbIF0sCiAgICAgICJoZWFsdGhMYWJlbHMiIDogWyAiUGVhbnV0LUZyZWUiLCAiVHJlZS1OdXQtRnJlZSIsICJBbGNvaG9sLUZyZWUiIF0sCiAgICAgICJjYXV0aW9ucyIgOiBbIF0sCiAgICAgICJpbmdyZWRpZW50TGluZXMiIDogWyAiMSBtZWRpdW0geWVsbG93IG9uaW9uLCBmaW5lbHkgZGljZWQiLCAiMiBtZWRpdW0gY2xvdmVzIGdhcmxpYywgbWluY2VkIiwgIjEgVGJzLiBjaGlsaSBwb3dkZXIiLCAiMSBUYnMuIHRvbWF0byBwYXN0ZSIsICIxLzQgY3VwIGNob3BwZWQgZnJlc2ggY2lsYW50cm8iLCAiMSB0byAxLTEvNCBsYi4gZ3JvdW5kIHR1cmtleSAobm90IGdyb3VuZCB0dXJrZXkgYnJlYXN0KSIsICIyIFRicy4gdmVnZXRhYmxlIG9pbCIsICIyIFRicy4gVGFiYXNjbyBjaGlwb3RsZSBwZXBwZXIgc2F1Y2UiLCAiMTIgdGFjby1zaXplICg2LWluY2gpIGZsb3VyIHRvcnRpbGxhcywgaGVhdGVkIiwgIjIgdHNwLiBncm91bmQgY3VtaW4iLCAiS29zaGVyIHNhbHQiIF0sCiAgICAgICJpbmdyZWRpZW50cyIgOiBbIHsKICAgICAgICAidGV4dCIgOiAiMSBtZWRpdW0geWVsbG93IG9uaW9uLCBmaW5lbHkgZGljZWQiLAogICAgICAgICJ3ZWlnaHQiIDogMTEwLjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIyIG1lZGl1bSBjbG92ZXMgZ2FybGljLCBtaW5jZWQiLAogICAgICAgICJ3ZWlnaHQiIDogNi4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSBUYnMuIGNoaWxpIHBvd2RlciIsCiAgICAgICAgIndlaWdodCIgOiA4LjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxIFRicy4gdG9tYXRvIHBhc3RlIiwKICAgICAgICAid2VpZ2h0IiA6IDE2LjAKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIxLzQgY3VwIGNob3BwZWQgZnJlc2ggY2lsYW50cm8iLAogICAgICAgICJ3ZWlnaHQiIDogNC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMSB0byAxLTEvNCBsYi4gZ3JvdW5kIHR1cmtleSAobm90IGdyb3VuZCB0dXJrZXkgYnJlYXN0KSIsCiAgICAgICAgIndlaWdodCIgOiA1MTAuMjkxNDE2MjUKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICIyIFRicy4gdmVnZXRhYmxlIG9pbCIsCiAgICAgICAgIndlaWdodCIgOiAyOC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMiBUYnMuIFRhYmFzY28gY2hpcG90bGUgcGVwcGVyIHNhdWNlIiwKICAgICAgICAid2VpZ2h0IiA6IDI4LjE5OTk5OTk5ODA5Mjg5CiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMTIgdGFjby1zaXplICg2LWluY2gpIGZsb3VyIHRvcnRpbGxhcywgaGVhdGVkIiwKICAgICAgICAid2VpZ2h0IiA6IDU4OC4wCiAgICAgIH0sIHsKICAgICAgICAidGV4dCIgOiAiMiB0c3AuIGdyb3VuZCBjdW1pbiIsCiAgICAgICAgIndlaWdodCIgOiA0LjIKICAgICAgfSwgewogICAgICAgICJ0ZXh0IiA6ICJLb3NoZXIgc2FsdCIsCiAgICAgICAgIndlaWdodCIgOiA3LjgxNjE0ODQ5NzQ4ODU1NwogICAgICB9IF0sCiAgICAgICJjYWxvcmllcyIgOiAyODU3LjUwMzI5NjA0OTc5LAogICAgICAidG90YWxXZWlnaHQiIDogMTMwMi42OTE0MTYyNDgwOTI4LAogICAgICAidG90YWxUaW1lIiA6IDAuMCwKICAgICAgInRvdGFsTnV0cmllbnRzIiA6IHsKICAgICAgICAiRU5FUkNfS0NBTCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjg1Ny41MDMyOTYwNDk3OSwKICAgICAgICAgICJ1bml0IiA6ICJrY2FsIgogICAgICAgIH0sCiAgICAgICAgIkZBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTE0LjA3NjgwMjQ4NDc0Mjk2LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFTQVQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE5LjY5ODU3MjI2NDg5OTAxLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFUUk4iIDogewogICAgICAgICAgImxhYmVsIiA6ICJUcmFucyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMC44MjI2ODAxNTg3Mzc1MDAxLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFNUyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTYuODQ1MjM4ODE4MTg2OTM1LAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwKICAgICAgICAiRkFQVSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjkuNTg3Mjc1NzI4MzA4NzYsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzExLjQ2NTE3OTk5OTk2NjYsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJGSUJURyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMC4xODU1OTk5OTk5OTQyNzcsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJTVUdBUiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjMuMzczNDE5OTk5OTc1OTcsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNTEuNzU4NzMyNDM0NzQwMjcsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzNTIuMTAxMDc3MjEyNSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJOQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTc3NC4zMzEwMjEzNzQ1OTQ1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTE2Ny43NTMzNjkwODczNDc0LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk1HIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyODkuODA5MDI1NzM3NDA0NywKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJLIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNjMwLjg3NDY1NjUwOTc1NCwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDMwLjI3MDg1NjQzNzExNTg1LAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlpOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTYuMjk3NDY4MjgxODcyOTAyLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlAiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyMzc3LjM2MjgzMjQ5OTc5MDMsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI1MS4yODIyODMyNDk4NDc0NCwKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMzYuMDY4OTk5OTk4NTczNDgsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiVEhJQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMy4zMzE3NjAzMzQ3MjQzMTMsCiAgICAgICAgICAidW5pdCIgOiAibWciCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMS43MDQ0OTI2MDkzNDg0MzYzLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIk5JQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA2MC44OTkyNjcwNTYxMDc2NiwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJWSVRCNkEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEI2IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzLjUxOTM2NzU4NzY0NzAwNSwKICAgICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgICB9LAogICAgICAgICJGT0xERkUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMTcwLjk5MjM5OTEzNzM4NTcsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIkZPTEZEIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIChmb29kKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTc3LjI3MjM5OTEzNzM4NTU4LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJGT0xBQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDU4OC4wLAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVRCMTIiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNS4xMDI5MTQxNjI1LAogICAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgICB9LAogICAgICAgICJWSVREIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyLjA0MTE2NTY2NTAwMDAwMDMsCiAgICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICAgIH0sCiAgICAgICAgIlRPQ1BIQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTUuNjU5NzYyMjc0NjIyNzEzLAogICAgICAgICAgInVuaXQiIDogIm1nIgogICAgICAgIH0sCiAgICAgICAgIlZJVEsxIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgICAgICJxdWFudGl0eSIgOiA0OC44MjE1OTk5OTk5NTQyMywKICAgICAgICAgICJ1bml0IiA6ICLCtWciCiAgICAgICAgfQogICAgICB9LAogICAgICAidG90YWxEYWlseSIgOiB7CiAgICAgICAgIkVORVJDX0tDQUwiIDogewogICAgICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAgICAgInF1YW50aXR5IiA6IDE0Mi44NzUxNjQ4MDI0ODk1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRkFUIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxNzUuNTAyNzczMDUzNDUwNjgsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGQVNBVCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAicXVhbnRpdHkiIDogOTguNDkyODYxMzI0NDk1MDUsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDSE9DREYiIDogewogICAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTAzLjgyMTcyNjY2NjY1NTU0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRklCVEciIDogewogICAgICAgICAgImxhYmVsIiA6ICJGaWJlciIsCiAgICAgICAgICAicXVhbnRpdHkiIDogODAuNzQyMzk5OTk5OTc3MTEsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJQUk9DTlQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAzMDMuNTE3NDY0ODY5NDgwNTMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJDSE9MRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIkNob2xlc3Rlcm9sIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAxMTcuMzY3MDI1NzM3NSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIk5BIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgICAgICJxdWFudGl0eSIgOiAyNDAuNTk3MTI1ODkwNjA4MSwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIkNBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiQ2FsY2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTE2Ljc3NTMzNjkwODczNDc0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTUciIDogewogICAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICAgInF1YW50aXR5IiA6IDY5LjAwMjE0ODk4NTA5NjM1LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiSyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNTUuOTc2MDU2NTIxNDg0MTMsCiAgICAgICAgICAidW5pdCIgOiAiJSIKICAgICAgICB9LAogICAgICAgICJGRSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICAgInF1YW50aXR5IiA6IDE2OC4xNzE0MjQ2NTA2NDM2MiwKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlpOIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTQ4LjE1ODgwMjU2MjQ4MDkzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUCIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlBob3NwaG9ydXMiLAogICAgICAgICAgInF1YW50aXR5IiA6IDMzOS42MjMyNjE3ODU2ODQzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQV9SQUUiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgICAgICAgInF1YW50aXR5IiA6IDI3LjkyMDI1MzY5NDQyNzQ5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQyIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICAgICAicXVhbnRpdHkiIDogNDAuMDc2NjY2NjY1MDgxNjQ2LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVEhJQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjc3LjY0NjY5NDU2MDM1OTQ0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiUklCRiIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTMxLjExNDgxNjEwMzcyNTg3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiTklBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgICAgICAgInF1YW50aXR5IiA6IDM4MC42MjA0MTkxMDA2NzI5LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjZBIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjcwLjcyMDU4MzY2NTE1NDI3LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiRk9MREZFIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMjkyLjc0ODA5OTc4NDM0NjQ0LAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUQjEyIiA6IHsKICAgICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICAgInF1YW50aXR5IiA6IDIxMi42MjE0MjM0Mzc1MDAwMywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlZJVEQiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAgICAgInF1YW50aXR5IiA6IDEzLjYwNzc3MTEwMDAwMDAwMywKICAgICAgICAgICJ1bml0IiA6ICIlIgogICAgICAgIH0sCiAgICAgICAgIlRPQ1BIQSIgOiB7CiAgICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICAgICAicXVhbnRpdHkiIDogMTA0LjM5ODQxNTE2NDE1MTQyLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfSwKICAgICAgICAiVklUSzEiIDogewogICAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICAgInF1YW50aXR5IiA6IDQwLjY4NDY2NjY2NjYyODUzLAogICAgICAgICAgInVuaXQiIDogIiUiCiAgICAgICAgfQogICAgICB9LAogICAgICAiZGlnZXN0IiA6IFsgewogICAgICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICAgICAidGFnIiA6ICJGQVQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImZhdENvbnRlbnQiLAogICAgICAgICJ0b3RhbCIgOiAxMTQuMDc2ODAyNDg0NzQyOTYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxNzUuNTAyNzczMDUzNDUwNjgsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIlNhdHVyYXRlZCIsCiAgICAgICAgICAidGFnIiA6ICJGQVNBVCIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzYXR1cmF0ZWRGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAxOS42OTg1NzIyNjQ4OTkwMSwKICAgICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAgICJkYWlseSIgOiA5OC40OTI4NjEzMjQ0OTUwNSwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiVHJhbnMiLAogICAgICAgICAgInRhZyIgOiAiRkFUUk4iLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAidHJhbnNGYXRDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAwLjgyMjY4MDE1ODczNzUwMDEsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0sIHsKICAgICAgICAgICJsYWJlbCIgOiAiTW9ub3Vuc2F0dXJhdGVkIiwKICAgICAgICAgICJ0YWciIDogIkZBTVMiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDU2Ljg0NTIzODgxODE4NjkzNSwKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJQb2x5dW5zYXR1cmF0ZWQiLAogICAgICAgICAgInRhZyIgOiAiRkFQVSIsCiAgICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgICAidG90YWwiIDogMjkuNTg3Mjc1NzI4MzA4NzYsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICAgInRhZyIgOiAiQ0hPQ0RGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJjYXJib2h5ZHJhdGVDb250ZW50IiwKICAgICAgICAidG90YWwiIDogMzExLjQ2NTE3OTk5OTk2NjYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMDMuODIxNzI2NjY2NjU1NTQsCiAgICAgICAgInVuaXQiIDogImciLAogICAgICAgICJzdWIiIDogWyB7CiAgICAgICAgICAibGFiZWwiIDogIkNhcmJzIChuZXQpIiwKICAgICAgICAgICJ0YWciIDogIkNIT0NERi5uZXQiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICAgInRvdGFsIiA6IDI5MS4yNzk1Nzk5OTk5NzIzLAogICAgICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgICAidW5pdCIgOiAiZyIKICAgICAgICB9LCB7CiAgICAgICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgICAgICJ0YWciIDogIkZJQlRHIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogImZpYmVyQ29udGVudCIsCiAgICAgICAgICAidG90YWwiIDogMjAuMTg1NTk5OTk5OTk0Mjc3LAogICAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICAgImRhaWx5IiA6IDgwLjc0MjM5OTk5OTk3NzExLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMiLAogICAgICAgICAgInRhZyIgOiAiU1VHQVIiLAogICAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic3VnYXJDb250ZW50IiwKICAgICAgICAgICJ0b3RhbCIgOiAyMy4zNzM0MTk5OTk5NzU5NywKICAgICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgICAiZGFpbHkiIDogMC4wLAogICAgICAgICAgInVuaXQiIDogImciCiAgICAgICAgfSwgewogICAgICAgICAgImxhYmVsIiA6ICJTdWdhcnMsIGFkZGVkIiwKICAgICAgICAgICJ0YWciIDogIlNVR0FSLmFkZGVkIiwKICAgICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAgICJ0b3RhbCIgOiAwLjAsCiAgICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAgICJ1bml0IiA6ICJnIgogICAgICAgIH0gXQogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQcm90ZWluIiwKICAgICAgICAidGFnIiA6ICJQUk9DTlQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogInByb3RlaW5Db250ZW50IiwKICAgICAgICAidG90YWwiIDogMTUxLjc1ODczMjQzNDc0MDI3LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMzAzLjUxNzQ2NDg2OTQ4MDUzLAogICAgICAgICJ1bml0IiA6ICJnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICAgInRhZyIgOiAiQ0hPTEUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogImNob2xlc3Rlcm9sQ29udGVudCIsCiAgICAgICAgInRvdGFsIiA6IDM1Mi4xMDEwNzcyMTI1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTE3LjM2NzAyNTczNzUsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJTb2RpdW0iLAogICAgICAgICJ0YWciIDogIk5BIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6ICJzb2RpdW1Db250ZW50IiwKICAgICAgICAidG90YWwiIDogNTc3NC4zMzEwMjEzNzQ1OTQ1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjQwLjU5NzEyNTg5MDYwODEsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgICAidGFnIiA6ICJDQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxMTY3Ljc1MzM2OTA4NzM0NzQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMTYuNzc1MzM2OTA4NzM0NzQsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAgICJ0YWciIDogIk1HIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDI4OS44MDkwMjU3Mzc0MDQ3LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNjkuMDAyMTQ4OTg1MDk2MzUsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgICAgICJ0YWciIDogIksiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjYzMC44NzQ2NTY1MDk3NTQsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiA1NS45NzYwNTY1MjE0ODQxMywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAgICJ0YWciIDogIkZFIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDMwLjI3MDg1NjQzNzExNTg1LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTY4LjE3MTQyNDY1MDY0MzYyLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICAgInRhZyIgOiAiWk4iLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTYuMjk3NDY4MjgxODcyOTAyLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMTQ4LjE1ODgwMjU2MjQ4MDkzLAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICAgInRhZyIgOiAiUCIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAyMzc3LjM2MjgzMjQ5OTc5MDMsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzMzkuNjIzMjYxNzg1Njg0MywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQSIsCiAgICAgICAgInRhZyIgOiAiVklUQV9SQUUiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMjUxLjI4MjI4MzI0OTg0NzQ0LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjcuOTIwMjUzNjk0NDI3NDksCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgICAidGFnIiA6ICJWSVRDIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDM2LjA2ODk5OTk5ODU3MzQ4LAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDAuMDc2NjY2NjY1MDgxNjQ2LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICAgICAidGFnIiA6ICJUSElBIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDMuMzMxNzYwMzM0NzI0MzEzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogMjc3LjY0NjY5NDU2MDM1OTQ0LAogICAgICAgICJ1bml0IiA6ICJtZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgICAidGFnIiA6ICJSSUJGIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDEuNzA0NDkyNjA5MzQ4NDM2MywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEzMS4xMTQ4MTYxMDM3MjU4NywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgICAidGFnIiA6ICJOSUEiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogNjAuODk5MjY3MDU2MTA3NjYsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAzODAuNjIwNDE5MTAwNjcyOSwKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAgICJ0YWciIDogIlZJVEI2QSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAzLjUxOTM2NzU4NzY0NzAwNSwKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDI3MC43MjA1ODM2NjUxNTQyNywKICAgICAgICAidW5pdCIgOiAibWciCiAgICAgIH0sIHsKICAgICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAgICJ0YWciIDogIkZPTERGRSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxMTcwLjk5MjM5OTEzNzM4NTcsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyOTIuNzQ4MDk5Nzg0MzQ2NDQsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiRm9sYXRlIChmb29kKSIsCiAgICAgICAgInRhZyIgOiAiRk9MRkQiLAogICAgICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICAgICAidG90YWwiIDogMTc3LjI3MjM5OTEzNzM4NTU4LAogICAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJGb2xpYyBhY2lkIiwKICAgICAgICAidGFnIiA6ICJGT0xBQyIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA1ODguMCwKICAgICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCMTIiLAogICAgICAgICJ0YWciIDogIlZJVEIxMiIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiA1LjEwMjkxNDE2MjUsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAyMTIuNjIxNDIzNDM3NTAwMDMsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSwgewogICAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICAgICAidGFnIiA6ICJWSVREIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDIuMDQxMTY1NjY1MDAwMDAwMywKICAgICAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAgICAgImRhaWx5IiA6IDEzLjYwNzc3MTEwMDAwMDAwMywKICAgICAgICAidW5pdCIgOiAiwrVnIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEUiLAogICAgICAgICJ0YWciIDogIlRPQ1BIQSIsCiAgICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAgICJ0b3RhbCIgOiAxNS42NTk3NjIyNzQ2MjI3MTMsCiAgICAgICAgImhhc1JESSIgOiB0cnVlLAogICAgICAgICJkYWlseSIgOiAxMDQuMzk4NDE1MTY0MTUxNDIsCiAgICAgICAgInVuaXQiIDogIm1nIgogICAgICB9LCB7CiAgICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAgICJ0YWciIDogIlZJVEsxIiwKICAgICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICAgInRvdGFsIiA6IDQ4LjgyMTU5OTk5OTk1NDIzLAogICAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgICAiZGFpbHkiIDogNDAuNjg0NjY2NjY2NjI4NTMsCiAgICAgICAgInVuaXQiIDogIsK1ZyIKICAgICAgfSBdCiAgICB9LAogICAgImJvb2ttYXJrZWQiIDogZmFsc2UsCiAgICAiYm91Z2h0IiA6IGZhbHNlCiAgfSBdCn0= + http_version: + recorded_at: Mon, 05 Nov 2018 03:03:23 GMT +recorded_with: VCR 4.0.0 diff --git a/test/controllers/recipes_controller_test.rb b/test/controllers/recipes_controller_test.rb index 033cbf2b2..bbf9e62d6 100644 --- a/test/controllers/recipes_controller_test.rb +++ b/test/controllers/recipes_controller_test.rb @@ -11,7 +11,25 @@ class RecipesControllerTest < ActionDispatch::IntegrationTest get root_path must_respond_with :success end - + + it "can do a recipe search" do + VCR.use_cassette("search_recipes") do + get recipes_path, params: {query: "tacos"} + + must_respond_with :ok + end + end + + it "can get next page of recipes" do + VCR.use_cassette("search_next_recipes") do + get recipes_path, params: {query: "tacos", from: 10} + + must_respond_with :ok + end + end + + + end diff --git a/test/test_helper.rb b/test/test_helper.rb index 6f3dec2ac..8d169938a 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -41,7 +41,7 @@ config.filter_sensitive_data("MUNCHER_ID") do ENV['MUNCHER_ID'] end - +end class ActiveSupport::TestCase # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order. From 70b570c86b6fdf0e35ff4b6b9b09b7321218f0c6 Mon Sep 17 00:00:00 2001 From: Layla Bristol Date: Sun, 4 Nov 2018 20:10:35 -0800 Subject: [PATCH 8/9] controller testing --- test/cassettes/get_single_recipe.yml | 47 ++++++++++++++++++ test/controllers/recipes_controller_test.rb | 11 ++++- test/lib/edamam_api_wrapper_test.rb | 55 +++++++++++++++++++++ 3 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 test/cassettes/get_single_recipe.yml create mode 100644 test/lib/edamam_api_wrapper_test.rb diff --git a/test/cassettes/get_single_recipe.yml b/test/cassettes/get_single_recipe.yml new file mode 100644 index 000000000..941d30e40 --- /dev/null +++ b/test/cassettes/get_single_recipe.yml @@ -0,0 +1,47 @@ +--- +http_interactions: +- request: + method: get + uri: https://api.edamam.com/search?app_id=MUNCHER_ID&app_key=MUNCHER_TOKEN&r=http://www.edamam.com/ontologies/edamam.owl%23recipe_6245fdcbb8c11fc1784df27c4d3426c5 + body: + encoding: US-ASCII + string: '' + headers: + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Server: + - ngx_openresty + Date: + - Mon, 05 Nov 2018 04:04:53 GMT + Content-Type: + - application/json;charset=UTF-8 + Transfer-Encoding: + - chunked + Connection: + - keep-alive + Set-Cookie: + - route=8e5a812ca79b4bbf3e9a7ba3906de9f3; Path=/ + Cache-Control: + - private + Expires: + - Thu, 01 Jan 1970 00:00:00 GMT + X-Served-By: + - ip-10-140-213-39/10.140.213.39 + Vary: + - Accept-Encoding + body: + encoding: ASCII-8BIT + string: !binary |- + W3sKICAidXJpIiA6ICJodHRwOi8vd3d3LmVkYW1hbS5jb20vb250b2xvZ2llcy9lZGFtYW0ub3dsI3JlY2lwZV82MjQ1ZmRjYmI4YzExZmMxNzg0ZGYyN2M0ZDM0MjZjNSIsCiAgImxhYmVsIiA6ICJUYWNvIFNhbGFkIiwKICAiaW1hZ2UiIDogImh0dHBzOi8vd3d3LmVkYW1hbS5jb20vd2ViLWltZy9jZjMvY2YzNWU5NTMzZTYzMTkwZmE5ZDRhY2UwMzNiOGVjMmEuanBnIiwKICAic291cmNlIiA6ICJHb29kIEhvdXNla2VlcGluZyIsCiAgInVybCIgOiAiaHR0cDovL3d3dy5nb29kaG91c2VrZWVwaW5nLmNvbS9mb29kLXJlY2lwZXMvYTEyNjk0L3RhY28tc2FsYWQtMTIxNjQwLyIsCiAgInNoYXJlQXMiIDogImh0dHA6Ly93d3cuZWRhbWFtLmNvbS9yZWNpcGUvdGFjby1zYWxhZC02MjQ1ZmRjYmI4YzExZmMxNzg0ZGYyN2M0ZDM0MjZjNS8tIiwKICAieWllbGQiIDogNC4wLAogICJkaWV0TGFiZWxzIiA6IFsgXSwKICAiaGVhbHRoTGFiZWxzIiA6IFsgIlBlYW51dC1GcmVlIiwgIlRyZWUtTnV0LUZyZWUiLCAiQWxjb2hvbC1GcmVlIiBdLAogICJjYXV0aW9ucyIgOiBbIF0sCiAgImluZ3JlZGllbnRMaW5lcyIgOiBbICIxMiBvei4gbGVhbiBncm91bmQgYmVlZiIsICIxIHBrdCAoMS4yNSBveikgNDAlLWxlc3Mtc29kaXVtIHRhY28gc2Vhc29uaW5nIG1peCIsICIxIGNhbiBraWRuZXkgYmVhbnMiLCAi4oWTIGMuIGJvdHRsZWQgcmFuY2ggc2FsYWQgZHJlc3NpbmciLCAi4oWTIGMuIHNhbHNhIiwgIjggYy4gYmFnZ2VkIHNhbGFkIGdyZWVucyIsICIyIGMuIGJyb2tlbiB0b3J0aWxsYSBjaGlwcyIsICIxIGMuIGNoZXJyeSB0b21hdG9lcyIsICLCvSBjLiBzaHJlZGRlZCByZWR1Y2VkLWZhdCBDaGVkZGFyIGNoZWVzZSIsICLCvCBjLiBDaG9wcGVkIHJlZCBvbmlvbiIgXSwKICAiaW5ncmVkaWVudHMiIDogWyB7CiAgICAidGV4dCIgOiAiMTIgb3ouIGxlYW4gZ3JvdW5kIGJlZWYiLAogICAgIndlaWdodCIgOiAzNDAuMTk0Mjc3NQogIH0sIHsKICAgICJ0ZXh0IiA6ICIxIHBrdCAoMS4yNSBveikgNDAlLWxlc3Mtc29kaXVtIHRhY28gc2Vhc29uaW5nIG1peCIsCiAgICAid2VpZ2h0IiA6IDM1LjQzNjkwMzkwNjI1CiAgfSwgewogICAgInRleHQiIDogIjEgY2FuIGtpZG5leSBiZWFucyIsCiAgICAid2VpZ2h0IiA6IDQ4MC4wMDAwMDAwMDAwMDAwNgogIH0sIHsKICAgICJ0ZXh0IiA6ICLihZMgYy4gYm90dGxlZCByYW5jaCBzYWxhZCBkcmVzc2luZyIsCiAgICAid2VpZ2h0IiA6IDgzLjMzMzMzMzMzMzMzMzMzCiAgfSwgewogICAgInRleHQiIDogIuKFkyBjLiBzYWxzYSIsCiAgICAid2VpZ2h0IiA6IDg2LjY2NjY2NjY2NjY2NjY2CiAgfSwgewogICAgInRleHQiIDogIjggYy4gYmFnZ2VkIHNhbGFkIGdyZWVucyIsCiAgICAid2VpZ2h0IiA6IDI4OC4wCiAgfSwgewogICAgInRleHQiIDogIjIgYy4gYnJva2VuIHRvcnRpbGxhIGNoaXBzIiwKICAgICJ3ZWlnaHQiIDogMTIwLjAKICB9LCB7CiAgICAidGV4dCIgOiAiMSBjLiBjaGVycnkgdG9tYXRvZXMiLAogICAgIndlaWdodCIgOiAxNzUuMAogIH0sIHsKICAgICJ0ZXh0IiA6ICLCvSBjLiBzaHJlZGRlZCByZWR1Y2VkLWZhdCBDaGVkZGFyIGNoZWVzZSIsCiAgICAid2VpZ2h0IiA6IDU2LjUKICB9LCB7CiAgICAidGV4dCIgOiAiwrwgYy4gQ2hvcHBlZCByZWQgb25pb24iLAogICAgIndlaWdodCIgOiA0MC4wCiAgfSBdLAogICJjYWxvcmllcyIgOiAyNDMxLjgzODc1ODk3ODEyNSwKICAidG90YWxXZWlnaHQiIDogMTcwNS4xMzExODE0MDYyNSwKICAidG90YWxUaW1lIiA6IDE1LjAsCiAgInRvdGFsTnV0cmllbnRzIiA6IHsKICAgICJFTkVSQ19LQ0FMIiA6IHsKICAgICAgImxhYmVsIiA6ICJFbmVyZ3kiLAogICAgICAicXVhbnRpdHkiIDogMjQzMS44Mzg3NTg5NzgxMjUsCiAgICAgICJ1bml0IiA6ICJrY2FsIgogICAgfSwKICAgICJGQVQiIDogewogICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICJxdWFudGl0eSIgOiAxMjUuNTIzMDYxMDgzMzMzMzMsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSwKICAgICJGQVNBVCIgOiB7CiAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgInF1YW50aXR5IiA6IDM2LjA0MzA4MjYxMDc1ODMzLAogICAgICAidW5pdCIgOiAiZyIKICAgIH0sCiAgICAiRkFUUk4iIDogewogICAgICAibGFiZWwiIDogIlRyYW5zIiwKICAgICAgInF1YW50aXR5IiA6IDIuNTgyMzg0MDk4NTAwMDAwNCwKICAgICAgInVuaXQiIDogImciCiAgICB9LAogICAgIkZBTVMiIDogewogICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICJxdWFudGl0eSIgOiA0My41OTU2OTc5OTgzNTAwMDUsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSwKICAgICJGQVBVIiA6IHsKICAgICAgImxhYmVsIiA6ICJQb2x5dW5zYXR1cmF0ZWQiLAogICAgICAicXVhbnRpdHkiIDogMzQuODMxNzI1MjU3Mzc1LAogICAgICAidW5pdCIgOiAiZyIKICAgIH0sCiAgICAiQ0hPQ0RGIiA6IHsKICAgICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAgICJxdWFudGl0eSIgOiAxOTguNDc3Mjg3NTk4OTU4MzMsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSwKICAgICJGSUJURyIgOiB7CiAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAicXVhbnRpdHkiIDogMzkuMDc3MTA4MjE5NTMxMjUsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSwKICAgICJTVUdBUiIgOiB7CiAgICAgICJsYWJlbCIgOiAiU3VnYXJzIiwKICAgICAgInF1YW50aXR5IiA6IDI4LjM3MDkxNjY5MzA0Njg3NiwKICAgICAgInVuaXQiIDogImciCiAgICB9LAogICAgIlBST0NOVCIgOiB7CiAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICJxdWFudGl0eSIgOiAxMjMuNDQ3NTgyODQyNDQ3OTMsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSwKICAgICJDSE9MRSIgOiB7CiAgICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgICAicXVhbnRpdHkiIDogMjc4Ljc1NjI4MDM3NSwKICAgICAgInVuaXQiIDogIm1nIgogICAgfSwKICAgICJOQSIgOiB7CiAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgInF1YW50aXR5IiA6IDU2MzYuNTMxNzQ0ODUwNTIxLAogICAgICAidW5pdCIgOiAibWciCiAgICB9LAogICAgIkNBIiA6IHsKICAgICAgImxhYmVsIiA6ICJDYWxjaXVtIiwKICAgICAgInF1YW50aXR5IiA6IDg2Ni41NzgzMTMzMDAwMDAxLAogICAgICAidW5pdCIgOiAibWciCiAgICB9LAogICAgIk1HIiA6IHsKICAgICAgImxhYmVsIiA6ICJNYWduZXNpdW0iLAogICAgICAicXVhbnRpdHkiIDogMzg3LjM4Mzg1NTUwMDAwMDA0LAogICAgICAidW5pdCIgOiAibWciCiAgICB9LAogICAgIksiIDogewogICAgICAibGFiZWwiIDogIlBvdGFzc2l1bSIsCiAgICAgICJxdWFudGl0eSIgOiA0MTU5LjY2OTMzNjUwNDE2NiwKICAgICAgInVuaXQiIDogIm1nIgogICAgfSwKICAgICJGRSIgOiB7CiAgICAgICJsYWJlbCIgOiAiSXJvbiIsCiAgICAgICJxdWFudGl0eSIgOiAyMC44NDIxNzU1NjM5MTY2NywKICAgICAgInVuaXQiIDogIm1nIgogICAgfSwKICAgICJaTiIgOiB7CiAgICAgICJsYWJlbCIgOiAiWmluYyIsCiAgICAgICJxdWFudGl0eSIgOiAyMy4yNDE4MjI1NTg5MTY2NywKICAgICAgInVuaXQiIDogIm1nIgogICAgfSwKICAgICJQIiA6IHsKICAgICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICAgInF1YW50aXR5IiA6IDE3NzIuNTg5MTM3MjY2NjY2NSwKICAgICAgInVuaXQiIDogIm1nIgogICAgfSwKICAgICJWSVRBX1JBRSIgOiB7CiAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgInF1YW50aXR5IiA6IDEzMzEuNzAyNzcxMDk5OTk5OCwKICAgICAgInVuaXQiIDogIsK1ZyIKICAgIH0sCiAgICAiVklUQyIgOiB7CiAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICAgInF1YW50aXR5IiA6IDYwLjgzNzY2NjY2NjY2NjY3LAogICAgICAidW5pdCIgOiAibWciCiAgICB9LAogICAgIlRISUEiIDogewogICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICJxdWFudGl0eSIgOiAxLjE4NjAxOTkyOTg4MzMzMzQsCiAgICAgICJ1bml0IiA6ICJtZyIKICAgIH0sCiAgICAiUklCRiIgOiB7CiAgICAgICJsYWJlbCIgOiAiUmlib2ZsYXZpbiAoQjIpIiwKICAgICAgInF1YW50aXR5IiA6IDEuMzU3NDg2NjkyMzU4MzMzMywKICAgICAgInVuaXQiIDogIm1nIgogICAgfSwKICAgICJOSUEiIDogewogICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgInF1YW50aXR5IiA6IDI0LjE4MzY1NTQyMTQ2NjY2NCwKICAgICAgInVuaXQiIDogIm1nIgogICAgfSwKICAgICJWSVRCNkEiIDogewogICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjYiLAogICAgICAicXVhbnRpdHkiIDogMi40ODAzMzUyMTczMDgzMzMzLAogICAgICAidW5pdCIgOiAibWciCiAgICB9LAogICAgIkZPTERGRSIgOiB7CiAgICAgICJsYWJlbCIgOiAiRm9sYXRlIGVxdWl2YWxlbnQgKHRvdGFsKSIsCiAgICAgICJxdWFudGl0eSIgOiAzODEuMDU4MzIzMzE2NjY2NjQsCiAgICAgICJ1bml0IiA6ICLCtWciCiAgICB9LAogICAgIkZPTEZEIiA6IHsKICAgICAgImxhYmVsIiA6ICJGb2xhdGUgKGZvb2QpIiwKICAgICAgInF1YW50aXR5IiA6IDM4MS4wNTgzMjMzMTY2NjY2NCwKICAgICAgInVuaXQiIDogIsK1ZyIKICAgIH0sCiAgICAiVklUQjEyIiA6IHsKICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEIxMiIsCiAgICAgICJxdWFudGl0eSIgOiA4LjAxNTQ5MzUzMjc1LAogICAgICAidW5pdCIgOiAiwrVnIgogICAgfSwKICAgICJWSVREIiA6IHsKICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEQiLAogICAgICAicXVhbnRpdHkiIDogMC42NzkxOTQyNzc1LAogICAgICAidW5pdCIgOiAiwrVnIgogICAgfSwKICAgICJUT0NQSEEiIDogewogICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICJxdWFudGl0eSIgOiAxMS4xNjQ2MzAyNzE3NSwKICAgICAgInVuaXQiIDogIm1nIgogICAgfSwKICAgICJWSVRLMSIgOiB7CiAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBLIiwKICAgICAgInF1YW50aXR5IiA6IDQ4OC40NjIzODc1NTMzMzM0LAogICAgICAidW5pdCIgOiAiwrVnIgogICAgfQogIH0sCiAgInRvdGFsRGFpbHkiIDogewogICAgIkVORVJDX0tDQUwiIDogewogICAgICAibGFiZWwiIDogIkVuZXJneSIsCiAgICAgICJxdWFudGl0eSIgOiAxMjEuNTkxOTM3OTQ4OTA2MjUsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJGQVQiIDogewogICAgICAibGFiZWwiIDogIkZhdCIsCiAgICAgICJxdWFudGl0eSIgOiAxOTMuMTEyNDAxNjY2NjY2NjQsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJGQVNBVCIgOiB7CiAgICAgICJsYWJlbCIgOiAiU2F0dXJhdGVkIiwKICAgICAgInF1YW50aXR5IiA6IDE4MC4yMTU0MTMwNTM3OTE2OCwKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIkNIT0NERiIgOiB7CiAgICAgICJsYWJlbCIgOiAiQ2FyYnMiLAogICAgICAicXVhbnRpdHkiIDogNjYuMTU5MDk1ODY2MzE5NDMsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJGSUJURyIgOiB7CiAgICAgICJsYWJlbCIgOiAiRmliZXIiLAogICAgICAicXVhbnRpdHkiIDogMTU2LjMwODQzMjg3ODEyNSwKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIlBST0NOVCIgOiB7CiAgICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAgICJxdWFudGl0eSIgOiAyNDYuODk1MTY1Njg0ODk1OSwKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIkNIT0xFIiA6IHsKICAgICAgImxhYmVsIiA6ICJDaG9sZXN0ZXJvbCIsCiAgICAgICJxdWFudGl0eSIgOiA5Mi45MTg3NjAxMjUsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJOQSIgOiB7CiAgICAgICJsYWJlbCIgOiAiU29kaXVtIiwKICAgICAgInF1YW50aXR5IiA6IDIzNC44NTU0ODkzNjg3NzE3LAogICAgICAidW5pdCIgOiAiJSIKICAgIH0sCiAgICAiQ0EiIDogewogICAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgICAicXVhbnRpdHkiIDogODYuNjU3ODMxMzMwMDAwMDIsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJNRyIgOiB7CiAgICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICAgInF1YW50aXR5IiA6IDkyLjIzNDI1MTMwOTUyMzgzLAogICAgICAidW5pdCIgOiAiJSIKICAgIH0sCiAgICAiSyIgOiB7CiAgICAgICJsYWJlbCIgOiAiUG90YXNzaXVtIiwKICAgICAgInF1YW50aXR5IiA6IDg4LjUwMzYwMjkwNDM0Mzk1LAogICAgICAidW5pdCIgOiAiJSIKICAgIH0sCiAgICAiRkUiIDogewogICAgICAibGFiZWwiIDogIklyb24iLAogICAgICAicXVhbnRpdHkiIDogMTE1Ljc4OTg2NDI0Mzk4MTUxLAogICAgICAidW5pdCIgOiAiJSIKICAgIH0sCiAgICAiWk4iIDogewogICAgICAibGFiZWwiIDogIlppbmMiLAogICAgICAicXVhbnRpdHkiIDogMjExLjI4OTI5NTk5MDE1MTU0LAogICAgICAidW5pdCIgOiAiJSIKICAgIH0sCiAgICAiUCIgOiB7CiAgICAgICJsYWJlbCIgOiAiUGhvc3Bob3J1cyIsCiAgICAgICJxdWFudGl0eSIgOiAyNTMuMjI3MDE5NjA5NTIzNzgsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJWSVRBX1JBRSIgOiB7CiAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBBIiwKICAgICAgInF1YW50aXR5IiA6IDE0Ny45NjY5NzQ1NjY2NjY2NiwKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIlZJVEMiIDogewogICAgICAibGFiZWwiIDogIlZpdGFtaW4gQyIsCiAgICAgICJxdWFudGl0eSIgOiA2Ny41OTc0MDc0MDc0MDc0MiwKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIlRISUEiIDogewogICAgICAibGFiZWwiIDogIlRoaWFtaW4gKEIxKSIsCiAgICAgICJxdWFudGl0eSIgOiA5OC44MzQ5OTQxNTY5NDQ0NSwKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIlJJQkYiIDogewogICAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAgICJxdWFudGl0eSIgOiAxMDQuNDIyMDUzMjU4MzMzMzIsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJOSUEiIDogewogICAgICAibGFiZWwiIDogIk5pYWNpbiAoQjMpIiwKICAgICAgInF1YW50aXR5IiA6IDE1MS4xNDc4NDYzODQxNjY2NiwKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIlZJVEI2QSIgOiB7CiAgICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAgICJxdWFudGl0eSIgOiAxOTAuNzk1MDE2NzE2MDI1NjMsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJGT0xERkUiIDogewogICAgICAibGFiZWwiIDogIkZvbGF0ZSBlcXVpdmFsZW50ICh0b3RhbCkiLAogICAgICAicXVhbnRpdHkiIDogOTUuMjY0NTgwODI5MTY2NjYsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJWSVRCMTIiIDogewogICAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICAgInF1YW50aXR5IiA6IDMzMy45Nzg4OTcxOTc5MTY2NCwKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIlZJVEQiIDogewogICAgICAibGFiZWwiIDogIlZpdGFtaW4gRCIsCiAgICAgICJxdWFudGl0eSIgOiA0LjUyNzk2MTg1MDAwMDAwMDUsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfSwKICAgICJUT0NQSEEiIDogewogICAgICAibGFiZWwiIDogIlZpdGFtaW4gRSIsCiAgICAgICJxdWFudGl0eSIgOiA3NC40MzA4Njg0NzgzMzMzNCwKICAgICAgInVuaXQiIDogIiUiCiAgICB9LAogICAgIlZJVEsxIiA6IHsKICAgICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgICAicXVhbnRpdHkiIDogNDA3LjA1MTk4OTYyNzc3NzgsCiAgICAgICJ1bml0IiA6ICIlIgogICAgfQogIH0sCiAgImRpZ2VzdCIgOiBbIHsKICAgICJsYWJlbCIgOiAiRmF0IiwKICAgICJ0YWciIDogIkZBVCIsCiAgICAic2NoZW1hT3JnVGFnIiA6ICJmYXRDb250ZW50IiwKICAgICJ0b3RhbCIgOiAxMjUuNTIzMDYxMDgzMzMzMzMsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogMTkzLjExMjQwMTY2NjY2NjY0LAogICAgInVuaXQiIDogImciLAogICAgInN1YiIgOiBbIHsKICAgICAgImxhYmVsIiA6ICJTYXR1cmF0ZWQiLAogICAgICAidGFnIiA6ICJGQVNBVCIsCiAgICAgICJzY2hlbWFPcmdUYWciIDogInNhdHVyYXRlZEZhdENvbnRlbnQiLAogICAgICAidG90YWwiIDogMzYuMDQzMDgyNjEwNzU4MzMsCiAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgImRhaWx5IiA6IDE4MC4yMTU0MTMwNTM3OTE2OCwKICAgICAgInVuaXQiIDogImciCiAgICB9LCB7CiAgICAgICJsYWJlbCIgOiAiVHJhbnMiLAogICAgICAidGFnIiA6ICJGQVRSTiIsCiAgICAgICJzY2hlbWFPcmdUYWciIDogInRyYW5zRmF0Q29udGVudCIsCiAgICAgICJ0b3RhbCIgOiAyLjU4MjM4NDA5ODUwMDAwMDQsCiAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSwgewogICAgICAibGFiZWwiIDogIk1vbm91bnNhdHVyYXRlZCIsCiAgICAgICJ0YWciIDogIkZBTVMiLAogICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICJ0b3RhbCIgOiA0My41OTU2OTc5OTgzNTAwMDUsCiAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSwgewogICAgICAibGFiZWwiIDogIlBvbHl1bnNhdHVyYXRlZCIsCiAgICAgICJ0YWciIDogIkZBUFUiLAogICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICJ0b3RhbCIgOiAzNC44MzE3MjUyNTczNzUsCiAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSBdCiAgfSwgewogICAgImxhYmVsIiA6ICJDYXJicyIsCiAgICAidGFnIiA6ICJDSE9DREYiLAogICAgInNjaGVtYU9yZ1RhZyIgOiAiY2FyYm9oeWRyYXRlQ29udGVudCIsCiAgICAidG90YWwiIDogMTk4LjQ3NzI4NzU5ODk1ODMzLAogICAgImhhc1JESSIgOiB0cnVlLAogICAgImRhaWx5IiA6IDY2LjE1OTA5NTg2NjMxOTQzLAogICAgInVuaXQiIDogImciLAogICAgInN1YiIgOiBbIHsKICAgICAgImxhYmVsIiA6ICJDYXJicyAobmV0KSIsCiAgICAgICJ0YWciIDogIkNIT0NERi5uZXQiLAogICAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAgICJ0b3RhbCIgOiAxNTkuNDAwMTc5Mzc5NDI3MDcsCiAgICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAgICJkYWlseSIgOiAwLjAsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSwgewogICAgICAibGFiZWwiIDogIkZpYmVyIiwKICAgICAgInRhZyIgOiAiRklCVEciLAogICAgICAic2NoZW1hT3JnVGFnIiA6ICJmaWJlckNvbnRlbnQiLAogICAgICAidG90YWwiIDogMzkuMDc3MTA4MjE5NTMxMjUsCiAgICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICAgImRhaWx5IiA6IDE1Ni4zMDg0MzI4NzgxMjUsCiAgICAgICJ1bml0IiA6ICJnIgogICAgfSwgewogICAgICAibGFiZWwiIDogIlN1Z2FycyIsCiAgICAgICJ0YWciIDogIlNVR0FSIiwKICAgICAgInNjaGVtYU9yZ1RhZyIgOiAic3VnYXJDb250ZW50IiwKICAgICAgInRvdGFsIiA6IDI4LjM3MDkxNjY5MzA0Njg3NiwKICAgICAgImhhc1JESSIgOiBmYWxzZSwKICAgICAgImRhaWx5IiA6IDAuMCwKICAgICAgInVuaXQiIDogImciCiAgICB9LCB7CiAgICAgICJsYWJlbCIgOiAiU3VnYXJzLCBhZGRlZCIsCiAgICAgICJ0YWciIDogIlNVR0FSLmFkZGVkIiwKICAgICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgICAidG90YWwiIDogMC4wLAogICAgICAiaGFzUkRJIiA6IGZhbHNlLAogICAgICAiZGFpbHkiIDogMC4wLAogICAgICAidW5pdCIgOiAiZyIKICAgIH0gXQogIH0sIHsKICAgICJsYWJlbCIgOiAiUHJvdGVpbiIsCiAgICAidGFnIiA6ICJQUk9DTlQiLAogICAgInNjaGVtYU9yZ1RhZyIgOiAicHJvdGVpbkNvbnRlbnQiLAogICAgInRvdGFsIiA6IDEyMy40NDc1ODI4NDI0NDc5MywKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiAyNDYuODk1MTY1Njg0ODk1OSwKICAgICJ1bml0IiA6ICJnIgogIH0sIHsKICAgICJsYWJlbCIgOiAiQ2hvbGVzdGVyb2wiLAogICAgInRhZyIgOiAiQ0hPTEUiLAogICAgInNjaGVtYU9yZ1RhZyIgOiAiY2hvbGVzdGVyb2xDb250ZW50IiwKICAgICJ0b3RhbCIgOiAyNzguNzU2MjgwMzc1LAogICAgImhhc1JESSIgOiB0cnVlLAogICAgImRhaWx5IiA6IDkyLjkxODc2MDEyNSwKICAgICJ1bml0IiA6ICJtZyIKICB9LCB7CiAgICAibGFiZWwiIDogIlNvZGl1bSIsCiAgICAidGFnIiA6ICJOQSIsCiAgICAic2NoZW1hT3JnVGFnIiA6ICJzb2RpdW1Db250ZW50IiwKICAgICJ0b3RhbCIgOiA1NjM2LjUzMTc0NDg1MDUyMSwKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiAyMzQuODU1NDg5MzY4NzcxNywKICAgICJ1bml0IiA6ICJtZyIKICB9LCB7CiAgICAibGFiZWwiIDogIkNhbGNpdW0iLAogICAgInRhZyIgOiAiQ0EiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDg2Ni41NzgzMTMzMDAwMDAxLAogICAgImhhc1JESSIgOiB0cnVlLAogICAgImRhaWx5IiA6IDg2LjY1NzgzMTMzMDAwMDAyLAogICAgInVuaXQiIDogIm1nIgogIH0sIHsKICAgICJsYWJlbCIgOiAiTWFnbmVzaXVtIiwKICAgICJ0YWciIDogIk1HIiwKICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICJ0b3RhbCIgOiAzODcuMzgzODU1NTAwMDAwMDQsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogOTIuMjM0MjUxMzA5NTIzODMsCiAgICAidW5pdCIgOiAibWciCiAgfSwgewogICAgImxhYmVsIiA6ICJQb3Rhc3NpdW0iLAogICAgInRhZyIgOiAiSyIsCiAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAidG90YWwiIDogNDE1OS42NjkzMzY1MDQxNjYsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogODguNTAzNjAyOTA0MzQzOTUsCiAgICAidW5pdCIgOiAibWciCiAgfSwgewogICAgImxhYmVsIiA6ICJJcm9uIiwKICAgICJ0YWciIDogIkZFIiwKICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICJ0b3RhbCIgOiAyMC44NDIxNzU1NjM5MTY2NywKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiAxMTUuNzg5ODY0MjQzOTgxNTEsCiAgICAidW5pdCIgOiAibWciCiAgfSwgewogICAgImxhYmVsIiA6ICJaaW5jIiwKICAgICJ0YWciIDogIlpOIiwKICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICJ0b3RhbCIgOiAyMy4yNDE4MjI1NTg5MTY2NywKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiAyMTEuMjg5Mjk1OTkwMTUxNTQsCiAgICAidW5pdCIgOiAibWciCiAgfSwgewogICAgImxhYmVsIiA6ICJQaG9zcGhvcnVzIiwKICAgICJ0YWciIDogIlAiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDE3NzIuNTg5MTM3MjY2NjY2NSwKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiAyNTMuMjI3MDE5NjA5NTIzNzgsCiAgICAidW5pdCIgOiAibWciCiAgfSwgewogICAgImxhYmVsIiA6ICJWaXRhbWluIEEiLAogICAgInRhZyIgOiAiVklUQV9SQUUiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDEzMzEuNzAyNzcxMDk5OTk5OCwKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiAxNDcuOTY2OTc0NTY2NjY2NjYsCiAgICAidW5pdCIgOiAiwrVnIgogIH0sIHsKICAgICJsYWJlbCIgOiAiVml0YW1pbiBDIiwKICAgICJ0YWciIDogIlZJVEMiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDYwLjgzNzY2NjY2NjY2NjY3LAogICAgImhhc1JESSIgOiB0cnVlLAogICAgImRhaWx5IiA6IDY3LjU5NzQwNzQwNzQwNzQyLAogICAgInVuaXQiIDogIm1nIgogIH0sIHsKICAgICJsYWJlbCIgOiAiVGhpYW1pbiAoQjEpIiwKICAgICJ0YWciIDogIlRISUEiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDEuMTg2MDE5OTI5ODgzMzMzNCwKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiA5OC44MzQ5OTQxNTY5NDQ0NSwKICAgICJ1bml0IiA6ICJtZyIKICB9LCB7CiAgICAibGFiZWwiIDogIlJpYm9mbGF2aW4gKEIyKSIsCiAgICAidGFnIiA6ICJSSUJGIiwKICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICJ0b3RhbCIgOiAxLjM1NzQ4NjY5MjM1ODMzMzMsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogMTA0LjQyMjA1MzI1ODMzMzMyLAogICAgInVuaXQiIDogIm1nIgogIH0sIHsKICAgICJsYWJlbCIgOiAiTmlhY2luIChCMykiLAogICAgInRhZyIgOiAiTklBIiwKICAgICJzY2hlbWFPcmdUYWciIDogbnVsbCwKICAgICJ0b3RhbCIgOiAyNC4xODM2NTU0MjE0NjY2NjQsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogMTUxLjE0Nzg0NjM4NDE2NjY2LAogICAgInVuaXQiIDogIm1nIgogIH0sIHsKICAgICJsYWJlbCIgOiAiVml0YW1pbiBCNiIsCiAgICAidGFnIiA6ICJWSVRCNkEiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDIuNDgwMzM1MjE3MzA4MzMzMywKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiAxOTAuNzk1MDE2NzE2MDI1NjMsCiAgICAidW5pdCIgOiAibWciCiAgfSwgewogICAgImxhYmVsIiA6ICJGb2xhdGUgZXF1aXZhbGVudCAodG90YWwpIiwKICAgICJ0YWciIDogIkZPTERGRSIsCiAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAidG90YWwiIDogMzgxLjA1ODMyMzMxNjY2NjY0LAogICAgImhhc1JESSIgOiB0cnVlLAogICAgImRhaWx5IiA6IDk1LjI2NDU4MDgyOTE2NjY2LAogICAgInVuaXQiIDogIsK1ZyIKICB9LCB7CiAgICAibGFiZWwiIDogIkZvbGF0ZSAoZm9vZCkiLAogICAgInRhZyIgOiAiRk9MRkQiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDM4MS4wNTgzMjMzMTY2NjY2NCwKICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAiZGFpbHkiIDogMC4wLAogICAgInVuaXQiIDogIsK1ZyIKICB9LCB7CiAgICAibGFiZWwiIDogIkZvbGljIGFjaWQiLAogICAgInRhZyIgOiAiRk9MQUMiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDAuMCwKICAgICJoYXNSREkiIDogZmFsc2UsCiAgICAiZGFpbHkiIDogMC4wLAogICAgInVuaXQiIDogIsK1ZyIKICB9LCB7CiAgICAibGFiZWwiIDogIlZpdGFtaW4gQjEyIiwKICAgICJ0YWciIDogIlZJVEIxMiIsCiAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAidG90YWwiIDogOC4wMTU0OTM1MzI3NSwKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiAzMzMuOTc4ODk3MTk3OTE2NjQsCiAgICAidW5pdCIgOiAiwrVnIgogIH0sIHsKICAgICJsYWJlbCIgOiAiVml0YW1pbiBEIiwKICAgICJ0YWciIDogIlZJVEQiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDAuNjc5MTk0Mjc3NSwKICAgICJoYXNSREkiIDogdHJ1ZSwKICAgICJkYWlseSIgOiA0LjUyNzk2MTg1MDAwMDAwMDUsCiAgICAidW5pdCIgOiAiwrVnIgogIH0sIHsKICAgICJsYWJlbCIgOiAiVml0YW1pbiBFIiwKICAgICJ0YWciIDogIlRPQ1BIQSIsCiAgICAic2NoZW1hT3JnVGFnIiA6IG51bGwsCiAgICAidG90YWwiIDogMTEuMTY0NjMwMjcxNzUsCiAgICAiaGFzUkRJIiA6IHRydWUsCiAgICAiZGFpbHkiIDogNzQuNDMwODY4NDc4MzMzMzQsCiAgICAidW5pdCIgOiAibWciCiAgfSwgewogICAgImxhYmVsIiA6ICJWaXRhbWluIEsiLAogICAgInRhZyIgOiAiVklUSzEiLAogICAgInNjaGVtYU9yZ1RhZyIgOiBudWxsLAogICAgInRvdGFsIiA6IDQ4OC40NjIzODc1NTMzMzM0LAogICAgImhhc1JESSIgOiB0cnVlLAogICAgImRhaWx5IiA6IDQwNy4wNTE5ODk2Mjc3Nzc4LAogICAgInVuaXQiIDogIsK1ZyIKICB9IF0KfV0= + http_version: + recorded_at: Mon, 05 Nov 2018 04:04:53 GMT +recorded_with: VCR 4.0.0 diff --git a/test/controllers/recipes_controller_test.rb b/test/controllers/recipes_controller_test.rb index bbf9e62d6..86d74deae 100644 --- a/test/controllers/recipes_controller_test.rb +++ b/test/controllers/recipes_controller_test.rb @@ -28,9 +28,16 @@ class RecipesControllerTest < ActionDispatch::IntegrationTest end end + it "can get a single recipe" do + VCR.use_cassette("get_single_recipe") do + recipe = { + :uri => "http://www.edamam.com/ontologies/edamam.owl#recipe_6245fdcbb8c11fc1784df27c4d3426c5" + } + get recipe_path(recipe: recipe[:uri]) + must_respond_with :ok + end + end end - - end diff --git a/test/lib/edamam_api_wrapper_test.rb b/test/lib/edamam_api_wrapper_test.rb new file mode 100644 index 000000000..4135cb503 --- /dev/null +++ b/test/lib/edamam_api_wrapper_test.rb @@ -0,0 +1,55 @@ +require 'test_helper' + +describe EdamamApiWrapper do + + it "can do a recipe search" do + VCR.use_cassette("search_recipes") do + params = { + :query => "tacos", + :from => 0, + } + recipes = EdamamApiWrapper.search_recipes(params) + + expect(recipes).must_be_kind_of Hash + end + end + + it "can parse api response" do + VCR.use_cassette("search_recipes") do + params = { + :query => "tacos", + :from => 0, + } + recipes = EdamamApiWrapper.search_recipes(params) + recipes = EdamamApiWrapper.parse_api_response(recipes) + + expect(recipes[:recipes]).must_be_kind_of Array + expect(recipes[:recipes].length).must_be :>, 0 + end + end + + it "can get a single recipe" do + VCR.use_cassette("get_single_recipe") do + recipe = { + :uri => "http://www.edamam.com/ontologies/edamam.owl#recipe_6245fdcbb8c11fc1784df27c4d3426c5" + } + + recipe = EdamamApiWrapper.get_recipe(recipe[:uri]) + + expect(recipe).must_be_kind_of Array + end + end + + it "can parse a single recipe" do + VCR.use_cassette("get_single_recipe") do + recipe = { + :uri => "http://www.edamam.com/ontologies/edamam.owl#recipe_6245fdcbb8c11fc1784df27c4d3426c5" + } + + recipe = EdamamApiWrapper.get_recipe(recipe[:uri]) + recipe = EdamamApiWrapper.parse_recipe(recipe) + + expect(recipe).must_be_kind_of Hash + end + end +end From 34842a43872d9dda1f2e930b3c163a3ae4957073 Mon Sep 17 00:00:00 2001 From: Layla Bristol Date: Sun, 4 Nov 2018 20:25:23 -0800 Subject: [PATCH 9/9] ran bundle install --- Gemfile.lock | 8 -------- 1 file changed, 8 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 2bf819941..f5fa008ae 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -48,15 +48,9 @@ GEM archive-zip (0.11.0) io-like (~> 0.3.0) arel (9.0.0) - autoprefixer-rails (9.3.1) - execjs bindex (0.5.0) bootsnap (1.3.2) msgpack (~> 1.0) - bootstrap (4.1.3) - autoprefixer-rails (>= 6.0.3) - popper_js (>= 1.12.9, < 2) - sass (>= 3.5.2) builder (3.2.3) byebug (10.0.2) capybara (3.10.1) @@ -138,7 +132,6 @@ GEM nokogiri (1.8.5) mini_portile2 (~> 2.3.0) pg (1.1.3) - popper_js (1.14.3) public_suffix (3.0.3) puma (3.12.0) rack (2.0.5) @@ -234,7 +227,6 @@ PLATFORMS DEPENDENCIES bootsnap (>= 1.1.0) - bootstrap (~> 4.1.3) byebug capybara (>= 2.15) chromedriver-helper