Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1geZTp-0003IO-2Z for pgadmin-hackers@arkaria.postgresql.org; Wed, 02 Jan 2019 05:54:14 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1geZSn-0007ll-QH for pgadmin-hackers@arkaria.postgresql.org; Wed, 02 Jan 2019 05:53:09 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1geZSm-0007le-Mb for pgadmin-hackers@lists.postgresql.org; Wed, 02 Jan 2019 05:53:09 +0000 Received: from mail-lj1-x22d.google.com ([2a00:1450:4864:20::22d]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1geZSc-00024S-O7 for pgadmin-hackers@lists.postgresql.org; Wed, 02 Jan 2019 05:53:07 +0000 Received: by mail-lj1-x22d.google.com with SMTP id k19-v6so26135036lji.11 for ; Tue, 01 Jan 2019 21:52:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=zeWuuTMOeBTLmASeOvoNxXcsNX7O/t4bRRrtKng/MHE=; b=JhgZBuOzf+DvI6D3V3+/fH0vIuoEYoDeTqSJhglrYKn+5AAMjftU+I5hMkShEMXnOt P3mNAT7myzmgDZ2NCIR3wlQarEdAbGN4LVb3HXANVFwEqRPk2U26btxTp5pua1y2EfAz Nejn8ta4Yb3wSqjvcky0LIa8MmhjNkgeLo/vUt+e29QLQu+kbAxl+ufe+d0W9FArjR6L FBZx5+PVJ6My+6asIWLDEcw5pOS4Y1bW9iw2ocMWg2qsTF7WVKU193bjzMBWpPFqN472 kQThfBa8K14tKtlHp6G/DkPnOeFauHliCTuxpOqKbmT5kYRlxdjOm0Z6WILcyQvbToay zCJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=zeWuuTMOeBTLmASeOvoNxXcsNX7O/t4bRRrtKng/MHE=; b=W91VKyFxMC8mcDREgZAds8kdv95iJl5tQ3QedYVdl8zyRp0HEU2hQ1FdkLmkHmYnXy FsK9YRrHgH1HZtu5vCofgrOtzZRRhpXJQDX9GTx2fhMYUws/qkNNjQbTkvSLcjZIaqZY R4lEriq7/pYfx5kCOoUfJJgwTwzk8Eory+ei+nd1e5jMOlUQeV22sDdOyFEDDiMYqpZQ wSF4/iT5ODlByW7m68UU5NOvzJfzyrth6+CvfGSRuA8UMKMqi0igvY26rsN6Ckhy2K3z PVzKcJY0lhADpLw6t49NujJLYArIVAc/9MughRT/61i6vbL5nTvDLaMgQcqcepgBBD2S hIqg== X-Gm-Message-State: AA+aEWb9B81hFuv9EAGD9lKMd3xWU0n7iXtEnrO1l2HN+SU80dn5HQi/ JFMx16TSx+GOq039EVt7N7jfs/uUnBGFgFoTnDN/Z5E/MBQ= X-Google-Smtp-Source: ALg8bN4gdVGKcTsrcSxGEDRmi/fItRJpbsRF19JVKi0uVbxzbc3lC85ScIfTiV5bqvSJMSob/6GHpoMVzM0ErBT5bCs= X-Received: by 2002:a2e:9f0b:: with SMTP id u11-v6mr20326100ljk.99.1546408374480; Tue, 01 Jan 2019 21:52:54 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Aditya Toshniwal Date: Wed, 2 Jan 2019 11:22:43 +0530 Message-ID: Subject: Re: pgAdmin 4 commit: Improvement in the look and feel of the whole applica To: pgadmin-hackers Content-Type: multipart/mixed; boundary="000000000000d6dcd0057e7341a2" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --000000000000d6dcd0057e7341a2 Content-Type: multipart/alternative; boundary="000000000000d6dccd057e7341a0" --000000000000d6dccd057e7341a0 Content-Type: text/plain; charset="UTF-8" Hi Hackers, Kindly ignore the previous patch. Attaching updated patch with few more corrections. The patch includes: - Base font size changed from 0.815rem to 0.875rem, for navbar from 0.875rem to 0.925rem. - Dialog sizes made consistent throughout the application. Now there are 3 size options for width and height each - sm, md, lg. Combination of any of these to be used hereafter - Alignment fix for controls of Node properties dialogs which includes showing text and label in one line without dialog size change, checkbox alignment, switch control alignment at places and other minor improvements in other dialogs - Error message design change in dialogs validation - SQL Editor data grid editor popup design changes which were missed - Design change for dashboard server activity grid - Login page language dropdown color fix - Properties accordion collapse design fix - Help, Info icon fixed across all dialogs which were not working if clicked exactly on the text - Added missing icon with buttons at few places - Shadow behind the dialogs is increased to make it look clearly separated and depth. - Control Alignment fix in maintenance dialog - Min height of alertify dialogs set for better UX - File dialog design fix when no files found - Grant wizard fixes - Scroll bar visibility on first page, use full space for SQL generated on the last page - Browser toolbar buttons changed to sync with SQL editor toolbar buttons - Rounded corners for docker floating dialog (no properties) - Renaming file in file dialog should show original file name - SQL data grid text edit popup buttons behaviour was swapped. This is fixed. - Import/Export dialog changes as per new design. - Other improvements wherever noticed. On Tue, Jan 1, 2019 at 11:09 AM Aditya Toshniwal < aditya.toshniwal@enterprisedb.com> wrote: > Hi Hackers, > > Attached is the patch to improve the previously committed new design > changes. > The patch includes: > - Base font size changed from 0.815rem to 0.875rem, for navbar from > 0.875rem to 0.925rem. > - Dialog sizes made consistent throughout the application. Now there are 3 > size options for width and height each - sm, md, lg. Combination of any of > these to be used hereafter > - Alignment fix for controls of Node properties dialogs which includes > showing text and label in one line without dialog size change, checkbox > alignment, switch control alignment at places and other minor improvements > in other dialogs > - Error message design change in dialogs validation > - SQL Editor data grid editor popup design changes which were missed > - Design change for dashboard server activity grid > - Login page language dropdown color fix > - Properties accordion collapse design fix > - Help, Info icon fixed across all dialogs which were not working if > clicked exactly on the text > - Added missing icon with buttons at few places > - Shadow behind the dialogs is increased to make it look clearly separated > and depth. > - Control Alignment fix in maintenance dialog > - Min height of alertify dialogs set for better UX > - File dialog design fix when no files found > - Grant wizard fixes - Scroll bar visibility on first page, use full space > for SQL generated on the last page > - Browser toolbar buttons changed to sync with SQL editor toolbar buttons > - Rounded corners for docker floating dialog (no properties) > - Other improvements wherever noticed. > > I hope this covers majority of the issues. > Kindly review. > > > On Fri, Dec 21, 2018 at 7:48 PM Aditya Toshniwal < > aditya.toshniwal@enterprisedb.com> wrote: > >> >> >> On Fri, Dec 21, 2018 at 7:46 PM Dave Page wrote: >> >>> On Fri, Dec 21, 2018 at 2:14 PM Aditya Toshniwal >>> wrote: >>> > >>> > For the query tool results grid text pop-out, you mean the border size >>> around it ? >>> > We don't have any design discussed for it, so could you please propose >>> what can be done. >>> >>> Border, button colours etc. I can't draw anything, but I'd suggest >>> that the border should be squared not rounded, and the >>> thickness/shadow etc adjusted to match the other styling. >>> >> Cool. >> Button colors are already changed. Others things noted. Will work on it. >> >>> > >>> > On Fri, Dec 21, 2018 at 7:35 PM Dave Page wrote: >>> >> >>> >> On Fri, Dec 21, 2018 at 2:02 PM Aditya Toshniwal >>> >> wrote: >>> >> > >>> >> > >>> >> > >>> >> > On Fri, Dec 21, 2018 at 7:29 PM Dave Page >>> wrote: >>> >> >> >>> >> >> One other issue: I'm seeing that standard sized dialogues (e.g. the >>> >> >> Server or Database Properties dialogues) are wrapping their labels >>> and >>> >> >> controls at the default size. That should not be the case. >>> >> > >>> >> > Yep. Akshay has logged that in the sheet shared ( >>> https://drive.google.com/open?id=127BgrvdVUvWSEp-GnQvCDx1WaaemsycxSD0aUpWxb6k >>> ). >>> >> >>> >> OK, but the answer isn't to increase the size of the dialogues as >>> >> suggested. The size is fine (though we should review for consistency, >>> >> and ensure we are using no more than 3 default standard sizes >>> >> throughout the app); we should make the controls display nicely on the >>> >> default dialogue size and wrap if the user makes it smaller than we >>> >> can display in. >>> >> >>> >> >> On Fri, Dec 21, 2018 at 12:46 PM Dave Page >>> wrote: >>> >> >> > >>> >> >> > Hi >>> >> >> > >>> >> >> > On Fri, Dec 21, 2018 at 12:29 PM Aditya Toshniwal >>> >> >> > wrote: >>> >> >> > > >>> >> >> > > Hi Dave, >>> >> >> > > >>> >> >> > > On Fri, Dec 21, 2018 at 5:51 PM Dave Page >>> wrote: >>> >> >> > >> >>> >> >> > >> Nice! Thanks Ashesh. >>> >> >> > >> >>> >> >> > >> Some small issues I spotted: >>> >> >> > >> >>> >> >> > >> - The font looks somewhat small. How does it compare in size >>> to, say, >>> >> >> > >> Gmail? I think it needs to be increased to at least that size. >>> >> >> > > >>> >> >> > > Gmail uses 0.875rem (14px) for the left panel (Inbox, Sent). >>> We are using 0.875rem (14px) for main navbar links and 0.815rem(13.04px) >>> for all other text. >>> >> >> > >>> >> >> > Let's increase the default to 0.875, and make the main links >>> >> >> > proportionally bigger. >>> >> >> > >>> >> >> > >> - Dialogues have 2 close buttons next to each other in the >>> top-right. >>> >> >> > >> Looks like an icon and a text version? >>> >> >> > > >>> >> >> > > You need to do a yarn install. wcDocker code is changed to fix >>> that. >>> >> >> > >>> >> >> > Yup, that fixed it. >>> >> >> > >>> >> >> > >> - Why do some Preferences panels use alternate line >>> colouring, whilst >>> >> >> > >> others don't? I suspect it's because some are actually tables >>> under >>> >> >> > >> the hood? I think we need consistency there. >>> >> >> > > >>> >> >> > > Noted. >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> - The Maintenance dialogue looks terrible - it needs to be >>> made much >>> >> >> > >> more compact. I also seem to be getting a failure to create >>> >> >> > >> maintenance jobs (backups etc work fine). >>> >> >> > > >>> >> >> > > Noted. >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> - I think the buttons on the Browser need borders to match >>> other buttons. >>> >> >> > > >>> >> >> > > It is made consistent with other wcDocker buttons like close, >>> right arrow, left arrow. However, we can make it look like other buttons. >>> >> >> > >>> >> >> > I think they're a different class of buttons - >>> control/navigation vs. >>> >> >> > function. I think we should make this change as the browser >>> buttons >>> >> >> > really are a toolbar just like the larger on on the query tool. >>> >> >> > >>> >> >> > Thanks! >>> >> >> > >>> >> >> > >> Thanks! >>> >> >> > >> >>> >> >> > >> On Fri, Dec 21, 2018 at 12:01 PM Ashesh Vashi >>> >> >> > >> wrote: >>> >> >> > >> > >>> >> >> > >> > Improvement in the look and feel of the whole application >>> >> >> > >> > >>> >> >> > >> > Changed the SCSS/CSS for the below third party libraries to >>> adopt the >>> >> >> > >> > new look 'n' feel: >>> >> >> > >> > - wcDocker >>> >> >> > >> > - Alertify dialogs, and notifications >>> >> >> > >> > - AciTree >>> >> >> > >> > - Bootstrap Navbar >>> >> >> > >> > - Bootstrap Tabs >>> >> >> > >> > - Bootstrap Drop-Down menu >>> >> >> > >> > - Backgrid >>> >> >> > >> > - Select2 >>> >> >> > >> > >>> >> >> > >> > Adopated the new the look 'n' feel for the dialogs, wizard, >>> properties, >>> >> >> > >> > tab panels, tabs, fieldset, subnode control, spinner >>> control, HTML >>> >> >> > >> > table, and other form controls. >>> >> >> > >> > >>> >> >> > >> > - Font is changed to Roboto >>> >> >> > >> > - Using SCSS variables to define the look 'n' feel >>> >> >> > >> > - Designer background images for the Login, and Forget >>> password pages in >>> >> >> > >> > 'web' mode >>> >> >> > >> > - Improved the look 'n' feel for the key selection in the >>> preferences >>> >> >> > >> > dialog >>> >> >> > >> > - Table classes consistency changes across the application >>> >> >> > >> > - File Open and Save dialog list view changes >>> >> >> > >> > >>> >> >> > >> > Author(s): Aditya Toshniwal & Khushboo Vashi >>> >> >> > >> > >>> >> >> > >> > Branch >>> >> >> > >> > ------ >>> >> >> > >> > master >>> >> >> > >> > >>> >> >> > >> > Details >>> >> >> > >> > ------- >>> >> >> > >> > >>> https://git.postgresql.org/gitweb?p=pgadmin4.git;a=commitdiff;h=5799ac14ba17dc25fbec184b3b2c6afbe37f1f74 >>> >> >> > >> > >>> >> >> > >> > Modified Files >>> >> >> > >> > -------------- >>> >> >> > >> > web/package.json | 2 +- >>> >> >> > >> > .../static/js/fts_configuration.js | 2 +- >>> >> >> > >> > .../databases/schemas/functions/__init__.py | 4 +- >>> >> >> > >> > .../function => static}/css/function.css | 0 >>> >> >> > >> > .../templates/trigger_function/css/function.css | 3 - >>> >> >> > >> > .../{templates/edbfunc => static}/css/edbfunc.css | 0 >>> >> >> > >> > .../static/js/exclusion_constraint.js | 18 +- >>> >> >> > >> > .../foreign_key/static/js/foreign_key.js | 17 +- >>> >> >> > >> > .../schemas/tables/rules/static/css/rule.css | 7 + >>> >> >> > >> > .../tables/rules/templates/rules/css/rule.css | 8 - >>> >> >> > >> > .../databases/schemas/views/static/css/view.css | 7 + >>> >> >> > >> > .../schemas/views/templates/mview/css/mview.css | 4 - >>> >> >> > >> > .../schemas/views/templates/view/css/view.css | 4 - >>> >> >> > >> > .../pgagent/schedules/static/js/pga_schedule.js | 3 +- >>> >> >> > >> > .../servers/pgagent/static/css/pga_job.css | 3 + >>> >> >> > >> > .../pgagent/templates/pga_job/css/pga_job.css | 13 - >>> >> >> > >> > .../server_groups/servers/static/css/servers.css | 4 + >>> >> >> > >> > .../server_groups/servers/static/js/server.js | 22 +- >>> >> >> > >> > .../server_groups/servers/static/js/variable.js | 4 +- >>> >> >> > >> > .../servers/tablespaces/static/js/tablespace.js | 13 +- >>> >> >> > >> > .../servers/templates/css/servers.css | 4 - >>> >> >> > >> > web/pgadmin/browser/static/css/browser.css | 13 - >>> >> >> > >> > web/pgadmin/browser/static/css/wizard.css | 21 +- >>> >> >> > >> > web/pgadmin/browser/static/js/browser.js | 26 +- >>> >> >> > >> > web/pgadmin/browser/static/js/collection.js | 16 +- >>> >> >> > >> > web/pgadmin/browser/static/js/keyboard.js | 14 +- >>> >> >> > >> > web/pgadmin/browser/static/js/menu.js | 28 +- >>> >> >> > >> > web/pgadmin/browser/static/js/node.js | 53 +- >>> >> >> > >> > web/pgadmin/browser/static/js/node.ui.js | 4 +- >>> >> >> > >> > web/pgadmin/browser/static/js/panel.js | 15 +- >>> >> >> > >> > web/pgadmin/browser/static/js/toolbar.js | 3 - >>> >> >> > >> > web/pgadmin/browser/static/js/wizard.js | 58 +- >>> >> >> > >> > web/pgadmin/browser/static/scss/_browser.scss | 43 +- >>> >> >> > >> > web/pgadmin/browser/static/scss/_wizard.scss | 41 +- >>> >> >> > >> > web/pgadmin/browser/templates/browser/css/node.css | 2 +- >>> >> >> > >> > web/pgadmin/browser/templates/browser/index.html | 9 +- >>> >> >> > >> > web/pgadmin/dashboard/__init__.py | 2 +- >>> >> >> > >> > web/pgadmin/dashboard/static/css/dashboard.css | 21 +- >>> >> >> > >> > web/pgadmin/dashboard/static/js/dashboard.js | 120 +- >>> >> >> > >> > web/pgadmin/dashboard/static/scss/_dashboard.scss | 44 +- >>> >> >> > >> > .../templates/dashboard/database_dashboard.html | 171 >>> ++- >>> >> >> > >> > .../templates/dashboard/server_dashboard.html | 197 >>> ++- >>> >> >> > >> > .../templates/dashboard/welcome_dashboard.html | 30 +- >>> >> >> > >> > web/pgadmin/feature_tests/browser_tool_bar_test.py | 23 +- >>> >> >> > >> > web/pgadmin/feature_tests/file_manager_test.py | 23 +- >>> >> >> > >> > .../feature_tests/keyboard_shortcut_test.py | 5 +- >>> >> >> > >> > .../feature_tests/pg_datatype_validation_test.py | 5 +- >>> >> >> > >> > .../pg_utilities_backup_restore_test.py | 28 +- >>> >> >> > >> > .../feature_tests/pg_utilities_maintenance_test.py | 16 +- >>> >> >> > >> > .../feature_tests/query_tool_journey_test.py | 5 +- >>> >> >> > >> > web/pgadmin/feature_tests/query_tool_tests.py | 117 +- >>> >> >> > >> > web/pgadmin/feature_tests/view_data_dml_queries.py | 16 +- >>> >> >> > >> > .../misc/bgprocess/static/css/bgprocess.css | 11 - >>> >> >> > >> > web/pgadmin/misc/bgprocess/static/js/bgprocess.js | 173 >>> ++- >>> >> >> > >> > .../misc/bgprocess/static/scss/_bgprocess.scss | 81 +- >>> >> >> > >> > web/pgadmin/misc/depends/static/js/depends.js | 3 +- >>> >> >> > >> > .../misc/file_manager/static/css/file_manager.css | 141 +- >>> >> >> > >> > .../misc/file_manager/static/js/create_dialogue.js | 9 +- >>> >> >> > >> > .../misc/file_manager/static/js/select_dialogue.js | 19 +- >>> >> >> > >> > web/pgadmin/misc/file_manager/static/js/utility.js | 77 +- >>> >> >> > >> > .../file_manager/static/scss/_file_manager.scss | 157 >>> +-- >>> >> >> > >> > .../file_manager/templates/file_manager/index.html | 95 +- >>> >> >> > >> > .../misc/statistics/static/js/statistics.js | 3 +- >>> >> >> > >> > web/pgadmin/preferences/static/css/preferences.css | 14 - >>> >> >> > >> > web/pgadmin/preferences/static/js/preferences.js | 31 +- >>> >> >> > >> > .../preferences/static/scss/_preferences.scss | 16 + >>> >> >> > >> > web/pgadmin/static/css/pgadmin.css | 81 +- >>> >> >> > >> > web/pgadmin/static/fonts/Roboto-Bold.ttf | Bin 0 >>> -> 170760 bytes >>> >> >> > >> > web/pgadmin/static/fonts/Roboto-Medium.ttf | Bin 0 >>> -> 172064 bytes >>> >> >> > >> > web/pgadmin/static/fonts/Roboto-Regular.ttf | Bin 0 >>> -> 171676 bytes >>> >> >> > >> > web/pgadmin/static/img/collapse_expand.svg | 15 + >>> >> >> > >> > web/pgadmin/static/img/forgot_password.svg | 283 >>> ++++ >>> >> >> > >> > web/pgadmin/static/img/login.svg | 1 + >>> >> >> > >> > web/pgadmin/static/js/alertify.pgadmin.defaults.js | 82 +- >>> >> >> > >> > web/pgadmin/static/js/backform.pgadmin.js | 80 +- >>> >> >> > >> > web/pgadmin/static/js/backgrid.pgadmin.js | 33 +- >>> >> >> > >> > web/pgadmin/static/js/slickgrid/editors.js | 8 +- >>> >> >> > >> > web/pgadmin/static/js/sqleditor/filter_dialog.js | 33 +- >>> >> >> > >> > .../static/js/sqleditor/query_tool_preferences.js | 15 +- >>> >> >> > >> > web/pgadmin/static/scss/_aci_tree.overrides.scss | 75 +- >>> >> >> > >> > web/pgadmin/static/scss/_alert.scss | 12 +- >>> >> >> > >> > web/pgadmin/static/scss/_alertify.overrides.scss | 150 +- >>> >> >> > >> > web/pgadmin/static/scss/_backform.overrides.scss | 8 + >>> >> >> > >> > web/pgadmin/static/scss/_backgrid.overrides.scss | 251 >>> +++- >>> >> >> > >> > web/pgadmin/static/scss/_bootstrap.overrides.scss | 230 >>> ++-- >>> >> >> > >> > web/pgadmin/static/scss/_codemirror.overrides.scss | 94 +- >>> >> >> > >> > web/pgadmin/static/scss/_pgadmin.grid.scss | 56 + >>> >> >> > >> > web/pgadmin/static/scss/_pgadmin.style.scss | 1440 >>> +++++--------------- >>> >> >> > >> > web/pgadmin/static/scss/_select2.overrides.scss | 24 +- >>> >> >> > >> > web/pgadmin/static/scss/_webcabin.overrides.scss | 368 >>> ----- >>> >> >> > >> > web/pgadmin/static/scss/_webcabin.pgadmin.scss | 250 >>> ++++ >>> >> >> > >> > web/pgadmin/static/scss/pgadmin.scss | 10 +- >>> >> >> > >> > .../static/scss/resources/_default.style.scss | 90 +- >>> >> >> > >> > .../static/scss/resources/_default.variables.scss | 203 >>> ++- >>> >> >> > >> > web/pgadmin/static/vendor/backform/backform.js | 645 >>> +++++++++ >>> >> >> > >> > .../templates/security/change_password.html | 43 +- >>> >> >> > >> > .../templates/security/forgot_password.html | 9 +- >>> >> >> > >> > web/pgadmin/templates/security/login_user.html | 16 +- >>> >> >> > >> > web/pgadmin/templates/security/panel.html | 23 +- >>> >> >> > >> > web/pgadmin/tools/backup/__init__.py | 6 +- >>> >> >> > >> > web/pgadmin/tools/backup/static/js/backup.js | 8 +- >>> >> >> > >> > .../backup/static/js/backup_dialog_wrapper.js | 22 +- >>> >> >> > >> > web/pgadmin/tools/datagrid/__init__.py | 1 - >>> >> >> > >> > web/pgadmin/tools/datagrid/static/js/datagrid.js | 38 +- >>> >> >> > >> > .../tools/datagrid/templates/datagrid/filter.html | 2 - >>> >> >> > >> > .../tools/datagrid/templates/datagrid/index.html | 193 >>> ++- >>> >> >> > >> > web/pgadmin/tools/debugger/static/css/debugger.css | 34 +- >>> >> >> > >> > web/pgadmin/tools/debugger/static/js/debugger.js | 2 +- >>> >> >> > >> > .../tools/debugger/static/js/debugger_ui.js | 28 +- >>> >> >> > >> > web/pgadmin/tools/debugger/static/js/direct.js | 13 +- >>> >> >> > >> > .../tools/debugger/static/scss/_debugger.scss | 8 - >>> >> >> > >> > .../tools/debugger/templates/debugger/direct.html | 89 +- >>> >> >> > >> > .../tools/grant_wizard/static/js/grant_wizard.js | 27 +- >>> >> >> > >> > .../grant_wizard/static/scss/_grant_wizard.scss | 31 +- >>> >> >> > >> > .../tools/import_export/static/js/import_export.js | 24 +- >>> >> >> > >> > web/pgadmin/tools/maintenance/__init__.py | 10 +- >>> >> >> > >> > .../tools/maintenance/static/js/maintenance.js | 24 +- >>> >> >> > >> > .../maintenance/static/scss/_maintenance.scss | 2 +- >>> >> >> > >> > web/pgadmin/tools/restore/__init__.py | 14 +- >>> >> >> > >> > web/pgadmin/tools/restore/static/js/restore.js | 8 +- >>> >> >> > >> > .../restore/static/js/restore_dialog_wrapper.js | 24 +- >>> >> >> > >> > .../tools/sqleditor/static/css/sqleditor.css | 128 +- >>> >> >> > >> > web/pgadmin/tools/sqleditor/static/js/sqleditor.js | 35 +- >>> >> >> > >> > .../tools/sqleditor/static/scss/_history.scss | 42 +- >>> >> >> > >> > .../tools/sqleditor/static/scss/_sqleditor.scss | 128 +- >>> >> >> > >> > .../user_management/static/css/user_management.css | 37 - >>> >> >> > >> > .../user_management/static/js/user_management.js | 53 +- >>> >> >> > >> > .../static/scss/_user_management.scss | 12 +- >>> >> >> > >> > .../javascript/alerts/alertify_wrapper_spec.js | 4 +- >>> >> >> > >> > .../backup/backup_dialog_wrapper_spec.js | 8 +- >>> >> >> > >> > .../restore/restore_dialog_wrapper_spec.js | 8 +- >>> >> >> > >> > web/webpack.config.js | 2 +- >>> >> >> > >> > web/webpack.shim.js | 2 +- >>> >> >> > >> > web/webpack.test.config.js | 1 + >>> >> >> > >> > web/yarn.lock | 1015 >>> +++++++++++++- >>> >> >> > >> > 135 files changed, 5002 insertions(+), 3850 deletions(-) >>> >> >> > >> > >>> >> >> > >> >>> >> >> > >> >>> >> >> > >> -- >>> >> >> > >> Dave Page >>> >> >> > >> Blog: http://pgsnake.blogspot.com >>> >> >> > >> Twitter: @pgsnake >>> >> >> > >> >>> >> >> > >> EnterpriseDB UK: http://www.enterprisedb.com >>> >> >> > >> The Enterprise PostgreSQL Company >>> >> >> > > >>> >> >> > > >>> >> >> > > >>> >> >> > > -- >>> >> >> > > Thanks and Regards, >>> >> >> > > Aditya Toshniwal >>> >> >> > > Software Engineer | EnterpriseDB Software Solutions | Pune >>> >> >> > > "Don't Complain about Heat, Plant a tree" >>> >> >> > >>> >> >> > >>> >> >> > >>> >> >> > -- >>> >> >> > Dave Page >>> >> >> > Blog: http://pgsnake.blogspot.com >>> >> >> > Twitter: @pgsnake >>> >> >> > >>> >> >> > EnterpriseDB UK: http://www.enterprisedb.com >>> >> >> > The Enterprise PostgreSQL Company >>> >> >> >>> >> >> >>> >> >> >>> >> >> -- >>> >> >> Dave Page >>> >> >> Blog: http://pgsnake.blogspot.com >>> >> >> Twitter: @pgsnake >>> >> >> >>> >> >> EnterpriseDB UK: http://www.enterprisedb.com >>> >> >> The Enterprise PostgreSQL Company >>> >> > >>> >> > >>> >> > >>> >> > -- >>> >> > Thanks and Regards, >>> >> > Aditya Toshniwal >>> >> > Software Engineer | EnterpriseDB Software Solutions | Pune >>> >> > "Don't Complain about Heat, Plant a tree" >>> >> >>> >> >>> >> >>> >> -- >>> >> Dave Page >>> >> Blog: http://pgsnake.blogspot.com >>> >> Twitter: @pgsnake >>> >> >>> >> EnterpriseDB UK: http://www.enterprisedb.com >>> >> The Enterprise PostgreSQL Company >>> > >>> > >>> > >>> > -- >>> > Thanks and Regards, >>> > Aditya Toshniwal >>> > Software Engineer | EnterpriseDB Software Solutions | Pune >>> > "Don't Complain about Heat, Plant a tree" >>> >>> >>> >>> -- >>> Dave Page >>> Blog: http://pgsnake.blogspot.com >>> Twitter: @pgsnake >>> >>> EnterpriseDB UK: http://www.enterprisedb.com >>> The Enterprise PostgreSQL Company >>> >> >> >> -- >> Thanks and Regards, >> Aditya Toshniwal >> Software Engineer | EnterpriseDB Software Solutions | Pune >> "Don't Complain about Heat, Plant a tree" >> > > > -- > Thanks and Regards, > Aditya Toshniwal > Software Engineer | EnterpriseDB Software Solutions | Pune > "Don't Complain about Heat, Plant a tree" > -- Thanks and Regards, Aditya Toshniwal Software Engineer | EnterpriseDB Software Solutions | Pune "Don't Complain about Heat, Plant a tree" --000000000000d6dccd057e7341a0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Hackers,

Kindly ignore the previous patch. Attaching up= dated patch with few more corrections.
The pat= ch includes:
- Base font size changed fro= m 0.815rem to 0.875rem, for navbar from 0.875rem to 0.925rem.
- Dialog sizes made consistent throughout the appl= ication. Now there are 3 size options for width and height each - sm, md, l= g. Combination of any of these to be used hereafter
- Alignment fix for controls of Node properties dialogs whic= h includes showing text and label in one line without dialog size change, c= heckbox alignment, switch control alignment at places and other minor impro= vements in other dialogs
- Error mess= age design change in dialogs validation
-= SQL Editor data grid editor popup design changes which were missed
- Design change for dashboard server activit= y grid
- Login page language dropdown col= or fix
- Properties accordion collapse de= sign fix
- Help, Info icon fixed across a= ll dialogs which were not working if clicked exactly on the text
- Added missing icon with buttons at few places
- Shadow behind the dialogs is increased to = make it look clearly separated and depth.
- Control Alignment fix in maintenance dialog
- Min height of alertify dialogs set for better UX
- File dialog design fix when no files found
- Grant wizard fixes - Scroll bar visibility on first p= age, use full space for SQL generated on the last page
- Browser toolbar buttons changed to sync with SQL editor too= lbar buttons
- Rounded corners for docker= floating dialog (no properties)
- Renami= ng file in file dialog should show original file name
- SQL data grid text edit popup buttons behaviour was swapped.= This is fixed.
- Import/Export dialog ch= anges as per new design.
- Other improvem= ents wherever noticed.

On Tue, Jan 1, 2019 at 11:09 AM Aditya Toshniwal <aditya.toshniwal@enterprisedb= .com> wrote:
Hi Hackers,

Attached is t= he patch to improve the previously committed new design changes.
The patch includes:
- Base font size changed from 0.815rem to 0.875rem, for navbar from 0.87= 5rem to 0.925rem.
- Dialog sizes made= consistent throughout the application. Now there are 3 size options for wi= dth and height each - sm, md, lg. Combination of any of these to be used he= reafter
- Alignment fix for controls = of Node properties dialogs which includes showing text and label in one lin= e without dialog size change, checkbox alignment, switch control alignment = at places and other minor improvements in other dialogs
- Error message design change in dialogs validation
- SQL Editor data grid editor popup design ch= anges which were missed
- Design chan= ge for dashboard server activity grid
- L= ogin page language dropdown color fix
- P= roperties accordion collapse design fix
-= Help, Info icon fixed across all dialogs which were not working if clicked= exactly on the text
- Added missing icon= with buttons at few places
- Shadow behi= nd the dialogs is increased to make it look clearly separated and depth.
- Control Alignment fix in maintenance dial= og
- Min height of alertify dialogs set f= or better UX
- File dialog design fix whe= n no files found
- Grant wizard fixes - S= croll bar visibility on first page, use full space for SQL generated on the= last page
- Browser toolbar buttons chan= ged to sync with SQL editor toolbar buttons
- Rounded corners for docker floating dialog (no properties)
- Other improvements wherever noticed.

I hope this cov= ers majority of the issues.
Kindly review= .


On Fri, D= ec 21, 2018 at 7:48 PM Aditya Toshniwal <aditya.toshniwal@enterprisedb.com> wrote:


On Fri, Dec 21, = 2018 at 2:14 PM Aditya Toshniwal
<= aditya.toshniwal@enterprisedb.com> wrote:
>
> For the query tool results grid text pop-out, you mean the border size= around it ?
> We don't have any design discussed for it, so could you please pro= pose what can be done.

Border, button colours etc. I can't draw anything, but I'd suggest<= br> that the border should be squared not rounded, and the
thickness/shadow etc adjusted to match the other styling.
<= div>= Cool.
Button colors are already changed. Others things not= ed.=C2=A0Will work on it.
>
> On Fri, Dec 21, 2018 at 7:35 PM Dave Page <dpage@pgadmin.org> wrote:
>>
>> On Fri, Dec 21, 2018 at 2:02 PM Aditya Toshniwal
>> <aditya.toshniwal@enterprisedb.com> wrote:
>> >
>> >
>> >
>> > On Fri, Dec 21, 2018 at 7:29 PM Dave Page <dpage@pgadmin.org> wrote: >> >>
>> >> One other issue: I'm seeing that standard sized dialo= gues (e.g. the
>> >> Server or Database Properties dialogues) are wrapping the= ir labels and
>> >> controls at the default size. That should not be the case= .
>> >
>> > Yep. Akshay has logged that in the sheet shared (https://drive.google.com/open?id= =3D127BgrvdVUvWSEp-GnQvCDx1WaaemsycxSD0aUpWxb6k).
>>
>> OK, but the answer isn't to increase the size of the dialogues= as
>> suggested. The size is fine (though we should review for consisten= cy,
>> and ensure we are using no more than 3 default standard sizes
>> throughout the app); we should make the controls display nicely on= the
>> default dialogue size and wrap if the user makes it smaller than w= e
>> can display in.
>>
>> >> On Fri, Dec 21, 2018 at 12:46 PM Dave Page <dpage@pgadmin.org> wrot= e:
>> >> >
>> >> > Hi
>> >> >
>> >> > On Fri, Dec 21, 2018 at 12:29 PM Aditya Toshniwal >> >> > <aditya.toshniwal@enterprisedb.com> wrote:
>> >> > >
>> >> > > Hi Dave,
>> >> > >
>> >> > > On Fri, Dec 21, 2018 at 5:51 PM Dave Page <<= a href=3D"mailto:dpage@pgadmin.org" target=3D"_blank">dpage@pgadmin.org= > wrote:
>> >> > >>
>> >> > >> Nice! Thanks Ashesh.
>> >> > >>
>> >> > >> Some small issues I spotted:
>> >> > >>
>> >> > >> - The font looks somewhat small. How does i= t compare in size to, say,
>> >> > >> Gmail? I think it needs to be increased to = at least that size.
>> >> > >
>> >> > > Gmail uses 0.875rem (14px) for the left panel (= Inbox, Sent). We are using 0.875rem (14px)=C2=A0 for main navbar links and = 0.815rem(13.04px) for all other text.
>> >> >
>> >> > Let's increase the default to 0.875, and make th= e main links
>> >> > proportionally bigger.
>> >> >
>> >> > >> - Dialogues have 2 close buttons next to ea= ch other in the top-right.
>> >> > >> Looks like an icon and a text version?
>> >> > >
>> >> > > You need to do a yarn install. wcDocker code is= changed to fix that.
>> >> >
>> >> > Yup, that fixed it.
>> >> >
>> >> > >> - Why do some Preferences panels use altern= ate line colouring, whilst
>> >> > >> others don't? I suspect it's becaus= e some are actually tables under
>> >> > >> the hood? I think we need consistency there= .
>> >> > >
>> >> > > Noted.
>> >> > >>
>> >> > >>
>> >> > >> - The Maintenance dialogue looks terrible -= it needs to be made much
>> >> > >> more compact. I also seem to be getting a f= ailure to create
>> >> > >> maintenance jobs (backups etc work fine). >> >> > >
>> >> > > Noted.
>> >> > >>
>> >> > >>
>> >> > >> - I think the buttons on the Browser need b= orders to match other buttons.
>> >> > >
>> >> > > It is made consistent with other wcDocker butto= ns like close, right arrow, left arrow. However, we can make it look like o= ther buttons.
>> >> >
>> >> > I think they're a different class of buttons - c= ontrol/navigation vs.
>> >> > function. I think we should make this change as the = browser buttons
>> >> > really are a toolbar just like the larger on on the = query tool.
>> >> >
>> >> > Thanks!
>> >> >
>> >> > >> Thanks!
>> >> > >>
>> >> > >> On Fri, Dec 21, 2018 at 12:01 PM Ashesh Vas= hi
>> >> > >> <ashesh.vashi@enterprisedb.com> wrote: >> >> > >> >
>> >> > >> > Improvement in the look and feel of th= e whole application
>> >> > >> >
>> >> > >> > Changed the SCSS/CSS for the below thi= rd party libraries to adopt the
>> >> > >> > new look 'n' feel:
>> >> > >> > - wcDocker
>> >> > >> > - Alertify dialogs, and notifications<= br> >> >> > >> > - AciTree
>> >> > >> > - Bootstrap Navbar
>> >> > >> > - Bootstrap Tabs
>> >> > >> > - Bootstrap Drop-Down menu
>> >> > >> > - Backgrid
>> >> > >> > - Select2
>> >> > >> >
>> >> > >> > Adopated the new the look 'n' = feel for the dialogs, wizard, properties,
>> >> > >> > tab panels, tabs, fieldset, subnode co= ntrol, spinner control, HTML
>> >> > >> > table, and other form controls.
>> >> > >> >
>> >> > >> > - Font is changed to Roboto
>> >> > >> > - Using SCSS variables to define the l= ook 'n' feel
>> >> > >> > - Designer background images for the L= ogin, and Forget password pages in
>> >> > >> >=C2=A0 =C2=A0'web' mode
>> >> > >> > - Improved the look 'n' feel f= or the key selection in the preferences
>> >> > >> >=C2=A0 =C2=A0dialog
>> >> > >> > - Table classes consistency changes ac= ross the application
>> >> > >> > - File Open and Save dialog list view = changes
>> >> > >> >
>> >> > >> > Author(s): Aditya Toshniwal & Khus= hboo Vashi
>> >> > >> >
>> >> > >> > Branch
>> >> > >> > ------
>> >> > >> > master
>> >> > >> >
>> >> > >> > Details
>> >> > >> > -------
>> >> > >> > https://git.postgresql.org/g= itweb?p=3Dpgadmin4.git;a=3Dcommitdiff;h=3D5799ac14ba17dc25fbec184b3b2c6afbe= 37f1f74
>> >> > >> >
>> >> > >> > Modified Files
>> >> > >> > --------------
>> >> > >> > web/package.json=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 2 +-
>> >> > >> > .../static/js/fts_configuration.js=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 2= +-
>> >> > >> > .../databases/schemas/functions/__init= __.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 4 +-
>> >> > >> > .../function =3D> static}/css/funct= ion.css=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 0
>> >> > >> > .../templates/trigger_function/css/fun= ction.css=C2=A0 =C2=A0 |=C2=A0 =C2=A0 3 -
>> >> > >> > .../{templates/edbfunc =3D> static}= /css/edbfunc.css=C2=A0 |=C2=A0 =C2=A0 0
>> >> > >> > .../static/js/exclusion_constraint.js= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A018 +-
>> >> > >> > .../foreign_key/static/js/foreign_key.= js=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A017 +-
>> >> > >> > .../schemas/tables/rules/static/css/ru= le.css=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 7 +
>> >> > >> > .../tables/rules/templates/rules/css/r= ule.css=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 8 -
>> >> > >> > .../databases/schemas/views/static/css= /view.css=C2=A0 =C2=A0 |=C2=A0 =C2=A0 7 +
>> >> > >> > .../schemas/views/templates/mview/css/= mview.css=C2=A0 =C2=A0 |=C2=A0 =C2=A0 4 -
>> >> > >> > .../schemas/views/templates/view/css/v= iew.css=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 4 -
>> >> > >> > .../pgagent/schedules/static/js/pga_sc= hedule.js=C2=A0 =C2=A0 |=C2=A0 =C2=A0 3 +-
>> >> > >> > .../servers/pgagent/static/css/pga_job= .css=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 3 +
>> >> > >> > .../pgagent/templates/pga_job/css/pga_= job.css=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A013 -
>> >> > >> > .../server_groups/servers/static/css/s= ervers.css=C2=A0 =C2=A0|=C2=A0 =C2=A0 4 +
>> >> > >> > .../server_groups/servers/static/js/se= rver.js=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A022 +-
>> >> > >> > .../server_groups/servers/static/js/va= riable.js=C2=A0 =C2=A0 |=C2=A0 =C2=A0 4 +-
>> >> > >> > .../servers/tablespaces/static/js/tabl= espace.js=C2=A0 =C2=A0 |=C2=A0 =C2=A013 +-
>> >> > >> > .../servers/templates/css/servers.css= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 4 -
>> >> > >> > web/pgadmin/browser/static/css/browser= .css=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A013 -
>> >> > >> > web/pgadmin/browser/static/css/wizard.= css=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A021 +-
>> >> > >> > web/pgadmin/browser/static/js/browser.= js=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A026 +-
>> >> > >> > web/pgadmin/browser/static/js/collecti= on.js=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A016 +-
>> >> > >> > web/pgadmin/browser/static/js/keyboard= .js=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A014 +-
>> >> > >> > web/pgadmin/browser/static/js/menu.js= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A028 +-
>> >> > >> > web/pgadmin/browser/static/js/node.js= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A053 +-
>> >> > >> > web/pgadmin/browser/static/js/node.ui.= js=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 4 +-
>> >> > >> > web/pgadmin/browser/static/js/panel.js= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A015 +-
>> >> > >> > web/pgadmin/browser/static/js/toolbar.= js=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 3 -
>> >> > >> > web/pgadmin/browser/static/js/wizard.j= s=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A058 +-
>> >> > >> > web/pgadmin/browser/static/scss/_brows= er.scss=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A043 +-
>> >> > >> > web/pgadmin/browser/static/scss/_wizar= d.scss=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A041 +-
>> >> > >> > web/pgadmin/browser/templates/browser/= css/node.css |=C2=A0 =C2=A0 2 +-
>> >> > >> > web/pgadmin/browser/templates/browser/= index.html=C2=A0 =C2=A0|=C2=A0 =C2=A0 9 +-
>> >> > >> > web/pgadmin/dashboard/__init__.py=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 = 2 +-
>> >> > >> > web/pgadmin/dashboard/static/css/dashb= oard.css=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A021 +-
>> >> > >> > web/pgadmin/dashboard/static/js/dashbo= ard.js=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 120 +-
>> >> > >> > web/pgadmin/dashboard/static/scss/_das= hboard.scss=C2=A0 |=C2=A0 =C2=A044 +-
>> >> > >> > .../templates/dashboard/database_dashb= oard.html=C2=A0 =C2=A0 |=C2=A0 171 ++-
>> >> > >> > .../templates/dashboard/server_dashboa= rd.html=C2=A0 =C2=A0 =C2=A0 |=C2=A0 197 ++-
>> >> > >> > .../templates/dashboard/welcome_dashbo= ard.html=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A030 +-
>> >> > >> > web/pgadmin/feature_tests/browser_tool= _bar_test.py |=C2=A0 =C2=A023 +-
>> >> > >> > web/pgadmin/feature_tests/file_manager= _test.py=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A023 +-
>> >> > >> > .../feature_tests/keyboard_shortcut_te= st.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 5 +-
>> >> > >> > .../feature_tests/pg_datatype_validati= on_test.py=C2=A0 =C2=A0|=C2=A0 =C2=A0 5 +-
>> >> > >> > .../pg_utilities_backup_restore_test.p= y=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A028 +-
>> >> > >> > .../feature_tests/pg_utilities_mainten= ance_test.py |=C2=A0 =C2=A016 +-
>> >> > >> > .../feature_tests/query_tool_journey_t= est.py=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 5 +-
>> >> > >> > web/pgadmin/feature_tests/query_tool_t= ests.py=C2=A0 =C2=A0 =C2=A0 |=C2=A0 117 +-
>> >> > >> > web/pgadmin/feature_tests/view_data_dm= l_queries.py |=C2=A0 =C2=A016 +-
>> >> > >> > .../misc/bgprocess/static/css/bgproces= s.css=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A011 -
>> >> > >> > web/pgadmin/misc/bgprocess/static/js/b= gprocess.js=C2=A0 |=C2=A0 173 ++-
>> >> > >> > .../misc/bgprocess/static/scss/_bgproc= ess.scss=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A081 +-
>> >> > >> > web/pgadmin/misc/depends/static/js/dep= ends.js=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 3 +-
>> >> > >> > .../misc/file_manager/static/css/file_= manager.css=C2=A0 |=C2=A0 141 +-
>> >> > >> > .../misc/file_manager/static/js/create= _dialogue.js |=C2=A0 =C2=A0 9 +-
>> >> > >> > .../misc/file_manager/static/js/select= _dialogue.js |=C2=A0 =C2=A019 +-
>> >> > >> > web/pgadmin/misc/file_manager/static/j= s/utility.js |=C2=A0 =C2=A077 +-
>> >> > >> > .../file_manager/static/scss/_file_man= ager.scss=C2=A0 =C2=A0 |=C2=A0 157 +--
>> >> > >> > .../file_manager/templates/file_manage= r/index.html |=C2=A0 =C2=A095 +-
>> >> > >> > .../misc/statistics/static/js/statisti= cs.js=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 3 +-
>> >> > >> > web/pgadmin/preferences/static/css/pre= ferences.css |=C2=A0 =C2=A014 -
>> >> > >> > web/pgadmin/preferences/static/js/pref= erences.js=C2=A0 =C2=A0|=C2=A0 =C2=A031 +-
>> >> > >> > .../preferences/static/scss/_preferenc= es.scss=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A016 +
>> >> > >> > web/pgadmin/static/css/pgadmin.css=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A081= +-
>> >> > >> > web/pgadmin/static/fonts/Roboto-Bold.t= tf=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 Bin 0 -> 170760 bytes=
>> >> > >> > web/pgadmin/static/fonts/Roboto-Medium= .ttf=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 Bin 0 -> 172064 bytes
>> >> > >> > web/pgadmin/static/fonts/Roboto-Regula= r.ttf=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 Bin 0 -> 171676 bytes
>> >> > >> > web/pgadmin/static/img/collapse_expand= .svg=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A015 +
>> >> > >> > web/pgadmin/static/img/forgot_password= .svg=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 283 ++++
>> >> > >> > web/pgadmin/static/img/login.svg=C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2= =A0 1 +
>> >> > >> > web/pgadmin/static/js/alertify.pgadmin= .defaults.js |=C2=A0 =C2=A082 +-
>> >> > >> > web/pgadmin/static/js/backform.pgadmin= .js=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A080 +-
>> >> > >> > web/pgadmin/static/js/backgrid.pgadmin= .js=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A033 +-
>> >> > >> > web/pgadmin/static/js/slickgrid/editor= s.js=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 8 +-
>> >> > >> > web/pgadmin/static/js/sqleditor/filter= _dialog.js=C2=A0 =C2=A0|=C2=A0 =C2=A033 +-
>> >> > >> > .../static/js/sqleditor/query_tool_pre= ferences.js=C2=A0 |=C2=A0 =C2=A015 +-
>> >> > >> > web/pgadmin/static/scss/_aci_tree.over= rides.scss=C2=A0 =C2=A0|=C2=A0 =C2=A075 +-
>> >> > >> > web/pgadmin/static/scss/_alert.scss=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A012 +- >> >> > >> > web/pgadmin/static/scss/_alertify.over= rides.scss=C2=A0 =C2=A0|=C2=A0 150 +-
>> >> > >> > web/pgadmin/static/scss/_backform.over= rides.scss=C2=A0 =C2=A0|=C2=A0 =C2=A0 8 +
>> >> > >> > web/pgadmin/static/scss/_backgrid.over= rides.scss=C2=A0 =C2=A0|=C2=A0 251 +++-
>> >> > >> > web/pgadmin/static/scss/_bootstrap.ove= rrides.scss=C2=A0 |=C2=A0 230 ++--
>> >> > >> > web/pgadmin/static/scss/_codemirror.ov= errides.scss |=C2=A0 =C2=A094 +-
>> >> > >> > web/pgadmin/static/scss/_pgadmin.grid.= scss=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A056 +
>> >> > >> > web/pgadmin/static/scss/_pgadmin.style= .scss=C2=A0 =C2=A0 =C2=A0 =C2=A0 | 1440 +++++---------------
>> >> > >> > web/pgadmin/static/scss/_select2.overr= ides.scss=C2=A0 =C2=A0 |=C2=A0 =C2=A024 +-
>> >> > >> > web/pgadmin/static/scss/_webcabin.over= rides.scss=C2=A0 =C2=A0|=C2=A0 368 -----
>> >> > >> > web/pgadmin/static/scss/_webcabin.pgad= min.scss=C2=A0 =C2=A0 =C2=A0|=C2=A0 250 ++++
>> >> > >> > web/pgadmin/static/scss/pgadmin.scss= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A010 +-<= br> >> >> > >> > .../static/scss/resources/_default.sty= le.scss=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A090 +-
>> >> > >> > .../static/scss/resources/_default.var= iables.scss=C2=A0 |=C2=A0 203 ++-
>> >> > >> > web/pgadmin/static/vendor/backform/bac= kform.js=C2=A0 =C2=A0 =C2=A0|=C2=A0 645 +++++++++
>> >> > >> > .../templates/security/change_password= .html=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A043 +-
>> >> > >> > .../templates/security/forgot_password= .html=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 9 +-
>> >> > >> > web/pgadmin/templates/security/login_u= ser.html=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A016 +-
>> >> > >> > web/pgadmin/templates/security/panel.h= tml=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A023 +-
>> >> > >> > web/pgadmin/tools/backup/__init__.py= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 6 +-<= br> >> >> > >> > web/pgadmin/tools/backup/static/js/bac= kup.js=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 8 +-
>> >> > >> > .../backup/static/js/backup_dialog_wra= pper.js=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A022 +-
>> >> > >> > web/pgadmin/tools/datagrid/__init__.py= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 1 -
>> >> > >> > web/pgadmin/tools/datagrid/static/js/d= atagrid.js=C2=A0 =C2=A0|=C2=A0 =C2=A038 +-
>> >> > >> > .../tools/datagrid/templates/datagrid/= filter.html=C2=A0 |=C2=A0 =C2=A0 2 -
>> >> > >> > .../tools/datagrid/templates/datagrid/= index.html=C2=A0 =C2=A0|=C2=A0 193 ++-
>> >> > >> > web/pgadmin/tools/debugger/static/css/= debugger.css |=C2=A0 =C2=A034 +-
>> >> > >> > web/pgadmin/tools/debugger/static/js/d= ebugger.js=C2=A0 =C2=A0|=C2=A0 =C2=A0 2 +-
>> >> > >> > .../tools/debugger/static/js/debugger_= ui.js=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A028 +-
>> >> > >> > web/pgadmin/tools/debugger/static/js/d= irect.js=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A013 +-
>> >> > >> > .../tools/debugger/static/scss/_debugg= er.scss=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 8 -
>> >> > >> > .../tools/debugger/templates/debugger/= direct.html=C2=A0 |=C2=A0 =C2=A089 +-
>> >> > >> > .../tools/grant_wizard/static/js/grant= _wizard.js=C2=A0 =C2=A0|=C2=A0 =C2=A027 +-
>> >> > >> > .../grant_wizard/static/scss/_grant_wi= zard.scss=C2=A0 =C2=A0 |=C2=A0 =C2=A031 +-
>> >> > >> > .../tools/import_export/static/js/impo= rt_export.js |=C2=A0 =C2=A024 +-
>> >> > >> > web/pgadmin/tools/maintenance/__init__= .py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A010 +-
>> >> > >> > .../tools/maintenance/static/js/mainte= nance.js=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A024 +-
>> >> > >> > .../maintenance/static/scss/_maintenan= ce.scss=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 2 +-
>> >> > >> > web/pgadmin/tools/restore/__init__.py= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A014 +-
>> >> > >> > web/pgadmin/tools/restore/static/js/re= store.js=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 8 +-
>> >> > >> > .../restore/static/js/restore_dialog_w= rapper.js=C2=A0 =C2=A0 |=C2=A0 =C2=A024 +-
>> >> > >> > .../tools/sqleditor/static/css/sqledit= or.css=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 128 +-
>> >> > >> > web/pgadmin/tools/sqleditor/static/js/= sqleditor.js |=C2=A0 =C2=A035 +-
>> >> > >> > .../tools/sqleditor/static/scss/_histo= ry.scss=C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A042 +-
>> >> > >> > .../tools/sqleditor/static/scss/_sqled= itor.scss=C2=A0 =C2=A0 |=C2=A0 128 +-
>> >> > >> > .../user_management/static/css/user_ma= nagement.css |=C2=A0 =C2=A037 -
>> >> > >> > .../user_management/static/js/user_man= agement.js=C2=A0 =C2=A0|=C2=A0 =C2=A053 +-
>> >> > >> > .../static/scss/_user_management.scss= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A012 +-
>> >> > >> > .../javascript/alerts/alertify_wrapper= _spec.js=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 4 +-
>> >> > >> > .../backup/backup_dialog_wrapper_spec.= js=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 8 +-
>> >> > >> > .../restore/restore_dialog_wrapper_spe= c.js=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 8 +-
>> >> > >> > web/webpack.config.js=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 |=C2=A0 =C2=A0 2 +-
>> >> > >> > web/webpack.shim.js=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A0 2 +-
>> >> > >> > web/webpack.test.config.js=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0|=C2=A0 =C2=A0 1 +
>> >> > >> > web/yarn.lock=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 1015 +++++++++++++-
>> >> > >> > 135 files changed, 5002 insertions(+),= 3850 deletions(-)
>> >> > >> >
>> >> > >>
>> >> > >>
>> >> > >> --
>> >> > >> Dave Page
>> >> > >> Blog: http://pgsnake.blogspot.com
>> >> > >> Twitter: @pgsnake
>> >> > >>
>> >> > >> EnterpriseDB UK: http://www.enterprisedb.= com
>> >> > >> The Enterprise PostgreSQL Company
>> >> > >
>> >> > >
>> >> > >
>> >> > > --
>> >> > > Thanks and Regards,
>> >> > > Aditya Toshniwal
>> >> > > Software Engineer | EnterpriseDB Software Solut= ions | Pune
>> >> > > "Don't Complain about Heat, Plant a tr= ee"
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > Dave Page
>> >> > Blog: http://pgsnake.blogspot.com
>> >> > Twitter: @pgsnake
>> >> >
>> >> > EnterpriseDB UK: http://www.enterprisedb.com >> >> > The Enterprise PostgreSQL Company
>> >>
>> >>
>> >>
>> >> --
>> >> Dave Page
>> >> Blog: http://pgsnake.blogspot.com
>> >> Twitter: @pgsnake
>> >>
>> >> EnterpriseDB UK: http://www.enterprisedb.com
>> >> The Enterprise PostgreSQL Company
>> >
>> >
>> >
>> > --
>> > Thanks and Regards,
>> > Aditya Toshniwal
>> > Software Engineer | EnterpriseDB Software Solutions | Pune >> > "Don't Complain about Heat, Plant a tree"
>>
>>
>>
>> --
>> Dave Page
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>> EnterpriseDB UK: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>
>
>
> --
> Thanks and Regards,
> Aditya Toshniwal
> Software Engineer | EnterpriseDB Software Solutions | Pune
> "Don't Complain about Heat, Plant a tree"



--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


--
Thanks and Regards,
Aditya Toshniwal
Software Engineer |=C2=A0= EnterpriseDB Software Solutions |=C2=A0= Pune
"Don't Compla= in about Heat, Plant a tree"


--
Thanks and Regards,
Aditya Toshniwal
Software Engineer |=C2=A0EnterpriseDB Software Sol= utions |=C2=A0Pune
"Don't Complain about Heat, Plant a tr= ee"


--
Thanks and Rega= rds,
Aditya Toshniwa= l
Softw= are Engineer |=C2=A0EnterpriseDB Software Solutions |=C2=A0Pune
&q= uot;Don't Complain about Heat, Plant a tree"
--000000000000d6dccd057e7341a0-- --000000000000d6dcd0057e7341a2 Content-Type: application/octet-stream; name="RM3692.part2.patch" Content-Disposition: attachment; filename="RM3692.part2.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jqerlvuf0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Fib3V0L3N0YXRpYy9qcy9hYm91dC5qcyBiL3dlYi9w Z2FkbWluL2Fib3V0L3N0YXRpYy9qcy9hYm91dC5qcwppbmRleCAxZTcyYzkxNy4uMmFhZjk4ZjQg MTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Fib3V0L3N0YXRpYy9qcy9hYm91dC5qcworKysgYi93 ZWIvcGdhZG1pbi9hYm91dC9zdGF0aWMvanMvYWJvdXQuanMKQEAgLTIwLDcgKzIwLDggQEAgZGVm aW5lKAogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICBzZXR1cDogZnVuY3Rpb24oKSB7 CiAgICAgICAgICAgICAgICAgcmV0dXJuIHsKLSAgICAgICAgICAgICAgICAgIGJ1dHRvbnM6W3sg dGV4dDogZ2V0dGV4dCgnT0snKSwga2V5OiAyNywgY2xhc3NOYW1lOiAnYnRuIGJ0bi1wcmltYXJ5 JyB9XSwKKyAgICAgICAgICAgICAgICAgIGJ1dHRvbnM6W3sgdGV4dDogZ2V0dGV4dCgnT0snKSwg a2V5OiAyNywKKyAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAnYnRuIGJ0bi1wcmltYXJ5 IGZhIGZhLWxnIGZhLWNoZWNrIHBnLWFsZXJ0aWZ5LWJ1dHRvbicgfV0sCiAgICAgICAgICAgICAg ICAgICBvcHRpb25zOiB7CiAgICAgICAgICAgICAgICAgICAgIG1vZGFsOiBmYWxzZSwKICAgICAg ICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLApAQCAtNDQsNyArNDUsNyBAQCBkZWZpbmUo CiAgICAgICAgICAgICBmdW5jdGlvbihkYXRhKSB7CiAgICAgICAgICAgICAgIGFsZXJ0aWZ5LmFi b3V0RGlhbG9nKAogICAgICAgICAgICAgICAgICAgUyhnZXR0ZXh0KCdBYm91dCAlcycpKS5zcHJp bnRmKHBnQWRtaW4uQnJvd3Nlci51dGlscy5hcHBfbmFtZSkudmFsdWUoKSwgZGF0YQotICAgICAg ICAgICAgICApLnJlc2l6ZVRvKDgwMCwgNDUwKTsKKyAgICAgICAgICAgICAgKS5yZXNpemVUbyhw Z0FkbWluLkJyb3dzZXIuc3RkVy5tZCwgcGdBZG1pbi5Ccm93c2VyLnN0ZEgubWQpOwogICAgICAg ICAgICAgfSk7CiAgICAgICB9LAogICAgIH07CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvbGFuZ3VhZ2VzL3N0YXRpYy9qcy9s YW5ndWFnZS5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9sYW5ndWFnZXMvc3RhdGljL2pzL2xhbmd1YWdlLmpzCmluZGV4IGU3ZTJhYTQzLi5i MWM3Njg4NyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL2xhbmd1YWdlcy9zdGF0aWMvanMvbGFuZ3VhZ2UuanMKKysrIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2xhbmd1YWdl cy9zdGF0aWMvanMvbGFuZ3VhZ2UuanMKQEAgLTIyMCwxNCArMjIwLDE0IEBAIGRlZmluZSgncGdh ZG1pbi5ub2RlLmxhbmd1YWdlJywgWwogICAgICAgICAgIH0sCiAgICAgICAgIH0sIHsKICAgICAg ICAgICBpZDogJ2xhbmFjbCcsIGxhYmVsOiBnZXR0ZXh0KCdQcml2aWxlZ2VzJyksIHR5cGU6ICdj b2xsZWN0aW9uJywKLSAgICAgICAgICBncm91cDogJ3NlY3VyaXR5JywgY29udHJvbDogJ3VuaXF1 ZS1jb2wtY29sbGVjdGlvbicsIG1vZGU6IFsnZWRpdCcsICdjcmVhdGUnXSwKKyAgICAgICAgICBn cm91cDogZ2V0dGV4dCgnU2VjdXJpdHknKSwgY29udHJvbDogJ3VuaXF1ZS1jb2wtY29sbGVjdGlv bicsIG1vZGU6IFsnZWRpdCcsICdjcmVhdGUnXSwKICAgICAgICAgICBtb2RlbDogcGdCcm93c2Vy Lk5vZGUuUHJpdmlsZWdlUm9sZU1vZGVsLmV4dGVuZCh7CiAgICAgICAgICAgICBwcml2aWxlZ2Vz OiBbJ1UnXSwKICAgICAgICAgICB9KSwgY2FuQWRkOiB0cnVlLCBjYW5EZWxldGU6IHRydWUsIHVu aXF1ZUNvbCA6IFsnZ3JhbnRlZSddLAogICAgICAgICB9LHsKICAgICAgICAgICBpZDogJ3NlY2xh YmVscycsIGxhYmVsOiBnZXR0ZXh0KCdTZWN1cml0eSBMYWJlbHMnKSwgbW9kZTogWydlZGl0Jywg J2NyZWF0ZSddLAogICAgICAgICAgIG1vZGVsOiBwZ0Jyb3dzZXIuU2VjTGFiZWxNb2RlbCwgZWRp dGFibGU6IGZhbHNlLAotICAgICAgICAgIHR5cGU6ICdjb2xsZWN0aW9uJywgZ3JvdXA6ICdzZWN1 cml0eScsIG1pbl92ZXJzaW9uOiA5MDIwMCwKKyAgICAgICAgICB0eXBlOiAnY29sbGVjdGlvbics IGdyb3VwOiBnZXR0ZXh0KCdTZWN1cml0eScpLCBtaW5fdmVyc2lvbjogOTAyMDAsCiAgICAgICAg ICAgY2FuQWRkOiB0cnVlLCBjYW5FZGl0OiBmYWxzZSwgY2FuRGVsZXRlOiB0cnVlLAogICAgICAg ICAgIGNvbnRyb2w6ICd1bmlxdWUtY29sLWNvbGxlY3Rpb24nLAogICAgICAgICB9LApkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvc3RhdGljL2pzL3NjaGVtYS5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3N0YXRpYy9qcy9zY2hlbWEuanMKaW5k ZXggYzcxNmY4MjQuLjg3NzViOWZiIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9zdGF0aWMvanMvc2NoZW1hLmpz CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3N0YXRpYy9qcy9zY2hlbWEuanMKQEAgLTcyLDcgKzcyLDcgQEAgZGVmaW5lKCdw Z2FkbWluLm5vZGUuc2NoZW1hJywgWwogICAgICAgICB2YXIgZ3JpZCA9IHNlbGYuZ3JpZCA9IG5l dyBCYWNrZ3JpZC5HcmlkKHsKICAgICAgICAgICBjb2x1bW5zOiBzZWxmLmdyaWRfY29sdW1ucywK ICAgICAgICAgICBjb2xsZWN0aW9uOiBzZWxmLm1vZGVsLmdldChzZWxmLmZpZWxkLmdldCgnbmFt ZScpKSwKLSAgICAgICAgICBjbGFzc05hbWU6ICdiYWNrZ3JpZCB0YWJsZS1ib3JkZXJlZCcsCisg ICAgICAgICAgY2xhc3NOYW1lOiAnYmFja2dyaWQgdGFibGUtYm9yZGVyZWQgdGFibGUtbm9vdXRl ci1ib3JkZXIgdGFibGUtaG92ZXInLAogICAgICAgICB9KTsKIAogICAgICAgLy8gcmVuZGVyIGdy aWQKQEAgLTEyMCw2ICsxMjAsOCBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5zY2hlbWEnLCBbCiAK ICAgIC8vIEV4dGVuZCB0aGUgYnJvd3NlcidzIGNvbGxlY3Rpb24gY2xhc3MgZm9yIFZhY3V1bVNl dHRpbmdzTW9kZWwKICAgQmFja2Zvcm0uVmFjdXVtU2V0dGluZ3NTY2hlbWEgPSBbeworICAgIGlk OiAnc3BhY2VyX2N0cmwnLCBncm91cDogZ2V0dGV4dCgnVGFibGUnKSwgbW9kZTogWydlZGl0Jywg J2NyZWF0ZSddLCB0eXBlOiAnc3BhY2VyJywKKyAgfSx7CiAgICAgaWQ6ICdhdXRvdmFjdXVtX2N1 c3RvbScsIGxhYmVsOiBnZXR0ZXh0KCdDdXN0b20gYXV0by12YWN1dW0/JyksCiAgICAgZ3JvdXA6 IGdldHRleHQoJ1RhYmxlJyksIG1vZGU6IFsnZWRpdCcsICdjcmVhdGUnXSwKICAgICB0eXBlOiAn c3dpdGNoJywKQEAgLTE4NCw2ICsxODYsOCBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5zY2hlbWEn LCBbCiAgICAgICBdLAogICAgIH0pLAogICAgIGRlcHM6IFsnYXV0b3ZhY3V1bV9lbmFibGVkJ10s CisgIH0seworICAgIGlkOiAnc3BhY2VyX2N0cmwnLCBncm91cDogZ2V0dGV4dCgnVG9hc3QgVGFi bGUnKSwgbW9kZTogWydlZGl0JywgJ2NyZWF0ZSddLCB0eXBlOiAnc3BhY2VyJywKICAgfSx7CiAg ICAgaWQ6ICd0b2FzdF9hdXRvdmFjdXVtJywgbGFiZWw6IGdldHRleHQoJ0N1c3RvbSBhdXRvLXZh Y3V1bT8nKSwKICAgICBncm91cDogZ2V0dGV4dCgnVG9hc3QgVGFibGUnKSwgbW9kZTogWydlZGl0 JywgJ2NyZWF0ZSddLApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2luZGV4ZXMvc3RhdGljL2pzL2lu ZGV4LmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvdGFibGVzL2luZGV4ZXMvc3RhdGljL2pzL2luZGV4LmpzCmluZGV4IGJiMTk4 NmJkLi5mNmQ4ZjMxOSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2luZGV4ZXMvc3RhdGljL2pzL2lu ZGV4LmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9pbmRleGVzL3N0YXRpYy9qcy9pbmRleC5qcwpAQCAtMjI4 LDcgKzIyOCw2IEBAIGRlZmluZSgncGdhZG1pbi5ub2RlLmluZGV4JywgWwogICAgICAgaGFzRGVw ZW5kczogdHJ1ZSwKICAgICAgIGhhc1N0YXRpc3RpY3M6IHRydWUsCiAgICAgICBzdGF0c1ByZXR0 aWZ5RmllbGRzOiBbJ1NpemUnLCAnSW5kZXggc2l6ZSddLAotICAgICAgd2lkdGg6ICc0NSUnLAog ICAgICAgSW5pdDogZnVuY3Rpb24oKSB7CiAgICAgICAgIC8qIEF2b2lkIG11bGl0cGxlIHJlZ2lz dHJhdGlvbiBvZiBtZW51cyAqLwogICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3RhYmxlcy9zdGF0aWMvanMvdGFibGUuanMgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvc3RhdGljL2pz L3RhYmxlLmpzCmluZGV4IGM4YTA5Mjk3Li40MTg1YWE3NyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVz L3N0YXRpYy9qcy90YWJsZS5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvc3RhdGljL2pzL3RhYmxlLmpzCkBA IC00NCw3ICs0NCw3IEBAIGRlZmluZSgncGdhZG1pbi5ub2RlLnRhYmxlJywgWwogICAgICAgc3Fs Q3JlYXRlSGVscDogJ3NxbC1jcmVhdGV0YWJsZS5odG1sJywKICAgICAgIGRpYWxvZ0hlbHA6IHVy bF9mb3IoJ2hlbHAuc3RhdGljJywgeydmaWxlbmFtZSc6ICd0YWJsZV9kaWFsb2cuaHRtbCd9KSwK ICAgICAgIGhhc1NjcmlwdFR5cGVzOiBbJ2NyZWF0ZScsICdzZWxlY3QnLCAnaW5zZXJ0JywgJ3Vw ZGF0ZScsICdkZWxldGUnXSwKLSAgICAgIHdpZHRoOiAnNjAlJywKKyAgICAgIHdpZHRoOiAnNjUw cHgnLAogICAgICAgSW5pdDogZnVuY3Rpb24oKSB7CiAgICAgICAgIC8qIEF2b2lkIG11bHRpcGxl IHJlZ2lzdHJhdGlvbiBvZiBtZW51cyAqLwogICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Bn YWdlbnQvc2NoZWR1bGVzL3N0YXRpYy9qcy9wZ2Ffc2NoZWR1bGUuanMgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9wZ2FnZW50L3NjaGVkdWxlcy9zdGF0aWMvanMv cGdhX3NjaGVkdWxlLmpzCmluZGV4IGJjYzI3NTA5Li5lNjBmMzMwNCAxMDA2NDQKLS0tIGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcGdhZ2VudC9zY2hlZHVsZXMv c3RhdGljL2pzL3BnYV9zY2hlZHVsZS5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9wZ2FnZW50L3NjaGVkdWxlcy9zdGF0aWMvanMvcGdhX3NjaGVkdWxl LmpzCkBAIC0xODcsNiArMTg3LDE1IEBAIGRlZmluZSgncGdhZG1pbi5ub2RlLnBnYV9zY2hlZHVs ZScsIFsKICAgICAgICAgfSwKICAgICAgIH0pOwogCisgICAgdmFyIEN1c3RvbUluZm9Db250cm9s ID0gQmFja2Zvcm0uQ29udHJvbC5leHRlbmQoeworICAgICAgdGVtcGxhdGU6IF8udGVtcGxhdGUo WworICAgICAgICAnPGRpdj4nLAorICAgICAgICAnICA8JT1pbmZvdGV4dCU+JywKKyAgICAgICAg JzwvZGl2PicsCisgICAgICBdLmpvaW4oJ1xuJykpLAorICAgICAgY2xhc3NOYW1lOiAncGdhZG1p bi1jb250cm9sLWdyb3VwJywKKyAgICB9KTsKKwogICAgIHBnQnJvd3Nlci5Ob2Rlc1sncGdhX3Nj aGVkdWxlJ10gPSBwZ0Jyb3dzZXIuTm9kZS5leHRlbmQoewogICAgICAgcGFyZW50X3R5cGU6ICdw Z2Ffam9iJywKICAgICAgIHR5cGU6ICdwZ2Ffc2NoZWR1bGUnLApAQCAtMzM1LDYgKzM0NCwxMCBA QCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5wZ2Ffc2NoZWR1bGUnLCBbCiAgICAgICAgICAgICAgIHJl dHVybiB0aGlzOwogICAgICAgICAgICAgfSwKICAgICAgICAgICB9KSwgbW9kZTogWydwcm9wZXJ0 aWVzJ10sCisgICAgICAgIH0seworICAgICAgICAgIHR5cGU6ICdjb250cm9sJywgIG1vZGU6IFsn Y3JlYXRlJywgJ2VkaXQnXSwgZ3JvdXA6IGdldHRleHQoJ1JlcGVhdCcpLAorICAgICAgICAgIGlu Zm90ZXh0OiBnZXR0ZXh0KCdTY2hlZHVsZXMgYXJlIHNwZWNpZmllZCB1c2luZyBhIDxiPmNyb24t c3R5bGU8L2I+IGZvcm1hdC48YnIvPjx1bD48bGk+Rm9yIGVhY2ggc2VsZWN0ZWQgdGltZSBvciBk YXRlIGVsZW1lbnQsIHRoZSBzY2hlZHVsZSB3aWxsIGV4ZWN1dGUuPGJyLz5lLmcuIFRvIGV4ZWN1 dGUgYXQgNSBtaW51dGVzIHBhc3QgZXZlcnkgaG91ciwgc2ltcGx5IHNlbGVjdCDigJgwNeKAmSBp biB0aGUgTWludXRlcyBsaXN0IGJveC48YnIvPjwvbGk+PGxpPlZhbHVlcyBmcm9tIG1vcmUgdGhh biBvbmUgZmllbGQgbWF5IGJlIHNwZWNpZmllZCBpbiBvcmRlciB0byBmdXJ0aGVyIGNvbnRyb2wg dGhlIHNjaGVkdWxlLjxici8+ZS5nLiBUbyBleGVjdXRlIGF0IDEyOjA1IGFuZCAxNDowNSBldmVy eSBNb25kYXkgYW5kIFRodXJzZGF5LCB5b3Ugd291bGQgY2xpY2sgbWludXRlIDA1LCBob3VycyAx MiBhbmQgMTQsIGFuZCB3ZWVrZGF5cyBNb25kYXkgYW5kIFRodXJzZGF5LjwvbGk+PGxpPkZvciBh ZGRpdGlvbmFsIGZsZXhpYmlsaXR5LCB0aGUgTW9udGggRGF5cyBjaGVjayBsaXN0IGluY2x1ZGVz IGFuIGV4dHJhIExhc3QgRGF5IG9wdGlvbi4gVGhpcyBtYXRjaGVzIHRoZSBsYXN0IGRheSBvZiB0 aGUgbW9udGgsIHdoZXRoZXIgaXQgaGFwcGVucyB0byBiZSB0aGUgMjh0aCwgMjl0aCwgMzB0aCBv ciAzMXN0LjwvbGk+PC91bD4nKSwKKyAgICAgICAgICBjb250cm9sOiBDdXN0b21JbmZvQ29udHJv bCwKICAgICAgICAgfSx7CiAgICAgICAgICAgdHlwZTogJ25lc3RlZCcsIGxhYmVsOiBnZXR0ZXh0 KCdEYXlzJyksIGdyb3VwOiBnZXR0ZXh0KCdSZXBlYXQnKSwKICAgICAgICAgICBtb2RlOiBbJ2Ny ZWF0ZScsICdlZGl0J10sCkBAIC0zNDQsMTEgKzM1NywxMSBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9k ZS5wZ2Ffc2NoZWR1bGUnLCBbCiAgICAgICAgICAgICAgICAgdGhpcywgYXJndW1lbnRzCiAgICAg ICAgICAgICAgICk7CiAKLSAgICAgICAgICAgICAgdGhpcy4kZWwucHJlcGVuZCgKLSAgICAgICAg ICAgICAgICAnPGRpdiBjbGFzcz0ic2V0LWdyb3VwIj4nICsKLSAgICAgICAgICAgICAgICAgIGdl dHRleHQoJ1NjaGVkdWxlcyBhcmUgc3BlY2lmaWVkIHVzaW5nIGEgPGI+Y3Jvbi1zdHlsZTwvYj4g Zm9ybWF0Ljxici8+PHVsPjxsaT5Gb3IgZWFjaCBzZWxlY3RlZCB0aW1lIG9yIGRhdGUgZWxlbWVu dCwgdGhlIHNjaGVkdWxlIHdpbGwgZXhlY3V0ZS48YnIvPmUuZy4gVG8gZXhlY3V0ZSBhdCA1IG1p bnV0ZXMgcGFzdCBldmVyeSBob3VyLCBzaW1wbHkgc2VsZWN0IOKAmDA14oCZIGluIHRoZSBNaW51 dGVzIGxpc3QgYm94Ljxici8+PC9saT48bGk+VmFsdWVzIGZyb20gbW9yZSB0aGFuIG9uZSBmaWVs ZCBtYXkgYmUgc3BlY2lmaWVkIGluIG9yZGVyIHRvIGZ1cnRoZXIgY29udHJvbCB0aGUgc2NoZWR1 bGUuPGJyLz5lLmcuIFRvIGV4ZWN1dGUgYXQgMTI6MDUgYW5kIDE0OjA1IGV2ZXJ5IE1vbmRheSBh bmQgVGh1cnNkYXksIHlvdSB3b3VsZCBjbGljayBtaW51dGUgMDUsIGhvdXJzIDEyIGFuZCAxNCwg YW5kIHdlZWtkYXlzIE1vbmRheSBhbmQgVGh1cnNkYXkuPC9saT48bGk+Rm9yIGFkZGl0aW9uYWwg ZmxleGliaWxpdHksIHRoZSBNb250aCBEYXlzIGNoZWNrIGxpc3QgaW5jbHVkZXMgYW4gZXh0cmEg TGFzdCBEYXkgb3B0aW9uLiBUaGlzIG1hdGNoZXMgdGhlIGxhc3QgZGF5IG9mIHRoZSBtb250aCwg d2hldGhlciBpdCBoYXBwZW5zIHRvIGJlIHRoZSAyOHRoLCAyOXRoLCAzMHRoIG9yIDMxc3QuPC9s aT48L3VsPicpICsKLSAgICAgICAgICAgICAgICAgICc8L2Rpdj4nCi0gICAgICAgICAgICAgICk7 CisgICAgICAgICAgICAgIC8vICQoCisgICAgICAgICAgICAgIC8vICAgJzxkaXY+JyArCisgICAg ICAgICAgICAgIC8vICAgICBnZXR0ZXh0KCdTY2hlZHVsZXMgYXJlIHNwZWNpZmllZCB1c2luZyBh IDxiPmNyb24tc3R5bGU8L2I+IGZvcm1hdC48YnIvPjx1bD48bGk+Rm9yIGVhY2ggc2VsZWN0ZWQg dGltZSBvciBkYXRlIGVsZW1lbnQsIHRoZSBzY2hlZHVsZSB3aWxsIGV4ZWN1dGUuPGJyLz5lLmcu IFRvIGV4ZWN1dGUgYXQgNSBtaW51dGVzIHBhc3QgZXZlcnkgaG91ciwgc2ltcGx5IHNlbGVjdCDi gJgwNeKAmSBpbiB0aGUgTWludXRlcyBsaXN0IGJveC48YnIvPjwvbGk+PGxpPlZhbHVlcyBmcm9t IG1vcmUgdGhhbiBvbmUgZmllbGQgbWF5IGJlIHNwZWNpZmllZCBpbiBvcmRlciB0byBmdXJ0aGVy IGNvbnRyb2wgdGhlIHNjaGVkdWxlLjxici8+ZS5nLiBUbyBleGVjdXRlIGF0IDEyOjA1IGFuZCAx NDowNSBldmVyeSBNb25kYXkgYW5kIFRodXJzZGF5LCB5b3Ugd291bGQgY2xpY2sgbWludXRlIDA1 LCBob3VycyAxMiBhbmQgMTQsIGFuZCB3ZWVrZGF5cyBNb25kYXkgYW5kIFRodXJzZGF5LjwvbGk+ PGxpPkZvciBhZGRpdGlvbmFsIGZsZXhpYmlsaXR5LCB0aGUgTW9udGggRGF5cyBjaGVjayBsaXN0 IGluY2x1ZGVzIGFuIGV4dHJhIExhc3QgRGF5IG9wdGlvbi4gVGhpcyBtYXRjaGVzIHRoZSBsYXN0 IGRheSBvZiB0aGUgbW9udGgsIHdoZXRoZXIgaXQgaGFwcGVucyB0byBiZSB0aGUgMjh0aCwgMjl0 aCwgMzB0aCBvciAzMXN0LjwvbGk+PC91bD4nKSArCisgICAgICAgICAgICAgIC8vICAgJzwvZGl2 PicKKyAgICAgICAgICAgICAgLy8gKS5pbnNlcnRCZWZvcmUodGhpcy4kZWwpOwogCiAgICAgICAg ICAgICAgIHJldHVybiByZXM7CiAgICAgICAgICAgICB9LApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcm9sZXMvc3RhdGljL2pzL3JvbGUuanMg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9yb2xlcy9zdGF0aWMv anMvcm9sZS5qcwppbmRleCA0MTlhZTQ1Zi4uMDIyNmE1YmUgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3JvbGVzL3N0YXRpYy9qcy9yb2xlLmpz CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3JvbGVzL3N0 YXRpYy9qcy9yb2xlLmpzCkBAIC02OCwxOCArNjgsMTkgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUu cm9sZScsIFsKIAogICB2YXIgUm9sZUN1c3RvbVN3aXRjaENvbnRyb2wgPSBCYWNrZm9ybS5Td2l0 Y2hDb250cm9sLmV4dGVuZCh7CiAgICAgdGVtcGxhdGU6IF8udGVtcGxhdGUoWwotICAgICAgJzxs YWJlbCBjbGFzcz0iY29udHJvbC1sYWJlbCI+PCU9bGFiZWwlPjwvbGFiZWw+JywKLSAgICAgICc8 ZGl2IGNsYXNzPSJwZ2FkbWluLWNvbnRyb2xzIj4nLAotICAgICAgJyAgPGRpdiBjbGFzcz0iY2hl Y2tib3giIHN0eWxlPSJmbG9hdDpyaWdodCI+JywKKyAgICAgICc8bGFiZWwgY2xhc3M9ImNvbnRy b2wtbGFiZWwgcGctZWwtc20tMTAgcGctZWwtMTIiPjwlPWxhYmVsJT48L2xhYmVsPicsCisgICAg ICAnPGRpdiBjbGFzcz0icGdhZG1pbi1jb250cm9scyBwZy1lbC1zbS0yIHBnLWVsLTEyIj4nLAor ICAgICAgJyAgPGRpdiBjbGFzcz0iY2hlY2tib3giPicsCiAgICAgICAnICAgIDxsYWJlbD4nLAog ICAgICAgJyAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9IjwlPWV4dHJhQ2xhc3Nl cy5qb2luKFwnIFwnKSU+IiBuYW1lPSI8JT1uYW1lJT4iIDwlPXZhbHVlID8gImNoZWNrZWQ9XCdj aGVja2VkXCciIDogIiIlPiA8JT1kaXNhYmxlZCA/ICJkaXNhYmxlZCIgOiAiIiU+IDwlPXJlcXVp cmVkID8gInJlcXVpcmVkIiA6ICIiJT4gLz4nLAogICAgICAgJyAgICA8L2xhYmVsPicsCiAgICAg ICAnICA8L2Rpdj4nLAotICAgICAgJyAgPCUgaWYgKGhlbHBNZXNzYWdlICYmIGhlbHBNZXNzYWdl Lmxlbmd0aCkgeyAlPicsCi0gICAgICAnICAgIDxzcGFuIGNsYXNzPSI8JT1CYWNrZm9ybS5oZWxw TWVzc2FnZUNsYXNzTmFtZSU+Ij48JT1oZWxwTWVzc2FnZSU+PC9zcGFuPicsCi0gICAgICAnICA8 JSB9ICU+JywKICAgICAgICc8L2Rpdj4nLAorICAgICAgJzwlIGlmIChoZWxwTWVzc2FnZSAmJiBo ZWxwTWVzc2FnZS5sZW5ndGgpIHsgJT4nLAorICAgICAgJyAgPHNwYW4gY2xhc3M9IjwlPUJhY2tm b3JtLmhlbHBNZXNzYWdlQ2xhc3NOYW1lJT4iPjwlPWhlbHBNZXNzYWdlJT48L3NwYW4+JywKKyAg ICAgICc8JSB9ICU+JywKICAgICBdLmpvaW4oJ1xuJykpLAorICAgIGNsYXNzTmFtZTogJ3BnYWRt aW4tY29udHJvbC1ncm91cCBmb3JtLWdyb3VwIHBnLWVsLTEyIHJvdycsCiAgIH0pOwogCiAgIHZh ciBSb2xlTWVtYmVyc0NvbnRyb2wgPSBCYWNrZm9ybS5Db250cm9sLmV4dGVuZCh7CmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9zdGF0aWMvY3Nz L3NlcnZlcnMuY3NzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv c3RhdGljL2Nzcy9zZXJ2ZXJzLmNzcwppbmRleCBlODk4MWNmNS4uNjVmOWY1M2QgMTAwNjQ0Ci0t LSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3N0YXRpYy9jc3Mv c2VydmVycy5jc3MKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvc3RhdGljL2Nzcy9zZXJ2ZXJzLmNzcwpAQCAtOSw0ICs5LDQgQEAKIAogLmNoYW5nZV9wYXNz d29yZCB7CiAgIHBhZGRpbmctbGVmdDogN3B4OwotfQorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL3RhYmxlc3BhY2VzL3N0YXRpYy9qcy90YWJsZXNwYWNlLmpzIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGFibGVzcGFjZXMvc3RhdGljL2pzL3RhYmxlc3Bh Y2UuanMKaW5kZXggMjVkODVhOGIuLjdlOWRkNzlkIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90YWJsZXNwYWNlcy9zdGF0aWMvanMvdGFibGVz cGFjZS5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90 YWJsZXNwYWNlcy9zdGF0aWMvanMvdGFibGVzcGFjZS5qcwpAQCAtMzAyLDcgKzMwMiw3IEBAIGRl ZmluZSgncGdhZG1pbi5ub2RlLnRhYmxlc3BhY2UnLCBbCiAgICAgICAgICAgICAgIH07CiAgICAg ICAgICAgICB9KTsKICAgICAgICAgICB9Ci0gICAgICAgICAgQWxlcnRpZnkubW92ZV9vYmplY3Rz X2RsZyh0cnVlKS5yZXNpemVUbygnNDAlJywnNTAlJyk7CisgICAgICAgICAgQWxlcnRpZnkubW92 ZV9vYmplY3RzX2RsZyh0cnVlKS5yZXNpemVUbyhwZ0Jyb3dzZXIuc3RkVy5tZCxwZ0Jyb3dzZXIu c3RkSC5tZCk7CiAgICAgICAgIH0sCiAgICAgICB9LAogICAgICAgbW9kZWw6IHBnQnJvd3Nlci5O b2RlLk1vZGVsLmV4dGVuZCh7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc3RhdGljL2pzL3NlcnZlcl9ncm91cC5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zdGF0aWMvanMvc2VydmVyX2dyb3VwLmpzCmluZGV4IDU4ZDFjY2QyLi45 MzA1M2E5NSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3N0 YXRpYy9qcy9zZXJ2ZXJfZ3JvdXAuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3N0YXRpYy9qcy9zZXJ2ZXJfZ3JvdXAuanMKQEAgLTksOCArOSw4IEBAIGRlZmluZSgn cGdhZG1pbi5ub2RlLnNlcnZlcl9ncm91cCcsIFsKICAgICAgIHR5cGU6ICdzZXJ2ZXJfZ3JvdXAn LAogICAgICAgZGlhbG9nSGVscDogdXJsX2ZvcignaGVscC5zdGF0aWMnLCB7J2ZpbGVuYW1lJzog J3NlcnZlcl9ncm91cF9kaWFsb2cuaHRtbCd9KSwKICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdTZXJ2 ZXIgR3JvdXAnKSwKLSAgICAgIHdpZHRoOiAnMzUwcHgnLAotICAgICAgaGVpZ2h0OiAnMjUwcHgn LAorICAgICAgd2lkdGg6ICcyNTBweCcsCisgICAgICBoZWlnaHQ6ICcxNTBweCcsCiAgICAgICBp c19jb2xsZWN0aW9uOiB0cnVlLAogICAgICAgSW5pdDogZnVuY3Rpb24oKSB7CiAgICAgICAgIC8q IEF2b2lkIG11bHRpcGxlIHJlZ2lzdHJhdGlvbiBvZiBtZW51cyAqLwpkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvY3NzL3dpemFyZC5jc3MgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3N0YXRpYy9jc3Mvd2l6YXJkLmNzcwppbmRleCAxY2RkZWQwMC4uZDI5Mzg4MWYgMTAwNjQ0 Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2Nzcy93aXphcmQuY3NzCisrKyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2Nzcy93aXphcmQuY3NzCkBAIC00NCwzMCArNDQsMTEg QEAKICAgd2lkdGg6IDE0MHB4OwogfQogCi0ud2l6YXJkLXJpZ2h0LXBhbmVsX2NvbnRlbnQgewot ICBwYWRkaW5nOiAwLjVyZW0gMHJlbTsKLX0KLQogLyogV2l6YXJkIEZvb3RlciBDU1MgKi8KIC5w Z2FkbWluLXdpemFyZCAuZm9vdGVyIC5yb3cgewogICBtYXJnaW46IDAgLTZweCAzcHggLTZweDsK IH0KIAotLyogV2l6YXJkIEJ1dHRvbiBDU1MgKi8KLQotLnBnYWRtaW4td2l6YXJkIC53aXphcmQt YnV0dG9ucyBidXR0b24ud2l6YXJkLW5leHQgaS5mYSB7Ci0gIHBhZGRpbmctbGVmdDogNXB4Owot fQotCi0ucGdhZG1pbi13aXphcmQgLndpemFyZC1idXR0b25zIGJ1dHRvbi53aXphcmQtYmFjayBp LmZhLAotLnBnYWRtaW4td2l6YXJkIC53aXphcmQtYnV0dG9ucyBidXR0b24ud2l6YXJkLWNhbmNl bCBpLmZhIHsKLSAgcGFkZGluZy1yaWdodDogNXB4OwotfQotCi0ucGdhZG1pbi13aXphcmQgLndp emFyZC1idXR0b25zIC53aXphcmQtZmluaXNoIHsKLSAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRh bnQ7Ci19Ci0KIC53aXphcmQtaGVhZGVyIC53aXphcmQtY2FuY2VsLWV2ZW50IHsKICAgYmFja2dy b3VuZDogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFB QkFBQUFBUUNBWUFBQUFmOC85aEFBQUFka2xFUVZRNGpkMlN3UW5BSUF4RjM2R0gwcE9URkhFZ0Yz SWtSNUxPMEY0U0NHSlZFSHJvQXkvZi9FK2lnVit5QWE2aE83bnJjZ0FadUlCZzlDQmFscHBYRW5E TDBSQTFxNTU2QVNkUXFoQnJMbExUeFZjaDF1eEhaaVUyQXVLczJWZHQyM0dHSFN5L3dmSXZ6T3pC UGhwamFSTy81d0cvc3pldkorWlh6QUFBQUFCSlJVNUVya0pnZ2c9PSkgbm8tcmVwZWF0IGNlbnRl ciBjZW50ZXI7CiAgIHBhZGRpbmc6IDEwcHg7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93 c2VyL3N0YXRpYy9qcy9icm93c2VyLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMv YnJvd3Nlci5qcwppbmRleCBlOWVmMjVjOS4uMDBmNzJlOTQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc3RhdGljL2pzL2Jyb3dzZXIuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zdGF0aWMvanMvYnJvd3Nlci5qcwpAQCAtMTA4LDYgKzEwOCwxOSBAQCBkZWZpbmUoJ3BnYWRt aW4uYnJvd3NlcicsIFsKICAgICAvLyBJdCB3aWxsIGJlIHVzZWQgdG8gcmVnaXN0ZXIgZXh0ZW5z aW9ucywgdG9vbHMsIGNoaWxkIG5vZGUgc2NyaXB0cywKICAgICAvLyBldGMuCiAgICAgc2NyaXB0 czoge30sCisgICAgLy8gU3RhbmRhcmQgV2lkdGhzIGFuZCBIZWlnaHQgZm9yIGRpYWxvZ3MgaW4g cHgKKyAgICBzdGRXOiB7CisgICAgICBzbTogNTAwLAorICAgICAgbWQ6IDcwMCwKKyAgICAgIGxn OiA5MDAsCisgICAgICBkZWZhdWx0OiA1MDAsCisgICAgfSwKKyAgICBzdGRIOiB7CisgICAgICBz bTogMjAwLAorICAgICAgbWQ6IDQwMCwKKyAgICAgIGxnOiA1NTAsCisgICAgICBkZWZhdWx0OiA1 NTAsCisgICAgfSwKICAgICAvLyBEZWZhdWx0IHBhbmVscwogICAgIHBhbmVsczogewogICAgICAg Ly8gUGFuZWwgdG8ga2VlcCB0aGUgbGVmdCBoYW5kIGJyb3dzZXIgdHJlZQpkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvbm9kZS5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc3RhdGljL2pzL25vZGUuanMKaW5kZXggOWZlMzFhZWEuLjc2ZGU5OTY0IDEwMDY0NAotLS0g YS93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy9ub2RlLmpzCisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc3RhdGljL2pzL25vZGUuanMKQEAgLTMxMywxOCArMzEzLDE5IEBAIGRlZmluZSgn cGdhZG1pbi5icm93c2VyLm5vZGUnLCBbCiAgICAgICAgICAgfQogCiAgICAgICAgICAgdmFyIG9u U2Vzc2lvbkludmFsaWQgPSBmdW5jdGlvbihtc2cpIHsKLSAgICAgICAgICAgIHZhciBhbGVydE1l c3NhZ2UgPSAnXAotICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYSBlcnJvci1pbi1mb290 ZXIgYmctZGFuZ2VyLWxpZ2h0IGJvcmRlci1kYW5nZXIgdGV4dC1kYW5nZXIgdGV4dC0xNCI+XAot ICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhLWJvZHkgbWVkaWEtbWlkZGxlIj5cCi0g ICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbGVydC1pY29uIGVycm9yLWljb24iPlwKLSAg ICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlIiBh cmlhLWhpZGRlbj0idHJ1ZSI+PC9pPlwKLSAgICAgICAgICAgICAgICAgIDwvZGl2PlwKLSAgICAg ICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxlcnQtdGV4dCI+JyArIG1zZyArICc8L2Rpdj5c Ci0gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsb3NlLWVycm9yLWJhciI+XAotICAg ICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJjbG9zZS1lcnJvciI+eDwvYT5cCi0gICAgICAg ICAgICAgICAgICAgIDwvZGl2PlwKLSAgICAgICAgICAgICAgICA8L2Rpdj5cCi0gICAgICAgICAg ICAgIDwvZGl2Pic7CisgICAgICAgICAgICB2YXIgYWxlcnRNZXNzYWdlID0gYAorICAgICAgICAg ICAgPGRpdiBjbGFzcz0iZXJyb3ItaW4tZm9vdGVyIj4KKyAgICAgICAgICAgICAgPGRpdiBjbGFz cz0iZC1mbGV4IHB4LTIgcHktMSI+CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHItMiI+ CisgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtZXhjbGFtYXRpb24tdHJpYW5nbGUg dGV4dC1kYW5nZXIiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+CisgICAgICAgICAgICAgICAgPC9k aXY+CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxlcnQtdGV4dCI+JHttc2d9PC9kaXY+ CisgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWwtYXV0byBjbG9zZS1lcnJvci1iYXIiPgor ICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9ImNsb3NlLWVycm9yIGZhIGZhLXRpbWVzIHRleHQt ZGFuZ2VyIj48L2E+CisgICAgICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAgIDwvZGl2 PgorICAgICAgICAgICAgPC9kaXY+YDsKKwogICAgICAgICAgICAgaWYgKCFfLmlzVW5kZWZpbmVk KHRoYXQuc3RhdHVzQmFyKSkgewogICAgICAgICAgICAgICB0aGF0LnN0YXR1c0Jhci5odG1sKGFs ZXJ0TWVzc2FnZSkuY3NzKCd2aXNpYmlsaXR5JywgJ3Zpc2libGUnKTsKICAgICAgICAgICAgICAg dGhhdC5zdGF0dXNCYXIuZmluZCgnYS5jbG9zZS1lcnJvcicpLmJpbmQoJ2NsaWNrJywgZnVuY3Rp b24oKSB7CkBAIC01NTgsMTIgKzU1OSw0MyBAQCBkZWZpbmUoJ3BnYWRtaW4uYnJvd3Nlci5ub2Rl JywgWwogCiAgICAgICAgICAgICBkLmJvZHkuaW5zZXJ0QmVmb3JlKGVsLCBkLmJvZHkuZmlyc3RD aGlsZCk7CiAKLSAgICAgICAgICAgIHZhciBwVyA9IHNjcmVlbi53aWR0aCA8IDgwMCA/ICc5NSUn IDogJzUwMHB4JywKLSAgICAgICAgICAgICAgcEggPSBzY3JlZW4uaGVpZ2h0IDwgNjAwID8gJzk1 JScgOiAnNTUwcHgnLAotICAgICAgICAgICAgICB3ID0gcGdBZG1pbi50b1B4KGVsLCBzZWxmLndp ZHRoIHx8IHBXLCAnd2lkdGgnLCB0cnVlKSwKLSAgICAgICAgICAgICAgaCA9IHBnQWRtaW4udG9Q eChlbCwgc2VsZi5oZWlnaHQgfHwgcEgsICdoZWlnaHQnLCB0cnVlKSwKLSAgICAgICAgICAgICAg eCA9IChiLm9mZnNldFdpZHRoIC0gdykgLyAyLAotICAgICAgICAgICAgICB5ID0gKGIub2Zmc2V0 SGVpZ2h0IC0gaCkgLyAyOworICAgICAgICAgICAgbGV0IHcsIGgsIHgsIHk7CisgICAgICAgICAg ICBpZihzY3JlZW4ud2lkdGggPCA4MDApIHsKKyAgICAgICAgICAgICAgdz0gcGdBZG1pbi50b1B4 KGVsLCAnOTUlJywgJ3dpZHRoJywgdHJ1ZSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAg ICAgICAgICB3PSBwZ0FkbWluLnRvUHgoZWwsIHNlbGYud2lkdGggfHwgcGdCcm93c2VyLnN0ZFcu ZGVmYXVsdCsncHgnLCAnd2lkdGgnLCB0cnVlKTsKKworICAgICAgICAgICAgICAvKiBGaXQgdG8g c3RhbmRhcmQgc2l6ZXMgKi8KKyAgICAgICAgICAgICAgaWYodyA8PSBwZ0Jyb3dzZXIuc3RkVy5z bSkgeworICAgICAgICAgICAgICAgIHcgPSBwZ0Jyb3dzZXIuc3RkVy5zbTsKKyAgICAgICAgICAg ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZih3IDw9IHBnQnJvd3Nlci5zdGRXLm1kKSB7 CisgICAgICAgICAgICAgICAgICB3ID0gcGdCcm93c2VyLnN0ZFcubWQ7CisgICAgICAgICAgICAg ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgIHcgPSBwZ0Jyb3dzZXIuc3RkVy5sZzsKKyAg ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAg ICAgICAgaWYoc2NyZWVuLmhlaWdodCA8IDYwMCkgeworICAgICAgICAgICAgICBoID0gcGdBZG1p bi50b1B4KGVsLCAnOTUlJywgJ2hlaWdodCcsIHRydWUpOworICAgICAgICAgICAgfSBlbHNlIHsK KyAgICAgICAgICAgICAgaCA9IHBnQWRtaW4udG9QeChlbCwgc2VsZi5oZWlnaHQgfHwgcGdCcm93 c2VyLnN0ZEguZGVmYXVsdCsncHgnLCAnaGVpZ2h0JywgdHJ1ZSk7CisKKyAgICAgICAgICAgICAg LyogRml0IHRvIHN0YW5kYXJkIHNpemVzICovCisgICAgICAgICAgICAgIGlmKGggPD0gcGdCcm93 c2VyLnN0ZEguc20pIHsKKyAgICAgICAgICAgICAgICBoID0gcGdCcm93c2VyLnN0ZEguc207Cisg ICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYoaCA8PSBwZ0Jyb3dzZXIu c3RkSC5tZCkgeworICAgICAgICAgICAgICAgICAgaCA9IHBnQnJvd3Nlci5zdGRILm1kOworICAg ICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICBoID0gcGdCcm93c2VyLnN0 ZEgubGc7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9 CisKKyAgICAgICAgICAgIHggPSAoYi5vZmZzZXRXaWR0aCAtIHcpIC8gMiwKKyAgICAgICAgICAg IHkgPSAoYi5vZmZzZXRIZWlnaHQgLSBoKSAvIDQ7CiAKICAgICAgICAgICAgIHZhciBwID0gcGdC cm93c2VyLmRvY2tlci5hZGRQYW5lbCgKICAgICAgICAgICAgICAgJ25vZGVfcHJvcHMnLCB3Y0Rv Y2tlci5ET0NLLkZMT0FULCB1bmRlZmluZWQsIHsKQEAgLTEzMTksNyArMTM1MSw3IEBAIGRlZmlu ZSgncGdhZG1pbi5icm93c2VyLm5vZGUnLCBbCiAKICAgICAgICAgICAgIHZhciBidG5Hcm91cCA9 IHRoaXMuZmluZCgnLnBnLXByb3AtYnRuLWdyb3VwJyksCiAgICAgICAgICAgICAgIGJ0blNhdmUg PSBidG5Hcm91cC5maW5kKCdidXR0b24uYnRuLXByaW1hcnknKSwKLSAgICAgICAgICAgICAgYnRu UmVzZXQgPSBidG5Hcm91cC5maW5kKCdidXR0b24uYnRuLXdhcm5pbmcnKTsKKyAgICAgICAgICAg ICAgYnRuUmVzZXQgPSBidG5Hcm91cC5maW5kKCdidXR0b24uYnRuLXNlY29uZGFyeVt0eXBlPSJy ZXNldCJdJyk7CiAKICAgICAgICAgICAgIGlmIChoYXNFcnJvciB8fCAhbW9kaWZpZWQpIHsKICAg ICAgICAgICAgICAgYnRuU2F2ZS5wcm9wKCdkaXNhYmxlZCcsIHRydWUpOwpkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvcGFuZWwuanMgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3N0YXRpYy9qcy9wYW5lbC5qcwppbmRleCA0NTEzMWQxMC4uMDljMjFhOWYgMTAwNjQ0Ci0t LSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL3BhbmVsLmpzCisrKyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc3RhdGljL2pzL3BhbmVsLmpzCkBAIC0xNDIsMTAgKzE0MiwxMCBAQCBkZWZp bmUoCiAgICAgICAgICAgICAgIHAucGdSZXNpemVUaW1lb3V0ID0gbnVsbDsKIAogICAgICAgICAg ICAgICAvKiogQ2FsY3VsYXRpb25zIGJhc2VkIG9uIGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS9k b2NzLzQuMS9sYXlvdXQvZ3JpZC8jZ3JpZC1vcHRpb25zICoqLwotICAgICAgICAgICAgICBpZiAo dyA8IDU3NikgeworICAgICAgICAgICAgICBpZiAodyA8IDQ4MCkgewogICAgICAgICAgICAgICAg IHcgPSAneHMnOwogICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgIGlmICh3ID49IDU3Nikg eworICAgICAgICAgICAgICBpZiAodyA+PSA0ODApIHsKICAgICAgICAgICAgICAgICB3ID0gJ3Nt JzsKICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICBpZiAodyA+PSA3NjgpIHsKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL3Rvb2xiYXIuanMgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3N0YXRpYy9qcy90b29sYmFyLmpzCmluZGV4IDc3MTljMjlhLi5iMDFlMjhl OCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvdG9vbGJhci5qcwor KysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy90b29sYmFyLmpzCkBAIC0xMyw2ICsx Myw3IEBAIGxldCBfZGVmYXVsdFRvb2xCYXJCdXR0b25zID0gWwogICAgIHRleHQ6ICcnLAogICAg IHRvZ2dsZWQ6IGZhbHNlLAogICAgIHRvZ2dsZUNsYXNzOiAnJywKKyAgICBwYXJlbnRDbGFzczog J3BnLXRvb2xiYXItYnRuJywKICAgICBlbmFibGVkOiBmYWxzZSwKICAgfSwKICAgewpAQCAtMjEs NiArMjIsNyBAQCBsZXQgX2RlZmF1bHRUb29sQmFyQnV0dG9ucyA9IFsKICAgICB0ZXh0OiAnJywK ICAgICB0b2dnbGVkOiBmYWxzZSwKICAgICB0b2dnbGVDbGFzczogJycsCisgICAgcGFyZW50Q2xh c3M6ICdwZy10b29sYmFyLWJ0bicsCiAgICAgZW5hYmxlZDogZmFsc2UsCiAgIH0sCiAgIHsKQEAg LTI5LDYgKzMxLDcgQEAgbGV0IF9kZWZhdWx0VG9vbEJhckJ1dHRvbnMgPSBbCiAgICAgdGV4dDog JycsCiAgICAgdG9nZ2xlZDogZmFsc2UsCiAgICAgdG9nZ2xlQ2xhc3M6ICcnLAorICAgIHBhcmVu dENsYXNzOiAncGctdG9vbGJhci1idG4nLAogICAgIGVuYWJsZWQ6IGZhbHNlLAogICB9LAogXTsK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL3dpemFyZC5qcyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL3dpemFyZC5qcwppbmRleCBmYmIxYTU3OC4uNDAx YTczNDIgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL3dpemFyZC5q cworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy93aXphcmQuanMKQEAgLTEwNiwy MCArMTA2LDE5IEBAIGRlZmluZShbCiAgICAgICAnICAgICAgICA8L2Rpdj4nICsKICAgICAgICcg ICAgICA8L2Rpdj4nICsKICAgICAgICcgICAgICA8ZGl2IGNsYXNzPSJ3aXphcmQtZm9vdGVyIHBn LXByb3AtZm9vdGVyIj4nICsKLSAgICAgICAgJyAgICAgIDxkaXYgY2xhc3M9InBnLXByb3Atc3Rh dHVzLWJhciIgc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIj4nICsKLSAgICAgICAgJyAgICAgICAg PGRpdiBjbGFzcz0ibWVkaWEgZXJyb3ItaW4tZm9vdGVyIGJnLWRhbmdlci1saWdodCBib3JkZXIt ZGFuZ2VyIHRleHQtZGFuZ2VyIHRleHQtMTQiPicgKwotICAgICAgICAnICAgICAgICAgIDxkaXYg Y2xhc3M9Im1lZGlhLWJvZHkgbWVkaWEtbWlkZGxlIj4nICsKLSAgICAgICAgJyAgICAgICAgICAg IDxkaXYgY2xhc3M9ImFsZXJ0LWljb24gZXJyb3ItaWNvbiI+JyArCi0gICAgICAgICcgICAgICAg ICAgICAgIDxpIGNsYXNzPSJmYSBmYS1leGNsYW1hdGlvbi10cmlhbmdsZSIgYXJpYS1oaWRkZW49 InRydWUiPjwvaT4nICsKLSAgICAgICAgJyAgICAgICAgICAgIDwvZGl2PicgKwotICAgICAgICAn ICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWxlcnQtdGV4dCI+JyArCi0gICAgICAgICcgICAgICAg ICAgICA8L2Rpdj4nICsKLSAgICAgICAgJyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsb3NlLWVy cm9yLWJhciI+JyArCi0gICAgICAgICcgICAgICAgICAgICAgIDxhIGNsYXNzPSJjbG9zZS1lcnJv ciI+eDwvYT4nICsKLSAgICAgICAgJyAgICAgICAgICAgIDwvZGl2PicgKwotICAgICAgICAnICAg ICAgICAgIDwvZGl2PicgKwotICAgICAgICAnICAgICAgICA8L2Rpdj4nICsKLSAgICAgICAgJyAg ICAgIDwvZGl2PicgKworICAgICAgJyAgICAgICAgPGRpdiBjbGFzcz0icGctcHJvcC1zdGF0dXMt YmFyIiBzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iPicgKworICAgICAgJyAgICAgICAgICA8ZGl2 IGNsYXNzPSJlcnJvci1pbi1mb290ZXIiPiAnICsKKyAgICAgICcgICAgICAgICAgICA8ZGl2IGNs YXNzPSJkLWZsZXggcHgtMiBweS0xIj4gJyArCisgICAgICAnICAgICAgICAgICAgICA8ZGl2IGNs YXNzPSJwci0yIj4gJyArCisgICAgICAnICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1l eGNsYW1hdGlvbi10cmlhbmdsZSB0ZXh0LWRhbmdlciIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4g JyArCisgICAgICAnICAgICAgICAgICAgICA8L2Rpdj4gJyArCisgICAgICAnICAgICAgICAgICAg ICA8ZGl2IGNsYXNzPSJhbGVydC10ZXh0Ij48L2Rpdj4gJyArCisgICAgICAnICAgICAgICAgICAg ICA8ZGl2IGNsYXNzPSJtbC1hdXRvIGNsb3NlLWVycm9yLWJhciI+ICcgKworICAgICAgJyAgICAg ICAgICAgICAgICA8YSBjbGFzcz0iY2xvc2UtZXJyb3IgZmEgZmEtdGltZXMgdGV4dC1kYW5nZXIi PjwvYT4gJyArCisgICAgICAnICAgICAgICAgICAgICA8L2Rpdj4gJyArCisgICAgICAnICAgICAg ICAgICAgPC9kaXY+ICcgKworICAgICAgJyAgICAgICAgICA8L2Rpdj4gJyArCisgICAgICAnICAg ICAgICA8L2Rpdj4nICsKICAgICAgICcgICAgICAgIDxkaXYgY2xhc3M9IndpemFyZC1idXR0b25z IGQtZmxleCI+JyArCiAgICAgICAnICAgICAgICAgIDxkaXY+JyArCiAgICAgICAnICAgICAgICAg ICAgPGJ1dHRvbiB0aXRsZSA9ICInICsgZ2V0dGV4dCgnSGVscCBmb3IgdGhpcyBkaWFsb2cuJykg KyAnIicgKwpAQCAtMTI4LDE0ICsxMjcsMTQgQEAgZGVmaW5lKFsKICAgICAgICcgICAgICAgICAg PC9kaXY+JyArCiAgICAgICAnICAgICAgICAgIDxkaXYgY2xhc3M9Im1sLWF1dG8iPicgKwogICAg ICAgJyAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgd2l6YXJk LWNhbmNlbCIgPCU9dGhpcy5vcHRpb25zLmRpc2FibGVfY2FuY2VsID8gImRpc2FibGVkIiA6ICIi JT4+JyArCi0gICAgICAnICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1sZyBmYS1jbG9z ZSI+PC9pPicgKyBnZXR0ZXh0KCdDYW5jZWwnKSArICc8L2J1dHRvbj4nICsKKyAgICAgICcgICAg ICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNsb3NlIj48L2k+Jm5ic3A7JyArIGdldHRleHQo J0NhbmNlbCcpICsgJzwvYnV0dG9uPicgKwogICAgICAgJyAgICAgICAgICAgICAgPGJ1dHRvbiBj bGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkgd2l6YXJkLWJhY2siIDwlPXRoaXMub3B0aW9ucy5kaXNh YmxlX3ByZXYgPyAiZGlzYWJsZWQiIDogIiIlPj4nICsKLSAgICAgICcgICAgICAgICAgICAgICAg PGkgY2xhc3M9ImZhIGZhLWJhY2t3YXJkIj48L2k+JyArIGdldHRleHQoJ0JhY2snKSArICc8L2J1 dHRvbj4nICsKKyAgICAgICcgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWJhY2t3YXJk Ij48L2k+Jm5ic3A7JyArIGdldHRleHQoJ0JhY2snKSArICc8L2J1dHRvbj4nICsKICAgICAgICcg ICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IHdpemFyZC1uZXh0 IiA8JT10aGlzLm9wdGlvbnMuZGlzYWJsZV9uZXh0ID8gImRpc2FibGVkIiA6ICIiJT4+JyArCiAg ICAgICAnICAgICAgICAgICAgICAgICcgKyBnZXR0ZXh0KCdOZXh0JykgKwotICAgICAgJyAgICAg ICAgICAgICAgICA8aSBjbGFzcz0iZmEgZmEtZm9yd2FyZCI+PC9pPjwvYnV0dG9uPicgKworICAg ICAgJyAgICAgICAgICAgICAgICAmbmJzcDs8aSBjbGFzcz0iZmEgZmEtZm9yd2FyZCI+PC9pPjwv YnV0dG9uPicgKwogICAgICAgJyAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1w cmltYXJ5IHdpemFyZC1maW5pc2giIDwlPXRoaXMub3B0aW9ucy5kaXNhYmxlX2ZpbmlzaCA/ICJk aXNhYmxlZCIgOiAiIiU+PicgKwotICAgICAgJyAgICAgICAgICAgICAgICAnICsgZ2V0dGV4dCgn RmluaXNoJykgKyAnPC9idXR0b24+JyArCisgICAgICAnICAgICAgICAgICAgICAgIDxpIGNsYXNz PSJmYSBmYS1jaGVjayI+PC9pPiZuYnNwOycgKyBnZXR0ZXh0KCdGaW5pc2gnKSArICc8L2J1dHRv bj4nICsKICAgICAgICcgICAgICAgICAgPC9kaXY+JyArCiAgICAgICAnICAgICAgICA8L2Rpdj4n ICsKICAgICAgICcgICAgICA8L2Rpdj4nICsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc3RhdGljL3Njc3MvX2Jyb3dzZXIuc2NzcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGlj L3Njc3MvX2Jyb3dzZXIuc2NzcwppbmRleCAxNThkMjg5MS4uNzZjMjMwY2QgMTAwNjQ0Ci0tLSBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL3Njc3MvX2Jyb3dzZXIuc2NzcworKysgYi93ZWIv cGdhZG1pbi9icm93c2VyL3N0YXRpYy9zY3NzL19icm93c2VyLnNjc3MKQEAgLTQ2LDMgKzQ2LDgg QEAgc2FtcCwKICAgdGV4dC1hbGlnbjogY2VudGVyOwogICBjb2xvcjogJGxvYWRpbmctZmc7CiB9 CisKKy5wZy10b29sYmFyLWJ0biB7CisgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOworICBib3JkZXI6 ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkICRidG4tc2Vjb25kYXJ5LWJvcmRlcjsKK30K XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9taXNj L2JncHJvY2Vzcy9zdGF0aWMvc2Nzcy9fYmdwcm9jZXNzLnNjc3MgYi93ZWIvcGdhZG1pbi9taXNj L2JncHJvY2Vzcy9zdGF0aWMvc2Nzcy9fYmdwcm9jZXNzLnNjc3MKaW5kZXggNTk1NzI5MTQuLmNh ZjU0ZjIzIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9taXNjL2JncHJvY2Vzcy9zdGF0aWMvc2Nz cy9fYmdwcm9jZXNzLnNjc3MKKysrIGIvd2ViL3BnYWRtaW4vbWlzYy9iZ3Byb2Nlc3Mvc3RhdGlj L3Njc3MvX2JncHJvY2Vzcy5zY3NzCkBAIC04Miw3ICs4Miw3IEBAICRiZ3Byb2MtY29udGFpbmVy LXBhZDogMnB4OwogCiAuYWpzLWJnLWJncHJvY2VzcyA+IC5wZy1iZy1iZ3Byb2Nlc3MgPiAucGct Ymctc3RhdHVzLmJnLWZhaWxlZCB7CiAgIGNvbG9yOiAkY29sb3ItZmc7Ci0gIGJhY2tncm91bmQt Y29sb3I6ICRjb2xvci1kYW5nZXItbGlnaHQ7CisgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1k YW5nZXItbGlnaHRlcjsKIH0KIAogLnBnLXBhbmVsLWNvbnRlbnQgZGl2LmJnLXByb2Nlc3Mtd2F0 Y2hlciB7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9taXNjL2ZpbGVfbWFuYWdlci9zdGF0aWMv Y3NzL2ZpbGVfbWFuYWdlci5jc3MgYi93ZWIvcGdhZG1pbi9taXNjL2ZpbGVfbWFuYWdlci9zdGF0 aWMvY3NzL2ZpbGVfbWFuYWdlci5jc3MKaW5kZXggMjM4MjRmYTcuLmRkNzU5NmI0IDEwMDY0NAot LS0gYS93ZWIvcGdhZG1pbi9taXNjL2ZpbGVfbWFuYWdlci9zdGF0aWMvY3NzL2ZpbGVfbWFuYWdl ci5jc3MKKysrIGIvd2ViL3BnYWRtaW4vbWlzYy9maWxlX21hbmFnZXIvc3RhdGljL2Nzcy9maWxl X21hbmFnZXIuY3NzCkBAIC0yMzYsMTAgKzIzNiw4IEBAIGEuZHotcmVtb3ZlIHsKIAogLmZpbGVf bGlzdGluZyAubm9fZm9sZGVyX2ZvdW5kIHsKICAgdGV4dC1hbGlnbjogY2VudGVyOwotICBwb3Np dGlvbjogYWJzb2x1dGU7Ci0gIHRvcDogNTBweDsKICAgd2lkdGg6IDEwMCU7Ci0gIGZvbnQtc2l6 ZTogMTRweDsKKyAgcGFkZGluZzogMC41cmVtOwogfQogCiBkaXYuY2hhbmdlX2ZpbGVfdHlwZXMg c3BhbiB7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9taXNjL2ZpbGVfbWFuYWdlci9zdGF0aWMv anMvZmlsZV9tYW5hZ2VyLmpzIGIvd2ViL3BnYWRtaW4vbWlzYy9maWxlX21hbmFnZXIvc3RhdGlj L2pzL2ZpbGVfbWFuYWdlci5qcwppbmRleCAxZGNjZDc5Yi4uZWQ0Zjk5ZTQgMTAwNjQ0Ci0tLSBh L3dlYi9wZ2FkbWluL21pc2MvZmlsZV9tYW5hZ2VyL3N0YXRpYy9qcy9maWxlX21hbmFnZXIuanMK KysrIGIvd2ViL3BnYWRtaW4vbWlzYy9maWxlX21hbmFnZXIvc3RhdGljL2pzL2ZpbGVfbWFuYWdl ci5qcwpAQCAtMjksOSArMjksOSBAQCBkZWZpbmUoJ21pc2MuZmlsZV9tYW5hZ2VyJywgWwogICAg IC8vIENhbGwgZGlhbG9ncyBzdWJqZWN0IHRvIGRpYWxvZ190eXBlIHBhcmFtCiAgICAgc2hvd19k aWFsb2c6IGZ1bmN0aW9uKHBhcmFtcykgewogICAgICAgaWYgKHBhcmFtcy5kaWFsb2dfdHlwZSA9 PSAnY3JlYXRlX2ZpbGUnKSB7Ci0gICAgICAgIEFsZXJ0aWZ5LmNyZWF0ZU1vZGVEbGcocGFyYW1z KS5yZXNpemVUbygnNjAlJywgJzgwJScpOworICAgICAgICBBbGVydGlmeS5jcmVhdGVNb2RlRGxn KHBhcmFtcykucmVzaXplVG8ocGdBZG1pbi5Ccm93c2VyLnN0ZFcubWQscGdBZG1pbi5Ccm93c2Vy LnN0ZEgubGcpOwogICAgICAgfSBlbHNlIHsKLSAgICAgICAgQWxlcnRpZnkuZmlsZVNlbGVjdGlv bkRsZyhwYXJhbXMpLnJlc2l6ZVRvKCc2MCUnLCAnODAlJyk7CisgICAgICAgIEFsZXJ0aWZ5LmZp bGVTZWxlY3Rpb25EbGcocGFyYW1zKS5yZXNpemVUbyhwZ0FkbWluLkJyb3dzZXIuc3RkVy5tZCxw Z0FkbWluLkJyb3dzZXIuc3RkSC5sZyk7CiAgICAgICB9CiAgICAgfSwKICAgfTsKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL21pc2MvZmlsZV9tYW5hZ2VyL3N0YXRpYy9qcy91dGlsaXR5LmpzIGIv d2ViL3BnYWRtaW4vbWlzYy9maWxlX21hbmFnZXIvc3RhdGljL2pzL3V0aWxpdHkuanMKaW5kZXgg NWZiZjBhNTUuLjA3MzNlNTJkIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9taXNjL2ZpbGVfbWFu YWdlci9zdGF0aWMvanMvdXRpbGl0eS5qcworKysgYi93ZWIvcGdhZG1pbi9taXNjL2ZpbGVfbWFu YWdlci9zdGF0aWMvanMvdXRpbGl0eS5qcwpAQCAtNTc2LDcgKzU3Niw3IEBAIGRlZmluZShbCiAK ICAgICAgICAgICByZXN1bHQgKz0gJzwvdWw+JzsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg ICByZXN1bHQgKz0gJzx0YWJsZSBpZD0iY29udGVudHMiIGNsYXNzPSJ0YWJsZSB0YWJsZS1ib3Jk ZXJlZCB0YWJsZS1ub291dGVyLWJvcmRlciB0YWJsZS1ob3ZlciB0YWJsZXNvcnRlciI+JzsKKyAg ICAgICAgICByZXN1bHQgKz0gJzx0YWJsZSBpZD0iY29udGVudHMiIGNsYXNzPSJ0YWJsZSB0YWJs ZS1ib3JkZXJlZCB0YWJsZS1ub291dGVyLWJvcmRlciB0YWJsZS1ib3R0b20tYm9yZGVyIHRhYmxl LWhvdmVyIHRhYmxlc29ydGVyIj4nOwogICAgICAgICAgIHJlc3VsdCArPSAnPHRoZWFkPjx0cj48 dGg+JzsKICAgICAgICAgICByZXN1bHQgKz0gJzxzcGFuPicgKyBsZy5uYW1lICsgJzwvc3Bhbj48 L3RoPic7CiAgICAgICAgICAgcmVzdWx0ICs9ICc8dGg+PHNwYW4+JyArIGxnLnNpemUgKyAnPC9z cGFuPjwvdGg+PHRoPic7CkBAIC02NTksMTYgKzY1OSwxNSBAQCBkZWZpbmUoWwogICAgICAgICBp ZiAoJCgnLmZpbGVpbmZvJykuZGF0YSgndmlldycpID09ICdncmlkJykgewogICAgICAgICAgIHJl c3VsdCArPSAnPHVsIGlkPSJjb250ZW50cyIgY2xhc3M9ImdyaWQiPjwvdWw+JzsKICAgICAgICAg fSBlbHNlIHsKLSAgICAgICAgICByZXN1bHQgKz0gJzx0YWJsZSBpZD0iY29udGVudHMiIGNsYXNz PSJsaXN0IHRhYmxlc29ydGVyIj4nOwotICAgICAgICAgIHJlc3VsdCArPSAnPHRoZWFkPjx0cj48 dGg+PHNwYW4+JyArCi0gICAgICAgICAgICBsZy5uYW1lICsgJzwvc3Bhbj48L3RoPjx0aD48c3Bh bj4nICsgbGcuc2l6ZSArCi0gICAgICAgICAgICAnPC9zcGFuPjwvdGg+PHRoPjxzcGFuPicgKyBs Zy5tb2RpZmllZCArCi0gICAgICAgICAgICAnPC9zcGFuPjwvdGg+PC90cj48L3RoZWFkPic7Ci0g ICAgICAgICAgcmVzdWx0ICs9ICc8dGJvZHk+JzsKKyAgICAgICAgICByZXN1bHQgKz0gJzx0YWJs ZSBpZD0iY29udGVudHMiIGNsYXNzPSJ0YWJsZSB0YWJsZS1ib3JkZXJlZCB0YWJsZS1ub291dGVy LWJvcmRlciB0YWJsZS1lbXB0eS1yb3dzIGFibGVzb3J0ZXIiPic7CisgICAgICAgICAgcmVzdWx0 ICs9ICc8dGhlYWQ+PHRyPjx0aD48c3Bhbj4nICsgbGcubmFtZSArICc8L3NwYW4+PC90aD4nICsK KyAgICAgICAgICAgICAgICAgICAgJzx0aD48c3Bhbj4nICsgbGcuc2l6ZSArICc8L3NwYW4+PC90 aD4nICsKKyAgICAgICAgICAgICAgICAgICAgJzx0aD48c3Bhbj4nICsgbGcubW9kaWZpZWQgKyAn PC9zcGFuPjwvdGg+JyArCisgICAgICAgICAgICAgICAgICAgICc8L3RyPjwvdGhlYWQ+JzsKKyAg ICAgICAgICByZXN1bHQgKz0gJzwvdGJvZHk+JzsKKyAgICAgICAgICByZXN1bHQgKz0gJzwvdGFi bGU+JzsKICAgICAgICAgfQotICAgICAgICByZXN1bHQgKz0gJzxoMSBjbGFzcz0ibm9fZm9sZGVy X2ZvdW5kIj4nICsKLSAgICAgICAgICBsZy5jb3VsZF9ub3RfcmV0cmlldmVfZm9sZGVyICsgJzwv aDE+JzsKLQorICAgICAgICByZXN1bHQgKz0gJzxkaXYgY2xhc3M9Im5vX2ZvbGRlcl9mb3VuZCI+ JyArIGxnLmNvdWxkX25vdF9yZXRyaWV2ZV9mb2xkZXIgKyAnPC9kaXY+JzsKICAgICAgICAgdmFy IGNhcF9ub19mb2xkZXJzID0gWyd1cGxvYWQnLCAnY3JlYXRlJ107CiAKICAgICAgICAgZGF0YS5D YXBhYmlsaXRpZXMgPSBjYXBfbm9fZm9sZGVyczsKQEAgLTY5MSw3ICs2OTAsNyBAQCBkZWZpbmUo WwogICAgICAgICBpZiAoJCgnLmZpbGVpbmZvJykuZGF0YSgndmlldycpID09ICdncmlkJykgewog ICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgJHRoaXMgPSAkKCcuZmls ZV9tYW5hZ2VyJykuZmluZCgnI2NvbnRlbnRzIGxpLnNlbGVjdGVkIHAnKTsKLSAgICAgICAgICBv cmlnX3ZhbHVlID0gZGVjb2RlVVJJKCR0aGlzLmZpbmQoJ3NwYW4nKS5hdHRyKCd0aXRsZScpKTsK KyAgICAgICAgICBvcmlnX3ZhbHVlID0gZGVjb2RlVVJJKCR0aGlzLmZpbmQoJ3NwYW4ubGVzc190 ZXh0JykuYXR0cigndGl0bGUnKSk7CiAgICAgICAgICAgbmV3dmFsdWUgPSBvcmlnX3ZhbHVlLnN1 YnN0cmluZygwLCBvcmlnX3ZhbHVlLmluZGV4T2YoJy4nKSk7CiAKICAgICAgICAgICBpZiAobmV3 dmFsdWUgPT09ICcnKSB7CkBAIC03MTUsNyArNzE0LDcgQEAgZGVmaW5lKFsKICAgICAgICAgICAk dGhpcyA9ICQoJy5maWxlaW5mbycpLmZpbmQoCiAgICAgICAgICAgICAndGFibGUjY29udGVudHMg dGJvZHkgdHIuc2VsZWN0ZWQgdGQ6Zmlyc3QtY2hpbGQgcCcKICAgICAgICAgICApOwotICAgICAg ICAgIG9yaWdfdmFsdWUgPSBkZWNvZGVVUkkoJHRoaXMuZmluZCgnc3BhbicpLmh0bWwoKSksCisg ICAgICAgICAgb3JpZ192YWx1ZSA9IGRlY29kZVVSSSgkdGhpcy5maW5kKCdzcGFuLmxlc3NfdGV4 dCcpLmh0bWwoKSksCiAgICAgICAgICAgICBuZXd2YWx1ZSA9IG9yaWdfdmFsdWUuc3Vic3RyaW5n KDAsIG9yaWdfdmFsdWUubGFzdEluZGV4T2YoJy4nKSk7CiAKICAgICAgICAgICBpZiAob3JpZ192 YWx1ZS5sYXN0SW5kZXhPZignLycpID09IG9yaWdfdmFsdWUubGVuZ3RoIC0gMSB8fCBuZXd2YWx1 ZSA9PT0gJycpIHsKQEAgLTExMzcsNyArMTEzNiw3IEBAIGRlZmluZShbCiAgICAgICAgICAgICA8 aW5wdXQgdHlwZT0nY2hlY2tib3gnIGlkPSdzaG93X2hpZGRlbicgb25jbGljaz0ncGdBZG1pbi5G aWxlVXRpbHMuaGFuZGxlQ2xpY2sodGhpcyknIHRhYmluZGV4PScxMSc+CiAgICAgICAgICAgPC9k aXY+CiAgICAgICAgICAgPGRpdiBjbGFzcz0ibWwtYXV0byI+Ci0gICAgICAgICAgICA8bGFiZWw+ JHtnZXR0ZXh0KCdGb3JtYXQnKX08L2xhYmVsPgorICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJt eS1hdXRvIj4ke2dldHRleHQoJ0Zvcm1hdCcpfTwvbGFiZWw+CiAgICAgICAgICAgICA8c2VsZWN0 IG5hbWU9J3R5cGUnIHRhYmluZGV4PScxMic+JHtmaWxlRm9ybWF0c308L3NlbGVjdD4KICAgICAg ICAgICA8ZGl2PmA7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL21pc2MvZmls ZV9tYW5hZ2VyL3N0YXRpYy9zY3NzL19maWxlX21hbmFnZXIuc2NzcyBiL3dlYi9wZ2FkbWluL21p c2MvZmlsZV9tYW5hZ2VyL3N0YXRpYy9zY3NzL19maWxlX21hbmFnZXIuc2NzcwppbmRleCA4NWY4 NTQ2My4uMmQ5MGE2N2YgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL21pc2MvZmlsZV9tYW5hZ2Vy L3N0YXRpYy9zY3NzL19maWxlX21hbmFnZXIuc2NzcworKysgYi93ZWIvcGdhZG1pbi9taXNjL2Zp bGVfbWFuYWdlci9zdGF0aWMvc2Nzcy9fZmlsZV9tYW5hZ2VyLnNjc3MKQEAgLTE0Miw2ICsxNDIs OSBAQAogCiAuYWxsb3dlZF9maWxlX3R5cGVzIHsKICAgYm9yZGVyLXRvcDogJHBhbmVsLWJvcmRl cjsKKyAgYmFja2dyb3VuZDogJGNvbG9yLWJnLXRoZW1lOworICB6LWluZGV4OiA1OworICBwYWRk aW5nOiAwLjI1cmVtOwogfQogCiAudXBsb2FkX2ZpbGV7CkBAIC0yMTEsMTAgKzIxNCwxMCBAQAog fQogCiAuZmlsZWluZm8gLmZtX2RpbW1lciB7Ci0gIGhlaWdodDogY2FsYygxMDAlIC0gMzJweCk7 CiAgIGRpc3BsYXk6IG5vbmU7Ci0gIHRvcDogMHB4OwotICBiYWNrZ3JvdW5kOiRjb2xvci1mZzsK KyAgdG9wOiAwOworICBib3R0b206IDA7CisgIGJhY2tncm91bmQ6ICRsb2FkaW5nLWJnOwogICBv cGFjaXR5OiAwLjU7CiAgIHdpZHRoOiAxMDAlOwogICBwb3NpdGlvbjogYWJzb2x1dGU7CkBAIC0y MjMsMTAgKzIyNiw4IEBACiAKIC5maWxlaW5mbyAuZGVsZXRlX2l0ZW0sIC5maWxlaW5mbyAucmVw bGFjZV9maWxlIHsKICAgZGlzcGxheTogbm9uZTsKLSAgcGFkZGluZzogMTVweCAxNXB4OwotICBi b3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JheS1saWdodDsKLSAgYm9yZGVyLWxlZnQ6IDA7Ci0g IGJvcmRlci1yaWdodDogMDsKKyAgcGFkZGluZzogMXJlbTsKKyAgYm9yZGVyLWJvdHRvbTogJHBh bmVsLWJvcmRlcjsKICAgYmFja2dyb3VuZDogJGNvbG9yLWJnLXRoZW1lOwogICBwb3NpdGlvbjog YWJzb2x1dGU7CiAgIHRvcDogMDsKQEAgLTIzNSwxNSArMjM2LDYgQEAKICAgei1pbmRleDogNDsK IH0KIAotLmZpbGVpbmZvIC5kZWxldGVfaXRlbSBzcGFuLnB1bGwtcmlnaHQgLmJ0biwKLS5maWxl aW5mbyAucmVwbGFjZV9maWxlIHNwYW4ucHVsbC1yaWdodCAuYnRuIHsKLSAgcGFkZGluZzogMHB4 IDVweDsKLSAgY29sb3I6ICRjb2xvci1mZzsKLSAgYmFja2dyb3VuZDogJGNvbG9yLWJnOwotICBm b250LXNpemU6IDEycHg7Ci0gIG1hcmdpbi1yaWdodDogNHB4OwotfQotCiAudXBsb2FkX2ZpbGUg LmR6X2Nyb3NzX2J0biB7CiAgIGNvbG9yOiAkY29sb3ItZmctdGhlbWU7CiAgIHJpZ2h0OiAwcHg7 CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9taXNjL2ZpbGVfbWFuYWdlci90ZW1wbGF0ZXMvZmls ZV9tYW5hZ2VyL2luZGV4Lmh0bWwgYi93ZWIvcGdhZG1pbi9taXNjL2ZpbGVfbWFuYWdlci90ZW1w bGF0ZXMvZmlsZV9tYW5hZ2VyL2luZGV4Lmh0bWwKaW5kZXggOWQxZTM2NzMuLmY4NTQ1NDVlIDEw MDY0NAotLS0gYS93ZWIvcGdhZG1pbi9taXNjL2ZpbGVfbWFuYWdlci90ZW1wbGF0ZXMvZmlsZV9t YW5hZ2VyL2luZGV4Lmh0bWwKKysrIGIvd2ViL3BnYWRtaW4vbWlzYy9maWxlX21hbmFnZXIvdGVt cGxhdGVzL2ZpbGVfbWFuYWdlci9pbmRleC5odG1sCkBAIC02NCwxNiArNjQsMTYgQEAKICAgICAg ICAgPGRpdiBjbGFzcz0nZm1fZGltbWVyJz48L2Rpdj4KICAgICAgICAgPGRpdiBjbGFzcz0nZGVs ZXRlX2l0ZW0nPgogICAgICAgICAgICAgPHNwYW4+e3sgXygnQXJlIHlvdSBzdXJlIHlvdSB3YW50 IHRvIGRlbGV0ZSB0aGlzIGl0ZW0/JykgfX08L3NwYW4+Ci0gICAgICAgIDxzcGFuIGNsYXNzPSJw dWxsLXJpZ2h0Ij4KLSAgICAgICAgPGJ1dHRvbiB0eXBlPSdidXR0b24nIGNsYXNzPSdidG4gYnRu X3llcycgdGFiaW5kZXg9IjEzIj57eyBfKCdZZXMnKSB9fTwvYnV0dG9uPgotICAgICAgICA8YnV0 dG9uIHR5cGU9J2J1dHRvbicgY2xhc3M9J2J0biBidG5fbm8nIHRhYmluZGV4PSIxNCI+e3sgXygn Tm8nKSB9fTwvYnV0dG9uPgotICAgICAgICA8L3NwYW4+CisgICAgICAgICAgICA8c3BhbiBjbGFz cz0icHVsbC1yaWdodCI+CisgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSdidXR0b24nIGNs YXNzPSdidG4gYnRuLXNlY29uZGFyeSBidG5fbm8nIHRhYmluZGV4PSIxNCI+e3sgXygnTm8nKSB9 fTwvYnV0dG9uPgorICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0nYnV0dG9uJyBjbGFzcz0n YnRuIGJ0bi1wcmltYXJ5IGJ0bl95ZXMnIHRhYmluZGV4PSIxMyI+e3sgXygnWWVzJykgfX08L2J1 dHRvbj4KKyAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgPC9kaXY+CiAgICAgICAgIDxkaXYg Y2xhc3M9J3JlcGxhY2VfZmlsZSc+CiAgICAgICAgICAgICA8c3Bhbj57eyBfKCdBcmUgeW91IHN1 cmUgeW91IHdhbnQgdG8gcmVwbGFjZSB0aGlzIGZpbGU/JykgfX08L3NwYW4+CiAgICAgICAgICAg ICA8c3BhbiBjbGFzcz0icHVsbC1yaWdodCI+Ci0gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBl PSdidXR0b24nIGNsYXNzPSdidG4gYnRuX3llcycgdGFiaW5kZXg9IjE1Ij57eyBfKCdZZXMnKSB9 fTwvYnV0dG9uPgotICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0nYnV0dG9uJyBjbGFzcz0n YnRuIGJ0bl9ubycgdGFiaW5kZXg9IjE2Ij57eyBfKCdObycpIH19PC9idXR0b24+CisgICAgICAg ICAgICAgICAgPGJ1dHRvbiB0eXBlPSdidXR0b24nIGNsYXNzPSdidG4gYnRuLXNlY29uZGFyeSBi dG5fbm8nIHRhYmluZGV4PSIxNiI+e3sgXygnTm8nKSB9fTwvYnV0dG9uPgorICAgICAgICAgICAg ICAgIDxidXR0b24gdHlwZT0nYnV0dG9uJyBjbGFzcz0nYnRuIGJ0bi1wcmltYXJ5IGJ0bl95ZXMn IHRhYmluZGV4PSIxNSI+e3sgXygnWWVzJykgfX08L2J1dHRvbj4KICAgICAgICAgICAgIDwvc3Bh bj4KICAgICAgICAgPC9kaXY+CiAgICAgPC9kaXY+CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9t aXNjL3N0YXRpYy9leHBsYWluL2Nzcy9leHBsYWluLmNzcyBiL3dlYi9wZ2FkbWluL21pc2Mvc3Rh dGljL2V4cGxhaW4vY3NzL2V4cGxhaW4uY3NzCmluZGV4IGI2ZDQxM2NjLi43YzRlZTk5OSAxMDA2 NDQKLS0tIGEvd2ViL3BnYWRtaW4vbWlzYy9zdGF0aWMvZXhwbGFpbi9jc3MvZXhwbGFpbi5jc3MK KysrIGIvd2ViL3BnYWRtaW4vbWlzYy9zdGF0aWMvZXhwbGFpbi9jc3MvZXhwbGFpbi5jc3MKQEAg LTYsMTEgKzYsMTEgQEAKICAgICBjdXJzb3I6IHBvaW50ZXI7CiB9CiAKLS5wZy1leHBsYWluLXpv b20tYnRuIHsKKy5wZy1leHBsYWluLXpvb20tYnRuLAorLnBnLWV4cGxhaW4tZG93bmxvYWQtYnRu IHsKICAgICB0b3A6IDVweDsKICAgICBtaW4td2lkdGg6IDI1cHg7CiAgICAgY3Vyc29yOiBwb2lu dGVyOwotICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgIGZvbnQtc2l6ZTog MC43NXJlbTsKIH0KIApAQCAtNzIsMTAgKzcyLDMgQEAgdGQuZXhwbGFpbi10b29sdGlwLXZhbCB7 CiAgICAgbGVmdDogNzlweDsKICAgICBvcGFjaXR5OiAwLjU7CiB9Ci0KLS5wZy1leHBsYWluLWRv d25sb2FkLWJ0biB7Ci0gICAgdG9wOiA1cHg7Ci0gICAgbWluLXdpZHRoOiAyNXB4OwotICAgIGJv cmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwotICAgIGZvbnQtc2l6ZTogMC43NXJlbTsKLX0K ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3ByZWZlcmVuY2VzL3N0YXRpYy9qcy9wcmVmZXJlbmNl cy5qcyBiL3dlYi9wZ2FkbWluL3ByZWZlcmVuY2VzL3N0YXRpYy9qcy9wcmVmZXJlbmNlcy5qcwpp bmRleCA1MTFjODBhMS4uOTdiYjQ5NmMgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3ByZWZlcmVu Y2VzL3N0YXRpYy9qcy9wcmVmZXJlbmNlcy5qcworKysgYi93ZWIvcGdhZG1pbi9wcmVmZXJlbmNl cy9zdGF0aWMvanMvcHJlZmVyZW5jZXMuanMKQEAgLTMwNywxMiArMzA3LDYgQEAgZGVmaW5lKCdw Z2FkbWluLnByZWZlcmVuY2VzJywgWwogICAgICAgICAgICAgICAgICAgLyoKICAgICAgICAgICAg ICAgICAgICAqIENsZWFyIHRoZSBleGlzdGluZyBodG1sIGluIHRoZSBwcmVmZXJlbmNlcyBjb250 ZW50CiAgICAgICAgICAgICAgICAgICAgKi8KLSAgICAgICAgICAgICAgICAvLyBLZXlib2FyZCBz aG9ydCBjdXRzIGFuZCBub2RlcyB3aXVsbCBoYXZlIHN0cmlwZWQgZGl2cwotICAgICAgICAgICAg ICAgIGlmIChkLmxhYmVsLnRvTG93ZXJDYXNlKCkgPT0gJ2tleWJvYXJkIHNob3J0Y3V0cycgfHwg ZC5sYWJlbC50b0xvd2VyQ2FzZSgpID09ICdub2RlcycpCi0gICAgICAgICAgICAgICAgICAkY29u dGFpbmVyLmZpbmQoJy5wcmVmZXJlbmNlc19jb250ZW50JykuYWRkQ2xhc3MoJ3N0cmlwZWQtZGl2 cycpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICRjb250YWluZXIu ZmluZCgnLnByZWZlcmVuY2VzX2NvbnRlbnQnKS5yZW1vdmVDbGFzcygnc3RyaXBlZC1kaXZzJyk7 Ci0KICAgICAgICAgICAgICAgICAkY29udGFpbmVyLmZpbmQoJy5wcmVmZXJlbmNlc19jb250ZW50 Jyk7CiAKICAgICAgICAgICAgICAgICByZW5kZXJQcmVmZXJlbmNlUGFuZWwoZC5wcmVmZXJlbmNl cyk7CkBAIC00NzcsNyArNDcxLDcgQEAgZGVmaW5lKCdwZ2FkbWluLnByZWZlcmVuY2VzJywgWwog CiAgICAgfSwKICAgICBzaG93OiBmdW5jdGlvbigpIHsKLSAgICAgIEFsZXJ0aWZ5LnByZWZlcmVu Y2VzRGxnKHRydWUpLnJlc2l6ZVRvKCc2MCUnLCAnNjAlJyk7CisgICAgICBBbGVydGlmeS5wcmVm ZXJlbmNlc0RsZyh0cnVlKS5yZXNpemVUbyhwZ0FkbWluLkJyb3dzZXIuc3RkVy5sZyxwZ0FkbWlu LkJyb3dzZXIuc3RkSC5sZyk7CiAgICAgfSwKICAgfTsKIApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRt aW4vcHJlZmVyZW5jZXMvc3RhdGljL3Njc3MvX3ByZWZlcmVuY2VzLnNjc3MgYi93ZWIvcGdhZG1p bi9wcmVmZXJlbmNlcy9zdGF0aWMvc2Nzcy9fcHJlZmVyZW5jZXMuc2NzcwppbmRleCA3YzhkNjc0 YS4uMTRiNTJkMzIgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3ByZWZlcmVuY2VzL3N0YXRpYy9z Y3NzL19wcmVmZXJlbmNlcy5zY3NzCisrKyBiL3dlYi9wZ2FkbWluL3ByZWZlcmVuY2VzL3N0YXRp Yy9zY3NzL19wcmVmZXJlbmNlcy5zY3NzCkBAIC0zLDIyICszLDEzIEBACiAgIHBhZGRpbmctdG9w OiAycHg7CiAgIGhlaWdodDogMTAwJTsKICAgb3ZlcmZsb3c6IGF1dG87Ci0gIGJvcmRlci1yaWdo dDogMnB4IHNvbGlkICRjb2xvci1ncmF5LWxpZ2h0OwotICBiYWNrZ3JvdW5kLWltYWdlOiAkY29s b3ItZ3JheS1saWdodGVyOwotfQotCi0ucHJlZmVyZW5jZXNfY29udGVudCB7Ci0gICYuc3RyaXBl ZC1kaXZzID4gewotICAgIGRpdi5wZ2FkbWluLWNvbnRyb2wtZ3JvdXA6bnRoLW9mLXR5cGUob2Rk KSB7Ci0gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JheS1saWdodDsKLSAgICAgIHBhZGRpbmct dG9wOiA2cHg7Ci0gICAgfQotICAgIGRpdi5wZ2FkbWluLWNvbnRyb2wtZ3JvdXA6bnRoLW9mLXR5 cGUoZXZlbikgewotICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJnLXRoZW1lOwotICAgIH0KLSAg fQorICBib3JkZXItcmlnaHQ6ICRwYW5lbC1ib3JkZXI7CiB9CiAKIC5idG4tY2hlY2tib3ggewog ICBwYWRkaW5nOiAkYnRuLWNoZWNrYm94LXBhZGRpbmc7CisKKyAgJiBpbnB1dFt0eXBlPSJjaGVj a2JveCJdeworICAgIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50OworICB9CiB9CmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi9zdGF0aWMvanMvYWxlcnRpZnkucGdhZG1pbi5kZWZhdWx0cy5qcyBi L3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9hbGVydGlmeS5wZ2FkbWluLmRlZmF1bHRzLmpzCmluZGV4 IDJkMDkzZGYzLi44MzA0Nzk4NSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vc3RhdGljL2pzL2Fs ZXJ0aWZ5LnBnYWRtaW4uZGVmYXVsdHMuanMKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL2pzL2Fs ZXJ0aWZ5LnBnYWRtaW4uZGVmYXVsdHMuanMKQEAgLTE5NywxMCArMTk3LDEwIEBAIGRlZmluZShb CiAgICAgICAgIHRoaXMucGdSZXNpemVUaW1lb3V0ID0gbnVsbDsKIAogICAgICAgICAvKiogQ2Fs Y3VsYXRpb25zIGJhc2VkIG9uIGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS9kb2NzLzQuMS9sYXlv dXQvZ3JpZC8jZ3JpZC1vcHRpb25zICoqLwotICAgICAgICBpZiAodyA8IDU3NikgeworICAgICAg ICBpZiAodyA8IDQ4MCkgewogICAgICAgICAgIHcgPSAneHMnOwogICAgICAgICB9Ci0gICAgICAg IGlmICh3ID49IDU3NikgeworICAgICAgICBpZiAodyA+PSA0ODApIHsKICAgICAgICAgICB3ID0g J3NtJzsKICAgICAgICAgfQogICAgICAgICBpZiAodyA+PSA3NjgpIHsKZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL3N0YXRpYy9qcy9iYWNrZm9ybS5wZ2FkbWluLmpzIGIvd2ViL3BnYWRtaW4vc3Rh dGljL2pzL2JhY2tmb3JtLnBnYWRtaW4uanMKaW5kZXggMDI0YTdlZWQuLjM1N2JlOWU0IDEwMDY0 NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvanMvYmFja2Zvcm0ucGdhZG1pbi5qcworKysgYi93 ZWIvcGdhZG1pbi9zdGF0aWMvanMvYmFja2Zvcm0ucGdhZG1pbi5qcwpAQCAtMjI4OCw3ICsyMjg4 LDcgQEAgZGVmaW5lKFsKICAgICAgICc8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCI+JywKICAgICAg ICc8aW5wdXQgdHlwZT0iPCU9dHlwZSU+IiBjbGFzcz0iZm9ybS1jb250cm9sIDwlPWV4dHJhQ2xh c3Nlcy5qb2luKFwnIFwnKSU+IiBuYW1lPSI8JT1uYW1lJT4iIG1pbj0iPCU9bWluJT4iIG1heD0i PCU9bWF4JT4ibWF4bGVuZ3RoPSI8JT1tYXhsZW5ndGglPiIgdmFsdWU9IjwlLXZhbHVlJT4iIHBs YWNlaG9sZGVyPSI8JS1wbGFjZWhvbGRlciU+IiA8JT1kaXNhYmxlZCA/ICJkaXNhYmxlZCIgOiAi IiU+IDwlPXJlcXVpcmVkID8gInJlcXVpcmVkIiA6ICIiJT4gLz4nLAogICAgICAgJzxkaXYgY2xh c3M9ImlucHV0LWdyb3VwLWFwcGVuZCI+JywKLSAgICAgICc8YnV0dG9uIGNsYXNzPSJidG4gYnRu LW91dGxpbmUtc2Vjb25kYXJ5IGZhIGZhLWVsbGlwc2lzLWggc2VsZWN0X2l0ZW0iIDwlPWRpc2Fi bGVkID8gImRpc2FibGVkIiA6ICIiJT4gPjwvYnV0dG9uPicsCisgICAgICAnPGJ1dHRvbiBjbGFz cz0iYnRuIGJ0bi1zZWNvbmRhcnkgZmEgZmEtZWxsaXBzaXMtaCBzZWxlY3RfaXRlbSIgPCU9ZGlz YWJsZWQgPyAiZGlzYWJsZWQiIDogIiIlPiA+PC9idXR0b24+JywKICAgICAgICc8L2Rpdj4nLAog ICAgICAgJzwvZGl2PicsCiAgICAgICAnPCUgaWYgKGhlbHBNZXNzYWdlICYmIGhlbHBNZXNzYWdl Lmxlbmd0aCkgeyAlPicsCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9zdGF0aWMvanMvc2xpY2tn cmlkL2VkaXRvcnMuanMgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvc2xpY2tncmlkL2VkaXRvcnMu anMKaW5kZXggMmQ3MzJjNTYuLjE4ZTg0OTRjIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0 aWMvanMvc2xpY2tncmlkL2VkaXRvcnMuanMKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL2pzL3Ns aWNrZ3JpZC9lZGl0b3JzLmpzCkBAIC0zNiw3ICszNiwxMyBAQAogICBmdW5jdGlvbiBnZXRCdXR0 b25zKGVkaXRhYmxlKSB7CiAgICAgdmFyICRidXR0b25zID0gJCgnPGRpdiBjbGFzcz1cJ3BnX2J1 dHRvbnNcJyAvPicpLAogICAgICAgbGFiZWwgPSBlZGl0YWJsZSA/ICdDYW5jZWwnIDogJ09LJywK LSAgICAgIGJ1dHRvbl90eXBlID0gZWRpdGFibGUgPyAnYnRuLWRhbmdlcicgOiAnYnRuLXByaW1h cnknOworICAgICAgYnV0dG9uX3R5cGUgPSBlZGl0YWJsZSA/ICdidG4tc2Vjb25kYXJ5JyA6ICdi dG4tcHJpbWFyeScsCisgICAgICBidXR0b25faWNvbiA9IGVkaXRhYmxlID8gJ2ZhLXRpbWVzJyA6 ICdmYS1jaGVjayc7CisKKyAgICAkKCc8YnV0dG9uIGNsYXNzPVwnYnRuICcgKyBidXR0b25fdHlw ZSArICcgbG9uZ190ZXh0X2VkaXRvciBwZy1hbGVydGlmeS1idXR0b25cJyBkYXRhLWxhYmVsPSIn K2xhYmVsKyciPicgKworICAgICc8c3BhbiBjbGFzcz0iZmEgJysgYnV0dG9uX2ljb24gKycgcGct YWxlcnRpZnktYnV0dG9uIj48L3NwYW4+Jm5ic3A7JysgbGFiZWwgKworICAgICc8L2J1dHRvbj4n KQorICAgIC5hcHBlbmRUbygkYnV0dG9ucyk7CiAKICAgICBpZiAoZWRpdGFibGUpIHsKICAgICAg ICQoJzxidXR0b24gY2xhc3M9XCdidG4gYnRuLXByaW1hcnkgbG9uZ190ZXh0X2VkaXRvclwnIGRh dGEtbGFiZWw9IlNhdmUiPicrCkBAIC00NCwxMSArNTAsNiBAQAogICAgICAgICAnPC9idXR0b24+ JykKICAgICAgICAgLmFwcGVuZFRvKCRidXR0b25zKTsKICAgICB9Ci0KLSAgICAkKCc8YnV0dG9u IGNsYXNzPVwnYnRuICcgKyBidXR0b25fdHlwZSArICcgbG9uZ190ZXh0X2VkaXRvciBwZy1hbGVy dGlmeS1idXR0b25cJyBkYXRhLWxhYmVsPSInK2xhYmVsKyciPicgKwotICAgICAgJzxzcGFuIGNs YXNzPSJmYSBmYS1zYXZlIHBnLWFsZXJ0aWZ5LWJ1dHRvbiI+PC9zcGFuPiZuYnNwOycrIGxhYmVs ICsKLSAgICAgICc8L2J1dHRvbj4nKQotICAgICAgLmFwcGVuZFRvKCRidXR0b25zKTsKICAgICBy ZXR1cm4gJGJ1dHRvbnM7CiAgIH0KIApAQCAtMTQwLDggKzE0MSw4IEBACiAgICAgICAkaW5wdXQg PSBnZXRUZXh0QXJlYSgpLmFwcGVuZFRvKCR3cmFwcGVyKTsKICAgICAgICRidXR0b25zID0gZ2V0 QnV0dG9ucyh0cnVlKS5hcHBlbmRUbygkd3JhcHBlcik7CiAKLSAgICAgICRidXR0b25zLmZpbmQo J2J1dHRvbjpmaXJzdCcpLm9uKCdjbGljaycsIHRoaXMuc2F2ZSk7Ci0gICAgICAkYnV0dG9ucy5m aW5kKCdidXR0b246bGFzdCcpLm9uKCdjbGljaycsIHRoaXMuY2FuY2VsKTsKKyAgICAgICRidXR0 b25zLmZpbmQoJ2J1dHRvbjpmaXJzdCcpLm9uKCdjbGljaycsIHRoaXMuY2FuY2VsKTsKKyAgICAg ICRidXR0b25zLmZpbmQoJ2J1dHRvbjpsYXN0Jykub24oJ2NsaWNrJywgdGhpcy5zYXZlKTsKICAg ICAgICRpbnB1dC5vbigna2V5ZG93bicsIHRoaXMuaGFuZGxlS2V5RG93bik7CiAKICAgICAgIHNj b3BlLnBvc2l0aW9uKGFyZ3MucG9zaXRpb24pOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vc3Rh dGljL2pzL3NxbGVkaXRvci9maWx0ZXJfZGlhbG9nLmpzIGIvd2ViL3BnYWRtaW4vc3RhdGljL2pz L3NxbGVkaXRvci9maWx0ZXJfZGlhbG9nLmpzCmluZGV4IDZkYzk1NzFiLi5mMjVlZjMxMiAxMDA2 NDQKLS0tIGEvd2ViL3BnYWRtaW4vc3RhdGljL2pzL3NxbGVkaXRvci9maWx0ZXJfZGlhbG9nLmpz CisrKyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9zcWxlZGl0b3IvZmlsdGVyX2RpYWxvZy5qcwpA QCAtMTEyLDE5ICsxMTIsMTcgQEAgbGV0IEZpbHRlckRpYWxvZyA9IHsKICAgICAgICAgICAgIHRo aXMuX19pbnRlcm5hbC5idXR0b25zWzJdLmVsZW1lbnQuZGlzYWJsZWQgPSB0cnVlOwogCiAgICAg ICAgICAgICAvLyBTdGF0dXMgYmFyCi0gICAgICAgICAgICB0aGlzLnN0YXR1c0JhciA9ICQoJzxk aXYgY2xhc3M9XCdwZy1wcm9wLXN0YXR1cy1iYXIgcGctZWwteHMtMTIgZC1ub25lXCc+JyArCi0g ICAgICAgICAgICAgICcgIDxkaXYgY2xhc3M9XCdtZWRpYSBlcnJvci1pbi1mb290ZXIgYmctZGFu Z2VyLWxpZ2h0IGJvcmRlci1kYW5nZXIgdGV4dC1kYW5nZXIgdGV4dC0xNFwnPicgKwotICAgICAg ICAgICAgICAnICAgIDxkaXYgY2xhc3M9XCdtZWRpYS1ib2R5IG1lZGlhLW1pZGRsZVwnPicgKwot ICAgICAgICAgICAgICAnICAgICAgPGRpdiBjbGFzcz1cJ2FsZXJ0LWljb24gZXJyb3ItaWNvblwn PicgKwotICAgICAgICAgICAgICAnICAgICAgICA8aSBjbGFzcz1cJ2ZhIGZhLWV4Y2xhbWF0aW9u LXRyaWFuZ2xlXCcgYXJpYS1oaWRkZW49XCd0cnVlXCc+PC9pPicgKwotICAgICAgICAgICAgICAn ICAgICAgPC9kaXY+JyArCi0gICAgICAgICAgICAgICcgICAgICA8ZGl2IGNsYXNzPVwnYWxlcnQt dGV4dFwnPicgKwotICAgICAgICAgICAgICAnICAgICAgPC9kaXY+JyArCi0gICAgICAgICAgICAg ICcgICAgPC9kaXY+JyArCi0gICAgICAgICAgICAgICcgIDwvZGl2PicgKwotICAgICAgICAgICAg ICAnPC9kaXY+JywgewotICAgICAgICAgICAgICAgIHRleHQ6ICcnLAotICAgICAgICAgICAgICB9 KS5hcHBlbmRUbygkY29udGFpbmVyKTsKKyAgICAgICAgICAgIHRoaXMuc3RhdHVzQmFyID0gJCgK KyAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9XCdwZy1wcm9wLXN0YXR1cy1iYXIgcGctZWwteHMt MTIgZC1ub25lXCc+JyArCisgICAgICAgICAgICAgICcgIDxkaXYgY2xhc3M9ImVycm9yLWluLWZv b3RlciI+ICcgKworICAgICAgICAgICAgICAnICAgIDxkaXYgY2xhc3M9ImQtZmxleCBweC0yIHB5 LTEiPiAnICsKKyAgICAgICAgICAgICAgJyAgICAgIDxkaXYgY2xhc3M9InByLTIiPiAnICsKKyAg ICAgICAgICAgICAgJyAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xl IHRleHQtZGFuZ2VyIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiAnICsKKyAgICAgICAgICAgICAg JyAgICAgIDwvZGl2PiAnICsKKyAgICAgICAgICAgICAgJyAgICAgIDxkaXYgY2xhc3M9ImFsZXJ0 LXRleHQiPjwvZGl2PiAnICsKKyAgICAgICAgICAgICAgJyAgICA8L2Rpdj4gJyArCisgICAgICAg ICAgICAgICcgIDwvZGl2PiAnICsKKyAgICAgICAgICAgICAgJzwvZGl2PicpLmFwcGVuZFRvKCRj b250YWluZXIpOwogCiAgICAgICAgICAgICAvLyBUbyBzaG93IHByb2dyZXNzIG9uIGZpbHRlciBT YXZpbmcvVXBkYXRpbmcgb24gQUpBWAogICAgICAgICAgICAgdGhpcy5zaG93RmlsdGVyUHJvZ3Jl c3MgPSAkKApAQCAtMjU5LDcgKzI1Nyw3IEBAIGxldCBGaWx0ZXJEaWFsb2cgPSB7CiAgICAgICAg IH07CiAgICAgICB9KTsKIAotICAgICAgQWxlcnRpZnkuZmlsdGVyRGlhbG9nKHRpdGxlKS5yZXNp emVUbygnNjUlJywgJzYwJScpOworICAgICAgQWxlcnRpZnkuZmlsdGVyRGlhbG9nKHRpdGxlKS5y ZXNpemVUbyhwZ0FkbWluLkJyb3dzZXIuc3RkVy5tZCxwZ0FkbWluLkJyb3dzZXIuc3RkSC5tZCk7 CiAgICAgfSkKICAgICAuZmFpbChmdW5jdGlvbihlKSB7CiAgICAgICBoYW5kbGVRdWVyeVRvb2xB amF4RXJyb3IocGdBZG1pbiwgaGFuZGxlciwgZSwgJ19zaG93X2ZpbHRlcicsIFtdLCB0cnVlKTsK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9zcWxlZGl0b3IvcXVlcnlfdG9vbF9u b3RpZmljYXRpb25zLmpzIGIvd2ViL3BnYWRtaW4vc3RhdGljL2pzL3NxbGVkaXRvci9xdWVyeV90 b29sX25vdGlmaWNhdGlvbnMuanMKaW5kZXggNTAwZDIwNTkuLjQ3MmJmMTc4IDEwMDY0NAotLS0g YS93ZWIvcGdhZG1pbi9zdGF0aWMvanMvc3FsZWRpdG9yL3F1ZXJ5X3Rvb2xfbm90aWZpY2F0aW9u cy5qcworKysgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvc3FsZWRpdG9yL3F1ZXJ5X3Rvb2xfbm90 aWZpY2F0aW9ucy5qcwpAQCAtODgsMTQgKzg4LDE1IEBAIGxldCBxdWVyeVRvb2xOb3RpZmljYXRp b25zID0gewogCiAgICAgLy8gU2V0IHVwIHRoZSBncmlkCiAgICAgbGV0IG5vdGlmaWNhdGlvbnNf Z3JpZCA9IG5ldyBCYWNrZ3JpZC5HcmlkKHsKKyAgICAgIGVtcHR5VGV4dDogJ05vIGRhdGEgZm91 bmQnLAogICAgICAgY29sdW1uczogZ3JpZENvbHMsCiAgICAgICBjb2xsZWN0aW9uOiBxdWVyeVRv b2xOb3RpZmljYXRpb25zLmNvbGxlY3Rpb24sCi0gICAgICBjbGFzc05hbWU6ICdiYWNrZ3JpZCB0 YWJsZS1ib3JkZXJlZCBwcmVzZW50YXRpb24gdGFibGUgYmFja2dyaWQtc3RyaXBlZCcsCisgICAg ICBjbGFzc05hbWU6ICdiYWNrZ3JpZCBwcmVzZW50YXRpb24gdGFibGUgdGFibGUtYm9yZGVyZWQg dGFibGUtaG92ZXIgdGFibGUtbm9vdXRlci1ib3JkZXIgdGFibGUtYm90dG9tLWJvcmRlcicsCiAg ICAgfSk7CiAKICAgICAvLyBSZW5kZXIgdGhlIGdyaWQKICAgICBpZiAobm90aWZpY2F0aW9uc19n cmlkKQotICAgICAgbm90aWZpY2F0aW9uc19wYW5lbC4kY29udGFpbmVyLmFwcGVuZChub3RpZmlj YXRpb25zX2dyaWQucmVuZGVyKCkuZWwpOworICAgICAgbm90aWZpY2F0aW9uc19wYW5lbC4kY29u dGFpbmVyLmZpbmQoIi5zcWwtZWRpdG9yLW5vdGlmaWNhdGlvbnMiKS5hcHBlbmQobm90aWZpY2F0 aW9uc19ncmlkLnJlbmRlcigpLmVsKTsKICAgfSwKIAogICAvLyBUaGlzIGZ1bmN0aW9uIGlzIHVz ZWQgdG8gcmFpc2Ugbm90aWZ5IG1lc3NhZ2VzIGFuZCB1cGRhdGUgdGhlCmRpZmYgLS1naXQgYS93 ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fYWNpX3RyZWUub3ZlcnJpZGVzLnNjc3MgYi93ZWIvcGdh ZG1pbi9zdGF0aWMvc2Nzcy9fYWNpX3RyZWUub3ZlcnJpZGVzLnNjc3MKaW5kZXggYWQ3NzUxNzMu LjcwYTBjOTE2IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fYWNpX3RyZWUu b3ZlcnJpZGVzLnNjc3MKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX2FjaV90cmVlLm92 ZXJyaWRlcy5zY3NzCkBAIC0zLDcgKzMsNyBAQAogfQogLmFjaVRyZWUgLmFjaVRyZWVUZXh0IHsK IAlmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnk7Ci0JZm9udC1zaXplOiAxMnB4Owor CWZvbnQtc2l6ZTogMC44MTVyZW07CiB9CiAuYWNpVHJlZS5hY2lUcmVlRm9jdXMgLmFjaVRyZWVG b2N1cyA+IC5hY2lUcmVlTGluZSAgewogICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFy eS1saWdodDsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL19hbGVydC5zY3Nz IGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX2FsZXJ0LnNjc3MKaW5kZXggNTA3Yjk0NzcuLjRm NTkwMTFkIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fYWxlcnQuc2Nzcwor KysgYi93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fYWxlcnQuc2NzcwpAQCAtMTA0LDI1ICsxMDQs MTcgQEAKICAgfQogCiAgIC5hbGVydC10ZXh0IHsKLSAgICBmbGV4LWdyb3c6IDE7Ci0gICAgYm9y ZGVyOiAxcHggc29saWQgJGNvbG9yLWRhbmdlci1saWdodDsKLSAgICBwYWRkaW5nOiA2cHggMTJw eCA2cHggMTBweDsKLSAgICBib3JkZXItbGVmdDogbm9uZTsKICAgICAtbW96LXVzZXItc2VsZWN0 OiB0ZXh0OwogICAgIC1raHRtbC11c2VyLXNlbGVjdDogdGV4dDsKICAgICAtd2Via2l0LXVzZXIt c2VsZWN0OiB0ZXh0OwogICAgIC1tcy11c2VyLXNlbGVjdDogdGV4dDsKICAgICB1c2VyLXNlbGVj dDogdGV4dDsKLSAgICB3aWR0aDogMTAwJTsKICAgfQogCiAgIC5lcnJvci1pbi1mb290ZXIgewot ICAgIGJvcmRlci1yYWRpdXM6IDVweDsKLSAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVu dDsKLQotICAgIC5hbGVydC10ZXh0IHsKLSAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWRhbmdl ci1saWdodDsKLSAgICB9CisgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7CisgICAg Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLWRhbmdlci1saWdodDsKKyAgICBiYWNrZ3JvdW5kOiAk Y29sb3ItZGFuZ2VyLWxpZ2h0ZXI7CiAgIH0KIAogICAuc3VjY2Vzcy1pbi1mb290ZXIgewpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX2FsZXJ0aWZ5Lm92ZXJyaWRlcy5zY3Nz IGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX2FsZXJ0aWZ5Lm92ZXJyaWRlcy5zY3NzCmluZGV4 IGM3MzgyZDRiLi4yMzVjOWZkYiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3Mv X2FsZXJ0aWZ5Lm92ZXJyaWRlcy5zY3NzCisrKyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL19h bGVydGlmeS5vdmVycmlkZXMuc2NzcwpAQCAtMzIsNyArMzIsNyBAQAogICAgICAgICBib3JkZXIt dG9wLWxlZnQtcmFkaXVzOiAkcGFuZWwtYm9yZGVyLXJhZGl1czsKICAgICAgICAgYm9yZGVyLXRv cC1yaWdodC1yYWRpdXM6ICRwYW5lbC1ib3JkZXItcmFkaXVzOwogICAgICAgICAmIC5hanMtY29u dGVudCB7Ci0gICAgICAgICAgdG9wOiAwOworICAgICAgICAgIHRvcDogMCAhaW1wb3J0YW50Owog ICAgICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7CiAgICAgICAgIH0KICAgICAgIH0KQEAg LTQ4LDcgKzQ4LDggQEAKICAgICB9CiAgIH0KICAgLmFqcy1ib2R5IC5hanMtY29udGVudCB7Ci0g ICAgdG9wOiAkdGl0bGUtaGVpZ2h0OworICAgIHRvcDogJHRpdGxlLWhlaWdodCAhaW1wb3J0YW50 OworICAgIGJvdHRvbTogJGZvb3Rlci1oZWlnaHQtY2FsYyAhaW1wb3J0YW50OwogICB9CiAKICAg LyogUmVtb3ZlcyBwYWRkaW5nIGZyb20gYWxlcnRpZnkgZm9vdGVyICovCkBAIC0xMTQsNiArMTE1 LDEwIEBACiAgIH0KIH0KIAorLmFsZXJ0aWZ5LmFqcy1mcmFtZWxlc3MgLmFqcy1ib2R5IC5hanMt Y29udGVudCB7CisgIGJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7Cit9CisKIC5hbGVydGlmeS5hanMt bWF4aW1pemVkIC5hanMtY29tbWFuZHMsCiAuYWxlcnRpZnkuYWpzLXJlc2l6YWJsZSAuYWpzLWNv bW1hbmRzIHsKICAgbWFyZ2luOiAycHggMHB4IDAgMDsKQEAgLTE4MCwxMSArMTg1LDkgQEAKIH0K IAogLnBnLWFsZXJ0aWZ5LWljb24tYnV0dG9uIHsKLSAgLy9yZWZlcmVkIC0gJGlucHV0LWJ0bi1w YWRkaW5nLXksICRpbnB1dC1idG4tcGFkZGluZy14Ci0gIHBhZGRpbmc6IDAuMjc1cmVtICRpbnB1 dC1idG4tcGFkZGluZy14OwogICAmOmJlZm9yZSB7CiAgICAgZm9udC1zaXplOiAxLjNlbSAhaW1w b3J0YW50OwotICAgIGxpbmUtaGVpZ2h0OiAxLjM7CisgICAgbGluZS1oZWlnaHQ6IDEuMjsKICAg ICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWljb247CiAgIH0KIH0KQEAgLTE5NSw3ICsxOTgs NyBAQAogfQogCiAuYWpzLW1lc3NhZ2UuYWpzLWVycm9yLmFqcy12aXNpYmxlIHsKLSAgYmFja2dy b3VuZDogJGNvbG9yLWRhbmdlci1saWdodDsKKyAgYmFja2dyb3VuZDogJGNvbG9yLWRhbmdlci1s aWdodGVyOwogICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yLWRhbmdlcjsKICAg QGV4dGVuZCAuYWpzLXRleHQtc21vb3RoaW5nOwogfQpAQCAtMjE1LDMgKzIxOCw3IEBACiAuYWpz LW1lc3NhZ2UgPiAubWVkaWEgPiAubWVkaWEtYm9keS5tZWRpYS1taWRkbGUgewogICBkaXNwbGF5 OiBmbGV4OwogfQorCisuYWxlcnRpZnkgLmFqcy1kaW1tZXIgeworICBiYWNrZ3JvdW5kLWNvbG9y OiAkbG9hZGluZy1iZzsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg YS93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fYmFja2Zvcm0ub3ZlcnJpZGVzLnNjc3MgYi93ZWIv cGdhZG1pbi9zdGF0aWMvc2Nzcy9fYmFja2Zvcm0ub3ZlcnJpZGVzLnNjc3MKaW5kZXggNmEwNGY2 MTQuLmFiYzJhZjRlIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fYmFja2Zv cm0ub3ZlcnJpZGVzLnNjc3MKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX2JhY2tmb3Jt Lm92ZXJyaWRlcy5zY3NzCkBAIC0xLDYgKzEsNiBAQAogLmhhcy1lcnJvciB7CiAgIC5wZ2FkbWlu LWNvbnRyb2xzIC5mb3JtLWNvbnRyb2wgewotICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWRhbmdl cjsKKyAgICBib3JkZXItY29sb3I6ICRjb2xvci1kYW5nZXItbGlnaHQ7CiAgIH0KIAogICAuZm9y bS1jb250cm9sIHsKQEAgLTExLDE1ICsxMSwxNSBAQAogICAgIGNvbG9yOiAkY29sb3ItZGFuZ2Vy OwogICB9CiAKLSAgLmNvbnRyb2wtbGFiZWw6YmVmb3JlIHsKKyAgLmNvbnRyb2wtbGFiZWw6OmJl Zm9yZSB7CiAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTZweC8xIEZvbnRBd2Vzb21l OwogICAgIGNvbnRlbnQ6ICJcZjA3MSI7CiAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0Owog ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICBjb2xvcjogJGNvbG9yLWRhbmdlcjsKLSAgICBy aWdodDogNnB4OwotICAgIHBhZGRpbmctdG9wOiA2cHg7CisgICAgcmlnaHQ6IDAuNXJlbTsKICAg ICB6LWluZGV4OiAxOworICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0OwogICB9CiB9CiAKQEAgLTM2 LDEwICszNiwxNCBAQAogICB9CiB9CiAuYmFja2Zvcm0tdGFiIC50YWItcGFuZSB7Ci0JcGFkZGlu ZzogN3B4OworCXBhZGRpbmc6IDAuNXJlbTsKIAkmLlNRTCB7CiAgICAgaGVpZ2h0OiAxMDAlOwot ICAgIHBhZGRpbmc6IDBweCA3cHggMHB4IDBweDsKKyAgICBwYWRkaW5nOiAwcHg7CisKKyAgICAm IC5wZ2FkbWluLWNvbnRyb2xzLlNRTCB7CisgICAgICBwYWRkaW5nOiAwcHg7CisgICAgfQogCX0K IH0KIApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX2JhY2tncmlkLm92ZXJy aWRlcy5zY3NzIGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX2JhY2tncmlkLm92ZXJyaWRlcy5z Y3NzCmluZGV4IDUxOWE1NmJlLi5hZmUxYzY1ZSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vc3Rh dGljL3Njc3MvX2JhY2tncmlkLm92ZXJyaWRlcy5zY3NzCisrKyBiL3dlYi9wZ2FkbWluL3N0YXRp Yy9zY3NzL19iYWNrZ3JpZC5vdmVycmlkZXMuc2NzcwpAQCAtMSw2ICsxLDcgQEAKIC5iYWNrZ3Jp ZCB0aCwgLmJhY2tncmlkIHRkIHsKICAgZm9udC13ZWlnaHQ6IG5vcm1hbCFpbXBvcnRhbnQ7CiAg IHRleHQtYWxpZ246IGxlZnQ7CisgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTsKIH0K IAogLmJhY2tncmlkLmJhY2tncmlkLXN0cmlwZWQgdGJvZHkgewpAQCAtMjIzLDYgKzIyNCwxMCBA QCBzcGFuLmZvcm0tY29udHJvbDpkaXNhYmxlZCB7CiAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNv bG9yLWJnOwogICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7CiAgICAgYm9yZGVy LXJhZGl1czogJHBhbmVsLWJvcmRlci1yYWRpdXM7CisKKyAgICAmIC50YWItcGFuZSB7CisgICAg ICBwYWRkaW5nOiAwLjVyZW07CisgICAgfQogfQogLnN1Ym5vZGUtZm9vdGVyIHsKICAgICBoZWln aHQ6IDM4cHg7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fYm9vdHN0cmFw Lm92ZXJyaWRlcy5zY3NzIGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX2Jvb3RzdHJhcC5vdmVy cmlkZXMuc2NzcwppbmRleCBlN2I0NGU3Mi4uOGFiMTVhZDUgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2Fk bWluL3N0YXRpYy9zY3NzL19ib290c3RyYXAub3ZlcnJpZGVzLnNjc3MKKysrIGIvd2ViL3BnYWRt aW4vc3RhdGljL3Njc3MvX2Jvb3RzdHJhcC5vdmVycmlkZXMuc2NzcwpAQCAtMTgsNiArMTgsMTAg QEAgaWZyYW1lIHsKIAlib3JkZXItd2lkdGg6IDA7CiB9CiAKK2xlZ2VuZCB7CisJbWFyZ2luLWJv dHRvbTogMHJlbTsKK30KKwogLyogUGFkZGluZyBmb3IgdGhlIHRyZWV2aWV3ICovCiAuYnJvd3Nl ci1icm93c2VyLXBhbmUgewogCXBhZGRpbmctbGVmdDogMDsKQEAgLTEzNCwxMyArMTM4LDE5IEBA IGlmcmFtZSB7CiAJYm9yZGVyLWxlZnQ6IDVweCBzb2xpZDsKIAlib3JkZXItdG9wOiA1cHggc29s aWQgdHJhbnNwYXJlbnQ7CiB9CisvKiAyNXB4IGlzIGZvciBzaG93aW5nIGVycm9yIGljb24gKi8K IC5jb250cm9sLWxhYmVsIHsKIAlkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAJbWFyZ2luOiAwcHg7 Ci0JcGFkZGluZzogNXB4IDI1cHggNXB4IDVweDsKKwlwYWRkaW5nOiA1cHggMjVweCA1cHggNXB4 ICFpbXBvcnRhbnQ7CiAJdmVydGljYWwtYWxpZ246IG1pZGRsZTsKIH0KIAorLmZvcm0tY2hlY2sg eworCXBhZGRpbmctbGVmdDogMHJlbTsKKwlwYWRkaW5nLXJpZ2h0OiAwLjVyZW07Cit9CisKIC5m b3JtLWNvbnRyb2xbZGlzYWJsZWRdLCAuZm9ybS1jb250cm9sW3JlYWRvbmx5XSwgZmllbGRzZXRb ZGlzYWJsZWRdIC5mb3JtLWNvbnRyb2wgewogCWNvbG9yOiAkdGV4dC1tdXRlZDsKIH0KQEAgLTI1 OSw2ICsyNjksNyBAQCB0ZC5zd2l0Y2gtY2VsbCA+IGRpdi5ib290c3RyYXAtc3dpdGNoIHsKIAkJ CWZvbnQtd2VpZ2h0OiBib2xkOwogCQkJJi5hY3RpdmUgewogCQkJCWJvcmRlci1ib3R0b206ICRh Y3RpdmUtYm9yZGVyICFpbXBvcnRhbnQ7CisJCQkJY29sb3I6ICRjb2xvci1wcmltYXJ5OwogCQkJ fQogCQl9CiAJfQpAQCAtMzExLDMgKzMyMiwxNyBAQCB0ZC5zd2l0Y2gtY2VsbCA+IGRpdi5ib290 c3RyYXAtc3dpdGNoIHsKIC5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRoZWFkIHRo IHsKICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJnOwogfQorCisuaW5wdXQtZ3JvdXAgewor ICAgICYgLmlucHV0LWdyb3VwLXRleHQgeworICAgICAgYmFja2dyb3VuZDogJGlucHV0LWJnOwor CX0KK30KKworLyogYm9vdHN0cmFwLXN3aXRjaCAqLworLmJvb3RzdHJhcC1zd2l0Y2ggLmJvb3Rz dHJhcC1zd2l0Y2gtaGFuZGxlLW9uLmJvb3RzdHJhcC1zd2l0Y2gtcHJpbWFyeSwgLmJvb3RzdHJh cC1zd2l0Y2ggLmJvb3RzdHJhcC1zd2l0Y2gtaGFuZGxlLW9mZi5ib290c3RyYXAtc3dpdGNoLXBy aW1hcnkgeworCWJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5OworfQorLmJvb3RzdHJhcC1zd2l0 Y2ggLmJvb3RzdHJhcC1zd2l0Y2gtaGFuZGxlLW9uLmJvb3RzdHJhcC1zd2l0Y2gtc3VjY2Vzcywg LmJvb3RzdHJhcC1zd2l0Y2ggLmJvb3RzdHJhcC1zd2l0Y2gtaGFuZGxlLW9mZi5ib290c3RyYXAt c3dpdGNoLXN1Y2Nlc3MgeworCWJhY2tncm91bmQ6ICRjb2xvci1zdWNjZXNzOworfQpkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX3BnYWRtaW4uc3R5bGUuc2NzcyBiL3dlYi9w Z2FkbWluL3N0YXRpYy9zY3NzL19wZ2FkbWluLnN0eWxlLnNjc3MKaW5kZXggOTliMTJlMDkuLjBl OGZmYzdhIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fcGdhZG1pbi5zdHls ZS5zY3NzCisrKyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL19wZ2FkbWluLnN0eWxlLnNjc3MK QEAgLTI0LDkgKzI0LDYgQEAKIC51c2VyLWxhbmd1YWdlIGRpdnsKICAgZmxvYXQ6bGVmdDsKIH0K LS51c2VyLWxhbmd1YWdlIHNlbGVjdHsKLSAgaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7Ci19CiAK IC5SZXNpemVyIHsKICAgYmFja2dyb3VuZDogJGNvbG9yLWdyYXktbGlnaHRlcjsKQEAgLTE0Miw3 ICsxMzksNyBAQAogfQogCiAuYWxlcnRpZnkgLmFqcy1ib2R5IHsKLSAgbWluLWhlaWdodDogJGZv b3Rlci1oZWlnaHQtY2FsYyoyOworICBtaW4taGVpZ2h0OiAkZm9vdGVyLWhlaWdodC1jYWxjKjEu NTsKIH0KIAogCkBAIC0yNDgsNiArMjQ1LDEwIEBACiAgICAgbWFyZ2luLWJvdHRvbTogMzNweDsK IH0KIAorLnBnLXByb3AtYnRuLWdyb3VwLWFib3ZlIHsKKyAgYm9yZGVyLWJvdHRvbTogJHBhbmVs LWJvcmRlcjsKK30KKwogLmhhcy1wZy1wcm9wLWJ0bi1ncm91cCB7CiAgICAgdG9wOiA0NXB4Owog ICAgIGhlaWdodDogY2FsYygxMDAlIC0gNDVweCk7CkBAIC0zMjMsOSArMzI0LDEwIEBACiB9CiAK IC5wZ2FkbWluLWNvbnRyb2xzIHsKLSAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7Ci0gICAgcGFkZGlu Zy1sZWZ0OiAzcHg7CisgICAgcGFkZGluZy1yaWdodDogMHB4OworICAgIHBhZGRpbmctbGVmdDog MHB4OwogfQorCiAucGdhZG1pbi1jb250cm9scy5TUUwgewogICBwYWRkaW5nLXJpZ2h0OiAzcHg7 CiAgIHBhZGRpbmctbGVmdDogMXB4OwpAQCAtMzcyLDYgKzM3NCwxMSBAQAogICBib3JkZXItcmFk aXVzOiAwcmVtOwogICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVz OwogICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1czsKKworICAm LmNvbGxhcHNlZCB7CisgICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50OworICAgIGJv cmRlci1yYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXM7CisgIH0KIH0KIAogLm9ial9wcm9wZXJ0 aWVzIC5iYWRnZSAuY2FyZXQgewpAQCAtNTAyLDE1ICs1MDksMTcgQEAgZmllbGRzZXQuaW5saW5l LWZpZWxkc2V0ID4gZGl2IHsKICAgcGFkZGluZzogMTVweDsKIH0KIAotLnBnYWRtaW4tY29udHJv bC1ncm91cC5zcWwgewotICBtYXJnaW46IDBweDsKLSAgcGFkZGluZzogMHB4OwotICBoZWlnaHQ6 IDEwMCU7CisucGdhZG1pbi1jb250cm9sLWdyb3VweworICAmLnNxbCwgJi5zcWx0YWIgeworICAg IG1hcmdpbjogMHB4OworICAgIHBhZGRpbmc6IDBweDsKKyAgICBoZWlnaHQ6IDEwMCU7CisgIH0K IH0KIAogLnBnYWRtaW4tY29udHJvbHMgaW5wdXRbdHlwZT0iY2hlY2tib3giXXsKICAgbWFyZ2lu LWxlZnQ6IDAgIWltcG9ydGFudDsKLSAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7CisgIG1h cmdpbi10b3A6IDEwcHggIWltcG9ydGFudDsKIH0KIAogLnBnYWRtaW4tY29udHJvbHMuc3FsX2Zp ZWxkX2xheW91dCB7CkBAIC01MjAsMTQgKzUyOSwxNCBAQCBmaWVsZHNldC5pbmxpbmUtZmllbGRz ZXQgPiBkaXYgewogICB6LWluZGV4OiAxOwogfQogCi0ucGdhZG1pbi1jb250cm9scy5mb2N1c2Vk IHsKLSAgYm9yZGVyLWNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodDsKKy5wZ2FkbWluLWNvbnRy b2xzLmZvY3VzZWQsCisucGdhZG1pbi1jb250cm9sczpmb2N1cyB7CisgIGJvcmRlci1jb2xvcjog JGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhaW1wb3J0YW50OwogICBvdXRsaW5lOiAwOwotICAt d2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAg OHB4IHJnYmEoJGNvbG9yLXByaW1hcnksIC42KTsKLSAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHgg MXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggcmdiYSgkY29sb3ItcHJpbWFyeSwgLjYpOwor ICAtd2Via2l0LWJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OworICBib3gtc2hh ZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdzsKIH0KIAotCiAuZGFzaGJvYXJkLXRhYi1jb250 YWluZXIsCiAucGctcGFuZWwtc3RhdGlzdGljcy1jb250YWluZXIsCiAucGctcGFuZWwtZGVwZW5k cy1jb250YWluZXIsCkBAIC03NDIsMTQgKzc1MSw3IEBAIGZvcm1bbmFtZT0iY2hhbmdlX3Bhc3N3 b3JkX2Zvcm0iXSAuaGVscC1ibG9jayB7CiAgIH0KIH0KIAotLmNsb3NlLWVycm9yLWJhciB7Ci0g IGJhY2tncm91bmQ6ICRjb2xvci1kYW5nZXI7Ci0gIHBhZGRpbmc6IDVweDsKLSAgYm9yZGVyLXJh ZGl1czogMHB4IDRweCA0cHggMHB4OwotfQotCi0uY2xvc2UtZXJyb3ItYmFyIGEgewotICBjb2xv cjogJGNvbG9yLWRhbmdlci1mZyAhaW1wb3J0YW50OworLmNsb3NlLWVycm9yIHsKICAgY3Vyc29y OiBwb2ludGVyOwogfQogCkBAIC04MzEsNiArODMzLDE1IEBAIHRhYmxlLnRhYmxlLWJvdHRvbS1i b3JkZXIgewogICB9CiB9CiAKK3RhYmxlLnRhYmxlLWVtcHR5LXJvd3N7CisgIHRoZWFkIHRoOmxh c3Qtb2YtdHlwZSx0cjpsYXN0LW9mLXR5cGV7CisgICAgJiB0ZCwgJiB0aCB7CisgICAgICBib3Jk ZXItYm90dG9tOiAkcGFuZWwtYm9yZGVyOworICAgIH0KKyAgfQorfQorCisKIC5jb250ZXh0LW1l bnUtbGlzdCAuY29udGV4dC1tZW51LXN1Ym1lbnU6YWZ0ZXIgewogICBmb250LWZhbWlseTogJGZv bnQtZmFtaWx5LWljb247CiAgIGNvbnRlbnQ6ICJcZjA1NCIgIWltcG9ydGFudDsKQEAgLTg1Miwx NCArODYzLDIxIEBAIHRhYmxlLnRhYmxlLWJvdHRvbS1ib3JkZXIgewogICAgIHBhZGRpbmctYm90 dG9tOiAxLjByZW07CiAgIH0KICAgJiAucGFuZWwtYm9keSB7Ci0gICAgcGFkZGluZy1ib3R0dG9t OiAwLjhyZW07CisgICAgcGFkZGluZy1ib3R0b206IDAuOHJlbTsKICAgfQogICAmIC5idG4tbG9n aW4gewogICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWN1cml0eS1idG4tY29sb3I7CiAgIH0KLSAg JiAudXNlci1sYW5ndWFnZSBzZWxlY3QgewotICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFy ZW50OwotICAgIGNvbG9yOiAkc2VjdXJpdHktdGV4dC1jb2xvcjsKKyAgJiAudXNlci1sYW5ndWFn ZSB7CisgICAgJiBzZWxlY3R7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFy eTsKKyAgICAgIGNvbG9yOiAkc2VjdXJpdHktdGV4dC1jb2xvcjsKKworICAgICAgJiBvcHRpb257 CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5OworICAgICAgICBjb2xv cjogJHNlY3VyaXR5LXRleHQtY29sb3I7CisgICAgICB9CisgICAgfQogICB9CiAgICYgLnBnLWlj b24gewogICAgIHdpZHRoOiAyOHB4OwpAQCAtOTE3LDcgKzkzNSw2IEBAIHRhYmxlLnRhYmxlLWJv dHRvbS1ib3JkZXIgewogICB9CiB9CiAKLQogLmJhY2tmb3JtLXRhYnsKICAgJiA+IC5uYXYubmF2 LXRhYnMgewogICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKQEAgLTkyOCw3ICs5NDUsNyBAQCB0YWJs ZS50YWJsZS1ib3R0b20tYm9yZGVyIHsKICAgJiA+IC50YWItY29udGVudCB7CiAgICAgcG9zaXRp b246IGFic29sdXRlOwogICAgIHRvcDogJHRpdGxlLWhlaWdodDsKLSAgICBib3R0b206IDUwcHg7 CisgICAgYm90dG9tOiAkZm9vdGVyLWhlaWdodC1jYWxjOwogICB9CiB9CiAuYWpzLWNvbnRlbnQg ewpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX3NlbGVjdDIub3ZlcnJpZGVz LnNjc3MgYi93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fc2VsZWN0Mi5vdmVycmlkZXMuc2Nzcwpp bmRleCBkN2JiNWIzZS4uYWZlY2FmN2IgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3N0YXRpYy9z Y3NzL19zZWxlY3QyLm92ZXJyaWRlcy5zY3NzCisrKyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3Nz L19zZWxlY3QyLm92ZXJyaWRlcy5zY3NzCkBAIC0zMCwxOCArMzAsMTQgQEAKICAgaGVpZ2h0OiAx MDAlOwogfQogCi0KLS5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5l ci0tZm9jdXMKLS5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgewotICBib3JkZXI6IDFweCBz b2xpZCAkY29sb3ItZ3JheS1saWdodCAhaW1wb3J0YW50OwotICBvdXRsaW5lOiAwIG5vbmU7Ci19 Ci0KIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZm9jdXMg ewotICBib3JkZXItY29sb3I6ICRjb2xvci1wcmltYXJ5LWxpZ2h0OwotICBvdXRsaW5lOiAwOwot ICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAw IDAgOHB4IHJnYmEoJGNvbG9yLXByaW1hcnksIC42KTsKLSAgYm94LXNoYWRvdzogaW5zZXQgMCAx cHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggcmdiYSgkY29sb3ItcHJpbWFyeSwgLjYp OworICAmIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlLAorICAmIC5zZWxlY3QyLXNlbGVjdGlv bi0tbXVsdGlwbGUgeworICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xv ciAhaW1wb3J0YW50OworICAgIG91dGxpbmU6IDA7CisgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAk aW5wdXQtZm9jdXMtYm94LXNoYWRvdzsKKyAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94 LXNoYWRvdzsKKyAgfQogfQogCiAKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3Nz L193ZWJjYWJpbi5wZ2FkbWluLnNjc3MgYi93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9fd2ViY2Fi aW4ucGdhZG1pbi5zY3NzCmluZGV4IDU1NTBhMjA3Li43OWY2OGVjYyAxMDA2NDQKLS0tIGEvd2Vi L3BnYWRtaW4vc3RhdGljL3Njc3MvX3dlYmNhYmluLnBnYWRtaW4uc2NzcworKysgYi93ZWIvcGdh ZG1pbi9zdGF0aWMvc2Nzcy9fd2ViY2FiaW4ucGdhZG1pbi5zY3NzCkBAIC0yOSw4ICsyOSw4IEBA CiB9CiAKIC53Y0ZyYW1lQnV0dG9uIHsKLSAgd2lkdGg6IDI1cHg7Ci0gIGhlaWdodDogMjBweDsK KyAgd2lkdGg6IDI0cHg7CisgIGhlaWdodDogMjJweDsKICAgZGlzcGxheTogZmxleDsKICAgYm9y ZGVyLXJhZGl1czogJGJ0bi1ib3JkZXItcmFkaXVzOwogICBtYXJnaW46IGF1dG87CkBAIC04NSw2 ICs4NSw2NiBAQAogLndjRmxvYXRpbmcgewogICBib3gtc2hhZG93OiAkYm94LXNoYWRvdzsKICAg ei1pbmRleDogMTA1MCAhaW1wb3J0YW50OworCisgICYud2NGcmFtZSwgJiAud2NQYW5lbEJhY2tn cm91bmQgeworICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRp dXM7CisgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXM7 CisgIH0KKworICAmIC5wZy1wYW5lbC1jb250ZW50IHsKKyAgICBib3JkZXItYm90dG9tOiAkY2Fy ZC1ib3JkZXItcmFkaXVzOworICB9CisKKyAgJiAud2NGcmFtZUNvcm5lck5FLAorICAmIC53Y0Zy YW1lQ29ybmVyTlcsCisgICYgLndjRnJhbWVDb3JuZXJTRSwKKyAgJiAud2NGcmFtZUNvcm5lclNX IHsKKyAgICBoZWlnaHQ6ICRjYXJkLWJvcmRlci1yYWRpdXMqMjsKKyAgICB3aWR0aDogJGNhcmQt Ym9yZGVyLXJhZGl1cyoyOworICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OworICB9CisKKyAg JiAud2NGcmFtZUNvcm5lck5FIHsKKyAgICBib3JkZXI6ICRwYW5lbC1ib3JkZXI7CisgICAgYm9y ZGVyLWxlZnQ6IG5vbmUgIWltcG9ydGFudDsKKyAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBv cnRhbnQ7CisgICAgYm9yZGVyLXJhZGl1czogbm9uZTsKKyAgICBib3JkZXItdG9wLXJpZ2h0LXJh ZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1czsKKyAgfQorCisgICYgLndjRnJhbWVDb3JuZXJOVyB7 CisgICAgYm9yZGVyOiAkcGFuZWwtYm9yZGVyOworICAgIGJvcmRlci1yaWdodDogbm9uZSAhaW1w b3J0YW50OworICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDsKKyAgICBib3JkZXIt cmFkaXVzOiBub25lOworICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRjYXJkLWJvcmRlci1y YWRpdXM7CisgIH0KKworICAmIC53Y0ZyYW1lQ29ybmVyU0UgeworICAgIGJvcmRlcjogJHBhbmVs LWJvcmRlcjsKKyAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7CisgICAgYm9yZGVyLWxl ZnQ6IG5vbmUgIWltcG9ydGFudDsKKyAgICBib3JkZXItcmFkaXVzOiBub25lOworICAgIGJvcmRl ci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzOworICB9CisKKyAgJiAu d2NGcmFtZUNvcm5lclNXIHsKKyAgICBib3JkZXI6ICRwYW5lbC1ib3JkZXI7CisgICAgYm9yZGVy LXJpZ2h0OiBub25lICFpbXBvcnRhbnQ7CisgICAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50 OworICAgIGJvcmRlci1yYWRpdXM6IG5vbmU7CisgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1 czogJGNhcmQtYm9yZGVyLXJhZGl1czsKKyAgfQorCisgIC53Y0ZyYW1lRWRnZUggeworICAgIGxl ZnQ6ICRjYXJkLWJvcmRlci1yYWRpdXMgIWltcG9ydGFudDsKKyAgICByaWdodDogJGNhcmQtYm9y ZGVyLXJhZGl1cyAhaW1wb3J0YW50OworICB9CisKKyAgLndjRnJhbWVFZGdlViB7CisgICAgdG9w OiAkY2FyZC1ib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7CisgICAgYm90dG9tOiAkY2FyZC1ib3Jk ZXItcmFkaXVzICFpbXBvcnRhbnQ7CisgIH0KIH0KIAogLndjRmxvYXRpbmcgLndjUGFuZWxUYWJB Y3RpdmUgewpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvcmVzb3VyY2VzL19k ZWZhdWx0LnN0eWxlLnNjc3MgYi93ZWIvcGdhZG1pbi9zdGF0aWMvc2Nzcy9yZXNvdXJjZXMvX2Rl ZmF1bHQuc3R5bGUuc2NzcwppbmRleCAwMDk2ZDNlOS4uZjkwZmU0N2EgMTAwNjQ0Ci0tLSBhL3dl Yi9wZ2FkbWluL3N0YXRpYy9zY3NzL3Jlc291cmNlcy9fZGVmYXVsdC5zdHlsZS5zY3NzCisrKyBi L3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL3Jlc291cmNlcy9fZGVmYXVsdC5zdHlsZS5zY3NzCkBA IC0yMiw2ICsyMiwxMCBAQAogICAmLWxpZ2h0IHsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29s b3ItZGFuZ2VyLWxpZ2h0OwogICB9CisKKyAgJi1saWdodGVyIHsKKyAgICBiYWNrZ3JvdW5kLWNv bG9yOiAkY29sb3ItZGFuZ2VyLWxpZ2h0ZXI7CisgIH0KIH0KIAogLmJnLXN1Y2Nlc3MgewpAQCAt ODEsNiArODUsMTAgQEAKICAgJi1saWdodCB7CiAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZGFu Z2VyLWxpZ2h0OwogICB9CisKKyAgJi1saWdodGVyIHsKKyAgICBib3JkZXItY29sb3I6ICRjb2xv ci1kYW5nZXItbGlnaHRlcjsKKyAgfQogfQogCiAuYm9yZGVyLXN1Y2Nlc3MgewpkaWZmIC0tZ2l0 IGEvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvcmVzb3VyY2VzL19kZWZhdWx0LnZhcmlhYmxlcy5z Y3NzIGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvcmVzb3VyY2VzL19kZWZhdWx0LnZhcmlhYmxl cy5zY3NzCmluZGV4IGE5N2JlZGNhLi43OWVmZjA5NyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4v c3RhdGljL3Njc3MvcmVzb3VyY2VzL19kZWZhdWx0LnZhcmlhYmxlcy5zY3NzCisrKyBiL3dlYi9w Z2FkbWluL3N0YXRpYy9zY3NzL3Jlc291cmNlcy9fZGVmYXVsdC52YXJpYWJsZXMuc2NzcwpAQCAt MTksNyArMTksOCBAQCAkY29sb3Itc2Vjb25kYXJ5OiAkd2hpdGUgIWRlZmF1bHQ7CiAKICRjb2xv ci1kYW5nZXI6ICNlNTM5MzUgIWRlZmF1bHQ7CiAkY29sb3ItZGFuZ2VyLWZnOiAkd2hpdGUgIWRl ZmF1bHQ7Ci0kY29sb3ItZGFuZ2VyLWxpZ2h0OiAjRkJFMUUxOworJGNvbG9yLWRhbmdlci1saWdo dDogI0YzOTk5OTsKKyRjb2xvci1kYW5nZXItbGlnaHRlcjogI0ZBRUNFQzsKIAogJGNvbG9yLXN1 Y2Nlc3M6ICM0M2EwNDcgIWRlZmF1bHQ7CiAkY29sb3Itc3VjY2Vzcy1mZzogJGJsYWNrICFkZWZh dWx0OwpAQCAtNTEsNyArNTIsNyBAQCAkZm9udC1mYW1pbHktZWRpdG9yOiAnU291cmNlIENvZGUg UHJvJyAhZGVmYXVsdDsKICRmb250LWZhbWlseS1pY29uOiAnRm9udEF3ZXNvbWUnICFkZWZhdWx0 OwogCiAkYm9yZGVyLXdpZHRoOiAxcHg7Ci0kYm9yZGVyLWNvbG9yOiByZ2JhKCRjb2xvci1ncmF5 LCAwLjUpOworJGJvcmRlci1jb2xvcjogI2RkZTBlNjsKICRib3JkZXItY29sb3ItZGFyazogJGNv bG9yLWdyYXk7CiAkYm94LXNoYWRvdzogMCAwLjVyZW0gM3JlbSAkY29sb3ItZ3JheS1kYXJrOwog CkBAIC01OSw3ICs2MCw4IEBAICRib3gtc2hhZG93OiAwIDAuNXJlbSAzcmVtICRjb2xvci1ncmF5 LWRhcms7CiAkZ3JheS02MDA6ICRjb2xvci1ncmF5LWRhcms7CiAkZ3JheS05MDA6ICRjb2xvci1m Zy10aGVtZTsKICRib2R5LWNvbG9yOiAkY29sb3ItZmctdGhlbWU7Ci0kZm9udC1zaXplLWJhc2U6 IDAuODE1cmVtOworJGZvbnQtc2l6ZS1iYXNlOiAwLjg3NXJlbTsKKyRsaW5lLWhlaWdodC1iYXNl OiAxLjU7IC8vIG5vIGNoYW5nZQogJGdyaWQtZ3V0dGVyLXdpZHRoOiAxNXB4OwogJGJvcmRlci1y YWRpdXM6IDAuMjVyZW07IC8vbm8gY2hhbmdlCiAKQEAgLTEyMiw5ICsxMjQsMTkgQEAgJGlucHV0 LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzOyAvL25vIGNoYW5nZQogJGlucHV0LWRpc2Fi bGVkLWJnOiAkY29sb3ItZ3JheS1saWdodGVyOwogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICRi b3JkZXItd2lkdGg7IC8vbm8gY2hhbmdlCiAkaW5wdXQtYm9yZGVyLXdpZHRoOiAkaW5wdXQtYnRu LWJvcmRlci13aWR0aDsgLy9ubyBjaGFuZ2UKLSRpbnB1dC1idG4tcGFkZGluZy15OiAuMzc1cmVt OyAvL25vIGNoYW5nZQorJGlucHV0LWJ0bi1wYWRkaW5nLXk6IC4yNXJlbTsKICRpbnB1dC1idG4t cGFkZGluZy14OiAuNzVyZW07IC8vbm8gY2hhbmdlCiAKKyRjb21wb25lbnQtYWN0aXZlLWJnOiAk Y29sb3ItcHJpbWFyeTsgLy9ubyBjaGFuZ2UKKyRpbnB1dC1idG4tZm9jdXMtd2lkdGg6IC4ycmVt ICFkZWZhdWx0OyAvL25vIGNoYW5nZQorJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogcmdiYSgkY29t cG9uZW50LWFjdGl2ZS1iZywgLjI1KSAhZGVmYXVsdDsgLy9ubyBjaGFuZ2UKKyRpbnB1dC1idG4t Zm9jdXMtYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRu LWZvY3VzLWNvbG9yICFkZWZhdWx0OyAvL25vIGNoYW5nZQorJGlucHV0LWZvY3VzLWJnOiAkaW5w dXQtYmcgIWRlZmF1bHQ7IC8vbm8gY2hhbmdlCiskaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiBs aWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpICFkZWZhdWx0OyAvL25vIGNoYW5nZQor JGlucHV0LWZvY3VzLWNvbG9yOiAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7IC8vbm8gY2hhbmdlCisk aW5wdXQtZm9jdXMtd2lkdGg6ICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vbm8g Y2hhbmdlCiskaW5wdXQtZm9jdXMtYm94LXNoYWRvdzogJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hh ZG93ICFkZWZhdWx0OyAvL25vIGNoYW5nZQorCiAkYnRuLWJvcmRlci1yYWRpdXM6ICRib3JkZXIt cmFkaXVzOyAvL25vIGNoYW5nZQogCiAvKioqKioqKioqKioqKioqLwpAQCAtMTM2LDEyICsxNDgs MTIgQEAgJHBhbmVsLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzOwogJHBhbmVsLWJvcmRl cjogJHBhbmVsLWJvcmRlci13aWR0aCBzb2xpZCAkcGFuZWwtYm9yZGVyLWNvbG9yICFpbXBvcnRh bnQ7CiAkcGFuZWwtYm9yZGVyLWRhcms6ICRwYW5lbC1ib3JkZXItd2lkdGggc29saWQgJGJvcmRl ci1jb2xvci1kYXJrICFpbXBvcnRhbnQ7CiAkdGFicy1wYWRkaW5nOiA1cHggMTBweCAycHg7Ci0k dGl0bGUtaGVpZ2h0OiAzN3B4ICogJGZvbnQtc2l6ZS1iYXNlLzFyZW07CiskdGl0bGUtaGVpZ2h0 OiAoJGxpbmUtaGVpZ2h0LWJhc2UqMTZweCkgKyA1cHggKyAycHggKyAkYm9yZGVyLXdpZHRoOwog JGZvb3Rlci1wYWRkaW5nOiAwLjVyZW07Ci0kZm9vdGVyLW1pbi1oZWlnaHQ6IDIuMThyZW07Cisk Zm9vdGVyLW1pbi1oZWlnaHQ6IDJyZW07CiAkZm9vdGVyLWhlaWdodC1jYWxjOiAkZm9vdGVyLW1p bi1oZWlnaHQrJGZvb3Rlci1wYWRkaW5nKjI7Ci0kbmF2YmFyLWZvbnQtc2l6ZTogMC44NzVyZW07 Ci0kbmF2YmFyLXVzZXItZm9udC1zaXplOiAwLjgxNXJlbTsKKyRuYXZiYXItZm9udC1zaXplOiAw LjkyNXJlbTsKKyRuYXZiYXItdXNlci1mb250LXNpemU6IDAuODc1cmVtOwogCiAkbmF2YmFyLWRy b3Bkb3duLXRvcDogMTAwJTsKICRkcm9wZG93bi1zdWJtZW51LXRvcDogLSRkcm9wZG93bi1zcGFj ZXI7CkBAIC0xNjAsNyArMTcyLDcgQEAgJHNxbC1ndXR0ZXJzLWJnOiAkY29sb3ItZ3JheS1saWdo dDsKICRzcWwtaGlzdG9yeS1kZXRhaWwtYmc6ICRjb2xvci1ncmF5LWxpZ2h0ZXI7CiAkc3FsLWhp c3Rvcnktc3VjY2Vzcy1iZzogJGNvbG9yLXByaW1hcnktbGlnaHQ7CiAkc3FsLWhpc3Rvcnktc3Vj Y2Vzcy1mZzogJGNvbG9yLXByaW1hcnk7Ci0kc3FsLWhpc3RvcnktZXJyb3ItYmc6ICRjb2xvci1k YW5nZXItbGlnaHQ7Ciskc3FsLWhpc3RvcnktZXJyb3ItYmc6ICRjb2xvci1kYW5nZXItbGlnaHRl cjsKICRzcWwtaGlzdG9yeS1lcnJvci1mZzogJGNvbG9yLWRhbmdlcjsKIAogJG5lZ2F0aXZlLWJn OiAkY29sb3ItZ3JheS1saWdodDsKQEAgLTE3NSw3ICsxODcsNyBAQCAkYnRuLXNlY29uZGFyeS1o b3Zlci1iZzogJGNvbG9yLWdyYXktbGlnaHQ7CiAkY2FyZC1oZWFkZXItcGFkZGluZyA6IDAuMjVy ZW0gMC41cmVtOwogJG5vLWJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50OwogCi0kYnRuLWNo ZWNrYm94LXBhZGRpbmc6IDAuM3JlbSAwLjhyZW07CiskYnRuLWNoZWNrYm94LXBhZGRpbmc6ICRp bnB1dC1idG4tcGFkZGluZy15ICRpbnB1dC1idG4tcGFkZGluZy14OwogCiAkc2VjdXJpdHktdGV4 dC1jb2xvcjogJHdoaXRlOwogJHNlY3VyaXR5LWJ0bi1jb2xvcjogIzAzOGJiYTsKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL3N0YXRpYy92ZW5kb3IvYmFja2Zvcm0vYmFja2Zvcm0uanMgYi93ZWIv cGdhZG1pbi9zdGF0aWMvdmVuZG9yL2JhY2tmb3JtL2JhY2tmb3JtLmpzCmluZGV4IGIwYjcyNTEx Li5iMGQyZmQ0YSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vc3RhdGljL3ZlbmRvci9iYWNrZm9y bS9iYWNrZm9ybS5qcworKysgYi93ZWIvcGdhZG1pbi9zdGF0aWMvdmVuZG9yL2JhY2tmb3JtL2Jh Y2tmb3JtLmpzCkBAIC00MDQsNyArNDA0LDYgQEAKIAogICB2YXIgU3BhY2VyQ29udHJvbCA9IEJh Y2tmb3JtLlNwYWNlckNvbnRyb2wgPSBDb250cm9sLmV4dGVuZCh7CiAgICAgdGVtcGxhdGU6IF8u dGVtcGxhdGUoWwotICAgICAgJzxsYWJlbCBjbGFzcz0iPCU9QmFja2Zvcm0uY29udHJvbExhYmVs Q2xhc3NOYW1lJT4iPiZuYnNwOzwvbGFiZWw+JywKICAgICAgICc8ZGl2IGNsYXNzPSI8JT1CYWNr Zm9ybS5jb250cm9sc0NsYXNzTmFtZSU+Ij48L2Rpdj4nCiAgICAgXS5qb2luKCJcbiIpKQogICB9 KTsKQEAgLTU1OCw3ICs1NTcsNyBAQAogICAgIH0sCiAgICAgdGVtcGxhdGU6IF8udGVtcGxhdGUo WwogICAgICAgJzxsYWJlbCBjbGFzcz0iPCU9QmFja2Zvcm0uY29udHJvbExhYmVsQ2xhc3NOYW1l JT4iPjwlPWxhYmVsJT48L2xhYmVsPicsCi0gICAgICAnPGRpdiBjbGFzcz0iPCU9QmFja2Zvcm0u Y29udHJvbENvbnRhaW5lckNsYXNzTmFtZSU+IGZvcm0tY2hlY2staW5saW5lIj4nLAorICAgICAg JzxkaXYgY2xhc3M9IjwlPUJhY2tmb3JtLmNvbnRyb2xDb250YWluZXJDbGFzc05hbWUlPiBkLWZs ZXgiPicsCiAgICAgICAnICA8JSBmb3IgKHZhciBpPTA7IGkgPCBvcHRpb25zLmxlbmd0aDsgaSsr KSB7ICU+JywKICAgICAgICcgICAgPCUgdmFyIG9wdGlvbiA9IG9wdGlvbnNbaV07ICU+JywKICAg ICAgICcgICAgPCUgdmFyIGlkID0gXy51bmlxdWVJZCgiYmZfIik7ICU+JywKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL3N0YXRpYy92ZW5kb3IvYmFja2dyaWQvYmFja2dyaWQuY3NzIGIvd2ViL3Bn YWRtaW4vc3RhdGljL3ZlbmRvci9iYWNrZ3JpZC9iYWNrZ3JpZC5jc3MKaW5kZXggN2ViNTk2OTcu LmM0Mjk4ZTIyIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvdmVuZG9yL2JhY2tncmlk L2JhY2tncmlkLmNzcworKysgYi93ZWIvcGdhZG1pbi9zdGF0aWMvdmVuZG9yL2JhY2tncmlkL2Jh Y2tncmlkLmNzcwpAQCAtODAsMTAgKzgwLDYgQEAKICAgdGV4dC1hbGlnbjogY2VudGVyOwogfQog Ci0uYmFja2dyaWQgdGQuZWRpdG9yIHsKLSAgcGFkZGluZzogMDsKLX0KLQogLmJhY2tncmlkIHRk LmVkaXRvciwKIC5iYWNrZ3JpZCB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB0ZC5lZGl0b3Igewog ICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDgyLCAxNjgsIDIzNiwgMC4xKTsKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL3RlbXBsYXRlcy9zZWN1cml0eS9maWVsZHMuaHRtbCBiL3dlYi9wZ2FkbWlu L3RlbXBsYXRlcy9zZWN1cml0eS9maWVsZHMuaHRtbAppbmRleCBhMDc5NzFhYS4uZWZiMTI2YjIg MTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3RlbXBsYXRlcy9zZWN1cml0eS9maWVsZHMuaHRtbAor KysgYi93ZWIvcGdhZG1pbi90ZW1wbGF0ZXMvc2VjdXJpdHkvZmllbGRzLmh0bWwKQEAgLTQsNyAr NCw3IEBACiAgICAgICAgICAgIHR5cGU9InslIGlmIHR5cGUgJX17eyB0eXBlIH19eyUgZWxzZSAl fXt7IGZpZWxkLnR5cGUgfX17JSBlbmRpZiAlfSIgYXV0b2ZvY3VzPgogICAgIHslIGlmIGZpZWxk LmVycm9ycyAlfQogICAgIHslIGZvciBlcnJvciBpbiBmaWVsZC5lcnJvcnMgJX0KLSAgICA8c3Bh biBjbGFzcz0iZm9ybS10ZXh0IHRleHQtZGFuZ2VyIj57eyBlcnJvciB9fTwvc3Bhbj4KKyAgICA8 c3BhbiBjbGFzcz0iZm9ybS10ZXh0Ij57eyBlcnJvciB9fTwvc3Bhbj4KICAgICB7JSBlbmRmb3Ig JX0KICAgICB7JSBlbmRpZiAlfQogPC9kaXY+CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90ZW1w bGF0ZXMvc2VjdXJpdHkvbG9naW5fdXNlci5odG1sIGIvd2ViL3BnYWRtaW4vdGVtcGxhdGVzL3Nl Y3VyaXR5L2xvZ2luX3VzZXIuaHRtbAppbmRleCBiNTNmOTQ2MS4uNzUxNWMyYzIgMTAwNjQ0Ci0t LSBhL3dlYi9wZ2FkbWluL3RlbXBsYXRlcy9zZWN1cml0eS9sb2dpbl91c2VyLmh0bWwKKysrIGIv d2ViL3BnYWRtaW4vdGVtcGxhdGVzL3NlY3VyaXR5L2xvZ2luX3VzZXIuaHRtbApAQCAtMTQsOCAr MTQsOCBAQAogICAgIHt7IHJlbmRlcl9maWVsZF93aXRoX2Vycm9ycyhsb2dpbl91c2VyX2Zvcm0u cGFzc3dvcmQsICJwYXNzd29yZCIpIH19CiAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1wcmlt YXJ5IGJ0bi1ibG9jayBidG4tbG9naW4iIHR5cGU9InN1Ym1pdCIgdmFsdWU9Int7IF8oJ0xvZ2lu JykgfX0iPnt7IF8oJ0xvZ2luJykgfX08L2J1dHRvbj4KICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdy b3VwIHJvdyBtYi0zIGMgdXNlci1sYW5ndWFnZSI+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImNvbC04 Ij48c3BhbiBjbGFzcz0iaGVscC1ibG9jayI+e3sgXygnPGEgaHJlZj0iJSh1cmwpcyIgY2xhc3M9 InRleHQtd2hpdGUiPkZvcmdvdHRlbiB5b3VyIHBhc3N3b3JkPC9hPj8nLCB1cmw9dXJsX2Zvcign YnJvd3Nlci5mb3Jnb3RfcGFzc3dvcmQnKSkgfX08L3NwYW4+PC9kaXY+Ci0gICAgICAgIDxkaXYg Y2xhc3M9ImNvbC00Ij4KKyAgICAgICAgPGRpdiBjbGFzcz0iY29sLTciPjxzcGFuIGNsYXNzPSJo ZWxwLWJsb2NrIj57eyBfKCc8YSBocmVmPSIlKHVybClzIiBjbGFzcz0idGV4dC13aGl0ZSI+Rm9y Z290dGVuIHlvdXIgcGFzc3dvcmQ8L2E+PycsIHVybD11cmxfZm9yKCdicm93c2VyLmZvcmdvdF9w YXNzd29yZCcpKSB9fTwvc3Bhbj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iY29sLTUiPgog ICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz0iZm9ybS1jb250cm9sIiBuYW1lPSJsYW5ndWFnZSIg dmFsdWU9Int7dXNlcl9sYW5ndWFnZX19Ij4KICAgICAgICAgICAgICAgICB7JSBmb3Iga2V5LCBs YW5nIGluIGNvbmZpZy5MQU5HVUFHRVMuaXRlbXMoKSAlfQogICAgICAgICAgICAgICAgIDxvcHRp b24gdmFsdWU9Int7a2V5fX0iIHslIGlmIHVzZXJfbGFuZ3VhZ2UgPT0ga2V5ICV9c2VsZWN0ZWR7 JSBlbmRpZiAlfT57e2xhbmd9fTwvb3B0aW9uPgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9v bHMvYmFja3VwL3N0YXRpYy9qcy9iYWNrdXAuanMgYi93ZWIvcGdhZG1pbi90b29scy9iYWNrdXAv c3RhdGljL2pzL2JhY2t1cC5qcwppbmRleCAzNjYyZjVhNS4uM2JiNWRhMGQgMTAwNjQ0Ci0tLSBh L3dlYi9wZ2FkbWluL3Rvb2xzL2JhY2t1cC9zdGF0aWMvanMvYmFja3VwLmpzCisrKyBiL3dlYi9w Z2FkbWluL3Rvb2xzL2JhY2t1cC9zdGF0aWMvanMvYmFja3VwLmpzCkBAIC01MCw3ICs1MCw3IEBA IGRlZmluZShbCiAgICAgICAnICA8c3BhbiBjbGFzcz0iPCU9QmFja2Zvcm0uaGVscE1lc3NhZ2VD bGFzc05hbWUlPiI+PCU9aGVscE1lc3NhZ2UlPjwvc3Bhbj4nLAogICAgICAgJzwlIH0gJT4nLAog ICAgIF0uam9pbignXG4nKSksCi0gICAgY2xhc3NOYW1lOiAncGdhZG1pbi1jb250cm9sLWdyb3Vw IGZvcm0tZ3JvdXAgcGctZWwtbWQtNiBwZy1lbC14cy0xMiByb3cnLAorICAgIGNsYXNzTmFtZTog J3BnYWRtaW4tY29udHJvbC1ncm91cCBmb3JtLWdyb3VwIHBnLWVsLW1kLTYgcGctZWwtMTIgcm93 JywKICAgfSk7CiAKICAgLy9CYWNrdXAgTW9kZWwgKFNlcnZlciBOb2RlKQpAQCAtNTgwLDcgKzU4 MCw3IEBAIGRlZmluZShbCiAgICAgICAgIGFsZXJ0aWZ5LAogICAgICAgICBCYWNrdXBNb2RlbAog ICAgICAgKTsKLSAgICAgIGRpYWxvZy5kcmF3KGFjdGlvbiwgaXRlbSwgeydnbG9iYWxzJzogdHJ1 ZX0pOworICAgICAgZGlhbG9nLmRyYXcoYWN0aW9uLCBpdGVtLCB7J2dsb2JhbHMnOiB0cnVlfSwg cGdCcm93c2VyLnN0ZFcubWQsIHBnQnJvd3Nlci5zdGRILm1kKTsKICAgICB9LAogICAgIHN0YXJ0 X2JhY2t1cF9zZXJ2ZXI6IGZ1bmN0aW9uKGFjdGlvbiwgaXRlbSkgewogICAgICAgbGV0IGRpYWxv ZyA9IG5ldyBnbG9iYWxCYWNrdXBEaWFsb2cuQmFja3VwRGlhbG9nKApAQCAtNTg5LDcgKzU4OSw3 IEBAIGRlZmluZShbCiAgICAgICAgIGFsZXJ0aWZ5LAogICAgICAgICBCYWNrdXBPYmplY3RNb2Rl bAogICAgICAgKTsKLSAgICAgIGRpYWxvZy5kcmF3KGFjdGlvbiwgaXRlbSwgeydzZXJ2ZXInOiB0 cnVlfSk7CisgICAgICBkaWFsb2cuZHJhdyhhY3Rpb24sIGl0ZW0sIHsnc2VydmVyJzogdHJ1ZX0s IHBnQnJvd3Nlci5zdGRXLm1kLCBwZ0Jyb3dzZXIuc3RkSC5tZCk7CiAgICAgfSwKICAgICAvLyBD YWxsYmFjayB0byBkcmF3IEJhY2t1cCBEaWFsb2cgZm9yIG9iamVjdHMKICAgICBiYWNrdXBfb2Jq ZWN0czogZnVuY3Rpb24oYWN0aW9uLCB0cmVlSXRlbSkgewpAQCAtNTk5LDcgKzU5OSw3IEBAIGRl ZmluZShbCiAgICAgICAgIGFsZXJ0aWZ5LAogICAgICAgICBCYWNrdXBPYmplY3RNb2RlbAogICAg ICAgKTsKLSAgICAgIGRpYWxvZy5kcmF3KGFjdGlvbiwgdHJlZUl0ZW0sIG51bGwpOworICAgICAg ZGlhbG9nLmRyYXcoYWN0aW9uLCB0cmVlSXRlbSwgbnVsbCwgcGdCcm93c2VyLnN0ZFcubWQsIHBn QnJvd3Nlci5zdGRILm1kKTsKICAgICB9LAogICB9OwogICByZXR1cm4gcGdCcm93c2VyLkJhY2t1 cDsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2JhY2t1cC9zdGF0aWMvanMvYmFja3Vw X2RpYWxvZy5qcyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2JhY2t1cC9zdGF0aWMvanMvYmFja3VwX2Rp YWxvZy5qcwppbmRleCA4NjEzZGRkNi4uYmQ2OGVjYjUgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWlu L3Rvb2xzL2JhY2t1cC9zdGF0aWMvanMvYmFja3VwX2RpYWxvZy5qcworKysgYi93ZWIvcGdhZG1p bi90b29scy9iYWNrdXAvc3RhdGljL2pzL2JhY2t1cF9kaWFsb2cuanMKQEAgLTI4LDcgKzI4LDcg QEAgZXhwb3J0IGNsYXNzIEJhY2t1cERpYWxvZyBleHRlbmRzIERpYWxvZyB7CiAgICAgfSk7CiAg IH0KIAotICBkcmF3KGFjdGlvbiwgYWNpVHJlZUl0ZW0sIHBhcmFtcykgeworICBkcmF3KGFjdGlv biwgYWNpVHJlZUl0ZW0sIHBhcmFtcywgd2lkdGg9MCwgaGVpZ2h0PTApIHsKICAgICBjb25zdCBz ZXJ2ZXJJbmZvcm1hdGlvbiA9IHRoaXMucmV0cmlldmVBbmNlc3Rvck9mVHlwZVNlcnZlcihhY2lU cmVlSXRlbSk7CiAKICAgICBpZiAoIXNlcnZlckluZm9ybWF0aW9uKSB7CkBAIC02Niw3ICs2Niw3 IEBAIGV4cG9ydCBjbGFzcyBCYWNrdXBEaWFsb2cgZXh0ZW5kcyBEaWFsb2cgewogICAgICAgICB0 eXBlT2ZEaWFsb2cKICAgICAgICk7CiAKLSAgICAgIGRpYWxvZyh0cnVlKS5yZXNpemVUbygnNjAl JywgJzUwJScpOworICAgICAgZGlhbG9nKHRydWUpLnJlc2l6ZVRvKHdpZHRoLCBoZWlnaHQpOwog ICAgIH0pLmNhdGNoKGZ1bmN0aW9uKCkgewogICAgICAgdGhhdC5hbGVydGlmeS5hbGVydCgKICAg ICAgICAgZ2V0dGV4dCgnVXRpbGl0eSBub3QgZm91bmQnKSwKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL3Rvb2xzL2RhdGFncmlkL3N0YXRpYy9qcy9kYXRhZ3JpZC5qcyBiL3dlYi9wZ2FkbWluL3Rv b2xzL2RhdGFncmlkL3N0YXRpYy9qcy9kYXRhZ3JpZC5qcwppbmRleCA4Yjg0MmM1Ni4uYzI3NDgy YWIgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3N0YXRpYy9qcy9kYXRh Z3JpZC5qcworKysgYi93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC9zdGF0aWMvanMvZGF0YWdy aWQuanMKQEAgLTM3OSw3ICszNzksNyBAQCBkZWZpbmUoJ3BnYWRtaW4uZGF0YWdyaWQnLCBbCiAg ICAgICAgICQuZ2V0KHVybF9mb3IoJ2RhdGFncmlkLmZpbHRlcicpLAogICAgICAgICAgIGZ1bmN0 aW9uKGRhdGEpIHsKICAgICAgICAgICAgIGFsZXJ0aWZ5LmZpbHRlckRpYWxvZygnRGF0YSBGaWx0 ZXInLCBkYXRhLCBiYXNlVXJsLCB2YWxpZGF0ZVVybCkKLSAgICAgICAgICAgICAgICAgICAgLnJl c2l6ZVRvKDMwMCwgMjAwKTsKKyAgICAgICAgICAgICAgICAgICAgLnJlc2l6ZVRvKHBnQnJvd3Nl ci5zdGRXLnNtLHBnQnJvd3Nlci5zdGRILnNtKTsKICAgICAgICAgICB9CiAgICAgICAgICk7CiAg ICAgICB9LApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvc3RhdGljL2pz L2RlYnVnZ2VyX3VpLmpzIGIvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvc3RhdGljL2pzL2Rl YnVnZ2VyX3VpLmpzCmluZGV4IGY4NjQxOGUzLi42MzcyODM1ZCAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vdG9vbHMvZGVidWdnZXIvc3RhdGljL2pzL2RlYnVnZ2VyX3VpLmpzCisrKyBiL3dlYi9w Z2FkbWluL3Rvb2xzL2RlYnVnZ2VyL3N0YXRpYy9qcy9kZWJ1Z2dlcl91aS5qcwpAQCAtOTUxLDcg Kzk1MSw3IEBAIGRlZmluZShbCiAKICAgICBBbGVydGlmeS5kZWJ1Z2dlcklucHV0QXJnc0RpYWxv ZygKICAgICAgIGdldHRleHQoJ0RlYnVnZ2VyJyksIGRlYnVnX2luZm8sIHJlc3RhcnRfZGVidWcs IGlzX2VkYl9wcm9jCi0gICAgKS5yZXNpemVUbygnNjAlJywgJzYwJScpOworICAgICkucmVzaXpl VG8ocGdCcm93c2VyLnN0ZFcubWQscGdCcm93c2VyLnN0ZEgubWQpOwogCiAgIH07CiAKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC9zdGF0aWMvanMvZ3JhbnRfd2l6 YXJkLmpzIGIvd2ViL3BnYWRtaW4vdG9vbHMvZ3JhbnRfd2l6YXJkL3N0YXRpYy9qcy9ncmFudF93 aXphcmQuanMKaW5kZXggZjg3NzQyZTYuLmVjZTM5NDVjIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi90b29scy9ncmFudF93aXphcmQvc3RhdGljL2pzL2dyYW50X3dpemFyZC5qcworKysgYi93ZWIv cGdhZG1pbi90b29scy9ncmFudF93aXphcmQvc3RhdGljL2pzL2dyYW50X3dpemFyZC5qcwpAQCAt MTAzMSw2ICsxMDMxLDcgQEAgZGVmaW5lKFsKIAogICAgICAgICAgICAgICAgICAgLy8gUmVuZGVy IFNxbFRhYiBjb250cm9sIHRvIGdlbmVyYXRlIGl0cyBodG1sIG1hcmt1cAogICAgICAgICAgICAg ICAgICAgdmFyIHNxbEN0cmxIdG1sID0gc3FsQ29udHJvbC5yZW5kZXIoKS4kZWw7CisgICAgICAg ICAgICAgICAgICBzcWxDdHJsSHRtbC5hZGRDbGFzcygnaC0xMDAnKTsKICAgICAgICAgICAgICAg ICAgIHRoaXMucmVuZGVyID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgIHJldHVy biB7CiAgICAgICAgICAgICAgICAgICAgICAgZWw6IHNxbEN0cmxIdG1sLApAQCAtMTE1MCw3ICsx MTUxLDcgQEAgZGVmaW5lKFsKICAgICAgIH0KIAogICAgICAgLy8gQ2FsbCBHcmFudCBXaXphcmQg RGlhbG9nIGFuZCBzZXQgZGltZW5zaW9ucyBmb3Igd2l6YXJkCi0gICAgICBBbGVydGlmeS53aXph cmREaWFsb2codHJ1ZSkucmVzaXplVG8oJzU1JScsICc3NSUnKTsKKyAgICAgIEFsZXJ0aWZ5Lndp emFyZERpYWxvZyh0cnVlKS5yZXNpemVUbyhwZ0Jyb3dzZXIuc3RkVy5sZyxwZ0Jyb3dzZXIuc3Rk SC5sZyk7CiAgICAgfSwKICAgfTsKIApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZ3Jh bnRfd2l6YXJkL3N0YXRpYy9zY3NzL19ncmFudF93aXphcmQuc2NzcyBiL3dlYi9wZ2FkbWluL3Rv b2xzL2dyYW50X3dpemFyZC9zdGF0aWMvc2Nzcy9fZ3JhbnRfd2l6YXJkLnNjc3MKaW5kZXggMzU4 MTBjYjEuLjU5NzVkNjA3IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9ncmFudF93aXph cmQvc3RhdGljL3Njc3MvX2dyYW50X3dpemFyZC5zY3NzCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xz L2dyYW50X3dpemFyZC9zdGF0aWMvc2Nzcy9fZ3JhbnRfd2l6YXJkLnNjc3MKQEAgLTI5LDYgKzI5 LDcgQEAKICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNXB4KTsKICAgZGlzcGxheTogYmxvY2s7CiAg IHBhZGRpbmc6IDA7CisgIG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50OwogfQogCiAub2Jq ZWN0X3R5cGVfdGFibGUgdGhlYWQgewpAQCAtMTE0LDggKzExNSw4IEBACiAKIC53aXphcmQtcmln aHQtcGFuZWxfY29udGVudCAuQ29kZU1pcnJvciB7CiAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xv ci1ncmF5LWxpZ2h0OwotICBoZWlnaHQ6IDI4NXB4ICFpbXBvcnRhbnQ7Ci0gIG1pbi1oZWlnaHQ6 IDI4NXB4ICFpbXBvcnRhbnQ7CisgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50OworICBtaW4taGVp Z2h0OiAxMDAlICFpbXBvcnRhbnQ7CiB9CiAKIC53aXphcmQtcmlnaHQtcGFuZWxfY29udGVudCAu Q29kZU1pcnJvci1saW5lbnVtYmVyIHsKQEAgLTEyMywxMCArMTI0LDYgQEAKICAgYm9yZGVyLXJp Z2h0OiBub25lOwogfQogCi0ud2l6YXJkLXJpZ2h0LXBhbmVsX2NvbnRlbnQgLkNvZGVNaXJyb3It Z3V0dGVycyB7Ci0gIG1pbi1oZWlnaHQ6IDI4NXB4ICFpbXBvcnRhbnQ7Ci19Ci0KIC5ncmFudF93 aXphcmRfY29udGFpbmVyIHsKICAgcG9zaXRpb246IHJlbGF0aXZlOwogICBvdmVyZmxvdzogaGlk ZGVuOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvaW1wb3J0X2V4cG9ydC9zdGF0aWMv anMvaW1wb3J0X2V4cG9ydC5qcyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2ltcG9ydF9leHBvcnQvc3Rh dGljL2pzL2ltcG9ydF9leHBvcnQuanMKaW5kZXggMzVmNDFhYzguLjlkNmQ4ZTU1IDEwMDY0NAot LS0gYS93ZWIvcGdhZG1pbi90b29scy9pbXBvcnRfZXhwb3J0L3N0YXRpYy9qcy9pbXBvcnRfZXhw b3J0LmpzCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2ltcG9ydF9leHBvcnQvc3RhdGljL2pzL2lt cG9ydF9leHBvcnQuanMKQEAgLTQ5Niw2ICs0OTYsOCBAQCBCYWNrZm9ybSwgY29tbW9uVXRpbHMs IHN1cHBvcnRlZE5vZGVzCiAgICAgICAgICAgICAgICAgfV0sCiAgICAgICAgICAgICAgICAgb3B0 aW9uczogewogICAgICAgICAgICAgICAgICAgbW9kYWw6IHRydWUsCisgICAgICAgICAgICAgICAg ICBwYWRkaW5nOiAhMSwKKyAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiAhMSwKICAgICAgICAg ICAgICAgICB9LAogICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgfSwKQEAgLTY0NSwxMCAr NjQ3LDYgQEAgQmFja2Zvcm0sIGNvbW1vblV0aWxzLCBzdXBwb3J0ZWROb2RlcwogICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgfSk7CiAKLSAgICAgICAgICAgICAgLy8gR2l2ZSB0aGUg ZGlhbG9nIGluaXRpYWwgaGVpZ2h0ICYgd2lkdGgKLSAgICAgICAgICAgICAgdGhpcy5lbGVtZW50 cy5kaWFsb2cuc3R5bGUubWluSGVpZ2h0ID0gJzgwJSc7Ci0gICAgICAgICAgICAgIHRoaXMuZWxl bWVudHMuZGlhbG9nLnN0eWxlLm1pbldpZHRoID0gJzcwJSc7Ci0KICAgICAgICAgICAgICAgdmll dy4kZWwuYXR0cigndGFiaW5kZXgnLCAtMSk7CiAgICAgICAgICAgICAgIC8vIHZhciBkaWFsb2dU YWJOYXZpZ2F0b3IgPSBwZ0Jyb3dzZXIua2V5Ym9hcmROYXZpZ2F0aW9uLmdldERpYWxvZ1RhYk5h dmlnYXRvcih2aWV3KTsKICAgICAgICAgICAgICAgcGdCcm93c2VyLmtleWJvYXJkTmF2aWdhdGlv bi5nZXREaWFsb2dUYWJOYXZpZ2F0b3Iodmlldyk7CkBAIC02ODIsNyArNjgwLDcgQEAgQmFja2Zv cm0sIGNvbW1vblV0aWxzLCBzdXBwb3J0ZWROb2RlcwogICAgICAgICAgIFMoCiAgICAgICAgICAg ICBnZXR0ZXh0KCdJbXBvcnQvRXhwb3J0IGRhdGEgLSB0YWJsZSBcJyVzXCcnKQogICAgICAgICAg ICkuc3ByaW50Zih0cmVlSW5mby50YWJsZS5sYWJlbCkudmFsdWUoKSwgbm9kZSwgaSwgZAotICAg ICAgICApLnNldCgncmVzaXphYmxlJywgdHJ1ZSkucmVzaXplVG8oJzcwJScsICc4MCUnKTsKKyAg ICAgICAgKS5zZXQoJ3Jlc2l6YWJsZScsIHRydWUpLnJlc2l6ZVRvKHBnQWRtaW4uQnJvd3Nlci5z dGRXLm1kLHBnQWRtaW4uQnJvd3Nlci5zdGRILmxnKTsKICAgICAgIH0pCiAgICAgICAuZmFpbChm dW5jdGlvbigpIHsKICAgICAgICAgQWxlcnRpZnkuYWxlcnQoCmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi90b29scy9tYWludGVuYW5jZS9zdGF0aWMvanMvbWFpbnRlbmFuY2UuanMgYi93ZWIvcGdh ZG1pbi90b29scy9tYWludGVuYW5jZS9zdGF0aWMvanMvbWFpbnRlbmFuY2UuanMKaW5kZXggZjQw MmRhYmYuLmMzZTdlNTQxIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9tYWludGVuYW5j ZS9zdGF0aWMvanMvbWFpbnRlbmFuY2UuanMKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvbWFpbnRl bmFuY2Uvc3RhdGljL2pzL21haW50ZW5hbmNlLmpzCkBAIC0zNCw3ICszNCw3IEBAIGRlZmluZShb CiAgICAgICAnICA8c3BhbiBjbGFzcz0iPCU9QmFja2Zvcm0uaGVscE1lc3NhZ2VDbGFzc05hbWUl PiI+PCU9aGVscE1lc3NhZ2UlPjwvc3Bhbj4nLAogICAgICAgJzwlIH0gJT4nLAogICAgIF0uam9p bignXG4nKSksCi0gICAgY2xhc3NOYW1lOiAncGdhZG1pbi1jb250cm9sLWdyb3VwIGZvcm0tZ3Jv dXAgY29sLTYnLAorICAgIGNsYXNzTmFtZTogJ3BnYWRtaW4tY29udHJvbC1ncm91cCBmb3JtLWdy b3VwIHBnLWVsLW1kLTYgcGctZWwtMTIgcm93JywKICAgfSk7CiAKICAgLy8gTWFpbiBtb2RlbCBm b3IgTWFpbnRlbmFuY2UgZnVuY3Rpb25hbGl0eQpAQCAtNDkyLDcgKzQ5Miw4IEBAIGRlZmluZShb CiAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIC8vIE9wZW4gdGhlIEFsZXJ0 aWZ5IGRpYWxvZwotICAgICAgICBBbGVydGlmeS5NYWludGVuYW5jZURpYWxvZygnTWFpbnRlbmFu Y2UuLi4nKS5zZXQoJ3Jlc2l6YWJsZScsIHRydWUpLnJlc2l6ZVRvKCc2MCUnLCAnODAlJyk7Cisg ICAgICAgIEFsZXJ0aWZ5Lk1haW50ZW5hbmNlRGlhbG9nKGdldHRleHQoJ01haW50ZW5hbmNlLi4u JykpLnNldCgncmVzaXphYmxlJywgdHJ1ZSkKKyAgICAgICAgICAucmVzaXplVG8ocGdBZG1pbi5C cm93c2VyLnN0ZFcubWQscGdBZG1pbi5Ccm93c2VyLnN0ZEgubWQpOwogICAgICAgfSkKICAgICAg IC5mYWlsKGZ1bmN0aW9uKCkgewogICAgICAgICBBbGVydGlmeS5hbGVydCgKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL3Rvb2xzL3Jlc3RvcmUvc3RhdGljL2pzL3Jlc3RvcmUuanMgYi93ZWIvcGdh ZG1pbi90b29scy9yZXN0b3JlL3N0YXRpYy9qcy9yZXN0b3JlLmpzCmluZGV4IDJkY2ZkZDYwLi5m Y2I5NjM5NiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvcmVzdG9yZS9zdGF0aWMvanMv cmVzdG9yZS5qcworKysgYi93ZWIvcGdhZG1pbi90b29scy9yZXN0b3JlL3N0YXRpYy9qcy9yZXN0 b3JlLmpzCkBAIC0yOSw3ICsyOSw3IEBAIGNvbW1vblV0aWxzLCBtZW51VXRpbHMsIHN1cHBvcnRl ZE5vZGVzLCByZXN0b3JlRGlhbG9nCiAgICAgICAnICA8c3BhbiBjbGFzcz0iPCU9QmFja2Zvcm0u aGVscE1lc3NhZ2VDbGFzc05hbWUlPiI+PCU9aGVscE1lc3NhZ2UlPjwvc3Bhbj4nLAogICAgICAg JzwlIH0gJT4nLAogICAgIF0uam9pbignXG4nKSksCi0gICAgY2xhc3NOYW1lOiAncGdhZG1pbi1j b250cm9sLWdyb3VwIGZvcm0tZ3JvdXAgcGctZWwtNCByb3cnLAorICAgIGNsYXNzTmFtZTogJ3Bn YWRtaW4tY29udHJvbC1ncm91cCBmb3JtLWdyb3VwIHBnLWVsLW1kLTYgcm93JywKICAgfSk7CiAK ICAgLy9SZXN0b3JlIE1vZGVsIChPYmplY3RzIGxpa2UgRGF0YWJhc2UvU2NoZW1hL1RhYmxlKQpA QCAtMzgxLDcgKzM4MSw3IEBAIGNvbW1vblV0aWxzLCBtZW51VXRpbHMsIHN1cHBvcnRlZE5vZGVz LCByZXN0b3JlRGlhbG9nCiAgICAgICBsZXQgZGlhbG9nID0gbmV3IHJlc3RvcmVEaWFsb2cuUmVz dG9yZURpYWxvZygKICAgICAgICAgcGdCcm93c2VyLCAkLCBhbGVydGlmeSwgUmVzdG9yZU9iamVj dE1vZGVsCiAgICAgICApOwotICAgICAgZGlhbG9nLmRyYXcoYWN0aW9uLCB0cmVlSXRlbSk7Cisg ICAgICBkaWFsb2cuZHJhdyhhY3Rpb24sIHRyZWVJdGVtLCBwZ0Jyb3dzZXIuc3RkVy5tZCwgcGdC cm93c2VyLnN0ZEgubWQpOwogICAgIH0sCiAgIH07CiAgIHJldHVybiBwZ0Jyb3dzZXIuUmVzdG9y ZTsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL3Jlc3RvcmUvc3RhdGljL2pzL3Jlc3Rv cmVfZGlhbG9nLmpzIGIvd2ViL3BnYWRtaW4vdG9vbHMvcmVzdG9yZS9zdGF0aWMvanMvcmVzdG9y ZV9kaWFsb2cuanMKaW5kZXggODg5NzBiMmMuLjFmZTM2YmM5IDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi90b29scy9yZXN0b3JlL3N0YXRpYy9qcy9yZXN0b3JlX2RpYWxvZy5qcworKysgYi93ZWIv cGdhZG1pbi90b29scy9yZXN0b3JlL3N0YXRpYy9qcy9yZXN0b3JlX2RpYWxvZy5qcwpAQCAtMjcs NyArMjcsNyBAQCBleHBvcnQgY2xhc3MgUmVzdG9yZURpYWxvZyBleHRlbmRzIERpYWxvZyB7CiAg ICAgfSk7CiAgIH0KIAotICBkcmF3KGFjdGlvbiwgYWNpVHJlZUl0ZW0pIHsKKyAgZHJhdyhhY3Rp b24sIGFjaVRyZWVJdGVtLCB3aWR0aCwgaGVpZ2h0KSB7CiAKICAgICBjb25zdCBzZXJ2ZXJJbmZv cm1hdGlvbiA9IHRoaXMucmV0cmlldmVBbmNlc3Rvck9mVHlwZVNlcnZlcihhY2lUcmVlSXRlbSk7 CiAKQEAgLTY5LDcgKzY5LDggQEAgZXhwb3J0IGNsYXNzIFJlc3RvcmVEaWFsb2cgZXh0ZW5kcyBE aWFsb2cgewogCiAgICAgICBsZXQgdGl0bGUgPSBzcHJpbnRmKGdldHRleHQoJ1Jlc3RvcmUgKCVz OiAlcyknKSwgbm9kZS5sYWJlbCwgZGF0YS5sYWJlbCk7CiAgICAgICB0aGF0LmNyZWF0ZU9yR2V0 RGlhbG9nKHRpdGxlLCAncmVzdG9yZScpOwotICAgICAgdGhhdC5hbGVydGlmeS5wZ19yZXN0b3Jl KHRpdGxlLCBhY2lUcmVlSXRlbTEsIGRhdGEsIG5vZGUpLnJlc2l6ZVRvKCc2NSUnLCAnNjAlJyk7 CisgICAgICB0aGF0LmFsZXJ0aWZ5LnBnX3Jlc3RvcmUodGl0bGUsIGFjaVRyZWVJdGVtMSwgZGF0 YSwgbm9kZSkKKyAgICAgICAgLnJlc2l6ZVRvKHdpZHRoLCBoZWlnaHQpOwogICAgIH0pLmNhdGNo KGZ1bmN0aW9uKCkgewogICAgICAgdGhhdC5hbGVydGlmeS5hbGVydCgKICAgICAgICAgZ2V0dGV4 dCgnVXRpbGl0eSBub3QgZm91bmQnKSwKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL3Nx bGVkaXRvci9zdGF0aWMvY3NzL3NxbGVkaXRvci5jc3MgYi93ZWIvcGdhZG1pbi90b29scy9zcWxl ZGl0b3Ivc3RhdGljL2Nzcy9zcWxlZGl0b3IuY3NzCmluZGV4IDU5NjFkYzVhLi45MWM1MTVmNCAx MDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9jc3Mvc3FsZWRp dG9yLmNzcworKysgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL2Nzcy9zcWxl ZGl0b3IuY3NzCkBAIC0zMTAsNyArMzEwLDkgQEAgaW5wdXQuZWRpdG9yLWNoZWNrYm94OmZvY3Vz IHsKIC8qIEZvciBGaWx0ZXIgc3RhdHVzIGJhciAqLwogLmRhdGFfc29ydGluZ19kaWFsb2cgLnBn LXByb3Atc3RhdHVzLWJhciB7CiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKLSAgYm90dG9tOiA0MHB4 OworICBsZWZ0OiAwOworICByaWdodDogMDsKKyAgYm90dG9tOiAwOwogICB6LWluZGV4OiA1Owog fQogCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL2pzL3Nx bGVkaXRvci5qcyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci9zdGF0aWMvanMvc3FsZWRp dG9yLmpzCmluZGV4IGIzMzQwMzZhLi40YjFmYmIxMCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4v dG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9qcy9zcWxlZGl0b3IuanMKKysrIGIvd2ViL3BnYWRtaW4v dG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9qcy9zcWxlZGl0b3IuanMKQEAgLTIxNzIsNyArMjE3Miw3 IEBAIGRlZmluZSgndG9vbHMucXVlcnl0b29sJywgWwogCiAKICAgICAgICAgICAgIC8qIElmIGZp bHRlciBpcyBhcHBsaWVkIHRoZW4gcmVtb3ZlIGNsYXNzICdidG4tc2Vjb25kYXJ5JwotICAgICAg ICAgICAgICogYW5kIGFkZCAnYnRuLXdhcm5pbmcnIHRvIGNoYW5nZSB0aGUgY29sb3VyIG9mIHRo ZSBidXR0b24uCisgICAgICAgICAgICAgKiBhbmQgYWRkICdidG4tcHJpbWFyeScgdG8gY2hhbmdl IHRoZSBjb2xvdXIgb2YgdGhlIGJ1dHRvbi4KICAgICAgICAgICAgICAqLwogICAgICAgICAgICAg aWYgKHNlbGYuY2FuX2ZpbHRlciAmJiByZXMuZGF0YS5maWx0ZXJfYXBwbGllZCkgewogICAgICAg ICAgICAgICAkKCcjYnRuLWZpbHRlcicpLnJlbW92ZUNsYXNzKCdidG4tc2Vjb25kYXJ5Jyk7CmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL3Njc3MvX3NxbGVk aXRvci5zY3NzIGIvd2ViL3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9zY3NzL19zcWxl ZGl0b3Iuc2NzcwppbmRleCA3MzUxMzYyMC4uNWQ0MjViYjggMTAwNjQ0Ci0tLSBhL3dlYi9wZ2Fk bWluL3Rvb2xzL3NxbGVkaXRvci9zdGF0aWMvc2Nzcy9fc3FsZWRpdG9yLnNjc3MKKysrIGIvd2Vi L3BnYWRtaW4vdG9vbHMvc3FsZWRpdG9yL3N0YXRpYy9zY3NzL19zcWxlZGl0b3Iuc2NzcwpAQCAt MjE4LDExICsyMTgsMTAgQEAgbGkuQ29kZU1pcnJvci1oaW50LWFjdGl2ZSB7CiAucGdfdGV4dF9l ZGl0b3IgewogICB6LWluZGV4OjEwMDAwOwogICBwb3NpdGlvbjphYnNvbHV0ZTsKLSAgYmFja2dy b3VuZDogJGNvbG9yLWJnOwotICBwYWRkaW5nOiA3cHggNXB4IDVweCAxcHg7Ci0gIGJvcmRlcjoy cHggc29saWQgICRjb2xvci1ncmF5OwotICAtbW96LWJvcmRlci1yYWRpdXM6MTBweDsKLSAgYm9y ZGVyLXJhZGl1czoxMHB4OworICBiYWNrZ3JvdW5kOiAkY29sb3ItYmctdGhlbWU7CisgIHBhZGRp bmc6IDAuMjVyZW07CisgIGJvcmRlcjogJHBhbmVsLWJvcmRlcjsKKyAgYm94LXNoYWRvdzogJGRy b3Bkb3duLWJveC1zaGFkb3c7CiB9CiAKIC5lZGl0b3ItdGl0bGUgewpkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vdG9vbHMvdXNlcl9tYW5hZ2VtZW50L3N0YXRpYy9qcy91c2VyX21hbmFnZW1lbnQu anMgYi93ZWIvcGdhZG1pbi90b29scy91c2VyX21hbmFnZW1lbnQvc3RhdGljL2pzL3VzZXJfbWFu YWdlbWVudC5qcwppbmRleCBmOTI4YzBiYi4uMjEyYTlkZTAgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2Fk bWluL3Rvb2xzL3VzZXJfbWFuYWdlbWVudC9zdGF0aWMvanMvdXNlcl9tYW5hZ2VtZW50LmpzCisr KyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3VzZXJfbWFuYWdlbWVudC9zdGF0aWMvanMvdXNlcl9tYW5h Z2VtZW50LmpzCkBAIC0xMjIsNyArMTIyLDcgQEAgZGVmaW5lKFsKICAgICAgICAgfSk7CiAgICAg ICB9CiAKLSAgICAgIGFsZXJ0aWZ5LkNoYW5nZVBhc3N3b3JkKHRpdGxlLCB1cmwpLnJlc2l6ZVRv KCc1NSUnLCAnNjAlJyk7CisgICAgICBhbGVydGlmeS5DaGFuZ2VQYXNzd29yZCh0aXRsZSwgdXJs KS5yZXNpemVUbyhwZ0Jyb3dzZXIuc3RkVy5sZywgcGdCcm93c2VyLnN0ZEgubWQpOwogICAgIH0s CiAKICAgICBpc1BnYUxvZ2luUmVxdWlyZWQoeGhyKSB7CkBAIC0yMjAsNyArMjIwLDcgQEAgZGVm aW5lKFsKICAgICAgICAgfSk7CiAgICAgICB9CiAKLSAgICAgIGFsZXJ0aWZ5LlBnYUxvZ2luKHRp dGxlLCB1cmwpLnJlc2l6ZVRvKCc3NSUnLCc3MCUnKTsKKyAgICAgIGFsZXJ0aWZ5LlBnYUxvZ2lu KHRpdGxlLCB1cmwpLnJlc2l6ZVRvKHBnQnJvd3Nlci5zdGRXLm1kLCBwZ0Jyb3dzZXIuc3RkSC5t ZCk7CiAgICAgfSwKIAogICAgIC8vIENhbGxiYWNrIHRvIGRyYXcgVXNlciBNYW5hZ2VtZW50IERp YWxvZy4KQEAgLTYyNSwxOCArNjI1LDE5IEBAIGRlZmluZShbCiAgICAgICAgICAgICBwcmVwYXJl OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgdmFyIGZvb3RlclRwbCA9IF8udGVtcGxhdGUo WwogICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9InBnLXByb3AtZm9vdGVyIiBzdHlsZT0i dmlzaWJpbGl0eTpoaWRkZW47Ij4nLAotICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9InBn LXByb3Atc3RhdHVzLWJhciI+JywKLSAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJtZWRp YSBlcnJvci1pbi1mb290ZXIgYmctZGFuZ2VyLWxpZ2h0IGJvcmRlci1kYW5nZXIgdGV4dC1kYW5n ZXIgdGV4dC0xNCI+JywKLSAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJtZWRpYS1ib2R5 IG1lZGlhLW1pZGRsZSI+JywKLSAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJhbGVydC1p Y29uIGVycm9yLWljb24iPicsCi0gICAgICAgICAgICAgICAgICAnPGkgY2xhc3M9ImZhIGZhLWV4 Y2xhbWF0aW9uLXRyaWFuZ2xlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPicsCi0gICAgICAgICAg ICAgICAgICAnPC9kaXY+JywKLSAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJhbGVydC10 ZXh0Ij4nLAotICAgICAgICAgICAgICAgICAgJzwvZGl2PicsCi0gICAgICAgICAgICAgICAgICAn PGRpdiBjbGFzcz0iY2xvc2UtZXJyb3ItYmFyIj48YSBjbGFzcz0iY2xvc2UtZXJyb3IiPng8L2E+ PC9kaXY+JywKLSAgICAgICAgICAgICAgICAgICc8L2Rpdj4nLAotICAgICAgICAgICAgICAgICAg JzwvZGl2PicsCi0gICAgICAgICAgICAgICAgICAnPC9kaXY+JywKKyAgICAgICAgICAgICAgICAg ICcgPGRpdiBjbGFzcz0icGctcHJvcC1zdGF0dXMtYmFyIj4nLAorICAgICAgICAgICAgICAgICAg JyAgICA8ZGl2IGNsYXNzPSJlcnJvci1pbi1mb290ZXIiPiAnLAorICAgICAgICAgICAgICAgICAg JyAgICAgIDxkaXYgY2xhc3M9ImQtZmxleCBweC0yIHB5LTEiPiAnLAorICAgICAgICAgICAgICAg ICAgJyAgICAgICAgPGRpdiBjbGFzcz0icHItMiI+ICcsCisgICAgICAgICAgICAgICAgICAnICAg ICAgICAgIDxpIGNsYXNzPSJmYSBmYS1leGNsYW1hdGlvbi10cmlhbmdsZSB0ZXh0LWRhbmdlciIg YXJpYS1oaWRkZW49InRydWUiPjwvaT4gJywKKyAgICAgICAgICAgICAgICAgICcgICAgICAgIDwv ZGl2PiAnLAorICAgICAgICAgICAgICAgICAgJyAgICAgICAgPGRpdiBjbGFzcz0iYWxlcnQtdGV4 dCI+PC9kaXY+ICcsCisgICAgICAgICAgICAgICAgICAnICAgICAgICA8ZGl2IGNsYXNzPSJtbC1h dXRvIGNsb3NlLWVycm9yLWJhciI+ICcsCisgICAgICAgICAgICAgICAgICAnICAgICAgICAgIDxh IGNsYXNzPSJjbG9zZS1lcnJvciBmYSBmYS10aW1lcyB0ZXh0LWRhbmdlciI+PC9hPiAnLAorICAg ICAgICAgICAgICAgICAgJyAgICAgICAgPC9kaXY+ICcsCisgICAgICAgICAgICAgICAgICAnICAg ICAgPC9kaXY+ICcsCisgICAgICAgICAgICAgICAgICAnICAgIDwvZGl2PiAnLAorICAgICAgICAg ICAgICAgICAgJyA8L2Rpdj4nLAogICAgICAgICAgICAgICAgICAgJzwvZGl2PicsCiAgICAgICAg ICAgICAgICAgXS5qb2luKCdcbicpKSwKICAgICAgICAgICAgICAgICAkc3RhdHVzQmFyID0gJChm b290ZXJUcGwoKSksCkBAIC04ODcsNyArODg4LDcgQEAgZGVmaW5lKFsKICAgICAgICAgICB9Owog ICAgICAgICB9KTsKICAgICAgIH0KLSAgICAgIGFsZXJ0aWZ5LlVzZXJNYW5hZ2VtZW50KHRydWUp LnJlc2l6ZVRvKCc2ODBweCcsICc0MDBweCcpOworICAgICAgYWxlcnRpZnkuVXNlck1hbmFnZW1l bnQodHJ1ZSkucmVzaXplVG8ocGdCcm93c2VyLnN0ZFcubWQsIHBnQnJvd3Nlci5zdGRILm1kKTsK ICAgICB9LAogCiAgIH07CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy91c2VyX21hbmFn ZW1lbnQvc3RhdGljL3Njc3MvX3VzZXJfbWFuYWdlbWVudC5zY3NzIGIvd2ViL3BnYWRtaW4vdG9v bHMvdXNlcl9tYW5hZ2VtZW50L3N0YXRpYy9zY3NzL191c2VyX21hbmFnZW1lbnQuc2NzcwppbmRl eCAxNDViYjY2NC4uY2ExYjA5MGEgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rvb2xzL3VzZXJf bWFuYWdlbWVudC9zdGF0aWMvc2Nzcy9fdXNlcl9tYW5hZ2VtZW50LnNjc3MKKysrIGIvd2ViL3Bn YWRtaW4vdG9vbHMvdXNlcl9tYW5hZ2VtZW50L3N0YXRpYy9zY3NzL191c2VyX21hbmFnZW1lbnQu c2NzcwpAQCAtMjQsMjMgKzI0LDQgQEAKIAogLnVzZXJfbWFuYWdlbWVudCAuYmFja2Zvcm0tdGFi IHsKICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA3NXB4KTsKLX0KLQotLnVzZXJfbWFuYWdlbWVudCAu c2VhcmNoX3VzZXJzIHsKLSAgZmxvYXQ6cmlnaHQ7Ci0gIG1hcmdpbi1yaWdodDogNXB4OwotICBw YWRkaW5nOjAgIWltcG9ydGFudDsKLX0KLQotLnVzZXJfbWFuYWdlbWVudCAuc2VhcmNoX3VzZXJz IGlucHV0ewotICBoZWlnaHQ6MTVweDsKLSAgbWFyZ2luLXRvcDogM3B4OwotfQotCi0udXNlcl9t YW5hZ2VtZW50IGlucHV0W3BsYWNlaG9sZGVyXSB7Ci0gIGZvbnQtc2l6ZTogMTJweDsKLX0KLQot LnVzZXJfbWFuYWdlbWVudF9wZy1hbGVydGlmeS1idXR0b24gewotICBsaW5lLWhlaWdodDogMTZw eDsKLX0KK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg== --000000000000d6dcd0057e7341a2--