Pluralsight no longer working. Using version 2016.10.19.
See original GitHub issueMake sure you are using the latest version: run youtube-dl --version
and ensure your version is 2016.10.19. If it’s not read this FAQ entry and update. Issues with outdated version will be rejected.
- I’ve verified and I assure that I’m running youtube-dl 2016.10.19
Before submitting an issue make sure you have:
- At least skimmed through README and most notably FAQ and BUGS sections
- Searched the bugtracker for similar issues including closed ones
What is the purpose of your issue?
- Bug report (encountered problems with youtube-dl)
- Site support request (request for adding support for a new site)
- Feature request (request for a new functionality)
- Question
- Other
$ youtube-dl --username xxx --password yyy --verbose --dump-pages --no-check-certificate --playlist-items 17 https://app.pluralsight.com/library/courses/agile-requirements-process-idea-to-minimum-viable-product/table-of-contents
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'--username', u'PRIVATE', u'--password', u'PRIVATE', u'--verbose', u'--dump-pages', u'--no-check-certificate', u'--playlist-items', u'17', u'https://app.pluralsight.com/library/courses/agile-requirements-process-idea-to-minimum-viable-product/table-of-contents']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.10.19
[debug] Python version 2.7.10 - Darwin-15.6.0-x86_64-i386-64bit
[debug] exe versions: none
[debug] Proxy map: {}
[pluralsight:course] agile-requirements-process-idea-to-minimum-viable-product: Downloading course JSON
[pluralsight:course] Dumping request to http://app.pluralsight.com/data/course/agile-requirements-process-idea-to-minimum-viable-product
eyJ0aXRsZSI6IkFnaWxlIFJlcXVpcmVtZW50cyBQcm9jZXNzOiBGcm9tIElkZWEgdG8gTWluaW11bSBWaWFibGUgUHJvZHVjdCIsImxldmVsIjoiSW50ZXJtZWRpYXRlIiwiZHVyYXRpb24iOiIwMjozMzo1NSIsInJlbGVhc2VEYXRlIjoiMjAxNS0wNS0zMFQwMDowMDowMFoiLCJuYW1lIjoiYWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0IiwiYXV0aG9ycyI6W3siaGFuZGxlIjoicnVzdHktZGl2aW5lIiwiZmlyc3ROYW1lIjoiUnVzdHkiLCJsYXN0TmFtZSI6IkRpdmluZSJ9XSwiaGFzVHJhbnNjcmlwdCI6dHJ1ZSwiY291cnNlUmF0aW5nIjp7ImN1cnJlbnRVc2Vyc1JhdGluZyI6MCwiYXZlcmFnZVJhdGluZyI6NC4wLCJyYXRpbmciOjQuMCwiY2FuUmF0ZVRoaXNDb3Vyc2UiOmZhbHNlLCJjb3Vyc2VOYW1lIjoiYWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0IiwibnVtYmVyT2ZSYXRlcnMiOjE3OSwiaGFzVXNlclJhdGVkQ291cnNlIjpmYWxzZX0sImlzUmV0aXJlZCI6ZmFsc2UsInNob3J0RGVzY3JpcHRpb24iOiJEbyB5b3UgaGF2ZSBhbiBpZGVhIGZvciBhIHN0YXJ0dXAgb3IgaGF2ZSB5b3UgYmVlbiBhc3NpZ25lZCB0byBhIG5ldyBwcm9qZWN0PyBUaGlzIGNvdXJzZSB3aWxsIHRlYWNoIHlvdSBob3cgdG8gc3RhcnQgYSBwcm9qZWN0IHF1aWNrbHkgYW5kIGVmZmljaWVudGx5IGFuZCBhdm9pZCB0aGF0IGNoYW90aWMgYmFjay1hbmQtZm9ydGggbmF0dXJlLiBZb3Ugd2lsbCBsZWFybiBob3cgdG8gZ2V0IGV2ZXJ5b25lIGludm9sdmVkIGluIHRoZSBuZXcgcHJvamVjdCB0byBhZ3JlZSBvbiB0aGUgdmlzaW9uLCBvYmplY3RpdmUsIGFuZCBjb3Vyc2UgdGhlIHByb2plY3Qgc2hvdWxkIHRha2Ugc28gdGhhdCB5b3VyIGNoYW5jZXMgb2Ygc3VjY2VzcyBhcmUgbWF4aW1pemVkLiIsImRlc2NyaXB0aW9uIjoiVGhpcyBjb3Vyc2Ugd2lsbCB0ZWFjaCBkZXZlbG9wZXJzLCBidXNpbmVzcyBhbmFseXN0cywgcHJvamVjdCBtYW5hZ2VycywgYW5kIGVudHJlcHJlbmV1cnMgYSBkZWZpbml0ZSBwcm9jZXNzIHRvIHByZXBhcmUgZm9yIGJ1aWxkaW5nIGEgbmV3IHNvZnR3YXJlIHNvbHV0aW9uIHRoYXQgd2lsbCBnYXJuZXIgYSBzaGFyZWQgdmlzaW9uIGZvciB0aGUgcHJvamVjdCBhbmQgbGVhZCB0byBhIG1pbmltdW0gdmlhYmxlIHByb2R1Y3QuIFRoZSBjb3Vyc2Ugd2lsbCB0ZWFjaCBob3cgdG8gY3JlYXRlIGEgZmxleGlibGUgcHJvamVjdCBwbGFuIHdpdGggcHJpb3JpdGl6ZWQgZmVhdHVyZXMsIGVzdGltYXRlZCBsZXZlbCBvZiBlZmZvcnQsIGFuZCBhIHByZWxpbWluYXJ5IGRlc2lnbiB0aGF0IGlzIHJlYWR5IGZvciBhbiBhZ2lsZSBkZXZlbG9wbWVudCB0ZWFtIHRvIHN0YXJ0IGJ1aWxkaW5nLiBTdHVkZW50cyB3aWxsIGFjdGl2ZWx5IHBhcnRpY2lwYXRlIGluIHRoZSBhbmFseXNpcyBvZiBhbiBleGFtcGxlIHByb2plY3Qgc28gdGhhdCB0aGV5IGNhbiBnZXQgaGFuZHMtb24gZXhwZXJpZW5jZSB3aXRoIHRoZSBwcm9jZXNzLiBBZnRlciB0YWtpbmcgdGhpcyBjb3Vyc2UsIHN0dWRlbnRzIHdpbGwga25vdyBob3cgbXVjaCB1cCBmcm9udCBhbmFseXNpcyBpcyBlbm91Z2ggdG8gZ2V0IGFuIGFnaWxlIHByb2plY3Qgc3RhcnRlZCwgdGlwcyB0byBjb252aW5jZSB0aGVpciBvcmdhbml6YXRpb24gdG8gdXNlIHRoaXMgcHJvY2VzcywgYW5kIGhvdyB0aGV5IG1heSB1c2UgdGhlc2Ugc2tpbGxzIHRvIGRldmVsb3AgdGhlaXIgb3duIHNvZnR3YXJlIGlkZWFzLiIsImlzQm9va21hcmtlZCI6ZmFsc2UsInVzZXJNYXlTYXZlQ291cnNlIjpmYWxzZSwicmVwbGFjZW1lbnRDb3Vyc2VOYW1lIjoiIiwicmV0aXJlZFJlYXNvbiI6IiIsInJlcGxhY2VtZW50Q291cnNlVGl0bGUiOiIiLCJpc1ZhbGlkIjp0cnVlLCJpc1VzZXJBdXRob3JpemVkRm9yVHJhbnNjcmlwdCI6ZmFsc2V9
[pluralsight:course] agile-requirements-process-idea-to-minimum-viable-product: Downloading course data JSON
[pluralsight:course] Dumping request to http://app.pluralsight.com/data/course/content/agile-requirements-process-idea-to-minimum-viable-product
W3sidXNlck1heVZpZXdGaXJzdENsaXAiOmZhbHNlLCJtb2R1bGVSZWYiOiJydXN0eS1kaXZpbmUvYWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW0xIiwidGl0bGUiOiJJbnRyb2R1Y3Rpb24gdG8gdGhlIFByb2Nlc3MiLCJkZXNjcmlwdGlvbiI6IkFuIGludHJvZHVjdGlvbiB0byB0aGUgcmVxdWlyZW1lbnRzIHByb2Nlc3MsIGluY2x1ZGluZyB3aG8gd2lsbCBiZSBpbnRlcmVzdGVkIGluIHRoZSBwcm9jZXNzLCB3aGVuIGl0IHdvcmtzLCBhbmQgd2hlbiBpdCBkb2Vzbid0IHdvcmsuIiwiZHVyYXRpb24iOiIwMDoyMDowNCIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJpc0hpZ2hsaWdodGVkIjpmYWxzZSwiZnJhZ21lbnRJZGVudGlmaWVyIjoiYWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW0xIiwiZmlyc3RDbGlwTGF1bmNoQ2xpY2tIYW5kbGVyIjoiYXV0aG9yPXJ1c3R5LWRpdmluZSZuYW1lPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMSZtb2RlPWxpdmUmY2xpcD0wJmNvdXJzZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QiLCJ1c2VyTWF5Qm9va21hcmsiOmZhbHNlLCJpc0Jvb2ttYXJrZWQiOmZhbHNlLCJjbGlwcyI6W3sidHJhbnNjcmlwdHMiOltdLCJjbGlwSW5kZXgiOjAsInRpdGxlIjoiV2VsY29tZSIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJkdXJhdGlvbiI6IjAwOjAyOjE3IiwicGxheWVyUGFyYW1ldGVycyI6ImF1dGhvcj1ydXN0eS1kaXZpbmUmbmFtZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTEmbW9kZT1saXZlJmNsaXA9MCZjb3Vyc2U9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0IiwidXNlck1heVZpZXdDbGlwIjpmYWxzZSwiY2xpY2tBY3Rpb25EZXNjcmlwdGlvbiI6IlZpZXcgd2l0aCBwbGF5ZXIiLCJpc0hpZ2hsaWdodGVkIjpmYWxzZSwibmFtZSI6ImFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMS0wMSIsImlzQm9va21hcmtlZCI6ZmFsc2UsImhhc0JlZW5WaWV3ZWRJbWFnZVVybCI6ImNzL2hhcy1ub3QtYmVlbi12aWV3ZWQtY2hlY2ttYXJrLTE1LXYxLnBuZyIsImhhc0JlZW5WaWV3ZWRBbHRUZXh0IjoiWW91IGhhdmUgbm90IHdhdGNoZWQgdGhpcyBDbGlwLiJ9LHsidHJhbnNjcmlwdHMiOltdLCJjbGlwSW5kZXgiOjEsInRpdGxlIjoiSG93IFdlIEdvdCBIZXJlIiwiaGFzQmVlblZpZXdlZCI6ZmFsc2UsImR1cmF0aW9uIjoiMDA6MDI6MzEiLCJwbGF5ZXJQYXJhbWV0ZXJzIjoiYXV0aG9yPXJ1c3R5LWRpdmluZSZuYW1lPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMSZtb2RlPWxpdmUmY2xpcD0xJmNvdXJzZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QiLCJ1c2VyTWF5Vmlld0NsaXAiOmZhbHNlLCJjbGlja0FjdGlvbkRlc2NyaXB0aW9uIjoiVmlldyB3aXRoIHBsYXllciIsImlzSGlnaGxpZ2h0ZWQiOmZhbHNlLCJuYW1lIjoiYWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW0xLTAyIiwiaXNCb29rbWFya2VkIjpmYWxzZSwiaGFzQmVlblZpZXdlZEltYWdlVXJsIjoiY3MvaGFzLW5vdC1iZWVuLXZpZXdlZC1jaGVja21hcmstMTUtdjEucG5nIiwiaGFzQmVlblZpZXdlZEFsdFRleHQiOiJZb3UgaGF2ZSBub3Qgd2F0Y2hlZCB0aGlzIENsaXAuIn0seyJ0cmFuc2NyaXB0cyI6W10sImNsaXBJbmRleCI6MiwidGl0bGUiOiJSZXF1aXJlbWVudHMgUHJvY2VzcyBPdmVydmlldyIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJkdXJhdGlvbiI6IjAwOjA0OjM3IiwicGxheWVyUGFyYW1ldGVycyI6ImF1dGhvcj1ydXN0eS1kaXZpbmUmbmFtZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTEmbW9kZT1saXZlJmNsaXA9MiZjb3Vyc2U9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0IiwidXNlck1heVZpZXdDbGlwIjpmYWxzZSwiY2xpY2tBY3Rpb25EZXNjcmlwdGlvbiI6IlZpZXcgd2l0aCBwbGF5ZXIiLCJpc0hpZ2hsaWdodGVkIjpmYWxzZSwibmFtZSI6ImFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMS0wMyIsImlzQm9va21hcmtlZCI6ZmFsc2UsImhhc0JlZW5WaWV3ZWRJbWFnZVVybCI6ImNzL2hhcy1ub3QtYmVlbi12aWV3ZWQtY2hlY2ttYXJrLTE1LXYxLnBuZyIsImhhc0JlZW5WaWV3ZWRBbHRUZXh0IjoiWW91IGhhdmUgbm90IHdhdGNoZWQgdGhpcyBDbGlwLiJ9LHsidHJhbnNjcmlwdHMiOltdLCJjbGlwSW5kZXgiOjMsInRpdGxlIjoiV2hlbiBOb3QgdG8gVXNlIFRoaXMgUHJvY2VzcyIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJkdXJhdGlvbiI6IjAwOjAyOjQ2IiwicGxheWVyUGFyYW1ldGVycyI6ImF1dGhvcj1ydXN0eS1kaXZpbmUmbmFtZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTEmbW9kZT1saXZlJmNsaXA9MyZjb3Vyc2U9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0IiwidXNlck1heVZpZXdDbGlwIjpmYWxzZSwiY2xpY2tBY3Rpb25EZXNjcmlwdGlvbiI6IlZpZXcgd2l0aCBwbGF5ZXIiLCJpc0hpZ2hsaWdodGVkIjpmYWxzZSwibmFtZSI6ImFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMS0wNCIsImlzQm9va21hcmtlZCI6ZmFsc2UsImhhc0JlZW5WaWV3ZWRJbWFnZVVybCI6ImNzL2hhcy1ub3QtYmVlbi12aWV3ZWQtY2hlY2ttYXJrLTE1LXYxLnBuZyIsImhhc0JlZW5WaWV3ZWRBbHRUZXh0IjoiWW91IGhhdmUgbm90IHdhdGNoZWQgdGhpcyBDbGlwLiJ9LHsidHJhbnNjcmlwdHMiOltdLCJjbGlwSW5kZXgiOjQsInRpdGxlIjoiV2h5IFRoaXMgSXMgQWdpbGUiLCJoYXNCZWVuVmlld2VkIjpmYWxzZSwiZHVyYXRpb24iOiIwMDowMjozMCIsInBsYXllclBhcmFtZXRlcnMiOiJhdXRob3I9cnVzdHktZGl2aW5lJm5hbWU9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW0xJm1vZGU9bGl2ZSZjbGlwPTQmY291cnNlPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdCIsInVzZXJNYXlWaWV3Q2xpcCI6ZmFsc2UsImNsaWNrQWN0aW9uRGVzY3JpcHRpb24iOiJWaWV3IHdpdGggcGxheWVyIiwiaXNIaWdobGlnaHRlZCI6ZmFsc2UsIm5hbWUiOiJhZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTEtMDUiLCJpc0Jvb2ttYXJrZWQiOmZhbHNlLCJoYXNCZWVuVmlld2VkSW1hZ2VVcmwiOiJjcy9oYXMtbm90LWJlZW4tdmlld2VkLWNoZWNrbWFyay0xNS12MS5wbmciLCJoYXNCZWVuVmlld2VkQWx0VGV4dCI6IllvdSBoYXZlIG5vdCB3YXRjaGVkIHRoaXMgQ2xpcC4ifSx7InRyYW5zY3JpcHRzIjpbXSwiY2xpcEluZGV4Ijo1LCJ0aXRsZSI6IkhvdyB0byBJbnRyb2R1Y2UgdGhlIFByb2Nlc3MgdG8gWW91ciBDdXN0b21lciIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJkdXJhdGlvbiI6IjAwOjA0OjExIiwicGxheWVyUGFyYW1ldGVycyI6ImF1dGhvcj1ydXN0eS1kaXZpbmUmbmFtZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTEmbW9kZT1saXZlJmNsaXA9NSZjb3Vyc2U9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0IiwidXNlck1heVZpZXdDbGlwIjpmYWxzZSwiY2xpY2tBY3Rpb25EZXNjcmlwdGlvbiI6IlZpZXcgd2l0aCBwbGF5ZXIiLCJpc0hpZ2hsaWdodGVkIjpmYWxzZSwibmFtZSI6ImFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMS0wNiIsImlzQm9va21hcmtlZCI6ZmFsc2UsImhhc0JlZW5WaWV3ZWRJbWFnZVVybCI6ImNzL2hhcy1ub3QtYmVlbi12aWV3ZWQtY2hlY2ttYXJrLTE1LXYxLnBuZyIsImhhc0JlZW5WaWV3ZWRBbHRUZXh0IjoiWW91IGhhdmUgbm90IHdhdGNoZWQgdGhpcyBDbGlwLiJ9LHsidHJhbnNjcmlwdHMiOltdLCJjbGlwSW5kZXgiOjYsInRpdGxlIjoiU3VtbWFyeSIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJkdXJhdGlvbiI6IjAwOjAxOjA5IiwicGxheWVyUGFyYW1ldGVycyI6ImF1dGhvcj1ydXN0eS1kaXZpbmUmbmFtZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTEmbW9kZT1saXZlJmNsaXA9NiZjb3Vyc2U9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0IiwidXNlck1heVZpZXdDbGlwIjpmYWxzZSwiY2xpY2tBY3Rpb25EZXNjcmlwdGlvbiI6IlZpZXcgd2l0aCBwbGF5ZXIiLCJpc0hpZ2hsaWdodGVkIjpmYWxzZSwibmFtZSI6ImFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMS0wNyIsImlzQm9va21hcmtlZCI6ZmFsc2UsImhhc0JlZW5WaWV3ZWRJbWFnZVVybCI6ImNzL2hhcy1ub3QtYmVlbi12aWV3ZWQtY2hlY2ttYXJrLTE1LXYxLnBuZyIsImhhc0JlZW5WaWV3ZWRBbHRUZXh0IjoiWW91IGhhdmUgbm90IHdhdGNoZWQgdGhpcyBDbGlwLiJ9XSwiaGFzQmVlblZpZXdlZEltYWdlVXJsIjoiY3MvaGFzLW5vdC1iZWVuLXZpZXdlZC1jaGVja21hcmstMTUtdjEucG5nIiwiaGFzQmVlblZpZXdlZEFsdFRleHQiOiJZb3UgaGF2ZSBub3Qgd2F0Y2hlZCB0aGlzIE1vZHVsZS4ifSx7InVzZXJNYXlWaWV3Rmlyc3RDbGlwIjpmYWxzZSwibW9kdWxlUmVmIjoicnVzdHktZGl2aW5lL2FnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMiIsInRpdGxlIjoiUHJlcGFyYXRpb24gZm9yIHRoZSBSZXF1aXJlbWVudHMgTWVldGluZyIsImRlc2NyaXB0aW9uIjoiVGhpcyBtb2R1bGUgY292ZXJzIGhvdyB0byBwcmVwYXJlIHlvdXIgY3VzdG9tZXIgYW5kIHlvdXIgdGVhbSBmb3IgYW4gYWdpbGUgcmVxdWlyZW1lbnRzIHdvcmtzaG9wLiBZb3Ugd2lsbCBhbHNvIGxlYXJuIGhvdyB0byBmYWNpbGl0YXRlIGEgbWVldGluZyBhbmQgaGFuZGxlIGNvbmZsaWN0IGdyYWNlZnVsbHkuIiwiZHVyYXRpb24iOiIwMDoyODowNiIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJpc0hpZ2hsaWdodGVkIjpmYWxzZSwiZnJhZ21lbnRJZGVudGlmaWVyIjoiYWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW0yIiwiZmlyc3RDbGlwTGF1bmNoQ2xpY2tIYW5kbGVyIjoiYXV0aG9yPXJ1c3R5LWRpdmluZSZuYW1lPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMiZtb2RlPWxpdmUmY2xpcD0wJmNvdXJzZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QiLCJ1c2VyTWF5Qm9va21hcmsiOmZhbHNlLCJpc0Jvb2ttYXJrZWQiOmZhbHNlLCJjbGlwcyI6W3sidHJhbnNjcmlwdHMiOltdLCJjbGlwSW5kZXgiOjAsInRpdGxlIjoiSW50cm9kdWN0aW9uIiwiaGFzQmVlblZpZXdlZCI6ZmFsc2UsImR1cmF0aW9uIjoiMDA6MDA6NDQiLCJwbGF5ZXJQYXJhbWV0ZXJzIjoiYXV0aG9yPXJ1c3R5LWRpdmluZSZuYW1lPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMiZtb2RlPWxpdmUmY2xpcD0wJmNvdXJzZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QiLCJ1c2VyTWF5Vmlld0NsaXAiOmZhbHNlLCJjbGlja0FjdGlvbkRlc2NyaXB0aW9uIjoiVmlldyB3aXRoIHBsYXllciIsImlzSGlnaGxpZ2h0ZWQiOmZhbHNlLCJuYW1lIjoiYWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW0yLTAxIiwiaXNCb29rbWFya2VkIjpmYWxzZSwiaGFzQmVlblZpZXdlZEltYWdlVXJsIjoiY3MvaGFzLW5vdC1iZWVuLXZpZXdlZC1jaGVja21hcmstMTUtdjEucG5nIiwiaGFzQmVlblZpZXdlZEFsdFRleHQiOiJZb3UgaGF2ZSBub3Qgd2F0Y2hlZCB0aGlzIENsaXAuIn0seyJ0cmFuc2NyaXB0cyI6W10sImNsaXBJbmRleCI6MSwidGl0bGUiOiJNZWV0aW5nIEFnZW5kYSIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJkdXJhdGlvbiI6IjAwOjA2OjQ2IiwicGxheWVyUGFyYW1ldGVycyI6ImF1dGhvcj1ydXN0eS1kaXZpbmUmbmFtZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTImbW9kZT1saXZlJmNsaXA9MSZjb3Vyc2U9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0IiwidXNlck1heVZpZXdDbGlwIjpmYWxzZSwiY2xpY2tBY3Rpb25EZXNjcmlwdGlvbiI6IlZpZXcgd2l0aCBwbGF5ZXIiLCJpc0hpZ2hsaWdodGVkIjpmYWxzZSwibmFtZSI6ImFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMi0wMiIsImlzQm9va21hcmtlZCI6ZmFsc2UsImhhc0JlZW5WaWV3ZWRJbWFnZVVybCI6ImNzL2hhcy1ub3QtYmVlbi12aWV3ZWQtY2hlY2ttYXJrLTE1LXYxLnBuZyIsImhhc0JlZW5WaWV3ZWRBbHRUZXh0IjoiWW91IGhhdmUgbm90IHdhdGNoZWQgdGhpcyBDbGlwLiJ9LHsidHJhbnNjcmlwdHMiOltdLCJjbGlwSW5kZXgiOjIsInRpdGxlIjoiUHJlcGFyaW5nIHRoZSBDdXN0b21lciIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJkdXJhdGlvbiI6IjAwOjAzOjMwIiwicGxheWVyUGFyYW1ldGVycyI6ImF1dGhvcj1ydXN0eS1kaXZpbmUmbmFtZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTImbW9kZT1saXZlJmNsaXA9MiZjb3Vyc2U9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0IiwidXNlck1heVZpZXdDbGlwIjpmYWxzZSwiY2xpY2tBY3Rpb25EZXNjcmlwdGlvbiI6IlZpZXcgd2l0aCBwbGF5ZXIiLCJpc0hpZ2hsaWdodGVkIjpmYWxzZSwibmFtZSI6ImFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMi0wMyIsImlzQm9va21hcmtlZCI6ZmFsc2UsImhhc0JlZW5WaWV3ZWRJbWFnZVVybCI6ImNzL2hhcy1ub3QtYmVlbi12aWV3ZWQtY2hlY2ttYXJrLTE1LXYxLnBuZyIsImhhc0JlZW5WaWV3ZWRBbHRUZXh0IjoiWW91IGhhdmUgbm90IHdhdGNoZWQgdGhpcyBDbGlwLiJ9LHsidHJhbnNjcmlwdHMiOltdLCJjbGlwSW5kZXgiOjMsInRpdGxlIjoiUHJlcGFyaW5nIFlvdXIgVGVhbSIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJkdXJhdGlvbiI6IjAwOjA3OjU2IiwicGxheWVyUGFyYW1ldGVycyI6ImF1dGhvcj1ydXN0eS1kaXZpbmUmbmFtZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTImbW9kZT1saXZlJmNsaXA9MyZjb3Vyc2U9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0IiwidXNlck1heVZpZXdDbGlwIjpmYWxzZSwiY2xpY2tBY3Rpb25EZXNjcmlwdGlvbiI6IlZpZXcgd2l0aCBwbGF5ZXIiLCJpc0hpZ2hsaWdodGVkIjpmYWxzZSwibmFtZSI6ImFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMi0wNCIsImlzQm9va21hcmtlZCI6ZmFsc2UsImhhc0JlZW5WaWV3ZWRJbWFnZVVybCI6ImNzL2hhcy1ub3QtYmVlbi12aWV3ZWQtY2hlY2ttYXJrLTE1LXYxLnBuZyIsImhhc0JlZW5WaWV3ZWRBbHRUZXh0IjoiWW91IGhhdmUgbm90IHdhdGNoZWQgdGhpcyBDbGlwLiJ9LHsidHJhbnNjcmlwdHMiOltdLCJjbGlwSW5kZXgiOjQsInRpdGxlIjoiRmFjaWxpdGF0aW5nIGEgTWVldGluZyIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJkdXJhdGlvbiI6IjAwOjA3OjI3IiwicGxheWVyUGFyYW1ldGVycyI6ImF1dGhvcj1ydXN0eS1kaXZpbmUmbmFtZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTImbW9kZT1saXZlJmNsaXA9NCZjb3Vyc2U9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0IiwidXNlck1heVZpZXdDbGlwIjpmYWxzZSwiY2xpY2tBY3Rpb25EZXNjcmlwdGlvbiI6IlZpZXcgd2l0aCBwbGF5ZXIiLCJpc0hpZ2hsaWdodGVkIjpmYWxzZSwibmFtZSI6ImFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMi0wNSIsImlzQm9va21hcmtlZCI6ZmFsc2UsImhhc0JlZW5WaWV3ZWRJbWFnZVVybCI6ImNzL2hhcy1ub3QtYmVlbi12aWV3ZWQtY2hlY2ttYXJrLTE1LXYxLnBuZyIsImhhc0JlZW5WaWV3ZWRBbHRUZXh0IjoiWW91IGhhdmUgbm90IHdhdGNoZWQgdGhpcyBDbGlwLiJ9LHsidHJhbnNjcmlwdHMiOltdLCJjbGlwSW5kZXgiOjUsInRpdGxlIjoiU3VtbWFyeSIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJkdXJhdGlvbiI6IjAwOjAxOjQxIiwicGxheWVyUGFyYW1ldGVycyI6ImF1dGhvcj1ydXN0eS1kaXZpbmUmbmFtZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTImbW9kZT1saXZlJmNsaXA9NSZjb3Vyc2U9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0IiwidXNlck1heVZpZXdDbGlwIjpmYWxzZSwiY2xpY2tBY3Rpb25EZXNjcmlwdGlvbiI6IlZpZXcgd2l0aCBwbGF5ZXIiLCJpc0hpZ2hsaWdodGVkIjpmYWxzZSwibmFtZSI6ImFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMi0wNiIsImlzQm9va21hcmtlZCI6ZmFsc2UsImhhc0JlZW5WaWV3ZWRJbWFnZVVybCI6ImNzL2hhcy1ub3QtYmVlbi12aWV3ZWQtY2hlY2ttYXJrLTE1LXYxLnBuZyIsImhhc0JlZW5WaWV3ZWRBbHRUZXh0IjoiWW91IGhhdmUgbm90IHdhdGNoZWQgdGhpcyBDbGlwLiJ9XSwiaGFzQmVlblZpZXdlZEltYWdlVXJsIjoiY3MvaGFzLW5vdC1iZWVuLXZpZXdlZC1jaGVja21hcmstMTUtdjEucG5nIiwiaGFzQmVlblZpZXdlZEFsdFRleHQiOiJZb3UgaGF2ZSBub3Qgd2F0Y2hlZCB0aGlzIE1vZHVsZS4ifSx7InVzZXJNYXlWaWV3Rmlyc3RDbGlwIjpmYWxzZSwibW9kdWxlUmVmIjoicnVzdHktZGl2aW5lL2FnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMyIsInRpdGxlIjoiRXhhbXBsZSBSZXF1aXJlbWVudHMgTWVldGluZyIsImRlc2NyaXB0aW9uIjoiVG9nZXRoZXIgd2Ugd2lsbCB3YWxrIHRocm91Z2ggYW4gZXhhbXBsZSByZXF1aXJlbWVudHMgbWVldGluZyBmb3IgYSBzb2Z0d2FyZSB1c2VyIGdyb3VwIHdlYnNpdGUuIiwiZHVyYXRpb24iOiIwMToxNDoyOSIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJpc0hpZ2hsaWdodGVkIjpmYWxzZSwiZnJhZ21lbnRJZGVudGlmaWVyIjoiYWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW0zIiwiZmlyc3RDbGlwTGF1bmNoQ2xpY2tIYW5kbGVyIjoiYXV0aG9yPXJ1c3R5LWRpdmluZSZuYW1lPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMyZtb2RlPWxpdmUmY2xpcD0wJmNvdXJzZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QiLCJ1c2VyTWF5Qm9va21hcmsiOmZhbHNlLCJpc0Jvb2ttYXJrZWQiOmZhbHNlLCJjbGlwcyI6W3sidHJhbnNjcmlwdHMiOltdLCJjbGlwSW5kZXgiOjAsInRpdGxlIjoiSW50cm9kdWN0aW9uIiwiaGFzQmVlblZpZXdlZCI6ZmFsc2UsImR1cmF0aW9uIjoiMDA6MDA6NDciLCJwbGF5ZXJQYXJhbWV0ZXJzIjoiYXV0aG9yPXJ1c3R5LWRpdmluZSZuYW1lPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMyZtb2RlPWxpdmUmY2xpcD0wJmNvdXJzZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QiLCJ1c2VyTWF5Vmlld0NsaXAiOmZhbHNlLCJjbGlja0FjdGlvbkRlc2NyaXB0aW9uIjoiVmlldyB3aXRoIHBsYXllciIsImlzSGlnaGxpZ2h0ZWQiOmZhbHNlLCJuYW1lIjoiYWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW0zLTAxIiwiaXNCb29rbWFya2VkIjpmYWxzZSwiaGFzQmVlblZpZXdlZEltYWdlVXJsIjoiY3MvaGFzLW5vdC1iZWVuLXZpZXdlZC1jaGVja21hcmstMTUtdjEucG5nIiwiaGFzQmVlblZpZXdlZEFsdFRleHQiOiJZb3UgaGF2ZSBub3Qgd2F0Y2hlZCB0aGlzIENsaXAuIn0seyJ0cmFuc2NyaXB0cyI6W10sImNsaXBJbmRleCI6MSwidGl0bGUiOiJJbml0aWFsIENvbnRhY3QiLCJoYXNCZWVuVmlld2VkIjpmYWxzZSwiZHVyYXRpb24iOiIwMDoxMDoyMiIsInBsYXllclBhcmFtZXRlcnMiOiJhdXRob3I9cnVzdHktZGl2aW5lJm5hbWU9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW0zJm1vZGU9bGl2ZSZjbGlwPTEmY291cnNlPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdCIsInVzZXJNYXlWaWV3Q2xpcCI6ZmFsc2UsImNsaWNrQWN0aW9uRGVzY3JpcHRpb24iOiJWaWV3IHdpdGggcGxheWVyIiwiaXNIaWdobGlnaHRlZCI6ZmFsc2UsIm5hbWUiOiJhZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTMtMDIiLCJpc0Jvb2ttYXJrZWQiOmZhbHNlLCJoYXNCZWVuVmlld2VkSW1hZ2VVcmwiOiJjcy9oYXMtbm90LWJlZW4tdmlld2VkLWNoZWNrbWFyay0xNS12MS5wbmciLCJoYXNCZWVuVmlld2VkQWx0VGV4dCI6IllvdSBoYXZlIG5vdCB3YXRjaGVkIHRoaXMgQ2xpcC4ifSx7InRyYW5zY3JpcHRzIjpbXSwiY2xpcEluZGV4IjoyLCJ0aXRsZSI6Ik1lZXRpbmcgRGF5IiwiaGFzQmVlblZpZXdlZCI6ZmFsc2UsImR1cmF0aW9uIjoiMDA6MDE6MDgiLCJwbGF5ZXJQYXJhbWV0ZXJzIjoiYXV0aG9yPXJ1c3R5LWRpdmluZSZuYW1lPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMyZtb2RlPWxpdmUmY2xpcD0yJmNvdXJzZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QiLCJ1c2VyTWF5Vmlld0NsaXAiOmZhbHNlLCJjbGlja0FjdGlvbkRlc2NyaXB0aW9uIjoiVmlldyB3aXRoIHBsYXllciIsImlzSGlnaGxpZ2h0ZWQiOmZhbHNlLCJuYW1lIjoiYWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW0zLTAzIiwiaXNCb29rbWFya2VkIjpmYWxzZSwiaGFzQmVlblZpZXdlZEltYWdlVXJsIjoiY3MvaGFzLW5vdC1iZWVuLXZpZXdlZC1jaGVja21hcmstMTUtdjEucG5nIiwiaGFzQmVlblZpZXdlZEFsdFRleHQiOiJZb3UgaGF2ZSBub3Qgd2F0Y2hlZCB0aGlzIENsaXAuIn0seyJ0cmFuc2NyaXB0cyI6W10sImNsaXBJbmRleCI6MywidGl0bGUiOiJXZWxjb21lIGFuZCBJbnRyb2R1Y3Rpb25zIiwiaGFzQmVlblZpZXdlZCI6ZmFsc2UsImR1cmF0aW9uIjoiMDA6MDQ6NTIiLCJwbGF5ZXJQYXJhbWV0ZXJzIjoiYXV0aG9yPXJ1c3R5LWRpdmluZSZuYW1lPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMyZtb2RlPWxpdmUmY2xpcD0zJmNvdXJzZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QiLCJ1c2VyTWF5Vmlld0NsaXAiOmZhbHNlLCJjbGlja0FjdGlvbkRlc2NyaXB0aW9uIjoiVmlldyB3aXRoIHBsYXllciIsImlzSGlnaGxpZ2h0ZWQiOmZhbHNlLCJuYW1lIjoiYWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW0zLTA0IiwiaXNCb29rbWFya2VkIjpmYWxzZSwiaGFzQmVlblZpZXdlZEltYWdlVXJsIjoiY3MvaGFzLW5vdC1iZWVuLXZpZXdlZC1jaGVja21hcmstMTUtdjEucG5nIiwiaGFzQmVlblZpZXdlZEFsdFRleHQiOiJZb3UgaGF2ZSBub3Qgd2F0Y2hlZCB0aGlzIENsaXAuIn0seyJ0cmFuc2NyaXB0cyI6W10sImNsaXBJbmRleCI6NCwidGl0bGUiOiJBZ2VuZGEiLCJoYXNCZWVuVmlld2VkIjpmYWxzZSwiZHVyYXRpb24iOiIwMDowMToxMiIsInBsYXllclBhcmFtZXRlcnMiOiJhdXRob3I9cnVzdHktZGl2aW5lJm5hbWU9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW0zJm1vZGU9bGl2ZSZjbGlwPTQmY291cnNlPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdCIsInVzZXJNYXlWaWV3Q2xpcCI6ZmFsc2UsImNsaWNrQWN0aW9uRGVzY3JpcHRpb24iOiJWaWV3IHdpdGggcGxheWVyIiwiaXNIaWdobGlnaHRlZCI6ZmFsc2UsIm5hbWUiOiJhZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTMtMDUiLCJpc0Jvb2ttYXJrZWQiOmZhbHNlLCJoYXNCZWVuVmlld2VkSW1hZ2VVcmwiOiJjcy9oYXMtbm90LWJlZW4tdmlld2VkLWNoZWNrbWFyay0xNS12MS5wbmciLCJoYXNCZWVuVmlld2VkQWx0VGV4dCI6IllvdSBoYXZlIG5vdCB3YXRjaGVkIHRoaXMgQ2xpcC4ifSx7InRyYW5zY3JpcHRzIjpbXSwiY2xpcEluZGV4Ijo1LCJ0aXRsZSI6Ikdyb3VuZCBSdWxlcyIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJkdXJhdGlvbiI6IjAwOjAxOjU2IiwicGxheWVyUGFyYW1ldGVycyI6ImF1dGhvcj1ydXN0eS1kaXZpbmUmbmFtZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTMmbW9kZT1saXZlJmNsaXA9NSZjb3Vyc2U9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0IiwidXNlck1heVZpZXdDbGlwIjpmYWxzZSwiY2xpY2tBY3Rpb25EZXNjcmlwdGlvbiI6IlZpZXcgd2l0aCBwbGF5ZXIiLCJpc0hpZ2hsaWdodGVkIjpmYWxzZSwibmFtZSI6ImFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMy0wNiIsImlzQm9va21hcmtlZCI6ZmFsc2UsImhhc0JlZW5WaWV3ZWRJbWFnZVVybCI6ImNzL2hhcy1ub3QtYmVlbi12aWV3ZWQtY2hlY2ttYXJrLTE1LXYxLnBuZyIsImhhc0JlZW5WaWV3ZWRBbHRUZXh0IjoiWW91IGhhdmUgbm90IHdhdGNoZWQgdGhpcyBDbGlwLiJ9LHsidHJhbnNjcmlwdHMiOltdLCJjbGlwSW5kZXgiOjYsInRpdGxlIjoiT2JqZWN0aXZlIiwiaGFzQmVlblZpZXdlZCI6ZmFsc2UsImR1cmF0aW9uIjoiMDA6MTE6NDUiLCJwbGF5ZXJQYXJhbWV0ZXJzIjoiYXV0aG9yPXJ1c3R5LWRpdmluZSZuYW1lPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMyZtb2RlPWxpdmUmY2xpcD02JmNvdXJzZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QiLCJ1c2VyTWF5Vmlld0NsaXAiOmZhbHNlLCJjbGlja0FjdGlvbkRlc2NyaXB0aW9uIjoiVmlldyB3aXRoIHBsYXllciIsImlzSGlnaGxpZ2h0ZWQiOmZhbHNlLCJuYW1lIjoiYWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW0zLTA3IiwiaXNCb29rbWFya2VkIjpmYWxzZSwiaGFzQmVlblZpZXdlZEltYWdlVXJsIjoiY3MvaGFzLW5vdC1iZWVuLXZpZXdlZC1jaGVja21hcmstMTUtdjEucG5nIiwiaGFzQmVlblZpZXdlZEFsdFRleHQiOiJZb3UgaGF2ZSBub3Qgd2F0Y2hlZCB0aGlzIENsaXAuIn0seyJ0cmFuc2NyaXB0cyI6W10sImNsaXBJbmRleCI6NywidGl0bGUiOiJSb2xlcyIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJkdXJhdGlvbiI6IjAwOjA0OjM2IiwicGxheWVyUGFyYW1ldGVycyI6ImF1dGhvcj1ydXN0eS1kaXZpbmUmbmFtZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTMmbW9kZT1saXZlJmNsaXA9NyZjb3Vyc2U9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0IiwidXNlck1heVZpZXdDbGlwIjpmYWxzZSwiY2xpY2tBY3Rpb25EZXNjcmlwdGlvbiI6IlZpZXcgd2l0aCBwbGF5ZXIiLCJpc0hpZ2hsaWdodGVkIjpmYWxzZSwibmFtZSI6ImFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMy0wOCIsImlzQm9va21hcmtlZCI6ZmFsc2UsImhhc0JlZW5WaWV3ZWRJbWFnZVVybCI6ImNzL2hhcy1ub3QtYmVlbi12aWV3ZWQtY2hlY2ttYXJrLTE1LXYxLnBuZyIsImhhc0JlZW5WaWV3ZWRBbHRUZXh0IjoiWW91IGhhdmUgbm90IHdhdGNoZWQgdGhpcyBDbGlwLiJ9LHsidHJhbnNjcmlwdHMiOltdLCJjbGlwSW5kZXgiOjgsInRpdGxlIjoiRmVhdHVyZXMiLCJoYXNCZWVuVmlld2VkIjpmYWxzZSwiZHVyYXRpb24iOiIwMDoyMjowNCIsInBsYXllclBhcmFtZXRlcnMiOiJhdXRob3I9cnVzdHktZGl2aW5lJm5hbWU9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW0zJm1vZGU9bGl2ZSZjbGlwPTgmY291cnNlPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdCIsInVzZXJNYXlWaWV3Q2xpcCI6ZmFsc2UsImNsaWNrQWN0aW9uRGVzY3JpcHRpb24iOiJWaWV3IHdpdGggcGxheWVyIiwiaXNIaWdobGlnaHRlZCI6ZmFsc2UsIm5hbWUiOiJhZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTMtMDkiLCJpc0Jvb2ttYXJrZWQiOmZhbHNlLCJoYXNCZWVuVmlld2VkSW1hZ2VVcmwiOiJjcy9oYXMtbm90LWJlZW4tdmlld2VkLWNoZWNrbWFyay0xNS12MS5wbmciLCJoYXNCZWVuVmlld2VkQWx0VGV4dCI6IllvdSBoYXZlIG5vdCB3YXRjaGVkIHRoaXMgQ2xpcC4ifSx7InRyYW5zY3JpcHRzIjpbXSwiY2xpcEluZGV4Ijo5LCJ0aXRsZSI6IkFzc3VtcHRpb25zIGFuZCBDb25zdHJhaW50cyIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJkdXJhdGlvbiI6IjAwOjA1OjAxIiwicGxheWVyUGFyYW1ldGVycyI6ImF1dGhvcj1ydXN0eS1kaXZpbmUmbmFtZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTMmbW9kZT1saXZlJmNsaXA9OSZjb3Vyc2U9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0IiwidXNlck1heVZpZXdDbGlwIjpmYWxzZSwiY2xpY2tBY3Rpb25EZXNjcmlwdGlvbiI6IlZpZXcgd2l0aCBwbGF5ZXIiLCJpc0hpZ2hsaWdodGVkIjpmYWxzZSwibmFtZSI6ImFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMy0xMCIsImlzQm9va21hcmtlZCI6ZmFsc2UsImhhc0JlZW5WaWV3ZWRJbWFnZVVybCI6ImNzL2hhcy1ub3QtYmVlbi12aWV3ZWQtY2hlY2ttYXJrLTE1LXYxLnBuZyIsImhhc0JlZW5WaWV3ZWRBbHRUZXh0IjoiWW91IGhhdmUgbm90IHdhdGNoZWQgdGhpcyBDbGlwLiJ9LHsidHJhbnNjcmlwdHMiOltdLCJjbGlwSW5kZXgiOjEwLCJ0aXRsZSI6IlByaW9yaXRpemluZyBGZWF0dXJlcyIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJkdXJhdGlvbiI6IjAwOjA0OjE4IiwicGxheWVyUGFyYW1ldGVycyI6ImF1dGhvcj1ydXN0eS1kaXZpbmUmbmFtZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTMmbW9kZT1saXZlJmNsaXA9MTAmY291cnNlPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdCIsInVzZXJNYXlWaWV3Q2xpcCI6ZmFsc2UsImNsaWNrQWN0aW9uRGVzY3JpcHRpb24iOiJWaWV3IHdpdGggcGxheWVyIiwiaXNIaWdobGlnaHRlZCI6ZmFsc2UsIm5hbWUiOiJhZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTMtMTEiLCJpc0Jvb2ttYXJrZWQiOmZhbHNlLCJoYXNCZWVuVmlld2VkSW1hZ2VVcmwiOiJjcy9oYXMtbm90LWJlZW4tdmlld2VkLWNoZWNrbWFyay0xNS12MS5wbmciLCJoYXNCZWVuVmlld2VkQWx0VGV4dCI6IllvdSBoYXZlIG5vdCB3YXRjaGVkIHRoaXMgQ2xpcC4ifSx7InRyYW5zY3JpcHRzIjpbXSwiY2xpcEluZGV4IjoxMSwidGl0bGUiOiJUaGUgQ29yZSBGZWF0dXJlIFNldCIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJkdXJhdGlvbiI6IjAwOjA1OjI3IiwicGxheWVyUGFyYW1ldGVycyI6ImF1dGhvcj1ydXN0eS1kaXZpbmUmbmFtZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTMmbW9kZT1saXZlJmNsaXA9MTEmY291cnNlPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdCIsInVzZXJNYXlWaWV3Q2xpcCI6ZmFsc2UsImNsaWNrQWN0aW9uRGVzY3JpcHRpb24iOiJWaWV3IHdpdGggcGxheWVyIiwiaXNIaWdobGlnaHRlZCI6ZmFsc2UsIm5hbWUiOiJhZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTMtMTIiLCJpc0Jvb2ttYXJrZWQiOmZhbHNlLCJoYXNCZWVuVmlld2VkSW1hZ2VVcmwiOiJjcy9oYXMtbm90LWJlZW4tdmlld2VkLWNoZWNrbWFyay0xNS12MS5wbmciLCJoYXNCZWVuVmlld2VkQWx0VGV4dCI6IllvdSBoYXZlIG5vdCB3YXRjaGVkIHRoaXMgQ2xpcC4ifSx7InRyYW5zY3JpcHRzIjpbXSwiY2xpcEluZGV4IjoxMiwidGl0bGUiOiJTdW1tYXJ5IiwiaGFzQmVlblZpZXdlZCI6ZmFsc2UsImR1cmF0aW9uIjoiMDA6MDA6NTYiLCJwbGF5ZXJQYXJhbWV0ZXJzIjoiYXV0aG9yPXJ1c3R5LWRpdmluZSZuYW1lPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMyZtb2RlPWxpdmUmY2xpcD0xMiZjb3Vyc2U9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0IiwidXNlck1heVZpZXdDbGlwIjpmYWxzZSwiY2xpY2tBY3Rpb25EZXNjcmlwdGlvbiI6IlZpZXcgd2l0aCBwbGF5ZXIiLCJpc0hpZ2hsaWdodGVkIjpmYWxzZSwibmFtZSI6ImFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tMy0xMyIsImlzQm9va21hcmtlZCI6ZmFsc2UsImhhc0JlZW5WaWV3ZWRJbWFnZVVybCI6ImNzL2hhcy1ub3QtYmVlbi12aWV3ZWQtY2hlY2ttYXJrLTE1LXYxLnBuZyIsImhhc0JlZW5WaWV3ZWRBbHRUZXh0IjoiWW91IGhhdmUgbm90IHdhdGNoZWQgdGhpcyBDbGlwLiJ9XSwiaGFzQmVlblZpZXdlZEltYWdlVXJsIjoiY3MvaGFzLW5vdC1iZWVuLXZpZXdlZC1jaGVja21hcmstMTUtdjEucG5nIiwiaGFzQmVlblZpZXdlZEFsdFRleHQiOiJZb3UgaGF2ZSBub3Qgd2F0Y2hlZCB0aGlzIE1vZHVsZS4ifSx7InVzZXJNYXlWaWV3Rmlyc3RDbGlwIjpmYWxzZSwibW9kdWxlUmVmIjoicnVzdHktZGl2aW5lL2FnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tNCIsInRpdGxlIjoiQ3JlYXRpbmcgdGhlIFByb2plY3QgUGxhbiIsImRlc2NyaXB0aW9uIjoiQWZ0ZXIgY29tcGxldGluZyB0aGUgYWdpbGUgd29ya3Nob3AgbWVldGluZywgeW91IHdpbGwgc2VlIGhvdyB0byB0YWtlIHdoYXQgeW91IGxlYXJuZWQgYW5kIGNyZWF0ZSBhIHByb2plY3QgcGxhbi4iLCJkdXJhdGlvbiI6IjAwOjE2OjUxIiwiaGFzQmVlblZpZXdlZCI6ZmFsc2UsImlzSGlnaGxpZ2h0ZWQiOmZhbHNlLCJmcmFnbWVudElkZW50aWZpZXIiOiJhZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTQiLCJmaXJzdENsaXBMYXVuY2hDbGlja0hhbmRsZXIiOiJhdXRob3I9cnVzdHktZGl2aW5lJm5hbWU9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW00Jm1vZGU9bGl2ZSZjbGlwPTAmY291cnNlPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdCIsInVzZXJNYXlCb29rbWFyayI6ZmFsc2UsImlzQm9va21hcmtlZCI6ZmFsc2UsImNsaXBzIjpbeyJ0cmFuc2NyaXB0cyI6W10sImNsaXBJbmRleCI6MCwidGl0bGUiOiJJbnRyb2R1Y3Rpb24iLCJoYXNCZWVuVmlld2VkIjpmYWxzZSwiZHVyYXRpb24iOiIwMDowMDozNCIsInBsYXllclBhcmFtZXRlcnMiOiJhdXRob3I9cnVzdHktZGl2aW5lJm5hbWU9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW00Jm1vZGU9bGl2ZSZjbGlwPTAmY291cnNlPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdCIsInVzZXJNYXlWaWV3Q2xpcCI6ZmFsc2UsImNsaWNrQWN0aW9uRGVzY3JpcHRpb24iOiJWaWV3IHdpdGggcGxheWVyIiwiaXNIaWdobGlnaHRlZCI6ZmFsc2UsIm5hbWUiOiJhZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTQtMDEiLCJpc0Jvb2ttYXJrZWQiOmZhbHNlLCJoYXNCZWVuVmlld2VkSW1hZ2VVcmwiOiJjcy9oYXMtbm90LWJlZW4tdmlld2VkLWNoZWNrbWFyay0xNS12MS5wbmciLCJoYXNCZWVuVmlld2VkQWx0VGV4dCI6IllvdSBoYXZlIG5vdCB3YXRjaGVkIHRoaXMgQ2xpcC4ifSx7InRyYW5zY3JpcHRzIjpbXSwiY2xpcEluZGV4IjoxLCJ0aXRsZSI6IkNvbXBpbGluZyBNZWV0aW5nIE5vdGVzIiwiaGFzQmVlblZpZXdlZCI6ZmFsc2UsImR1cmF0aW9uIjoiMDA6MDE6MDAiLCJwbGF5ZXJQYXJhbWV0ZXJzIjoiYXV0aG9yPXJ1c3R5LWRpdmluZSZuYW1lPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tNCZtb2RlPWxpdmUmY2xpcD0xJmNvdXJzZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QiLCJ1c2VyTWF5Vmlld0NsaXAiOmZhbHNlLCJjbGlja0FjdGlvbkRlc2NyaXB0aW9uIjoiVmlldyB3aXRoIHBsYXllciIsImlzSGlnaGxpZ2h0ZWQiOmZhbHNlLCJuYW1lIjoiYWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW00LTAyIiwiaXNCb29rbWFya2VkIjpmYWxzZSwiaGFzQmVlblZpZXdlZEltYWdlVXJsIjoiY3MvaGFzLW5vdC1iZWVuLXZpZXdlZC1jaGVja21hcmstMTUtdjEucG5nIiwiaGFzQmVlblZpZXdlZEFsdFRleHQiOiJZb3UgaGF2ZSBub3Qgd2F0Y2hlZCB0aGlzIENsaXAuIn0seyJ0cmFuc2NyaXB0cyI6W10sImNsaXBJbmRleCI6MiwidGl0bGUiOiJGaWxsaW5nIGluIHRoZSBEZXRhaWxzIiwiaGFzQmVlblZpZXdlZCI6ZmFsc2UsImR1cmF0aW9uIjoiMDA6MDU6MzEiLCJwbGF5ZXJQYXJhbWV0ZXJzIjoiYXV0aG9yPXJ1c3R5LWRpdmluZSZuYW1lPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tNCZtb2RlPWxpdmUmY2xpcD0yJmNvdXJzZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QiLCJ1c2VyTWF5Vmlld0NsaXAiOmZhbHNlLCJjbGlja0FjdGlvbkRlc2NyaXB0aW9uIjoiVmlldyB3aXRoIHBsYXllciIsImlzSGlnaGxpZ2h0ZWQiOmZhbHNlLCJuYW1lIjoiYWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW00LTAzIiwiaXNCb29rbWFya2VkIjpmYWxzZSwiaGFzQmVlblZpZXdlZEltYWdlVXJsIjoiY3MvaGFzLW5vdC1iZWVuLXZpZXdlZC1jaGVja21hcmstMTUtdjEucG5nIiwiaGFzQmVlblZpZXdlZEFsdFRleHQiOiJZb3UgaGF2ZSBub3Qgd2F0Y2hlZCB0aGlzIENsaXAuIn0seyJ0cmFuc2NyaXB0cyI6W10sImNsaXBJbmRleCI6MywidGl0bGUiOiJQcm9qZWN0IEVzdGltYXRpb24iLCJoYXNCZWVuVmlld2VkIjpmYWxzZSwiZHVyYXRpb24iOiIwMDowNTo1MiIsInBsYXllclBhcmFtZXRlcnMiOiJhdXRob3I9cnVzdHktZGl2aW5lJm5hbWU9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW00Jm1vZGU9bGl2ZSZjbGlwPTMmY291cnNlPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdCIsInVzZXJNYXlWaWV3Q2xpcCI6ZmFsc2UsImNsaWNrQWN0aW9uRGVzY3JpcHRpb24iOiJWaWV3IHdpdGggcGxheWVyIiwiaXNIaWdobGlnaHRlZCI6ZmFsc2UsIm5hbWUiOiJhZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTQtMDQiLCJpc0Jvb2ttYXJrZWQiOmZhbHNlLCJoYXNCZWVuVmlld2VkSW1hZ2VVcmwiOiJjcy9oYXMtbm90LWJlZW4tdmlld2VkLWNoZWNrbWFyay0xNS12MS5wbmciLCJoYXNCZWVuVmlld2VkQWx0VGV4dCI6IllvdSBoYXZlIG5vdCB3YXRjaGVkIHRoaXMgQ2xpcC4ifSx7InRyYW5zY3JpcHRzIjpbXSwiY2xpcEluZGV4Ijo0LCJ0aXRsZSI6IlByZXNlbnRpbmcgdGhlIERlbGl2ZXJhYmxlcyIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJkdXJhdGlvbiI6IjAwOjAzOjA0IiwicGxheWVyUGFyYW1ldGVycyI6ImF1dGhvcj1ydXN0eS1kaXZpbmUmbmFtZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTQmbW9kZT1saXZlJmNsaXA9NCZjb3Vyc2U9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0IiwidXNlck1heVZpZXdDbGlwIjpmYWxzZSwiY2xpY2tBY3Rpb25EZXNjcmlwdGlvbiI6IlZpZXcgd2l0aCBwbGF5ZXIiLCJpc0hpZ2hsaWdodGVkIjpmYWxzZSwibmFtZSI6ImFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tNC0wNSIsImlzQm9va21hcmtlZCI6ZmFsc2UsImhhc0JlZW5WaWV3ZWRJbWFnZVVybCI6ImNzL2hhcy1ub3QtYmVlbi12aWV3ZWQtY2hlY2ttYXJrLTE1LXYxLnBuZyIsImhhc0JlZW5WaWV3ZWRBbHRUZXh0IjoiWW91IGhhdmUgbm90IHdhdGNoZWQgdGhpcyBDbGlwLiJ9LHsidHJhbnNjcmlwdHMiOltdLCJjbGlwSW5kZXgiOjUsInRpdGxlIjoiU3VtbWFyeSIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJkdXJhdGlvbiI6IjAwOjAwOjQ3IiwicGxheWVyUGFyYW1ldGVycyI6ImF1dGhvcj1ydXN0eS1kaXZpbmUmbmFtZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTQmbW9kZT1saXZlJmNsaXA9NSZjb3Vyc2U9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0IiwidXNlck1heVZpZXdDbGlwIjpmYWxzZSwiY2xpY2tBY3Rpb25EZXNjcmlwdGlvbiI6IlZpZXcgd2l0aCBwbGF5ZXIiLCJpc0hpZ2hsaWdodGVkIjpmYWxzZSwibmFtZSI6ImFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tNC0wNiIsImlzQm9va21hcmtlZCI6ZmFsc2UsImhhc0JlZW5WaWV3ZWRJbWFnZVVybCI6ImNzL2hhcy1ub3QtYmVlbi12aWV3ZWQtY2hlY2ttYXJrLTE1LXYxLnBuZyIsImhhc0JlZW5WaWV3ZWRBbHRUZXh0IjoiWW91IGhhdmUgbm90IHdhdGNoZWQgdGhpcyBDbGlwLiJ9XSwiaGFzQmVlblZpZXdlZEltYWdlVXJsIjoiY3MvaGFzLW5vdC1iZWVuLXZpZXdlZC1jaGVja21hcmstMTUtdjEucG5nIiwiaGFzQmVlblZpZXdlZEFsdFRleHQiOiJZb3UgaGF2ZSBub3Qgd2F0Y2hlZCB0aGlzIE1vZHVsZS4ifSx7InVzZXJNYXlWaWV3Rmlyc3RDbGlwIjpmYWxzZSwibW9kdWxlUmVmIjoicnVzdHktZGl2aW5lL2FnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tNSIsInRpdGxlIjoiSW50cm9kdWN0aW9uIHRvIFdvcmtpbmcgdGhlIFByb2plY3QiLCJkZXNjcmlwdGlvbiI6IllvdSd2ZSB3b24gdGhlIHByb2plY3QsIG5vdyB3aGF0PyBIZXJlIGlzIGhvdyBvbmUgZW50ZXJwcmlzZSBhZ2lsZSB0ZWFtIGV4ZWN1dGVzIHByb2plY3RzLiIsImR1cmF0aW9uIjoiMDA6MTQ6MjUiLCJoYXNCZWVuVmlld2VkIjpmYWxzZSwiaXNIaWdobGlnaHRlZCI6ZmFsc2UsImZyYWdtZW50SWRlbnRpZmllciI6ImFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tNSIsImZpcnN0Q2xpcExhdW5jaENsaWNrSGFuZGxlciI6ImF1dGhvcj1ydXN0eS1kaXZpbmUmbmFtZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTUmbW9kZT1saXZlJmNsaXA9MCZjb3Vyc2U9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0IiwidXNlck1heUJvb2ttYXJrIjpmYWxzZSwiaXNCb29rbWFya2VkIjpmYWxzZSwiY2xpcHMiOlt7InRyYW5zY3JpcHRzIjpbXSwiY2xpcEluZGV4IjowLCJ0aXRsZSI6IkludHJvZHVjdGlvbiIsImhhc0JlZW5WaWV3ZWQiOmZhbHNlLCJkdXJhdGlvbiI6IjAwOjAwOjMzIiwicGxheWVyUGFyYW1ldGVycyI6ImF1dGhvcj1ydXN0eS1kaXZpbmUmbmFtZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QtbTUmbW9kZT1saXZlJmNsaXA9MCZjb3Vyc2U9YWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0IiwidXNlck1heVZpZXdDbGlwIjpmYWxzZSwiY2xpY2tBY3Rpb25EZXNjcmlwdGlvbiI6IlZpZXcgd2l0aCBwbGF5ZXIiLCJpc0hpZ2hsaWdodGVkIjpmYWxzZSwibmFtZSI6ImFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tNS0wMSIsImlzQm9va21hcmtlZCI6ZmFsc2UsImhhc0JlZW5WaWV3ZWRJbWFnZVVybCI6ImNzL2hhcy1ub3QtYmVlbi12aWV3ZWQtY2hlY2ttYXJrLTE1LXYxLnBuZyIsImhhc0JlZW5WaWV3ZWRBbHRUZXh0IjoiWW91IGhhdmUgbm90IHdhdGNoZWQgdGhpcyBDbGlwLiJ9LHsidHJhbnNjcmlwdHMiOltdLCJjbGlwSW5kZXgiOjEsInRpdGxlIjoiR2V0dGluZyBTdGFydGVkIiwiaGFzQmVlblZpZXdlZCI6ZmFsc2UsImR1cmF0aW9uIjoiMDA6MDI6MzgiLCJwbGF5ZXJQYXJhbWV0ZXJzIjoiYXV0aG9yPXJ1c3R5LWRpdmluZSZuYW1lPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tNSZtb2RlPWxpdmUmY2xpcD0xJmNvdXJzZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QiLCJ1c2VyTWF5Vmlld0NsaXAiOmZhbHNlLCJjbGlja0FjdGlvbkRlc2NyaXB0aW9uIjoiVmlldyB3aXRoIHBsYXllciIsImlzSGlnaGxpZ2h0ZWQiOmZhbHNlLCJuYW1lIjoiYWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW01LTAyIiwiaXNCb29rbWFya2VkIjpmYWxzZSwiaGFzQmVlblZpZXdlZEltYWdlVXJsIjoiY3MvaGFzLW5vdC1iZWVuLXZpZXdlZC1jaGVja21hcmstMTUtdjEucG5nIiwiaGFzQmVlblZpZXdlZEFsdFRleHQiOiJZb3UgaGF2ZSBub3Qgd2F0Y2hlZCB0aGlzIENsaXAuIn0seyJ0cmFuc2NyaXB0cyI6W10sImNsaXBJbmRleCI6MiwidGl0bGUiOiJUaGUgSXRlcmF0aW9uIiwiaGFzQmVlblZpZXdlZCI6ZmFsc2UsImR1cmF0aW9uIjoiMDA6MDY6MDUiLCJwbGF5ZXJQYXJhbWV0ZXJzIjoiYXV0aG9yPXJ1c3R5LWRpdmluZSZuYW1lPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tNSZtb2RlPWxpdmUmY2xpcD0yJmNvdXJzZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QiLCJ1c2VyTWF5Vmlld0NsaXAiOmZhbHNlLCJjbGlja0FjdGlvbkRlc2NyaXB0aW9uIjoiVmlldyB3aXRoIHBsYXllciIsImlzSGlnaGxpZ2h0ZWQiOmZhbHNlLCJuYW1lIjoiYWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW01LTAzIiwiaXNCb29rbWFya2VkIjpmYWxzZSwiaGFzQmVlblZpZXdlZEltYWdlVXJsIjoiY3MvaGFzLW5vdC1iZWVuLXZpZXdlZC1jaGVja21hcmstMTUtdjEucG5nIiwiaGFzQmVlblZpZXdlZEFsdFRleHQiOiJZb3UgaGF2ZSBub3Qgd2F0Y2hlZCB0aGlzIENsaXAuIn0seyJ0cmFuc2NyaXB0cyI6W10sImNsaXBJbmRleCI6MywidGl0bGUiOiJEZW1vbnN0cmF0aW9uIiwiaGFzQmVlblZpZXdlZCI6ZmFsc2UsImR1cmF0aW9uIjoiMDA6MDI6MzIiLCJwbGF5ZXJQYXJhbWV0ZXJzIjoiYXV0aG9yPXJ1c3R5LWRpdmluZSZuYW1lPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tNSZtb2RlPWxpdmUmY2xpcD0zJmNvdXJzZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QiLCJ1c2VyTWF5Vmlld0NsaXAiOmZhbHNlLCJjbGlja0FjdGlvbkRlc2NyaXB0aW9uIjoiVmlldyB3aXRoIHBsYXllciIsImlzSGlnaGxpZ2h0ZWQiOmZhbHNlLCJuYW1lIjoiYWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW01LTA0IiwiaXNCb29rbWFya2VkIjpmYWxzZSwiaGFzQmVlblZpZXdlZEltYWdlVXJsIjoiY3MvaGFzLW5vdC1iZWVuLXZpZXdlZC1jaGVja21hcmstMTUtdjEucG5nIiwiaGFzQmVlblZpZXdlZEFsdFRleHQiOiJZb3UgaGF2ZSBub3Qgd2F0Y2hlZCB0aGlzIENsaXAuIn0seyJ0cmFuc2NyaXB0cyI6W10sImNsaXBJbmRleCI6NCwidGl0bGUiOiJSZXRyb3NwZWN0aXZlIiwiaGFzQmVlblZpZXdlZCI6ZmFsc2UsImR1cmF0aW9uIjoiMDA6MDE6NTMiLCJwbGF5ZXJQYXJhbWV0ZXJzIjoiYXV0aG9yPXJ1c3R5LWRpdmluZSZuYW1lPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tNSZtb2RlPWxpdmUmY2xpcD00JmNvdXJzZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QiLCJ1c2VyTWF5Vmlld0NsaXAiOmZhbHNlLCJjbGlja0FjdGlvbkRlc2NyaXB0aW9uIjoiVmlldyB3aXRoIHBsYXllciIsImlzSGlnaGxpZ2h0ZWQiOmZhbHNlLCJuYW1lIjoiYWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW01LTA1IiwiaXNCb29rbWFya2VkIjpmYWxzZSwiaGFzQmVlblZpZXdlZEltYWdlVXJsIjoiY3MvaGFzLW5vdC1iZWVuLXZpZXdlZC1jaGVja21hcmstMTUtdjEucG5nIiwiaGFzQmVlblZpZXdlZEFsdFRleHQiOiJZb3UgaGF2ZSBub3Qgd2F0Y2hlZCB0aGlzIENsaXAuIn0seyJ0cmFuc2NyaXB0cyI6W10sImNsaXBJbmRleCI6NSwidGl0bGUiOiJTdW1tYXJ5IiwiaGFzQmVlblZpZXdlZCI6ZmFsc2UsImR1cmF0aW9uIjoiMDA6MDA6NDIiLCJwbGF5ZXJQYXJhbWV0ZXJzIjoiYXV0aG9yPXJ1c3R5LWRpdmluZSZuYW1lPWFnaWxlLXJlcXVpcmVtZW50cy1wcm9jZXNzLWlkZWEtdG8tbWluaW11bS12aWFibGUtcHJvZHVjdC1tNSZtb2RlPWxpdmUmY2xpcD01JmNvdXJzZT1hZ2lsZS1yZXF1aXJlbWVudHMtcHJvY2Vzcy1pZGVhLXRvLW1pbmltdW0tdmlhYmxlLXByb2R1Y3QiLCJ1c2VyTWF5Vmlld0NsaXAiOmZhbHNlLCJjbGlja0FjdGlvbkRlc2NyaXB0aW9uIjoiVmlldyB3aXRoIHBsYXllciIsImlzSGlnaGxpZ2h0ZWQiOmZhbHNlLCJuYW1lIjoiYWdpbGUtcmVxdWlyZW1lbnRzLXByb2Nlc3MtaWRlYS10by1taW5pbXVtLXZpYWJsZS1wcm9kdWN0LW01LTA2IiwiaXNCb29rbWFya2VkIjpmYWxzZSwiaGFzQmVlblZpZXdlZEltYWdlVXJsIjoiY3MvaGFzLW5vdC1iZWVuLXZpZXdlZC1jaGVja21hcmstMTUtdjEucG5nIiwiaGFzQmVlblZpZXdlZEFsdFRleHQiOiJZb3UgaGF2ZSBub3Qgd2F0Y2hlZCB0aGlzIENsaXAuIn1dLCJoYXNCZWVuVmlld2VkSW1hZ2VVcmwiOiJjcy9oYXMtbm90LWJlZW4tdmlld2VkLWNoZWNrbWFyay0xNS12MS5wbmciLCJoYXNCZWVuVmlld2VkQWx0VGV4dCI6IllvdSBoYXZlIG5vdCB3YXRjaGVkIHRoaXMgTW9kdWxlLiJ9XQ==
[download] Downloading playlist: Agile Requirements Process: From Idea to Minimum Viable Product
[pluralsight:course] playlist Agile Requirements Process: From Idea to Minimum Viable Product: Collected 38 video ids (downloading 1 of them)
[download] Downloading video 1 of 1
[pluralsight] Downloading login page
[pluralsight] Dumping request to https://app.pluralsight.com/id/
PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxoZWFkPg0KICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij53aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5mbyA9IHsiYmVhY29uIjoiYmFtLm5yLWRhdGEubmV0IiwiZXJyb3JCZWFjb24iOiJiYW0ubnItZGF0YS5uZXQiLCJsaWNlbnNlS2V5IjoiMjcwMGFmOGEzYyIsImFwcGxpY2F0aW9uSUQiOiI4Mjk1NzM1IiwidHJhbnNhY3Rpb25OYW1lIjoiWjFaUk4wRURDRU1EQUJWWVdsNGNmalZ3VFRWWkJRMG9YM1pmWFVjUlhBNEtWUkJNS0Y5UlZVcz0iLCJxdWV1ZVRpbWUiOjAsImFwcGxpY2F0aW9uVGltZSI6OCwidHRHdWlkIjoiQkQ5NzQ2NzYxMEM3NUNGNSIsImFnZW50IjoiIn08L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+KHdpbmRvdy5OUkVVTXx8KE5SRVVNPXt9KSkubG9hZGVyX2NvbmZpZz17eHBpZDoiVndVR1ZsNVZHd3NDWFZSVkJBUT0ifTt3aW5kb3cuTlJFVU18fChOUkVVTT17fSksX19ucl9yZXF1aXJlPWZ1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKG4pe2lmKCFlW25dKXt2YXIgbz1lW25dPXtleHBvcnRzOnt9fTt0W25dWzBdLmNhbGwoby5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBvPXRbbl1bMV1bZV07cmV0dXJuIHIob3x8ZSl9LG8sby5leHBvcnRzKX1yZXR1cm4gZVtuXS5leHBvcnRzfWlmKCJmdW5jdGlvbiI9PXR5cGVvZiBfX25yX3JlcXVpcmUpcmV0dXJuIF9fbnJfcmVxdWlyZTtmb3IodmFyIG89MDtvPG4ubGVuZ3RoO28rKylyKG5bb10pO3JldHVybiByfSh7MTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7dHJ5e3MuY29uc29sZSYmY29uc29sZS5sb2codCl9Y2F0Y2goZSl7fX12YXIgbyxpPXQoImVlIiksYT10KDE1KSxzPXt9O3RyeXtvPWxvY2FsU3RvcmFnZS5nZXRJdGVtKCJfX25yX2ZsYWdzIikuc3BsaXQoIiwiKSxjb25zb2xlJiYiZnVuY3Rpb24iPT10eXBlb2YgY29uc29sZS5sb2cmJihzLmNvbnNvbGU9ITAsby5pbmRleE9mKCJkZXYiKSE9PS0xJiYocy5kZXY9ITApLG8uaW5kZXhPZigibnJfZGV2IikhPT0tMSYmKHMubnJEZXY9ITApKX1jYXRjaChjKXt9cy5uckRldiYmaS5vbigiaW50ZXJuYWwtZXJyb3IiLGZ1bmN0aW9uKHQpe3IodC5zdGFjayl9KSxzLmRldiYmaS5vbigiZm4tZXJyIixmdW5jdGlvbih0LGUsbil7cihuLnN0YWNrKX0pLHMuZGV2JiYocigiTlIgQUdFTlQgSU4gREVWRUxPUE1FTlQgTU9ERSIpLHIoImZsYWdzOiAiK2EocyxmdW5jdGlvbih0LGUpe3JldHVybiB0fSkuam9pbigiLCAiKSkpfSx7fV0sMjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scixvKXt0cnl7ZD9kLT0xOmkoImVyciIsW298fG5ldyBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbildKX1jYXRjaChzKXt0cnl7aSgiaWVyciIsW3MsKG5ldyBEYXRlKS5nZXRUaW1lKCksITBdKX1jYXRjaChjKXt9fXJldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBmJiZmLmFwcGx5KHRoaXMsYShhcmd1bWVudHMpKX1mdW5jdGlvbiBVbmNhdWdodEV4Y2VwdGlvbih0LGUsbil7dGhpcy5tZXNzYWdlPXR8fCJVbmNhdWdodCBlcnJvciB3aXRoIG5vIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24iLHRoaXMuc291cmNlVVJMPWUsdGhpcy5saW5lPW59ZnVuY3Rpb24gbyh0KXtpKCJlcnIiLFt0LChuZXcgRGF0ZSkuZ2V0VGltZSgpXSl9dmFyIGk9dCgiaGFuZGxlIiksYT10KDE2KSxzPXQoImVlIiksYz10KCJsb2FkZXIiKSxmPXdpbmRvdy5vbmVycm9yLHU9ITEsZD0wO2MuZmVhdHVyZXMuZXJyPSEwLHQoMSksd2luZG93Lm9uZXJyb3I9cjt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKGwpeyJzdGFjayJpbiBsJiYodCg4KSx0KDcpLCJhZGRFdmVudExpc3RlbmVyImluIHdpbmRvdyYmdCg1KSxjLnhocldyYXBwYWJsZSYmdCg5KSx1PSEwKX1zLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe3UmJihkKz0xKX0pLHMub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3UmJih0aGlzLnRocm93bj0hMCxvKG4pKX0pLHMub24oImZuLWVuZCIsZnVuY3Rpb24oKXt1JiYhdGhpcy50aHJvd24mJmQ+MCYmKGQtPTEpfSkscy5vbigiaW50ZXJuYWwtZXJyb3IiLGZ1bmN0aW9uKHQpe2koImllcnIiLFt0LChuZXcgRGF0ZSkuZ2V0VGltZSgpLCEwXSl9KX0se31dLDM6W2Z1bmN0aW9uKHQsZSxuKXt0KCJsb2FkZXIiKS5mZWF0dXJlcy5pbnM9ITB9LHt9XSw0OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt9aWYod2luZG93LnBlcmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nJiZ3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSl7dmFyIG89dCgiZWUiKSxpPXQoImhhbmRsZSIpLGE9dCg4KSxzPXQoNyksYz0ibGVhclJlc291cmNlVGltaW5ncyIsZj0iYWRkRXZlbnRMaXN0ZW5lciIsdT0icmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIixkPSJic3RSZXNvdXJjZSIsbD0icmVzb3VyY2UiLHA9Ii1zdGFydCIsaD0iLWVuZCIsbT0iZm4iK3Asdz0iZm4iK2gsdj0iYnN0VGltZXIiLHk9InB1c2hTdGF0ZSI7dCgibG9hZGVyIikuZmVhdHVyZXMuc3RuPSEwLHQoNik7dmFyIGc9TlJFVU0uby5FVjtvLm9uKG0sZnVuY3Rpb24odCxlKXt2YXIgbj10WzBdO24gaW5zdGFuY2VvZiBnJiYodGhpcy5ic3RTdGFydD1EYXRlLm5vdygpKX0pLG8ub24odyxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIGcmJmkoImJzdCIsW24sZSx0aGlzLmJzdFN0YXJ0LERhdGUubm93KCldKX0pLGEub24obSxmdW5jdGlvbih0LGUsbil7dGhpcy5ic3RTdGFydD1EYXRlLm5vdygpLHRoaXMuYnN0VHlwZT1ufSksYS5vbih3LGZ1bmN0aW9uKHQsZSl7aSh2LFtlLHRoaXMuYnN0U3RhcnQsRGF0ZS5ub3coKSx0aGlzLmJzdFR5cGVdKX0pLHMub24obSxmdW5jdGlvbigpe3RoaXMuYnN0U3RhcnQ9RGF0ZS5ub3coKX0pLHMub24odyxmdW5jdGlvbih0LGUpe2kodixbZSx0aGlzLmJzdFN0YXJ0LERhdGUubm93KCksInJlcXVlc3RBbmltYXRpb25GcmFtZSJdKX0pLG8ub24oeStwLGZ1bmN0aW9uKHQpe3RoaXMudGltZT1EYXRlLm5vdygpLHRoaXMuc3RhcnRQYXRoPWxvY2F0aW9uLnBhdGhuYW1lK2xvY2F0aW9uLmhhc2h9KSxvLm9uKHkraCxmdW5jdGlvbih0KXtpKCJic3RIaXN0IixbbG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaCx0aGlzLnN0YXJ0UGF0aCx0aGlzLnRpbWVdKX0pLGYgaW4gd2luZG93LnBlcmZvcm1hbmNlJiYod2luZG93LnBlcmZvcm1hbmNlWyJjIitjXT93aW5kb3cucGVyZm9ybWFuY2VbZl0odSxmdW5jdGlvbih0KXtpKGQsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKGwpXSksd2luZG93LnBlcmZvcm1hbmNlWyJjIitjXSgpfSwhMSk6d2luZG93LnBlcmZvcm1hbmNlW2ZdKCJ3ZWJraXQiK3UsZnVuY3Rpb24odCl7aShkLFt3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZShsKV0pLHdpbmRvdy5wZXJmb3JtYW5jZVsid2Via2l0QyIrY10oKX0sITEpKSxkb2N1bWVudFtmXSgic2Nyb2xsIixyLCExKSxkb2N1bWVudFtmXSgia2V5cHJlc3MiLHIsITEpLGRvY3VtZW50W2ZdKCJjbGljayIsciwhMSl9fSx7fV0sNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7Zm9yKHZhciBlPXQ7ZSYmIWUuaGFzT3duUHJvcGVydHkodSk7KWU9T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpO2UmJm8oZSl9ZnVuY3Rpb24gbyh0KXtzLmluUGxhY2UodCxbdSxkXSwiLSIsaSl9ZnVuY3Rpb24gaSh0LGUpe3JldHVybiB0WzFdfXZhciBhPXQoImVlIikuZ2V0KCJldmVudHMiKSxzPXQoMTcpKGEpLGM9dCgiZ29zIiksZj1YTUxIdHRwUmVxdWVzdCx1PSJhZGRFdmVudExpc3RlbmVyIixkPSJyZW1vdmVFdmVudExpc3RlbmVyIjtlLmV4cG9ydHM9YSwiZ2V0UHJvdG90eXBlT2YiaW4gT2JqZWN0PyhyKGRvY3VtZW50KSxyKHdpbmRvdykscihmLnByb3RvdHlwZSkpOmYucHJvdG90eXBlLmhhc093blByb3BlcnR5KHUpJiYobyh3aW5kb3cpLG8oZi5wcm90b3R5cGUpKSxhLm9uKHUrIi1zdGFydCIsZnVuY3Rpb24odCxlKXtpZih0WzFdKXt2YXIgbj10WzFdO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBuKXt2YXIgcj1jKG4sIm5yQHdyYXBwZWQiLGZ1bmN0aW9uKCl7cmV0dXJuIHMobiwiZm4tIixudWxsLG4ubmFtZXx8ImFub255bW91cyIpfSk7dGhpcy53cmFwcGVkPXRbMV09cn1lbHNlImZ1bmN0aW9uIj09dHlwZW9mIG4uaGFuZGxlRXZlbnQmJnMuaW5QbGFjZShuLFsiaGFuZGxlRXZlbnQiXSwiZm4tIil9fSksYS5vbihkKyItc3RhcnQiLGZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMud3JhcHBlZDtlJiYodFsxXT1lKX0pfSx7fV0sNjpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXQoImVlIikuZ2V0KCJoaXN0b3J5Iiksbz10KDE3KShyKTtlLmV4cG9ydHM9cixvLmluUGxhY2Uod2luZG93Lmhpc3RvcnksWyJwdXNoU3RhdGUiLCJyZXBsYWNlU3RhdGUiXSwiLSIpfSx7fV0sNzpbZnVuY3Rpb24odCxlLG4pe3ZhciByPXQoImVlIikuZ2V0KCJyYWYiKSxvPXQoMTcpKHIpLGk9ImVxdWVzdEFuaW1hdGlvbkZyYW1lIjtlLmV4cG9ydHM9cixvLmluUGxhY2Uod2luZG93LFsiciIraSwibW96UiIraSwid2Via2l0UiIraSwibXNSIitpXSwicmFmLSIpLHIub24oInJhZi1zdGFydCIsZnVuY3Rpb24odCl7dFswXT1vKHRbMF0sImZuLSIpfSl9LHt9XSw4OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj0ibnVtYmVyIj09dHlwZW9mIHRbMV0/dFsxXTowLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KDE3KShpKSxzPSJzZXRUaW1lb3V0IixjPSJzZXRJbnRlcnZhbCIsZj0iY2xlYXJUaW1lb3V0Iix1PSItc3RhcnQiLGQ9Ii0iO2UuZXhwb3J0cz1pLGEuaW5QbGFjZSh3aW5kb3csW3MsInNldEltbWVkaWF0ZSJdLHMrZCksYS5pblBsYWNlKHdpbmRvdyxbY10sYytkKSxhLmluUGxhY2Uod2luZG93LFtmLCJjbGVhckltbWVkaWF0ZSJdLGYrZCksaS5vbihjK3UsciksaS5vbihzK3Usbyl9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe2QuaW5QbGFjZShlLFsib25yZWFkeXN0YXRlY2hhbmdlIl0sImZuLSIscyl9ZnVuY3Rpb24gbygpe3ZhciB0PXRoaXMsZT11LmNvbnRleHQodCk7dC5yZWFkeVN0YXRlPjMmJiFlLnJlc29sdmVkJiYoZS5yZXNvbHZlZD0hMCx1LmVtaXQoInhoci1yZXNvbHZlZCIsW10sdCkpLGQuaW5QbGFjZSh0LHcsImZuLSIscyl9ZnVuY3Rpb24gaSh0KXt2LnB1c2godCksaCYmKGc9LWcsYi5kYXRhPWcpfWZ1bmN0aW9uIGEoKXtmb3IodmFyIHQ9MDt0PHYubGVuZ3RoO3QrKylyKFtdLHZbdF0pO3YubGVuZ3RoJiYodj1bXSl9ZnVuY3Rpb24gcyh0LGUpe3JldHVybiBlfWZ1bmN0aW9uIGModCxlKXtmb3IodmFyIG4gaW4gdCllW25dPXRbbl07cmV0dXJuIGV9dCg1KTt2YXIgZj10KCJlZSIpLHU9Zi5nZXQoInhociIpLGQ9dCgxNykodSksbD1OUkVVTS5vLHA9bC5YSFIsaD1sLk1PLG09InJlYWR5c3RhdGVjaGFuZ2UiLHc9WyJvbmxvYWQiLCJvbmVycm9yIiwib25hYm9ydCIsIm9ubG9hZHN0YXJ0Iiwib25sb2FkZW5kIiwib25wcm9ncmVzcyIsIm9udGltZW91dCJdLHY9W107ZS5leHBvcnRzPXU7dmFyIHk9d2luZG93LlhNTEh0dHBSZXF1ZXN0PWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyBwKHQpO3RyeXt1LmVtaXQoIm5ldy14aHIiLFtlXSxlKSxlLmFkZEV2ZW50TGlzdGVuZXIobSxvLCExKX1jYXRjaChuKXt0cnl7dS5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fXJldHVybiBlfTtpZihjKHAseSkseS5wcm90b3R5cGU9cC5wcm90b3R5cGUsZC5pblBsYWNlKHkucHJvdG90eXBlLFsib3BlbiIsInNlbmQiXSwiLXhoci0iLHMpLHUub24oInNlbmQteGhyLXN0YXJ0IixmdW5jdGlvbih0LGUpe3IodCxlKSxpKGUpfSksdS5vbigib3Blbi14aHItc3RhcnQiLHIpLGgpe3ZhciBnPTEsYj1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShnKTtuZXcgaChhKS5vYnNlcnZlKGIse2NoYXJhY3RlckRhdGE6ITB9KX1lbHNlIGYub24oImZuLWVuZCIsZnVuY3Rpb24odCl7dFswXSYmdFswXS50eXBlPT09bXx8YSgpfSl9LHt9XSwxMDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7dmFyIGU9dGhpcy5wYXJhbXMsbj10aGlzLm1ldHJpY3M7aWYoIXRoaXMuZW5kZWQpe3RoaXMuZW5kZWQ9ITA7Zm9yKHZhciByPTA7cjxkO3IrKyl0LnJlbW92ZUV2ZW50TGlzdGVuZXIodVtyXSx0aGlzLmxpc3RlbmVyLCExKTtpZighZS5hYm9ydGVkKXtpZihuLmR1cmF0aW9uPShuZXcgRGF0ZSkuZ2V0VGltZSgpLXRoaXMuc3RhcnRUaW1lLDQ9PT10LnJlYWR5U3RhdGUpe2Uuc3RhdHVzPXQuc3RhdHVzO3ZhciBpPW8odCx0aGlzLmxhc3RTaXplKTtpZihpJiYobi5yeFNpemU9aSksdGhpcy5zYW1lT3JpZ2luKXt2YXIgYT10LmdldFJlc3BvbnNlSGVhZGVyKCJYLU5ld1JlbGljLUFwcC1EYXRhIik7YSYmKGUuY2F0PWEuc3BsaXQoIiwgIikucG9wKCkpfX1lbHNlIGUuc3RhdHVzPTA7bi5jYlRpbWU9dGhpcy5jYlRpbWUsZi5lbWl0KCJ4aHItZG9uZSIsW3RdLHQpLHMoInhociIsW2Usbix0aGlzLnN0YXJ0VGltZV0pfX19ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXQucmVzcG9uc2VUeXBlO2lmKCJqc29uIj09PW4mJm51bGwhPT1lKXJldHVybiBlO3ZhciByPSJhcnJheWJ1ZmZlciI9PT1ufHwiYmxvYiI9PT1ufHwianNvbiI9PT1uP3QucmVzcG9uc2U6dC5yZXNwb25zZVRleHQ7cmV0dXJuIGgocil9ZnVuY3Rpb24gaSh0LGUpe3ZhciBuPWMoZSkscj10LnBhcmFtcztyLmhvc3Q9bi5ob3N0bmFtZSsiOiIrbi5wb3J0LHIucGF0aG5hbWU9bi5wYXRobmFtZSx0LnNhbWVPcmlnaW49bi5zYW1lT3JpZ2lufXZhciBhPXQoImxvYWRlciIpO2lmKGEueGhyV3JhcHBhYmxlKXt2YXIgcz10KCJoYW5kbGUiKSxjPXQoMTEpLGY9dCgiZWUiKSx1PVsibG9hZCIsImVycm9yIiwiYWJvcnQiLCJ0aW1lb3V0Il0sZD11Lmxlbmd0aCxsPXQoImlkIikscD10KDE0KSxoPXQoMTMpLG09d2luZG93LlhNTEh0dHBSZXF1ZXN0O2EuZmVhdHVyZXMueGhyPSEwLHQoOSksZi5vbigibmV3LXhociIsZnVuY3Rpb24odCl7dmFyIGU9dGhpcztlLnRvdGFsQ2JzPTAsZS5jYWxsZWQ9MCxlLmNiVGltZT0wLGUuZW5kPXIsZS5lbmRlZD0hMSxlLnhockd1aWRzPXt9LGUubGFzdFNpemU9bnVsbCxwJiYocD4zNHx8cDwxMCl8fHdpbmRvdy5vcGVyYXx8dC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24odCl7ZS5sYXN0U2l6ZT10LmxvYWRlZH0sITEpfSksZi5vbigib3Blbi14aHItc3RhcnQiLGZ1bmN0aW9uKHQpe3RoaXMucGFyYW1zPXttZXRob2Q6dFswXX0saSh0aGlzLHRbMV0pLHRoaXMubWV0cmljcz17fX0pLGYub24oIm9wZW4teGhyLWVuZCIsZnVuY3Rpb24odCxlKXsibG9hZGVyX2NvbmZpZyJpbiBOUkVVTSYmInhwaWQiaW4gTlJFVU0ubG9hZGVyX2NvbmZpZyYmdGhpcy5zYW1lT3JpZ2luJiZlLnNldFJlcXVlc3RIZWFkZXIoIlgtTmV3UmVsaWMtSUQiLE5SRVVNLmxvYWRlcl9jb25maWcueHBpZCl9KSxmLm9uKCJzZW5kLXhoci1zdGFydCIsZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLm1ldHJpY3Mscj10WzBdLG89dGhpcztpZihuJiZyKXt2YXIgaT1oKHIpO2kmJihuLnR4U2l6ZT1pKX10aGlzLnN0YXJ0VGltZT0obmV3IERhdGUpLmdldFRpbWUoKSx0aGlzLmxpc3RlbmVyPWZ1bmN0aW9uKHQpe3RyeXsiYWJvcnQiPT09dC50eXBlJiYoby5wYXJhbXMuYWJvcnRlZD0hMCksKCJsb2FkIiE9PXQudHlwZXx8by5jYWxsZWQ9PT1vLnRvdGFsQ2JzJiYoby5vbmxvYWRDYWxsZWR8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm9ubG9hZCkpJiZvLmVuZChlKX1jYXRjaChuKXt0cnl7Zi5lbWl0KCJpbnRlcm5hbC1lcnJvciIsW25dKX1jYXRjaChyKXt9fX07Zm9yKHZhciBhPTA7YTxkO2ErKyllLmFkZEV2ZW50TGlzdGVuZXIodVthXSx0aGlzLmxpc3RlbmVyLCExKX0pLGYub24oInhoci1jYi10aW1lIixmdW5jdGlvbih0LGUsbil7dGhpcy5jYlRpbWUrPXQsZT90aGlzLm9ubG9hZENhbGxlZD0hMDp0aGlzLmNhbGxlZCs9MSx0aGlzLmNhbGxlZCE9PXRoaXMudG90YWxDYnN8fCF0aGlzLm9ubG9hZENhbGxlZCYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25sb2FkfHx0aGlzLmVuZChuKX0pLGYub24oInhoci1sb2FkLWFkZGVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJiF0aGlzLnhockd1aWRzW25dJiYodGhpcy54aHJHdWlkc1tuXT0hMCx0aGlzLnRvdGFsQ2JzKz0xKX0pLGYub24oInhoci1sb2FkLXJlbW92ZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrbCh0KSshIWU7dGhpcy54aHJHdWlkcyYmdGhpcy54aHJHdWlkc1tuXSYmKGRlbGV0ZSB0aGlzLnhockd1aWRzW25dLHRoaXMudG90YWxDYnMtPTEpfSksZi5vbigiYWRkRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIG0mJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtYWRkZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigicmVtb3ZlRXZlbnRMaXN0ZW5lci1lbmQiLGZ1bmN0aW9uKHQsZSl7ZSBpbnN0YW5jZW9mIG0mJiJsb2FkIj09PXRbMF0mJmYuZW1pdCgieGhyLWxvYWQtcmVtb3ZlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJmbi1zdGFydCIsZnVuY3Rpb24odCxlLG4pe2UgaW5zdGFuY2VvZiBtJiYoIm9ubG9hZCI9PT1uJiYodGhpcy5vbmxvYWQ9ITApLCgibG9hZCI9PT0odFswXSYmdFswXS50eXBlKXx8dGhpcy5vbmxvYWQpJiYodGhpcy54aHJDYlN0YXJ0PShuZXcgRGF0ZSkuZ2V0VGltZSgpKSl9KSxmLm9uKCJmbi1lbmQiLGZ1bmN0aW9uKHQsZSl7dGhpcy54aHJDYlN0YXJ0JiZmLmVtaXQoInhoci1jYi10aW1lIixbKG5ldyBEYXRlKS5nZXRUaW1lKCktdGhpcy54aHJDYlN0YXJ0LHRoaXMub25sb2FkLGVdLGUpfSl9fSx7fV0sMTE6W2Z1bmN0aW9uKHQsZSxuKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLG49d2luZG93LmxvY2F0aW9uLHI9e307ZS5ocmVmPXQsci5wb3J0PWUucG9ydDt2YXIgbz1lLmhyZWYuc3BsaXQoIjovLyIpOyFyLnBvcnQmJm9bMV0mJihyLnBvcnQ9b1sxXS5zcGxpdCgiLyIpWzBdLnNwbGl0KCJAIikucG9wKCkuc3BsaXQoIjoiKVsxXSksci5wb3J0JiYiMCIhPT1yLnBvcnR8fChyLnBvcnQ9Imh0dHBzIj09PW9bMF0/IjQ0MyI6IjgwIiksci5ob3N0bmFtZT1lLmhvc3RuYW1lfHxuLmhvc3RuYW1lLHIucGF0aG5hbWU9ZS5wYXRobmFtZSxyLnByb3RvY29sPW9bMF0sIi8iIT09ci5wYXRobmFtZS5jaGFyQXQoMCkmJihyLnBhdGhuYW1lPSIvIityLnBhdGhuYW1lKTt2YXIgaT0hZS5wcm90b2NvbHx8IjoiPT09ZS5wcm90b2NvbHx8ZS5wcm90b2NvbD09PW4ucHJvdG9jb2wsYT1lLmhvc3RuYW1lPT09ZG9jdW1lbnQuZG9tYWluJiZlLnBvcnQ9PT1uLnBvcnQ7cmV0dXJuIHIuc2FtZU9yaWdpbj1pJiYoIWUuaG9zdG5hbWV8fGEpLHJ9fSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCxlLG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBpKHQsWyhuZXcgRGF0ZSkuZ2V0VGltZSgpXS5jb25jYXQocyhhcmd1bWVudHMpKSxlP251bGw6dGhpcyxuKSxlP3ZvaWQgMDp0aGlzfX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMTUpLHM9dCgxNiksYz10KCJlZSIpLmdldCgidHJhY2VyIiksZj1OUkVVTTsidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdy5uZXdyZWxpYyYmKG5ld3JlbGljPWYpO3ZhciB1PVsic2V0UGFnZVZpZXdOYW1lIiwic2V0Q3VzdG9tQXR0cmlidXRlIiwic2V0RXJyb3JIYW5kbGVyIiwiZmluaXNoZWQiLCJhZGRUb1RyYWNlIiwiaW5saW5lSGl0Il0sZD0iYXBpLSIsbD1kKyJpeG4tIjthKHUsZnVuY3Rpb24odCxlKXtmW2VdPW8oZCtlLCEwLCJhcGkiKX0pLGYuYWRkUGFnZUFjdGlvbj1vKGQrImFkZFBhZ2VBY3Rpb24iLCEwKSxlLmV4cG9ydHM9bmV3cmVsaWMsZi5pbnRlcmFjdGlvbj1mdW5jdGlvbigpe3JldHVybihuZXcgcikuZ2V0KCl9O3ZhciBwPXIucHJvdG90eXBlPXtjcmVhdGVUcmFjZXI6ZnVuY3Rpb24odCxlKXt2YXIgbj17fSxyPXRoaXMsbz0iZnVuY3Rpb24iPT10eXBlb2YgZTtyZXR1cm4gaShsKyJ0cmFjZXIiLFtEYXRlLm5vdygpLHQsbl0sciksZnVuY3Rpb24oKXtpZihjLmVtaXQoKG8/IiI6Im5vLSIpKyJmbi1zdGFydCIsW0RhdGUubm93KCkscixvXSxuKSxvKXRyeXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZmluYWxseXtjLmVtaXQoImZuLWVuZCIsW0RhdGUubm93KCldLG4pfX19fTthKCJzZXROYW1lLHNldEF0dHJpYnV0ZSxzYXZlLGlnbm9yZSxvbkVuZCxnZXRDb250ZXh0LGVuZCxnZXQiLnNwbGl0KCIsIiksZnVuY3Rpb24odCxlKXtwW2VdPW8obCtlKX0pLG5ld3JlbGljLm5vdGljZUVycm9yPWZ1bmN0aW9uKHQpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IEVycm9yKHQpKSxpKCJlcnIiLFt0LChuZXcgRGF0ZSkuZ2V0VGltZSgpXSl9fSx7fV0sMTM6W2Z1bmN0aW9uKHQsZSxuKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoInN0cmluZyI9PXR5cGVvZiB0JiZ0Lmxlbmd0aClyZXR1cm4gdC5sZW5ndGg7aWYoIm9iamVjdCI9PXR5cGVvZiB0KXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiZ0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXImJnQuYnl0ZUxlbmd0aClyZXR1cm4gdC5ieXRlTGVuZ3RoO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgQmxvYiYmdCBpbnN0YW5jZW9mIEJsb2ImJnQuc2l6ZSlyZXR1cm4gdC5zaXplO2lmKCEoInVuZGVmaW5lZCIhPXR5cGVvZiBGb3JtRGF0YSYmdCBpbnN0YW5jZW9mIEZvcm1EYXRhKSl0cnl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHQpLmxlbmd0aH1jYXRjaChlKXtyZXR1cm59fX19LHt9XSwxNDpbZnVuY3Rpb24odCxlLG4pe3ZhciByPTAsbz1uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9GaXJlZm94W1wvXHNdKFxkK1wuXGQrKS8pO28mJihyPStvWzFdKSxlLmV4cG9ydHM9cn0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUpe3ZhciBuPVtdLHI9IiIsaT0wO2ZvcihyIGluIHQpby5jYWxsKHQscikmJihuW2ldPWUocix0W3JdKSxpKz0xKTtyZXR1cm4gbn12YXIgbz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2UuZXhwb3J0cz1yfSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuKXtlfHwoZT0wKSwidW5kZWZpbmVkIj09dHlwZW9mIG4mJihuPXQ/dC5sZW5ndGg6MCk7Zm9yKHZhciByPS0xLG89bi1lfHwwLGk9QXJyYXkobzwwPzA6byk7KytyPG87KWlbcl09dFtlK3JdO3JldHVybiBpfWUuZXhwb3J0cz1yfSx7fV0sMTc6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3JldHVybiEodCYmImZ1bmN0aW9uIj09dHlwZW9mIHQmJnQuYXBwbHkmJiF0W2FdKX12YXIgbz10KCJlZSIpLGk9dCgxNiksYT0ibnJAb3JpZ2luYWwiLHM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxjPSExO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKHQsZSxuLG8pe2Z1bmN0aW9uIG5yV3JhcHBlcigpe3ZhciByLGEscyxjO3RyeXthPXRoaXMscj1pKGFyZ3VtZW50cykscz0iZnVuY3Rpb24iPT10eXBlb2Ygbj9uKHIsYSk6bnx8e319Y2F0Y2godSl7ZChbdSwiIixbcixhLG9dLHNdKX1mKGUrInN0YXJ0IixbcixhLG9dLHMpO3RyeXtyZXR1cm4gYz10LmFwcGx5KGEscil9Y2F0Y2gobCl7dGhyb3cgZihlKyJlcnIiLFtyLGEsbF0scyksbH1maW5hbGx5e2YoZSsiZW5kIixbcixhLGNdLHMpfX1yZXR1cm4gcih0KT90OihlfHwoZT0iIiksbnJXcmFwcGVyW2FdPXQsdSh0LG5yV3JhcHBlciksbnJXcmFwcGVyKX1mdW5jdGlvbiBuKHQsbixvLGkpe298fChvPSIiKTt2YXIgYSxzLGMsZj0iLSI9PT1vLmNoYXJBdCgwKTtmb3IoYz0wO2M8bi5sZW5ndGg7YysrKXM9bltjXSxhPXRbc10scihhKXx8KHRbc109ZShhLGY/cytvOm8saSxzKSl9ZnVuY3Rpb24gZihlLG4scil7aWYoIWMpe2M9ITA7dHJ5e3QuZW1pdChlLG4scil9Y2F0Y2gobyl7ZChbbyxlLG4scl0pfWM9ITF9fWZ1bmN0aW9uIHUodCxlKXtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXt2YXIgbj1PYmplY3Qua2V5cyh0KTtyZXR1cm4gbi5mb3JFYWNoKGZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0W25dfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHRbbl09ZSxlfX0pfSksZX1jYXRjaChyKXtkKFtyXSl9Zm9yKHZhciBvIGluIHQpcy5jYWxsKHQsbykmJihlW29dPXRbb10pO3JldHVybiBlfWZ1bmN0aW9uIGQoZSl7dHJ5e3QuZW1pdCgiaW50ZXJuYWwtZXJyb3IiLGUpfWNhdGNoKG4pe319cmV0dXJuIHR8fCh0PW8pLGUuaW5QbGFjZT1uLGUuZmxhZz1hLGV9fSx7fV0sZWU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIG8odCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdCBpbnN0YW5jZW9mIHI/dDp0P3ModCxhLGkpOmkoKX1mdW5jdGlvbiBuKG4scixvKXt0JiZ0KG4scixvKTtmb3IodmFyIGk9ZShvKSxhPWwobikscz1hLmxlbmd0aCxjPTA7YzxzO2MrKylhW2NdLmFwcGx5KGkscik7dmFyIHU9Zlt3W25dXTtyZXR1cm4gdSYmdS5wdXNoKFt2LG4scixpXSksaX1mdW5jdGlvbiBkKHQsZSl7bVt0XT1sKHQpLmNvbmNhdChlKX1mdW5jdGlvbiBsKHQpe3JldHVybiBtW3RdfHxbXX1mdW5jdGlvbiBwKHQpe3JldHVybiB1W3RdPXVbdF18fG8obil9ZnVuY3Rpb24gaCh0LGUpe2ModCxmdW5jdGlvbih0LG4pe2U9ZXx8ImZlYXR1cmUiLHdbbl09ZSxlIGluIGZ8fChmW2VdPVtdKX0pfXZhciBtPXt9LHc9e30sdj17b246ZCxlbWl0Om4sZ2V0OnAsbGlzdGVuZXJzOmwsY29udGV4dDplLGJ1ZmZlcjpofTtyZXR1cm4gdn1mdW5jdGlvbiBpKCl7cmV0dXJuIG5ldyByfXZhciBhPSJuckBjb250ZXh0IixzPXQoImdvcyIpLGM9dCgxNSksZj17fSx1PXt9LGQ9ZS5leHBvcnRzPW8oKTtkLmJhY2tsb2c9Zn0se31dLGdvczpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe2lmKG8uY2FsbCh0LGUpKXJldHVybiB0W2VdO3ZhciByPW4oKTtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5rZXlzKXRyeXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6cix3cml0YWJsZTohMCxlbnVtZXJhYmxlOiExfSkscn1jYXRjaChpKXt9cmV0dXJuIHRbZV09cixyfXZhciBvPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7ZS5leHBvcnRzPXJ9LHt9XSxoYW5kbGU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIpe28uYnVmZmVyKFt0XSxyKSxvLmVtaXQodCxlLG4pfXZhciBvPXQoImVlIikuZ2V0KCJoYW5kbGUiKTtlLmV4cG9ydHM9cixyLmVlPW99LHt9XSxpZDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7dmFyIGU9dHlwZW9mIHQ7cmV0dXJuIXR8fCJvYmplY3QiIT09ZSYmImZ1bmN0aW9uIiE9PWU/LTE6dD09PXdpbmRvdz8wOmEodCxpLGZ1bmN0aW9uKCl7cmV0dXJuIG8rK30pfXZhciBvPTEsaT0ibnJAaWQiLGE9dCgiZ29zIik7ZS5leHBvcnRzPXJ9LHt9XSxsb2FkZXI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7aWYoIWcrKyl7dmFyIHQ9eS5pbmZvPU5SRVVNLmluZm8sZT11LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTtpZih0JiZ0LmxpY2Vuc2VLZXkmJnQuYXBwbGljYXRpb25JRCYmZSl7Yyh3LGZ1bmN0aW9uKGUsbil7dFtlXXx8KHRbZV09bil9KTt2YXIgbj0iaHR0cHMiPT09bS5zcGxpdCgiOiIpWzBdfHx0LnNzbEZvckh0dHA7eS5wcm90bz1uPyJodHRwczovLyI6Imh0dHA6Ly8iLHMoIm1hcmsiLFsib25sb2FkIixhKCldLG51bGwsImFwaSIpO3ZhciByPXUuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7ci5zcmM9eS5wcm90byt0LmFnZW50LGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUocixlKX19fWZ1bmN0aW9uIG8oKXsiY29tcGxldGUiPT09dS5yZWFkeVN0YXRlJiZpKCl9ZnVuY3Rpb24gaSgpe3MoIm1hcmsiLFsiZG9tQ29udGVudCIsYSgpXSxudWxsLCJhcGkiKX1mdW5jdGlvbiBhKCl7cmV0dXJuKG5ldyBEYXRlKS5nZXRUaW1lKCl9dmFyIHM9dCgiaGFuZGxlIiksYz10KDE1KSxmPXdpbmRvdyx1PWYuZG9jdW1lbnQsZD0iYWRkRXZlbnRMaXN0ZW5lciIsbD0iYXR0YWNoRXZlbnQiLHA9Zi5YTUxIdHRwUmVxdWVzdCxoPXAmJnAucHJvdG90eXBlO05SRVVNLm89e1NUOnNldFRpbWVvdXQsQ1Q6Y2xlYXJUaW1lb3V0LFhIUjpwLFJFUTpmLlJlcXVlc3QsRVY6Zi5FdmVudCxQUjpmLlByb21pc2UsTU86Zi5NdXRhdGlvbk9ic2VydmVyfSx0KDEyKTt2YXIgbT0iIitsb2NhdGlvbix3PXtiZWFjb246ImJhbS5uci1kYXRhLm5ldCIsZXJyb3JCZWFjb246ImJhbS5uci1kYXRhLm5ldCIsYWdlbnQ6ImpzLWFnZW50Lm5ld3JlbGljLmNvbS9uci05NzQubWluLmpzIn0sdj1wJiZoJiZoW2RdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHk9ZS5leHBvcnRzPXtvZmZzZXQ6YSgpLG9yaWdpbjptLGZlYXR1cmVzOnt9LHhocldyYXBwYWJsZTp2fTt1W2RdPyh1W2RdKCJET01Db250ZW50TG9hZGVkIixpLCExKSxmW2RdKCJsb2FkIixyLCExKSk6KHVbbF0oIm9ucmVhZHlzdGF0ZWNoYW5nZSIsbyksZltsXSgib25sb2FkIixyKSkscygibWFyayIsWyJmaXJzdGJ5dGUiLGEoKV0sbnVsbCwiYXBpIik7dmFyIGc9MH0se31dfSx7fSxbImxvYWRlciIsMiwxMCw0LDNdKTs8L3NjcmlwdD4NCiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+DQogICAgPHRpdGxlPlNpZ24gSW4gLSBQbHVyYWxzaWdodDwvdGl0bGU+DQogICAgPGxpbmsgaHJlZj0iL2lkL2NvbnRlbnQvZGlzdC9zaXRlLWZkODAxNjA1MWM4YzEzNGU5MDU5LmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPg0KICAgIDxzY3JpcHQgc3JjPSIvaWQvc2NyaXB0cy9tb2Rlcm5penItMi42LjIuanMiPjwvc2NyaXB0Pg0KICAgIDxzY3JpcHQgc3JjPSIvaWQvc2NyaXB0cy9qcXVlcnktMS4xMS4zLm1pbi5qcyI+PC9zY3JpcHQ+DQogICAgDQoNCg0KPHNjcmlwdCBzcmM9Ii8vYXNzZXRzLmFkb2JlZHRtLmNvbS8yYzVmMmIzMDc2MmFlNjIzNzc5MTZjMDk2MTJjZDlkNjAwNTRmYmE5L3NhdGVsbGl0ZUxpYi0zZjIwMDFmODgzMTU2MTBkMjk1ZTQ4MjYwN2Y3ZDAwM2M4NjI3ZDA4LmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAhZnVuY3Rpb24oKSB7DQogICAgICAgIHZhciBhbmFseXRpY3MgPSB3aW5kb3cuYW5hbHl0aWNzID0gd2luZG93LmFuYWx5dGljcyB8fCBbXTsNCiAgICAgICAgaWYgKCFhbmFseXRpY3MuaW5pdGlhbGl6ZSkNCiAgICAgICAgICAgIGlmIChhbmFseXRpY3MuaW52b2tlZCkgd2luZG93LmNvbnNvbGUgJiYgY29uc29sZS5lcnJvciAmJiBjb25zb2xlLmVycm9yKCJTZWdtZW50IHNuaXBwZXQgaW5jbHVkZWQgdHdpY2UuIik7DQogICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICBhbmFseXRpY3MuaW52b2tlZCA9ICEwOw0KICAgICAgICAgICAgICAgIGFuYWx5dGljcy5tZXRob2RzID0gWw0KICAgICAgICAgICAgICAgICAgICAidHJhY2tTdWJtaXQiLCAidHJhY2tDbGljayIsICJ0cmFja0xpbmsiLCAidHJhY2tGb3JtIiwgInBhZ2V2aWV3IiwgImlkZW50aWZ5IiwgImdyb3VwIiwgInRyYWNrIiwNCiAgICAgICAgICAgICAgICAgICAgInJlYWR5IiwgImFsaWFzIiwgInBhZ2UiLCAib25jZSIsICJvZmYiLCAib24iDQogICAgICAgICAgICAgICAgXTsNCiAgICAgICAgICAgICAgICBhbmFseXRpY3MuZmFjdG9yeSA9IGZ1bmN0aW9uKHQpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpOw0KICAgICAgICAgICAgICAgICAgICAgICAgZS51bnNoaWZ0KHQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgYW5hbHl0aWNzLnB1c2goZSk7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYW5hbHl0aWNzOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgICAgICBmb3IgKHZhciB0ID0gMDsgdCA8IGFuYWx5dGljcy5tZXRob2RzLmxlbmd0aDsgdCsrKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBlID0gYW5hbHl0aWNzLm1ldGhvZHNbdF07DQogICAgICAgICAgICAgICAgICAgIGFuYWx5dGljc1tlXSA9IGFuYWx5dGljcy5mYWN0b3J5KGUpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGFuYWx5dGljcy5sb2FkID0gZnVuY3Rpb24odCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICAgICAgICAgICAgICBlLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgICAgICAgICAgICAgZS5hc3luYyA9ICEwOw0KICAgICAgICAgICAgICAgICAgICBlLnNyYyA9ICgiaHR0cHM6IiA9PT0gZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wgPyAiaHR0cHM6Ly8iIDogImh0dHA6Ly8iKSArDQogICAgICAgICAgICAgICAgICAgICAgICAiY2RuLnNlZ21lbnQuY29tL2FuYWx5dGljcy5qcy92MS8iICsNCiAgICAgICAgICAgICAgICAgICAgICAgIHQgKw0KICAgICAgICAgICAgICAgICAgICAgICAgIi9hbmFseXRpY3MubWluLmpzIjsNCiAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgICAgICAgICAgICAgIG4ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSwgbikNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgICAgIGFuYWx5dGljcy5TTklQUEVUX1ZFUlNJT04gPSAiMy4wLjEiOw0KDQogICAgICAgICAgICB9DQogICAgfSgpOw0KPC9zY3JpcHQ+DQoNCjxzY3JpcHQgc3JjPSIvL3MucGx1cmFsc2lnaHQuY29tL2FuYWx5dGljcy9hbmFseXRpY3MtZmFjYWRlLnYxLjAuMS5qcyI+PC9zY3JpcHQ+DQoNCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICBhbmFseXRpY3NGYWNhZGUuc2V0Q29udGV4dCgnaWRlbnRpdHknKTsNCiAgICBhbmFseXRpY3MubG9hZCgibjJMTGJGSTFNRHhGS0JMekkwZXMyWjdQckRodTZqRUEiKTsNCiAgICBhbmFseXRpY3NGYWNhZGUucGFnZSgpOw0KPC9zY3JpcHQ+DQoNCjwhLS1CRUdJTiBRVUFMVFJJQ1MgU0lURSBJTlRFUkNFUFQtLT4NCjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4NCiAgICB2YXIgcXVhbHRyaWNzU2FtcGxlUmF0ZSA9ICIxMDAiOw0KICAgIHZhciBxdWFsdHJpY3Nab25lSWQgPSAiWk5fZUpXNkZ6WHBPQzR6MnNKIjsNCiAgICB2YXIgcXVhbHRyaWNzVXJsID0gIi8vem5lanc2Znp4cG9jNHoyc2otcGx1cmFsc2lnaHQuc2l0ZWludGVyY2VwdC5xdWFsdHJpY3MuY29tL1dSU2l0ZUludGVyY2VwdEVuZ2luZS8/UV9aSUQ9Wk5fZUpXNkZ6WHBPQzR6MnNKJmFtcDtRX0xPQz0iOw0KDQogICAgKGZ1bmN0aW9uKCl7dmFyIGc9ZnVuY3Rpb24oZSxoLGYsZyl7DQogICAgICAgICAgICB0aGlzLmdldD1mdW5jdGlvbihhKXtmb3IodmFyIGE9YSsiPSIsYz1kb2N1bWVudC5jb29raWUuc3BsaXQoIjsiKSxiPTAsZT1jLmxlbmd0aDtiPGU7YisrKXtmb3IodmFyIGQ9Y1tiXTsiICI9PWQuY2hhckF0KDApOylkPWQuc3Vic3RyaW5nKDEsZC5sZW5ndGgpO2lmKDA9PWQuaW5kZXhPZihhKSlyZXR1cm4gZC5zdWJzdHJpbmcoYS5sZW5ndGgsZC5sZW5ndGgpfXJldHVybiBudWxsfTsNCiAgICAgICAgICAgIHRoaXMuc2V0PWZ1bmN0aW9uKGEsYyl7dmFyIGI9IiIsYj1uZXcgRGF0ZTtiLnNldFRpbWUoYi5nZXRUaW1lKCkrNjA0OEU1KTtiPSI7IGV4cGlyZXM9IitiLnRvR01UU3RyaW5nKCk7ZG9jdW1lbnQuY29va2llPWErIj0iK2MrYisiOyBwYXRoPS87ICJ9Ow0KICAgICAgICAgICAgdGhpcy5jaGVjaz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0KGYpO2lmKGEpYT1hLnNwbGl0KCI6Iik7ZWxzZSBpZigxMDAhPWUpInYiPT1oJiYoZT1NYXRoLnJhbmRvbSgpPj1lLzEwMD8wOjEwMCksYT1baCxlLDBdLHRoaXMuc2V0KGYsYS5qb2luKCI6IikpO2Vsc2UgcmV0dXJuITA7dmFyIGM9YVsxXTtpZigxMDA9PWMpcmV0dXJuITA7c3dpdGNoKGFbMF0pe2Nhc2UgInYiOnJldHVybiExO2Nhc2UgInIiOnJldHVybiBjPWFbMl0lTWF0aC5mbG9vcigxMDAvYyksYVsyXSsrLHRoaXMuc2V0KGYsYS5qb2luKCI6IikpLCFjfXJldHVybiEwfTsNCiAgICAgICAgICAgIHRoaXMuZ289ZnVuY3Rpb24oKXtpZih0aGlzLmNoZWNrKCkpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2EudHlwZT0idGV4dC9qYXZhc2NyaXB0IjthLnNyYz1nKyAiJnQ9IiArIChuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7ZG9jdW1lbnQuYm9keSYmZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKX19Ow0KICAgICAgICAgICAgdGhpcy5zdGFydD1mdW5jdGlvbigpe3ZhciBhPXRoaXM7d2luZG93LmFkZEV2ZW50TGlzdGVuZXI/d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7YS5nbygpfSwhMSk6d2luZG93LmF0dGFjaEV2ZW50JiZ3aW5kb3cuYXR0YWNoRXZlbnQoIm9ubG9hZCIsZnVuY3Rpb24oKXthLmdvKCl9KX19Ow0KICAgICAgICB0cnkgeyAobmV3IGcocXVhbHRyaWNzU2FtcGxlUmF0ZSwgInIiLCAiUVNJX1NfIiArIHF1YWx0cmljc1pvbmVJZCwgcXVhbHRyaWNzVXJsICsgZW5jb2RlVVJJQ29tcG9uZW50KHdpbmRvdy5sb2NhdGlvbi5ocmVmKSkpLnN0YXJ0KCkgfSBjYXRjaCAoaSkgeyB9DQogICAgfSkoKTsNCjwvc2NyaXB0Pg0KDQo8ZGl2IGlkPSJaTl9lSlc2RnpYcE9DNHoyc0oiPjwhLS1ETyBOT1QgUkVNT1ZFLUNPTlRFTlRTIFBMQUNFRCBIRVJFLS0+PC9kaXY+DQo8IS0tRU5EIFNJVEUgSU5URVJDRVBULS0+DQoNCiAgICANCiAgICAgICAgPHN0eWxlPg0KICAgICAgICAgICAgLmJvZHktY29udGVudCB7DQogICAgICAgICAgICAgICAgdG9wOiAxMSU7DQogICAgICAgICAgICAgICAgLW1zLW9wYWNpdHk6IDA7DQogICAgICAgICAgICAgICAgb3BhY2l0eTogMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgPC9zdHlsZT4NCiAgICANCjwvaGVhZD4NCjxib2R5Pg0KICAgIDxpbnB1dCBpZD0icGFnZU9iamVjdFRhZyIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iU2lnbkluUGFnZSIgLz4NCiAgICA8ZGl2IGlkPSJhbGVydHMiPg0KICAgICAgICANCg0KICAgIA0KDQogICAgPC9kaXY+DQogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIGJvZHktY29udGVudCI+DQogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dvIj4NCiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iL2lkL2NvbnRlbnQvcHMtbG9nby1vdXRsaW5lLnBuZyIgYWx0PSJQbHVyYWxzaWdodCIvPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICANCg0KDQo8ZGl2IGNsYXNzPSJzaWduaW4iPg0KICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgIDxkaXYgY2xhc3M9InNtYWxsLTEwIHNtYWxsLW9mZnNldC0xIG1lZGl1bS00IG1lZGl1bS1vZmZzZXQtNCBsYXJnZS00IGxhcmdlLW9mZnNldC00IGNvbHVtbnMiPg0KPGZvcm0gYWN0aW9uPSIvaWQvIiBtZXRob2Q9InBvc3QiPjxpbnB1dCBpZD0iUmVkaXJlY3RVcmwiIG5hbWU9IlJlZGlyZWN0VXJsIiB0eXBlPSJoaWRkZW4iIHZhbHVlPSIiIC8+ICAgICAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9IlVzZXJuYW1lIj5FbWFpbCBvciBVc2VybmFtZTwvbGFiZWw+DQogICAgICAgICAgICAgICAgICAgIDxpbnB1dCBhdXRvY2FwaXRhbGl6ZT0ibm9uZSIgYXV0b2NvcnJlY3Q9Im9mZiIgZGF0YS12YWw9InRydWUiIGRhdGEtdmFsLXJlcXVpcmVkPSJUaGUgRW1haWwgb3IgVXNlcm5hbWUgZmllbGQgaXMgcmVxdWlyZWQuIiBpZD0iVXNlcm5hbWUiIG5hbWU9IlVzZXJuYW1lIiB0YWJpbmRleD0iMSIgdHlwZT0idGV4dCIgdmFsdWU9IiIgLz4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2Pg0KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJQYXNzd29yZCI+UGFzc3dvcmQ8L2xhYmVsPg0KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgZGF0YS12YWw9InRydWUiIGRhdGEtdmFsLXJlcXVpcmVkPSJUaGUgUGFzc3dvcmQgZmllbGQgaXMgcmVxdWlyZWQuIiBpZD0iUGFzc3dvcmQiIG5hbWU9IlBhc3N3b3JkIiB0YWJpbmRleD0iMiIgdHlwZT0icGFzc3dvcmQiIC8+DQogICAgICAgICAgICAgICAgPC9kaXY+DQo8aW5wdXQgaWQ9IlNob3dDYXB0Y2hhIiBuYW1lPSJTaG93Q2FwdGNoYSIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iRmFsc2UiIC8+DQo8aW5wdXQgaWQ9IlJlQ2FwdGNoYVNpdGVLZXkiIG5hbWU9IlJlQ2FwdGNoYVNpdGVLZXkiIHR5cGU9ImhpZGRlbiIgdmFsdWU9IjZMZVZJZ29UQUFBQUFJaHhfVE93RFdJWGVjYnZ6Y1d5alFEYlhzYVYiIC8+ICAgICAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlZnQgZm9yZ290LXBhc3N3b3JkIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii9pZC9Gb3Jnb3RQYXNzd29yZCI+Rm9yZ290IHBhc3N3b3JkPzwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJpZ2h0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0ic3VibWl0IiBjbGFzcz0iYnV0dG9uIHByaW1hcnkiIGlkPSJsb2dpbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2lnbiBJbg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KPC9mb3JtPiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImNsZWFyOiBib3RoOyI+PC9kaXY+DQoNCiAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LWNlbnRlciBhbHRlcm5hdGUtbGlua3MiIHN0eWxlPSJtYXJnaW4tdG9wOiAxMHB4OyBsaW5lLWhlaWdodDogMi4wOyI+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cucGx1cmFsc2lnaHQuY29tL3ByaWNpbmciPkNyZWF0ZSBhY2NvdW50PC9hPg0KICAgICAgICAgICAgICAgIDxici8+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0iL2lkL3NpZ25pbi9zc28/cmVkaXJlY3RUbz0iPg0KICAgICAgICAgICAgICAgICAgICBTaWduIGluIHdpdGggY29tcGFueSBvciBzY2hvb2wNCiAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgPGJyLz4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5kaWdpdGFsdHV0b3JzLmNvbS9zc28vYXV0aG9yaXplLnBocD9yZXNwb25zZV90eXBlPWNvZGUmY2xpZW50X2lkPXBzX3Nzb19wcm9kdWN0aW9uJnN0YXRlPWh0dHBzJTNhJTJmJTJmYXBwLnBsdXJhbHNpZ2h0LmNvbSUyZmxpYnJhcnklMmYiPg0KICAgICAgICAgICAgICAgICAgICBTaWduIGluIHdpdGggRGlnaXRhbC1UdXRvcnMNCiAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICA8L3A+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KPC9kaXY+DQoNCg0KDQogICAgPHNjcmlwdD4NCg0KICAgICAgICAkKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICQoIi5ib2R5LWNvbnRlbnQiKS5hbmltYXRlKHsNCiAgICAgICAgICAgICAgICAndG9wJzogJzE1JScsDQogICAgICAgICAgICAgICAgJ29wYWNpdHknOiAnMScsDQogICAgICAgICAgICAgICAgJy1tcy1vcGFjaXR5JzogJzEnDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIGR1cmF0aW9uOiA4MDAsDQogICAgICAgICAgICAgICAgY29tcGxldGU6IGZ1bmN0aW9uICgpIHsgDQogICAgICAgICAgICAgICAgICAgIHZhciB1c2VybmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdVc2VybmFtZScpOw0KDQogICAgICAgICAgICAgICAgICAgIGlmICgkKHVzZXJuYW1lKS52YWwoKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ1Bhc3N3b3JkJykuZm9jdXMoKTsNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJuYW1lLmZvY3VzKCk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgPC9zY3JpcHQ+DQoNCiAgICA8L2Rpdj4NCiAgICANCiAgICA8Zm9vdGVyPg0KICAgICAgICBDb3B5cmlnaHQgJmNvcHk7IDIwMDQgLSAyMDE2IFBsdXJhbHNpZ2h0IExMQy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCiAgICAgICAgfCA8YSBocmVmPSJodHRwczovL3d3dy5wbHVyYWxzaWdodC5jb20vdGVybXMiPlRlcm1zIG9mIFVzZTwvYT4NCiAgICAgICAgfCA8YSBocmVmPSJodHRwczovL3d3dy5wbHVyYWxzaWdodC5jb20vcHJpdmFjeSI+UHJpdmFjeSBQb2xpY3k8L2E+DQogICAgPC9mb290ZXI+ICAgDQoNCg0KICAgIDxzY3JpcHQgc3JjPSIvaWQvc2NyaXB0cy9mb3VuZGF0aW9uLm1pbi5qcyI+PC9zY3JpcHQ+DQogICAgPHNjcmlwdD4NCiAgICAgICAgJChkb2N1bWVudCkuZm91bmRhdGlvbigpOw0KDQogICAgICAgICQoJy5hbGVydCcpLmFwcGVuZCgnPGRpdiBjbGFzcz0iY2xvc2UiPiZ0aW1lczs8L2Rpdj4nKTsNCiAgICAgICAgJCgnLmFsZXJ0IC5jbG9zZScpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICQodGhpcykucGFyZW50KCkuaGlkZSgpOw0KICAgICAgICB9KTsNCiAgICA8L3NjcmlwdD4NCiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+X3NhdGVsbGl0ZS5wYWdlQm90dG9tKCk7PC9zY3JpcHQ+DQo8L2JvZHk+DQo8L2h0bWw+
[pluralsight] Logging in as xxx
[pluralsight] Dumping request to https://app.pluralsight.com/id/
PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iPjxoZWFkPjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz53aW5kb3cuTlJFVU18fChOUkVVTT17fSk7TlJFVU0uaW5mbyA9IHsiYWdlbnQiOiIiLCJiZWFjb24iOiJiYW0ubnItZGF0YS5uZXQiLCJlcnJvckJlYWNvbiI6ImJhbS5uci1kYXRhLm5ldCIsImxpY2Vuc2VLZXkiOiIyNzAwYWY4YTNjIiwiYXBwbGljYXRpb25JRCI6Ijk3NzcyNDEsOTc3NzI0MiIsImFwcGxpY2F0aW9uVGltZSI6NDQuMDgwMjM0LCJ0cmFuc2FjdGlvbk5hbWUiOiJaMVpSTjBFRENFTURBQlZZV2w0Y2NBeGRGaFJmRGc4RVF4cDhWbElSWFFjVVpTdE1KblJoIiwicXVldWVUaW1lIjowLCJ0dEd1aWQiOiIxYzFmYjgyYzViMDA4MSIsImFnZW50VG9rZW4iOm51bGx9OyAod2luZG93Lk5SRVVNfHwoTlJFVU09e30pKS5sb2FkZXJfY29uZmlnPXt4cGlkOiJWd1VHVmw1Vkd3b0hVMVpRQXdBPSJ9O3dpbmRvdy5OUkVVTXx8KE5SRVVNPXt9KSxfX25yX3JlcXVpcmU9ZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIobil7aWYoIWVbbl0pe3ZhciBvPWVbbl09e2V4cG9ydHM6e319O3Rbbl1bMF0uY2FsbChvLmV4cG9ydHMsZnVuY3Rpb24oZSl7dmFyIG89dFtuXVsxXVtlXTtyZXR1cm4gcihvfHxlKX0sbyxvLmV4cG9ydHMpfXJldHVybiBlW25dLmV4cG9ydHN9aWYoImZ1bmN0aW9uIj09dHlwZW9mIF9fbnJfcmVxdWlyZSlyZXR1cm4gX19ucl9yZXF1aXJlO2Zvcih2YXIgbz0wO288bi5sZW5ndGg7bysrKXIobltvXSk7cmV0dXJuIHJ9KHsxOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt0cnl7Yy5jb25zb2xlJiZjb25zb2xlLmxvZyh0KX1jYXRjaChlKXt9fXZhciBvLGk9dCgiZWUiKSxhPXQoMTkpLGM9e307dHJ5e289bG9jYWxTdG9yYWdlLmdldEl0ZW0oIl9fbnJfZmxhZ3MiKS5zcGxpdCgiLCIpLGNvbnNvbGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBjb25zb2xlLmxvZyYmKGMuY29uc29sZT0hMCxvLmluZGV4T2YoImRldiIpIT09LTEmJihjLmRldj0hMCksby5pbmRleE9mKCJucl9kZXYiKSE9PS0xJiYoYy5uckRldj0hMCkpfWNhdGNoKHMpe31jLm5yRGV2JiZpLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7cih0LnN0YWNrKX0pLGMuZGV2JiZpLm9uKCJmbi1lcnIiLGZ1bmN0aW9uKHQsZSxuKXtyKG4uc3RhY2spfSksYy5kZXYmJihyKCJOUiBBR0VOVCBJTiBERVZFTE9QTUVOVCBNT0RFIikscigiZmxhZ3M6ICIrYShjLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHR9KS5qb2luKCIsICIpKSl9LHt9XSwyOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbixyLG8pe3RyeXtoP2gtPTE6aSgiZXJyIixbb3x8bmV3IFVuY2F1Z2h0RXhjZXB0aW9uKHQsZSxuKV0pfWNhdGNoKGMpe3RyeXtpKCJpZXJyIixbYywobmV3IERhdGUpLmdldFRpbWUoKSwhMF0pfWNhdGNoKHMpe319cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGYmJmYuYXBwbHkodGhpcyxhKGFyZ3VtZW50cykpfWZ1bmN0aW9uIFVuY2F1Z2h0RXhjZXB0aW9uKHQsZSxuKXt0aGlzLm1lc3NhZ2U9dHx8IlVuY2F1Z2h0IGVycm9yIHdpdGggbm8gYWRkaXRpb25hbCBpbmZvcm1hdGlvbiIsdGhpcy5zb3VyY2VVUkw9ZSx0aGlzLmxpbmU9bn1mdW5jdGlvbiBvKHQpe2koImVyciIsW3QsKG5ldyBEYXRlKS5nZXRUaW1lKCldKX12YXIgaT10KCJoYW5kbGUiKSxhPXQoMjApLGM9dCgiZWUiKSxzPXQoImxvYWRlciIpLGY9d2luZG93Lm9uZXJyb3IsdT0hMSxoPTA7cy5mZWF0dXJlcy5lcnI9ITAsdCgxKSx3aW5kb3cub25lcnJvcj1yO3RyeXt0aHJvdyBuZXcgRXJyb3J9Y2F0Y2gocCl7InN0YWNrImluIHAmJih0KDEyKSx0KDExKSwiYWRkRXZlbnRMaXN0ZW5lciJpbiB3aW5kb3cmJnQoNikscy54aHJXcmFwcGFibGUmJnQoMTMpLHU9ITApfWMub24oImZuLXN0YXJ0IixmdW5jdGlvbih0LGUsbil7dSYmKGgrPTEpfSksYy5vbigiZm4tZXJyIixmdW5jdGlvbih0LGUsbil7dSYmKHRoaXMudGhyb3duPSEwLG8obikpfSksYy5vbigiZm4tZW5kIixmdW5jdGlvbigpe3UmJiF0aGlzLnRocm93biYmaD4wJiYoaC09MSl9KSxjLm9uKCJpbnRlcm5hbC1lcnJvciIsZnVuY3Rpb24odCl7aSgiaWVyciIsW3QsKG5ldyBEYXRlKS5nZXRUaW1lKCksITBdKX0pfSx7fV0sMzpbZnVuY3Rpb24odCxlLG4pe3QoImxvYWRlciIpLmZlYXR1cmVzLmlucz0hMH0se31dLDQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKCl7TisrLFM9eS5oYXNoLHRoaXNbdV09RGF0ZS5ub3coKX1mdW5jdGlvbiBvKCl7Ti0tLHkuaGFzaCE9PVMmJmkoMCwhMCk7dmFyIHQ9RGF0ZS5ub3coKTt0aGlzW2xdPX5+dGhpc1tsXSt0LXRoaXNbdV0sdGhpc1toXT10fWZ1bmN0aW9uIGkodCxlKXt4LmVtaXQoIm5ld1VSTCIsWyIiK3ksZV0pfWZ1bmN0aW9uIGEodCxlKXt0Lm9uKGUsZnVuY3Rpb24oKXt0aGlzW2VdPURhdGUubm93KCl9KX12YXIgYz0iLXN0YXJ0IixzPSItZW5kIixmPSItYm9keSIsdT0iZm4iK2MsaD0iZm4iK3MscD0iY2IiK2MsZD0iY2IiK3MsbD0ianNUaW1lIixtPSJmZXRjaCIsdj0iYWRkRXZlbnRMaXN0ZW5lciIsdz13aW5kb3cseT13LmxvY2F0aW9uO2lmKHdbdl0pe3ZhciBnPXQoOSksYj10KDEwKSx4PXQoOCksRT10KDYpLFQ9dCgxMiksTz10KDcpLFA9dCgxMyksUj10KCJlZSIpLEQ9Ui5nZXQoInRyYWNlciIpO3QoMTQpLHQoImxvYWRlciIpLmZlYXR1cmVzLnNwYT0hMDt2YXIgUyxNPXdbdl0sTj0wO1Iub24odSxyKSxSLm9uKHAsciksUi5vbihoLG8pLFIub24oZCxvKSxSLmJ1ZmZlcihbdSxoLCJ4aHItZG9uZSIsInhoci1yZXNvbHZlZCJdKSxFLmJ1ZmZlcihbdV0pLFQuYnVmZmVyKFsic2V0VGltZW91dCIrcywiY2xlYXJUaW1lb3V0IitjLHVdKSxQLmJ1ZmZlcihbdSwibmV3LXhociIsIm9wZW4teGhyIitjXSksTy5idWZmZXIoW20rYyxtKyItZG9uZSIsbStmK2MsbStmK3NdKSx4LmJ1ZmZlcihbIm5ld1VSTCJdKSxnLmJ1ZmZlcihbdV0pLGIuYnVmZmVyKFsicHJvcGFnYXRlIixwLGQsImV4ZWN1dG9yLWVyciIsInJlc29sdmUiK2NdKSxELmJ1ZmZlcihbdSwibm8tIit1XSksYShQLCJvcGVuLXhociIrYyksYShSLCJ4aHItcmVzb2x2ZWQiKSxhKFIsInhoci1kb25lIiksYShPLG0rYyksYShPLG0rIi1kb25lIikseC5vbigicHVzaFN0YXRlLWVuZCIsaSkseC5vbigicmVwbGFjZVN0YXRlLWVuZCIsaSksTSgiaGFzaGNoYW5nZSIsaSwhMCksTSgibG9hZCIsaSwhMCksTSgicG9wc3RhdGUiLGZ1bmN0aW9uKCl7aSgwLE4+MSl9LCEwKX19LHt9XSw1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt9aWYod2luZG93LnBlcmZvcm1hbmNlJiZ3aW5kb3cucGVyZm9ybWFuY2UudGltaW5nJiZ3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSl7dmFyIG89dCgiZWUiKSxpPXQoImhhbmRsZSIpLGE9dCgxMiksYz10KDExKSxzPSJsZWFyUmVzb3VyY2VUaW1pbmdzIixmPSJhZGRFdmVudExpc3RlbmVyIix1PSJyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwiLGg9ImJzdFJlc291cmNlIixwPSJyZXNvdXJjZSIsZD0iLXN0YXJ0IixsPSItZW5kIixtPSJmbiIrZCx2PSJmbiIrbCx3PSJic3RUaW1lciIseT0icHVzaFN0YXRlIjt0KCJsb2FkZXIiKS5mZWF0dXJlcy5zdG49ITAsdCg4KTt2YXIgZz1OUkVVTS5vLkVWO28ub24obSxmdW5jdGlvbih0LGUpe3ZhciBuPXRbMF07biBpbnN0YW5jZW9mIGcmJih0aGlzLmJzdFN0YXJ0PURhdGUubm93KCkpfSksby5vbih2LGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgZyYmaSgiYnN0IixbbixlLHRoaXMuYnN0U3RhcnQsRGF0ZS5ub3coKV0pfSksYS5vbihtLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmJzdFN0YXJ0PURhdGUubm93KCksdGhpcy5ic3RUeXBlPW59KSxhLm9uKHYsZnVuY3Rpb24odCxlKXtpKHcsW2UsdGhpcy5ic3RTdGFydCxEYXRlLm5vdygpLHRoaXMuYnN0VHlwZV0pfSksYy5vbihtLGZ1bmN0aW9uKCl7dGhpcy5ic3RTdGFydD1EYXRlLm5vdygpfSksYy5vbih2LGZ1bmN0aW9uKHQsZSl7aSh3LFtlLHRoaXMuYnN0U3RhcnQsRGF0ZS5ub3coKSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIl0pfSksby5vbih5K2QsZnVuY3Rpb24odCl7dGhpcy50aW1lPURhdGUubm93KCksdGhpcy5zdGFydFBhdGg9bG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uaGFzaH0pLG8ub24oeStsLGZ1bmN0aW9uKHQpe2koImJzdEhpc3QiLFtsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNoLHRoaXMuc3RhcnRQYXRoLHRoaXMudGltZV0pfSksZiBpbiB3aW5kb3cucGVyZm9ybWFuY2UmJih3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdP3dpbmRvdy5wZXJmb3JtYW5jZVtmXSh1LGZ1bmN0aW9uKHQpe2koaCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUocCldKSx3aW5kb3cucGVyZm9ybWFuY2VbImMiK3NdKCl9LCExKTp3aW5kb3cucGVyZm9ybWFuY2VbZl0oIndlYmtpdCIrdSxmdW5jdGlvbih0KXtpKGgsW3dpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKHApXSksd2luZG93LnBlcmZvcm1hbmNlWyJ3ZWJraXRDIitzXSgpfSwhMSkpLGRvY3VtZW50W2ZdKCJzY3JvbGwiLHIsITEpLGRvY3VtZW50W2ZdKCJrZXlwcmVzcyIsciwhMSksZG9jdW1lbnRbZl0oImNsaWNrIixyLCExKX19LHt9XSw2OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtmb3IodmFyIGU9dDtlJiYhZS5oYXNPd25Qcm9wZXJ0eSh1KTspZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk7ZSYmbyhlKX1mdW5jdGlvbiBvKHQpe2MuaW5QbGFjZSh0LFt1LGhdLCItIixpKX1mdW5jdGlvbiBpKHQsZSl7cmV0dXJuIHRbMV19dmFyIGE9dCgiZWUiKS5nZXQoImV2ZW50cyIpLGM9dCgyMSkoYSkscz10KCJnb3MiKSxmPVhNTEh0dHBSZXF1ZXN0LHU9ImFkZEV2ZW50TGlzdGVuZXIiLGg9InJlbW92ZUV2ZW50TGlzdGVuZXIiO2UuZXhwb3J0cz1hLCJnZXRQcm90b3R5cGVPZiJpbiBPYmplY3Q/KHIoZG9jdW1lbnQpLHIod2luZG93KSxyKGYucHJvdG90eXBlKSk6Zi5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkodSkmJihvKHdpbmRvdyksbyhmLnByb3RvdHlwZSkpLGEub24odSsiLXN0YXJ0IixmdW5jdGlvbih0LGUpe2lmKHRbMV0pe3ZhciBuPXRbMV07aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pe3ZhciByPXMobiwibnJAd3JhcHBlZCIsZnVuY3Rpb24oKXtyZXR1cm4gYyhuLCJmbi0iLG51bGwsbi5uYW1lfHwiYW5vbnltb3VzIil9KTt0aGlzLndyYXBwZWQ9dFsxXT1yfWVsc2UiZnVuY3Rpb24iPT10eXBlb2Ygbi5oYW5kbGVFdmVudCYmYy5pblBsYWNlKG4sWyJoYW5kbGVFdmVudCJdLCJmbi0iKX19KSxhLm9uKGgrIi1zdGFydCIsZnVuY3Rpb24odCl7dmFyIGU9dGhpcy53cmFwcGVkO2UmJih0WzFdPWUpfSl9LHt9XSw3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dmFyIHI9dFtlXTsiZnVuY3Rpb24iPT10eXBlb2YgciYmKHRbZV09ZnVuY3Rpb24oKXt2YXIgdD1yLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gby5lbWl0KG4rInN0YXJ0Iixhcmd1bWVudHMsdCksdC50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBvLmVtaXQobisiZW5kIixbbnVsbCxlXSx0KSxlfSxmdW5jdGlvbihlKXt0aHJvdyBvLmVtaXQobisiZW5kIixbZV0sdCksZX0pfSl9dmFyIG89dCgiZWUiKS5nZXQoImZldGNoIiksaT10KDE5KTtlLmV4cG9ydHM9bzt2YXIgYT13aW5kb3csYz0iZmV0Y2gtIixzPWMrImJvZHktIixmPVsiYXJyYXlCdWZmZXIiLCJibG9iIiwianNvbiIsInRleHQiLCJmb3JtRGF0YSJdLHU9YS5SZXF1ZXN0LGg9YS5SZXNwb25zZSxwPWEuZmV0Y2gsZD0icHJvdG90eXBlIjt1JiZoJiZwJiYoaShmLGZ1bmN0aW9uKHQsZSl7cih1W2RdLGUscykscihoW2RdLGUscyl9KSxyKGEsImZldGNoIixjKSxvLm9uKGMrImVuZCIsZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzO2U/ZS5jbG9uZSgpLmFycmF5QnVmZmVyKCkudGhlbihmdW5jdGlvbih0KXtuLnJ4U2l6ZT10LmJ5dGVMZW5ndGgsby5lbWl0KGMrImRvbmUiLFtudWxsLGVdLG4pfSk6by5lbWl0KGMrImRvbmUiLFt0XSxuKX0pKX0se31dLDg6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgyMSkocik7ZS5leHBvcnRzPXIsby5pblBsYWNlKHdpbmRvdy5oaXN0b3J5LFsicHVzaFN0YXRlIiwicmVwbGFjZVN0YXRlIl0sIi0iKX0se31dLDk6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgibXV0YXRpb24iKSxvPXQoMjEpKHIpLGk9TlJFVU0uby5NTztlLmV4cG9ydHM9cixpJiYod2luZG93Lk11dGF0aW9uT2JzZXJ2ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBpP25ldyBpKG8odCwiZm4tIikpOmkuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxNdXRhdGlvbk9ic2VydmVyLnByb3RvdHlwZT1pLnByb3RvdHlwZSl9LHt9XSwxMDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7dmFyIGU9YS5jb250ZXh0KCksbj1jKHQsImV4ZWN1dG9yLSIsZSkscj1uZXcgZihuKTtyZXR1cm4gYS5jb250ZXh0KHIpLmdldEN0eD1mdW5jdGlvbigpe3JldHVybiBlfSxhLmVtaXQoIm5ldy1wcm9taXNlIixbcixlXSxlKSxyfWZ1bmN0aW9uIG8odCxlKXtyZXR1cm4gZX12YXIgaT10KDIxKSxhPXQoImVlIikuZ2V0KCJwcm9taXNlIiksYz1pKGEpLHM9dCgxOSksZj1OUkVVTS5vLlBSO2UuZXhwb3J0cz1hLGYmJih3aW5kb3cuUHJvbWlzZT1yLFsiYWxsIiwicmFjZSJdLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9Zlt0XTtmW3RdPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuIGZ1bmN0aW9uKCl7YS5lbWl0KCJwcm9wYWdhdGUiLFtudWxsLCFvXSxpKSxvPW98fCF0fX12YXIgbz0hMTtzKG4sZnVuY3Rpb24oZSxuKXtQcm9taXNlLnJlc29sdmUobikudGhlbihyKCJhbGwiPT09dCkscighMSkpfSk7dmFyIGk9ZS5hcHBseShmLGFyZ3VtZW50cyksYz1mLnJlc29sdmUoaSk7cmV0dXJuIGN9fSksWyJyZXNvbHZlIiwicmVqZWN0Il0uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT1mW3RdO2ZbdF09ZnVuY3Rpb24odCl7dmFyIG49ZS5hcHBseShmLGFyZ3VtZW50cyk7cmV0dXJuIHQhPT1uJiZhLmVtaXQoInByb3BhZ2F0ZSIsW3QsITBdLG4pLG59fSksZi5wcm90b3R5cGVbImNhdGNoIl09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGhlbihudWxsLHQpfSxmLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGYucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6cn19KSxzKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGYpLGZ1bmN0aW9uKHQsZSl7dHJ5e3JbZV09ZltlXX1jYXRjaChuKXt9fSksYS5vbigiZXhlY3V0b3Itc3RhcnQiLGZ1bmN0aW9uKHQpe3RbMF09Yyh0WzBdLCJyZXNvbHZlLSIsdGhpcyksdFsxXT1jKHRbMV0sInJlc29sdmUtIix0aGlzKX0pLGEub24oImV4ZWN1dG9yLWVyciIsZnVuY3Rpb24odCxlLG4pe3RbMV0obil9KSxjLmluUGxhY2UoZi5wcm90b3R5cGUsWyJ0aGVuIl0sInRoZW4tIixvKSxhLm9uKCJ0aGVuLXN0YXJ0IixmdW5jdGlvbih0LGUpe3RoaXMucHJvbWlzZT1lLHRbMF09Yyh0WzBdLCJjYi0iLHRoaXMpLHRbMV09Yyh0WzFdLCJjYi0iLHRoaXMpfSksYS5vbigidGhlbi1lbmQiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLm5leHRQcm9taXNlPW47dmFyIHI9dGhpcy5wcm9taXNlO2EuZW1pdCgicHJvcGFnYXRlIixbciwhMF0sbil9KSxhLm9uKCJjYi1lbmQiLGZ1bmN0aW9uKHQsZSxuKXthLmVtaXQoInByb3BhZ2F0ZSIsW24sITBdLHRoaXMubmV4dFByb21pc2UpfSksYS5vbigicHJvcGFnYXRlIixmdW5jdGlvbih0LGUsbil7dGhpcy5nZXRDdHgmJiFlfHwodGhpcy5nZXRDdHg9ZnVuY3Rpb24oKXtpZih0IGluc3RhbmNlb2YgUHJvbWlzZSl2YXIgZT1hLmNvbnRleHQodCk7cmV0dXJuIGUmJmUuZ2V0Q3R4P2UuZ2V0Q3R4KCk6dGhpc30pfSksci50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiIiK2Z9KX0se31dLDExOltmdW5jdGlvbih0LGUsbil7dmFyIHI9dCgiZWUiKS5nZXQoInJhZiIpLG89dCgyMSkociksaT0iZXF1ZXN0QW5pbWF0aW9uRnJhbWUiO2UuZXhwb3J0cz1yLG8uaW5QbGFjZSh3aW5kb3csWyJyIitpLCJtb3pSIitpLCJ3ZWJraXRSIitpLCJtc1IiK2ldLCJyYWYtIiksci5vbigicmFmLXN0YXJ0IixmdW5jdGlvbih0KXt0WzBdPW8odFswXSwiZm4tIil9KX0se31dLDEyOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7dFswXT1hKHRbMF0sImZuLSIsbnVsbCxuKX1mdW5jdGlvbiBvKHQsZSxuKXt0aGlzLm1ldGhvZD1uLHRoaXMudGltZXJEdXJhdGlvbj0ibnVtYmVyIj09dHlwZW9mIHRbMV0/dFsxXTowLHRbMF09YSh0WzBdLCJmbi0iLHRoaXMsbil9dmFyIGk9dCgiZWUiKS5nZXQoInRpbWVyIiksYT10KDIxKShpKSxjPSJzZXRUaW1lb3V0IixzPSJzZXRJbnRlcnZhbCIsZj0iY2xlYXJUaW1lb3V0Iix1PSItc3RhcnQiLGg9Ii0iO2UuZXhwb3J0cz1pLGEuaW5QbGFjZSh3aW5kb3csW2MsInNldEltbWVkaWF0ZSJdLGMraCksYS5pblBsYWNlKHdpbmRvdyxbc10scytoKSxhLmluUGxhY2Uod2luZG93LFtmLCJjbGVhckltbWVkaWF0ZSJdLGYraCksaS5vbihzK3UsciksaS5vbihjK3Usbyl9LHt9XSwxMzpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXtoLmluUGxhY2UoZSxbIm9ucmVhZHlzdGF0ZWNoYW5nZSJdLCJmbi0iLGMpfWZ1bmN0aW9uIG8oKXt2YXIgdD10aGlzLGU9dS5jb250ZXh0KHQpO3QucmVhZHlTdGF0ZT4zJiYhZS5yZXNvbHZlZCYmKGUucmVzb2x2ZWQ9ITAsdS5lbWl0KCJ4aHItcmVzb2x2ZWQiLFtdLHQpKSxoLmluUGxhY2UodCx2LCJmbi0iLGMpfWZ1bmN0aW9uIGkodCl7dy5wdXNoKHQpLGwmJihnPS1nLGIuZGF0YT1nKX1mdW5jdGlvbiBhKCl7Zm9yKHZhciB0PTA7dDx3Lmxlbmd0aDt0KyspcihbXSx3W3RdKTt3Lmxlbmd0aCYmKHc9W10pfWZ1bmN0aW9uIGModCxlKXtyZXR1cm4gZX1mdW5jdGlvbiBzKHQsZSl7Zm9yKHZhciBuIGluIHQpZVtuXT10W25dO3JldHVybiBlfXQoNik7dmFyIGY9dCgiZWUiKSx1PWYuZ2V0KCJ4aHIiKSxoPXQoMjEpKHUpLHA9TlJFVU0ubyxkPXAuWEhSLGw9cC5NTyxtPSJyZWFkeXN0YXRlY2hhbmdlIix2PVsib25sb2FkIiwib25lcnJvciIsIm9uYWJvcnQiLCJvbmxvYWRzdGFydCIsIm9ubG9hZGVuZCIsIm9ucHJvZ3Jlc3MiLCJvbnRpbWVvdXQiXSx3PVtdO2UuZXhwb3J0cz11O3ZhciB5PXdpbmRvdy5YTUxIdHRwUmVxdWVzdD1mdW5jdGlvbih0KXt2YXIgZT1uZXcgZCh0KTt0cnl7dS5lbWl0KCJuZXcteGhyIixbZV0sZSksZS5hZGRFdmVudExpc3RlbmVyKG0sbywhMSl9Y2F0Y2gobil7dHJ5e3UuZW1pdCgiaW50ZXJuYWwtZXJyb3IiLFtuXSl9Y2F0Y2gocil7fX1yZXR1cm4gZX07aWYocyhkLHkpLHkucHJvdG90eXBlPWQucHJvdG90eXBlLGguaW5QbGFjZSh5LnByb3RvdHlwZSxbIm9wZW4iLCJzZW5kIl0sIi14aHItIixjKSx1Lm9uKCJzZW5kLXhoci1zdGFydCIsZnVuY3Rpb24odCxlKXtyKHQsZSksaShlKX0pLHUub24oIm9wZW4teGhyLXN0YXJ0IixyKSxsKXt2YXIgZz0xLGI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZyk7bmV3IGwoYSkub2JzZXJ2ZShiLHtjaGFyYWN0ZXJEYXRhOiEwfSl9ZWxzZSBmLm9uKCJmbi1lbmQiLGZ1bmN0aW9uKHQpe3RbMF0mJnRbMF0udHlwZT09PW18fGEoKX0pfSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8aDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKHVbcl0sdGhpcy5saXN0ZW5lciwhMSk7aWYoIWUuYWJvcnRlZCl7aWYobi5kdXJhdGlvbj0obmV3IERhdGUpLmdldFRpbWUoKS10aGlzLnN0YXJ0VGltZSw0PT09dC5yZWFkeVN0YXRlKXtlLnN0YXR1cz10LnN0YXR1czt2YXIgaT1vKHQsdGhpcy5sYXN0U2l6ZSk7aWYoaSYmKG4ucnhTaXplPWkpLHRoaXMuc2FtZU9yaWdpbil7dmFyIGE9dC5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO2EmJihlLmNhdD1hLnNwbGl0KCIsICIpLnBvcCgpKX19ZWxzZSBlLnN0YXR1cz0wO24uY2JUaW1lPXRoaXMuY2JUaW1lLGYuZW1pdCgieGhyLWRvbmUiLFt0XSx0KSxjKCJ4aHIiLFtlLG4sdGhpcy5zdGFydFRpbWVdKX19fWZ1bmN0aW9uIG8odCxlKXt2YXIgbj10LnJlc3BvbnNlVHlwZTtpZigianNvbiI9PT1uJiZudWxsIT09ZSlyZXR1cm4gZTt2YXIgcj0iYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj90LnJlc3BvbnNlOnQucmVzcG9uc2VUZXh0O3JldHVybiBsKHIpfWZ1bmN0aW9uIGkodCxlKXt2YXIgbj1zKGUpLHI9dC5wYXJhbXM7ci5ob3N0PW4uaG9zdG5hbWUrIjoiK24ucG9ydCxyLnBhdGhuYW1lPW4ucGF0aG5hbWUsdC5zYW1lT3JpZ2luPW4uc2FtZU9yaWdpbn12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIGM9dCgiaGFuZGxlIikscz10KDE1KSxmPXQoImVlIiksdT1bImxvYWQiLCJlcnJvciIsImFib3J0IiwidGltZW91dCJdLGg9dS5sZW5ndGgscD10KCJpZCIpLGQ9dCgxOCksbD10KDE3KSxtPXdpbmRvdy5YTUxIdHRwUmVxdWVzdDthLmZlYXR1cmVzLnhocj0hMCx0KDEzKSxmLm9uKCJuZXcteGhyIixmdW5jdGlvbih0KXt2YXIgZT10aGlzO2UudG90YWxDYnM9MCxlLmNhbGxlZD0wLGUuY2JUaW1lPTAsZS5lbmQ9cixlLmVuZGVkPSExLGUueGhyR3VpZHM9e30sZS5sYXN0U2l6ZT1udWxsLGQmJihkPjM0fHxkPDEwKXx8d2luZG93Lm9wZXJhfHx0LmFkZEV2ZW50TGlzdGVuZXIoInByb2dyZXNzIixmdW5jdGlvbih0KXtlLmxhc3RTaXplPXQubG9hZGVkfSwhMSl9KSxmLm9uKCJvcGVuLXhoci1zdGFydCIsZnVuY3Rpb24odCl7dGhpcy5wYXJhbXM9e21ldGhvZDp0WzBdfSxpKHRoaXMsdFsxXSksdGhpcy5tZXRyaWNzPXt9fSksZi5vbigib3Blbi14aHItZW5kIixmdW5jdGlvbih0LGUpeyJsb2FkZXJfY29uZmlnImluIE5SRVVNJiYieHBpZCJpbiBOUkVVTS5sb2FkZXJfY29uZmlnJiZ0aGlzLnNhbWVPcmlnaW4mJmUuc2V0UmVxdWVzdEhlYWRlcigiWC1OZXdSZWxpYy1JRCIsTlJFVU0ubG9hZGVyX2NvbmZpZy54cGlkKX0pLGYub24oInNlbmQteGhyLXN0YXJ0IixmdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMubWV0cmljcyxyPXRbMF0sbz10aGlzO2lmKG4mJnIpe3ZhciBpPWwocik7aSYmKG4udHhTaXplPWkpfXRoaXMuc3RhcnRUaW1lPShuZXcgRGF0ZSkuZ2V0VGltZSgpLHRoaXMubGlzdGVuZXI9ZnVuY3Rpb24odCl7dHJ5eyJhYm9ydCI9PT10LnR5cGUmJihvLnBhcmFtcy5hYm9ydGVkPSEwKSwoImxvYWQiIT09dC50eXBlfHxvLmNhbGxlZD09PW8udG90YWxDYnMmJihvLm9ubG9hZENhbGxlZHx8ImZ1bmN0aW9uIiE9dHlwZW9mIGUub25sb2FkKSkmJm8uZW5kKGUpfWNhdGNoKG4pe3RyeXtmLmVtaXQoImludGVybmFsLWVycm9yIixbbl0pfWNhdGNoKHIpe319fTtmb3IodmFyIGE9MDthPGg7YSsrKWUuYWRkRXZlbnRMaXN0ZW5lcih1W2FdLHRoaXMubGlzdGVuZXIsITEpfSksZi5vbigieGhyLWNiLXRpbWUiLGZ1bmN0aW9uKHQsZSxuKXt0aGlzLmNiVGltZSs9dCxlP3RoaXMub25sb2FkQ2FsbGVkPSEwOnRoaXMuY2FsbGVkKz0xLHRoaXMuY2FsbGVkIT09dGhpcy50b3RhbENic3x8IXRoaXMub25sb2FkQ2FsbGVkJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi5vbmxvYWR8fHRoaXMuZW5kKG4pfSksZi5vbigieGhyLWxvYWQtYWRkZWQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49IiIrcCh0KSshIWU7dGhpcy54aHJHdWlkcyYmIXRoaXMueGhyR3VpZHNbbl0mJih0aGlzLnhockd1aWRzW25dPSEwLHRoaXMudG90YWxDYnMrPTEpfSksZi5vbigieGhyLWxvYWQtcmVtb3ZlZCIsZnVuY3Rpb24odCxlKXt2YXIgbj0iIitwKHQpKyEhZTt0aGlzLnhockd1aWRzJiZ0aGlzLnhockd1aWRzW25dJiYoZGVsZXRlIHRoaXMueGhyR3VpZHNbbl0sdGhpcy50b3RhbENicy09MSl9KSxmLm9uKCJhZGRFdmVudExpc3RlbmVyLWVuZCIsZnVuY3Rpb24odCxlKXtlIGluc3RhbmNlb2YgbSYmImxvYWQiPT09dFswXSYmZi5lbWl0KCJ4aHItbG9hZC1hZGRlZCIsW3RbMV0sdFsyXV0sZSl9KSxmLm9uKCJyZW1vdmVFdmVudExpc3RlbmVyLWVuZCIsZnVuY3Rpb24odCxlKXtlIGluc3RhbmNlb2YgbSYmImxvYWQiPT09dFswXSYmZi5lbWl0KCJ4aHItbG9hZC1yZW1vdmVkIixbdFsxXSx0WzJdXSxlKX0pLGYub24oImZuLXN0YXJ0IixmdW5jdGlvbih0LGUsbil7ZSBpbnN0YW5jZW9mIG0mJigib25sb2FkIj09PW4mJih0aGlzLm9ubG9hZD0hMCksKCJsb2FkIj09PSh0WzBdJiZ0WzBdLnR5cGUpfHx0aGlzLm9ubG9hZCkmJih0aGlzLnhockNiU3RhcnQ9KG5ldyBEYXRlKS5nZXRUaW1lKCkpKX0pLGYub24oImZuLWVuZCIsZnVuY3Rpb24odCxlKXt0aGlzLnhockNiU3RhcnQmJmYuZW1pdCgieGhyLWNiLXRpbWUiLFsobmV3IERhdGUpLmdldFRpbWUoKS10aGlzLnhockNiU3RhcnQsdGhpcy5vbmxvYWQsZV0sZSl9KX19LHt9XSwxNTpbZnVuY3Rpb24odCxlLG4pe2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksbj13aW5kb3cubG9jYXRpb24scj17fTtlLmhyZWY9dCxyLnBvcnQ9ZS5wb3J0O3ZhciBvPWUuaHJlZi5zcGxpdCgiOi8vIik7IXIucG9ydCYmb1sxXSYmKHIucG9ydD1vWzFdLnNwbGl0KCIvIilbMF0uc3BsaXQoIkAiKS5wb3AoKS5zcGxpdCgiOiIpWzFdKSxyLnBvcnQmJiIwIiE9PXIucG9ydHx8KHIucG9ydD0iaHR0cHMiPT09b1swXT8iNDQzIjoiODAiKSxyLmhvc3RuYW1lPWUuaG9zdG5hbWV8fG4uaG9zdG5hbWUsci5wYXRobmFtZT1lLnBhdGhuYW1lLHIucHJvdG9jb2w9b1swXSwiLyIhPT1yLnBhdGhuYW1lLmNoYXJBdCgwKSYmKHIucGF0aG5hbWU9Ii8iK3IucGF0aG5hbWUpO3ZhciBpPSFlLnByb3RvY29sfHwiOiI9PT1lLnByb3RvY29sfHxlLnByb3RvY29sPT09bi5wcm90b2NvbCxhPWUuaG9zdG5hbWU9PT1kb2N1bWVudC5kb21haW4mJmUucG9ydD09PW4ucG9ydDtyZXR1cm4gci5zYW1lT3JpZ2luPWkmJighZS5ob3N0bmFtZXx8YSkscn19LHt9XSwxNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGkodCxbKG5ldyBEYXRlKS5nZXRUaW1lKCldLmNvbmNhdChjKGFyZ3VtZW50cykpLGU/bnVsbDp0aGlzLG4pLGU/dm9pZCAwOnRoaXN9fXZhciBpPXQoImhhbmRsZSIpLGE9dCgxOSksYz10KDIwKSxzPXQoImVlIikuZ2V0KCJ0cmFjZXIiKSxmPU5SRVVNOyJ1bmRlZmluZWQiPT10eXBlb2Ygd2luZG93Lm5ld3JlbGljJiYobmV3cmVsaWM9Zik7dmFyIHU9WyJzZXRQYWdlVmlld05hbWUiLCJzZXRDdXN0b21BdHRyaWJ1dGUiLCJzZXRFcnJvckhhbmRsZXIiLCJmaW5pc2hlZCIsImFkZFRvVHJhY2UiLCJpbmxpbmVIaXQiXSxoPSJhcGktIixwPWgrIml4bi0iO2EodSxmdW5jdGlvbih0LGUpe2ZbZV09byhoK2UsITAsImFwaSIpfSksZi5hZGRQYWdlQWN0aW9uPW8oaCsiYWRkUGFnZUFjdGlvbiIsITApLGUuZXhwb3J0cz1uZXdyZWxpYyxmLmludGVyYWN0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuKG5ldyByKS5nZXQoKX07dmFyIGQ9ci5wcm90b3R5cGU9e2NyZWF0ZVRyYWNlcjpmdW5jdGlvbih0LGUpe3ZhciBuPXt9LHI9dGhpcyxvPSJmdW5jdGlvbiI9PXR5cGVvZiBlO3JldHVybiBpKHArInRyYWNlciIsW0RhdGUubm93KCksdCxuXSxyKSxmdW5jdGlvbigpe2lmKHMuZW1pdCgobz8iIjoibm8tIikrImZuLXN0YXJ0IixbRGF0ZS5ub3coKSxyLG9dLG4pLG8pdHJ5e3JldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1maW5hbGx5e3MuZW1pdCgiZm4tZW5kIixbRGF0ZS5ub3coKV0sbil9fX19O2EoInNldE5hbWUsc2V0QXR0cmlidXRlLHNhdmUsaWdub3JlLG9uRW5kLGdldENvbnRleHQsZW5kLGdldCIuc3BsaXQoIiwiKSxmdW5jdGlvbih0LGUpe2RbZV09byhwK2UpfSksbmV3cmVsaWMubm90aWNlRXJyb3I9ZnVuY3Rpb24odCl7InN0cmluZyI9PXR5cGVvZiB0JiYodD1uZXcgRXJyb3IodCkpLGkoImVyciIsW3QsKG5ldyBEYXRlKS5nZXRUaW1lKCldKX19LHt9XSwxNzpbZnVuY3Rpb24odCxlLG4pe2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQmJnQubGVuZ3RoKXJldHVybiB0Lmxlbmd0aDtpZigib2JqZWN0Ij09dHlwZW9mIHQpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXImJnQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmdC5ieXRlTGVuZ3RoKXJldHVybiB0LmJ5dGVMZW5ndGg7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBCbG9iJiZ0IGluc3RhbmNlb2YgQmxvYiYmdC5zaXplKXJldHVybiB0LnNpemU7aWYoISgidW5kZWZpbmVkIiE9dHlwZW9mIEZvcm1EYXRhJiZ0IGluc3RhbmNlb2YgRm9ybURhdGEpKXRyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCkubGVuZ3RofWNhdGNoKGUpe3JldHVybn19fX0se31dLDE4OltmdW5jdGlvbih0LGUsbil7dmFyIHI9MCxvPW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0ZpcmVmb3hbXC9cc10oXGQrXC5cZCspLyk7byYmKHI9K29bMV0pLGUuZXhwb3J0cz1yfSx7fV0sMTk6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSl7dmFyIG49W10scj0iIixpPTA7Zm9yKHIgaW4gdClvLmNhbGwodCxyKSYmKG5baV09ZShyLHRbcl0pLGkrPTEpO3JldHVybiBufXZhciBvPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7ZS5leHBvcnRzPXJ9LHt9XSwyMDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe2V8fChlPTApLCJ1bmRlZmluZWQiPT10eXBlb2YgbiYmKG49dD90Lmxlbmd0aDowKTtmb3IodmFyIHI9LTEsbz1uLWV8fDAsaT1BcnJheShvPDA/MDpvKTsrK3I8bzspaVtyXT10W2Urcl07cmV0dXJuIGl9ZS5leHBvcnRzPXJ9LHt9XSwyMTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7cmV0dXJuISh0JiYiZnVuY3Rpb24iPT10eXBlb2YgdCYmdC5hcHBseSYmIXRbYV0pfXZhciBvPXQoImVlIiksaT10KDIwKSxhPSJuckBvcmlnaW5hbCIsYz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LHM9ITE7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUodCxlLG4sbyl7ZnVuY3Rpb24gbnJXcmFwcGVyKCl7dmFyIHIsYSxjLHM7dHJ5e2E9dGhpcyxyPWkoYXJndW1lbnRzKSxjPSJmdW5jdGlvbiI9PXR5cGVvZiBuP24ocixhKTpufHx7fX1jYXRjaCh1KXtoKFt1LCIiLFtyLGEsb10sY10pfWYoZSsic3RhcnQiLFtyLGEsb10sYyk7dHJ5e3JldHVybiBzPXQuYXBwbHkoYSxyKX1jYXRjaChwKXt0aHJvdyBmKGUrImVyciIsW3IsYSxwXSxjKSxwfWZpbmFsbHl7ZihlKyJlbmQiLFtyLGEsc10sYyl9fXJldHVybiByKHQpP3Q6KGV8fChlPSIiKSxucldyYXBwZXJbYV09dCx1KHQsbnJXcmFwcGVyKSxucldyYXBwZXIpfWZ1bmN0aW9uIG4odCxuLG8saSl7b3x8KG89IiIpO3ZhciBhLGMscyxmPSItIj09PW8uY2hhckF0KDApO2ZvcihzPTA7czxuLmxlbmd0aDtzKyspYz1uW3NdLGE9dFtjXSxyKGEpfHwodFtjXT1lKGEsZj9jK286byxpLGMpKX1mdW5jdGlvbiBmKGUsbixyKXtpZighcyl7cz0hMDt0cnl7dC5lbWl0KGUsbixyKX1jYXRjaChvKXtoKFtvLGUsbixyXSl9cz0hMX19ZnVuY3Rpb24gdSh0LGUpe2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3ZhciBuPU9iamVjdC5rZXlzKHQpO3JldHVybiBuLmZvckVhY2goZnVuY3Rpb24obil7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19LHNldDpmdW5jdGlvbihlKXtyZXR1cm4gdFtuXT1lLGV9fSl9KSxlfWNhdGNoKHIpe2goW3JdKX1mb3IodmFyIG8gaW4gdCljLmNhbGwodCxvKSYmKGVbb109dFtvXSk7cmV0dXJuIGV9ZnVuY3Rpb24gaChlKXt0cnl7dC5lbWl0KCJpbnRlcm5hbC1lcnJvciIsZSl9Y2F0Y2gobil7fX1yZXR1cm4gdHx8KHQ9byksZS5pblBsYWNlPW4sZS5mbGFnPWEsZX19LHt9XSxlZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXt9ZnVuY3Rpb24gbyh0KXtmdW5jdGlvbiBlKHQpe3JldHVybiB0JiZ0IGluc3RhbmNlb2Ygcj90OnQ/Yyh0LGEsaSk6aSgpfWZ1bmN0aW9uIG4obixyLG8pe3QmJnQobixyLG8pO2Zvcih2YXIgaT1lKG8pLGE9cChuKSxjPWEubGVuZ3RoLHM9MDtzPGM7cysrKWFbc10uYXBwbHkoaSxyKTt2YXIgdT1mW3Zbbl1dO3JldHVybiB1JiZ1LnB1c2goW3csbixyLGldKSxpfWZ1bmN0aW9uIGgodCxlKXttW3RdPXAodCkuY29uY2F0KGUpfWZ1bmN0aW9uIHAodCl7cmV0dXJuIG1bdF18fFtdfWZ1bmN0aW9uIGQodCl7cmV0dXJuIHVbdF09dVt0XXx8byhuKX1mdW5jdGlvbiBsKHQsZSl7cyh0LGZ1bmN0aW9uKHQsbil7ZT1lfHwiZmVhdHVyZSIsdltuXT1lLGUgaW4gZnx8KGZbZV09W10pfSl9dmFyIG09e30sdj17fSx3PXtvbjpoLGVtaXQ6bixnZXQ6ZCxsaXN0ZW5lcnM6cCxjb250ZXh0OmUsYnVmZmVyOmx9O3JldHVybiB3fWZ1bmN0aW9uIGkoKXtyZXR1cm4gbmV3IHJ9dmFyIGE9Im5yQGNvbnRleHQiLGM9dCgiZ29zIikscz10KDE5KSxmPXt9LHU9e30saD1lLmV4cG9ydHM9bygpO2guYmFja2xvZz1mfSx7fV0sZ29zOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7aWYoby5jYWxsKHQsZSkpcmV0dXJuIHRbZV07dmFyIHI9bigpO2lmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSYmT2JqZWN0LmtleXMpdHJ5e3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITF9KSxyfWNhdGNoKGkpe31yZXR1cm4gdFtlXT1yLHJ9dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLGhhbmRsZTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4scil7by5idWZmZXIoW3RdLHIpLG8uZW1pdCh0LGUsbil9dmFyIG89dCgiZWUiKS5nZXQoImhhbmRsZSIpO2UuZXhwb3J0cz1yLHIuZWU9b30se31dLGlkOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4hdHx8Im9iamVjdCIhPT1lJiYiZnVuY3Rpb24iIT09ZT8tMTp0PT09d2luZG93PzA6YSh0LGksZnVuY3Rpb24oKXtyZXR1cm4gbysrfSl9dmFyIG89MSxpPSJuckBpZCIsYT10KCJnb3MiKTtlLmV4cG9ydHM9cn0se31dLGxvYWRlcjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoKXtpZighZysrKXt2YXIgdD15LmluZm89TlJFVU0uaW5mbyxlPXUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2lmKHQmJnQubGljZW5zZUtleSYmdC5hcHBsaWNhdGlvbklEJiZlKXtzKHYsZnVuY3Rpb24oZSxuKXt0W2VdfHwodFtlXT1uKX0pO3ZhciBuPSJodHRwcyI9PT1tLnNwbGl0KCI6IilbMF18fHQuc3NsRm9ySHR0cDt5LnByb3RvPW4/Imh0dHBzOi8vIjoiaHR0cDovLyIsYygibWFyayIsWyJvbmxvYWQiLGEoKV0sbnVsbCwiYXBpIik7dmFyIHI9dS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyLnNyYz15LnByb3RvK3QuYWdlbnQsZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShyLGUpfX19ZnVuY3Rpb24gbygpeyJjb21wbGV0ZSI9PT11LnJlYWR5U3RhdGUmJmkoKX1mdW5jdGlvbiBpKCl7YygibWFyayIsWyJkb21Db250ZW50IixhKCldLG51bGwsImFwaSIpfWZ1bmN0aW9uIGEoKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX12YXIgYz10KCJoYW5kbGUiKSxzPXQoMTkpLGY9d2luZG93LHU9Zi5kb2N1bWVudCxoPSJhZGRFdmVudExpc3RlbmVyIixwPSJhdHRhY2hFdmVudCIsZD1mLlhNTEh0dHBSZXF1ZXN0LGw9ZCYmZC5wcm90b3R5cGU7TlJFVU0ubz17U1Q6c2V0VGltZW91dCxDVDpjbGVhclRpbWVvdXQsWEhSOmQsUkVROmYuUmVxdWVzdCxFVjpmLkV2ZW50LFBSOmYuUHJvbWlzZSxNTzpmLk11dGF0aW9uT2JzZXJ2ZXJ9LHQoMTYpO3ZhciBtPSIiK2xvY2F0aW9uLHY9e2JlYWNvbjoiYmFtLm5yLWRhdGEubmV0IixlcnJvckJlYWNvbjoiYmFtLm5yLWRhdGEubmV0IixhZ2VudDoianMtYWdlbnQubmV3cmVsaWMuY29tL25yLXNwYS05NzQubWluLmpzIn0sdz1kJiZsJiZsW2hdJiYhL0NyaU9TLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLHk9ZS5leHBvcnRzPXtvZmZzZXQ6YSgpLG9yaWdpbjptLGZlYXR1cmVzOnt9LHhocldyYXBwYWJsZTp3fTt1W2hdPyh1W2hdKCJET01Db250ZW50TG9hZGVkIixpLCExKSxmW2hdKCJsb2FkIixyLCExKSk6KHVbcF0oIm9ucmVhZHlzdGF0ZWNoYW5nZSIsbyksZltwXSgib25sb2FkIixyKSksYygibWFyayIsWyJmaXJzdGJ5dGUiLGEoKV0sbnVsbCwiYXBpIik7dmFyIGc9MH0se31dfSx7fSxbImxvYWRlciIsMiwxNCw1LDMsNF0pOzwvc2NyaXB0Pjx0aXRsZT5QbHVyYWxzaWdodDwvdGl0bGU+PG1ldGEgbmFtZT0iYXBwbGUtaXR1bmVzLWFwcCIgY29udGVudD0iYXBwLWlkPTQzMTc0ODI2NCI+PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj48bGluayByZWw9ImRucy1wcmVmZXRjaCIgaHJlZj0iLy9zMi5wbHVyYWxzaWdodC5jb20iPjxsaW5rIHJlbD0iZG5zLXByZWZldGNoIiBocmVmPSIvL3BsdXJhbHNpZ2h0LXJlcy5jbG91ZGluYXJ5LmNvbSI+PGxpbmsgcmVsPSJkbnMtcHJlZmV0Y2giIGhyZWY9Ii8vcy5wbHVyYWxzaWdodC5jb20iPjxsaW5rIHJlbD0iZG5zLXByZWZldGNoIiBocmVmPSIvL2Nkbi5zZWdtZW50LmNvbSI+PGxpbmsgcmVsPSJkbnMtcHJlZmV0Y2giIGhyZWY9Ii8vY2RuLnNlZ21lbnQuaW8iPjxsaW5rIHJlbD0iZG5zLXByZWZldGNoIiBocmVmPSIvL2Nkbi5saXZlZnlyZS5jb20iPjxsaW5rIHJlbD0iZG5zLXByZWZldGNoIiBocmVmPSIvL2Jvb3RzdHJhcC5saXZlZnlyZS5jb20iPjxzY3JpcHQ+QVBJX0xFQVJORVJfUk9PVCA9ICIvL2FwcC5wbHVyYWxzaWdodC5jb20vbGVhcm5lciIKQVBJX0ZFQVRVUkVTX1JPT1QgPSAiaHR0cHM6Ly9hcHAucGx1cmFsc2lnaHQuY29tL2ZlYXR1cmVzL2FwaSIKQVBJX0NPTlRFTlRfUk9PVCA9ICJodHRwczovL2FwcC5wbHVyYWxzaWdodC5jb20vbGVhcm5lci9jb250ZW50IgpBUElfVVNFUl9ST09UID0gImh0dHBzOi8vYXBwLnBsdXJhbHNpZ2h0LmNvbS9sZWFybmVyL3VzZXIiCkFQSV9TRUFSQ0hfUk9PVCA9ICIvc2VhcmNoL3Byb3h5IgpMSVZFRllSRV9TSVRFX0lEID0gIjMyMjU1NyIKQU5EUk9JRF9BUFBfSUQgPSAiY29tLnBsdXJhbHNpZ2h0IgpNT05PTElUSF9CQVNFX1VSTCA9ICJhcHAucGx1cmFsc2lnaHQuY29tIjwvc2NyaXB0PjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLy9jbG91ZC50eXBvZ3JhcGh5LmNvbS82OTY2MTU0LzY5MTU2OC9jc3MvZm9udHMuY3NzIj48c2NyaXB0IHNyYz0iLy9zLnBsdXJhbHNpZ2h0LmNvbS9sZWFybmVyL3NoYXJlZC5mYWZhNmY0OWZmNjM0MjQ0NWQzYi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLy9hc3NldHMuYWRvYmVkdG0uY29tLzJjNWYyYjMwNzYyYWU2MjM3NzkxNmMwOTYxMmNkOWQ2MDA1NGZiYTkvc2F0ZWxsaXRlTGliLTNmMjAwMWY4ODMxNTYxMGQyOTVlNDgyNjA3ZjdkMDAzYzg2MjdkMDguanMiPjwvc2NyaXB0PjxzY3JpcHQ+IWZ1bmN0aW9uKCl7dmFyIGFuYWx5dGljcz13aW5kb3cuYW5hbHl0aWNzPXdpbmRvdy5hbmFseXRpY3N8fFtdO2lmKCFhbmFseXRpY3MuaW5pdGlhbGl6ZSlpZihhbmFseXRpY3MuaW52b2tlZCl3aW5kb3cuY29uc29sZSYmY29uc29sZS5lcnJvciYmY29uc29sZS5lcnJvcigiU2VnbWVudCBzbmlwcGV0IGluY2x1ZGVkIHR3aWNlLiIpO2Vsc2V7YW5hbHl0aWNzLmludm9rZWQ9ITA7YW5hbHl0aWNzLm1ldGhvZHM9WyJ0cmFja1N1Ym1pdCIsInRyYWNrQ2xpY2siLCJ0cmFja0xpbmsiLCJ0cmFja0Zvcm0iLCJwYWdldmlldyIsImlkZW50aWZ5IiwiZ3JvdXAiLCJ0cmFjayIsInJlYWR5IiwiYWxpYXMiLCJwYWdlIiwib25jZSIsIm9mZiIsIm9uIl07YW5hbHl0aWNzLmZhY3Rvcnk9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtlLnVuc2hpZnQodCk7YW5hbHl0aWNzLnB1c2goZSk7cmV0dXJuIGFuYWx5dGljc319O2Zvcih2YXIgdD0wO3Q8YW5hbHl0aWNzLm1ldGhvZHMubGVuZ3RoO3QrKyl7dmFyIGU9YW5hbHl0aWNzLm1ldGhvZHNbdF07YW5hbHl0aWNzW2VdPWFuYWx5dGljcy5mYWN0b3J5KGUpfWFuYWx5dGljcy5sb2FkPWZ1bmN0aW9uKHQpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2UudHlwZT0idGV4dC9qYXZhc2NyaXB0IjtlLmFzeW5jPSEwO2Uuc3JjPSgiaHR0cHM6Ij09PWRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sPyJodHRwczovLyI6Imh0dHA6Ly8iKSsiY2RuLnNlZ21lbnQuY29tL2FuYWx5dGljcy5qcy92MS8iK3QrIi9hbmFseXRpY3MubWluLmpzIjt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07bi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLG4pfTthbmFseXRpY3MuU05JUFBFVF9WRVJTSU9OPSIzLjAuMSI7CiAgYW5hbHl0aWNzLmxvYWQoIm4yTExiRkkxTUR4RktCTHpJMGVzMlo3UHJEaHU2akVBIik7Cn19KCk7PC9zY3JpcHQ+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL3MyLnBsdXJhbHNpZ2h0LmNvbS9wcmlzbS9wcmlzbS03LjAuMS5taW4uY3NzIj48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vcy5wbHVyYWxzaWdodC5jb20vbGVhcm5lci9tYWluLmZhZmE2ZjQ5ZmY2MzQyNDQ1ZDNiLmNzcyIgLz48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIvL3MucGx1cmFsc2lnaHQuY29tL21lbnRvcnMvdG9vbHMvc2lkZWJhci92MS9zaWRlYmFyLm1pbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLy9zMi5wbHVyYWxzaWdodC5jb20vcHJpc20vcHJpc20tNy4wLjEubWluLmpzIj48L3NjcmlwdD48L2hlYWQ+PGJvZHk+PGRpdiBpZD0icHMtYmFubmVycyI+PC9kaXY+PGRpdiBpZD0icHMtY29udGFpbmVyIj48ZGl2IGlkPSJwcy1jaHJvbWUiPjwvZGl2PjxkaXYgaWQ9InBzLW1haW4iPjwvZGl2PjwvZGl2PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5fX0lOSVRJQUxfU1RBVEVfXyA9IHsiY3VycmVudFVzZXIiOnsiaWQiOiI0YmFkYTg1MC0zZTZiLTQ2YTItYTRmZC03MDRjODhjNDNkODgiLCJmaXJzdE5hbWUiOiJEYW5ueSIsImxhc3ROYW1lIjoiQ2FsbGFnaGFuIiwiZGlzcGxheU5hbWUiOiJEYW5ueSBDYWxsYWdoYW4iLCJlbWFpbCI6ImRhbm55Y2FsbGFnaGFuQGdtYWlsLmNvbSIsInVzZXJOYW1lIjoiZGFubnljYWxsYWdoYW4iLCJhdmF0YXIiOnsiZGVmYXVsdFVybCI6Ii8vZ3JhdmF0YXIuY29tL2F2YXRhci8wM2Y3OTQzOTA3NGQ3M2QxZmMwMzM4ZmI2MTAwNjkyYT9zPTIwMCZkPWh0dHBzOi8vcy5wbHVyYWxzaWdodC5jb20vc2MvaW1nL2FjY291bnQvYXZhdGFyLXYyLnBuZyJ9LCJjcmVhdGVkQXQiOiIyMDE0LTAyLTEyVDA5OjMxOjA3Iiwicm9sZXMiOlt7InR5cGUiOiJsZWFybmVyIn1dfSwiY2xhaW1zIjpbXSwic2xpY2VTdWJzY3JpcHRpb25zIjpbXSwic3Vic2NyaXB0aW9ucyI6W3sidHlwZSI6ImxpYnJhcnkiLCJsaWJyYXJ5VHlwZSI6ImluZGl2aWR1YWwiLCJoYXNDb2RlU2Nob29sIjpmYWxzZSwiaGFzTWVudG9yaW5nIjp0cnVlLCJhY3RpdmUiOnRydWUsImlzU2xpY2UiOmZhbHNlfV0sInVzZXJGZWF0dXJlcy52MyI6eyJhbGwiOnsiY29sbGVjdGlvbiI6eyJub3RlcyI6eyJpZCI6Im5vdGVzIiwiZGlzcGxheU5hbWUiOiJ3ZWItcGxheWVyIG5vdGVzIiwiZGVzY3JpcHRpb24iOiJXZWIgUGxheWVyIE5vdGVzIiwiaXNBdmFpbGFibGVGb3JPcHRJbiI6ZmFsc2UsImlzRW5hYmxlZEZvclVzZXIiOnRydWUsImNhblRvZ2dsZSI6ZmFsc2V9LCJsZWFybmVyLXJlY29tbWVuZGF0aW9ucyI6eyJpZCI6ImxlYXJuZXItcmVjb21tZW5kYXRpb25zIiwiZGlzcGxheU5hbWUiOiJMZWFybmVyIFJlY29tbWVuZGF0aW9ucyIsImRlc2NyaXB0aW9uIjoiUmVjb21tZW5kYXRpb25zIGluIG5hcndoYWwuIFVzZXIgbGV2ZWwgcmVjb21tZW5kYXRpb25zIG9uIGRhc2hib2FyZC4gQ291cnNlIGxldmVsIHJlY29tbWVuZGF0aW9ucyBvbiBjb3Vyc2UgcGFnZS4iLCJpc0F2YWlsYWJsZUZvck9wdEluIjpmYWxzZSwiaXNFbmFibGVkRm9yVXNlciI6ZmFsc2UsImNhblRvZ2dsZSI6ZmFsc2V9LCJsZWFybmVyLXBhdGhzLWluLXNlYXJjaCI6eyJpZCI6ImxlYXJuZXItcGF0aHMtaW4tc2VhcmNoIiwiZGlzcGxheU5hbWUiOiJMZWFybmVyIFBhdGhzIEluIFNlYXJjaCIsImRlc2NyaXB0aW9uIjoiRGlzcGxheSBwYXRoIHJlc3VsdHMgaW4gc2VhcmNoIiwiaXNBdmFpbGFibGVGb3JPcHRJbiI6ZmFsc2UsImlzRW5hYmxlZEZvclVzZXIiOmZhbHNlLCJjYW5Ub2dnbGUiOmZhbHNlfX19fSwiY29uZmlnIjp7ImNvbnRleHRzIjp7ImFzc2Vzc21lbnRzIjp7ImJhc2VVcmwiOiJhcHAucGx1cmFsc2lnaHQuY29tL3Njb3JlIn0sImNvZGVTY2hvb2wiOnsic3NvTGluayI6Ii8vY29kZXNjaG9vbC5wbHVyYWxzaWdodC5jb20vcHMvdXVsIn0sIm1lbnRvcmluZyI6e319LCJmZWF0dXJlcyI6eyJkYXNoYm9hcmRNb2RhbCI6ZmFsc2V9LCJtb25vbGl0aEJhc2VVcmwiOiJhcHAucGx1cmFsc2lnaHQuY29tIiwibGl2ZWZ5cmVCYXNlVXJsIjoicGx1cmFsc2lnaHQuY29tIiwiYXV0aG9yaXplVXJsIjoiaHR0cHM6Ly9hcHAucGx1cmFsc2lnaHQuY29tL2lkL3NpZ25pbiIsImNvdXJzZUltYWdlVXJsVGVtcGxhdGVTdHJpbmciOiIvL3BsdXJhbHNpZ2h0LXJlcy5jbG91ZGluYXJ5LmNvbS9pbWFnZS91cGxvYWQvd197d2lkdGh9L3BsdXJhbHNpZ2h0LXN0YXRpYy9jb3Vyc2UtaW1hZ2VzL3tjb3Vyc2VJZH0tdntpbWFnZVZlcnNpb259LmpwZyJ9fQo8L3NjcmlwdD48c2NyaXB0IHNyYz0iLy9zLnBsdXJhbHNpZ2h0LmNvbS9sZWFybmVyL21haW4uZmFmYTZmNDlmZjYzNDI0NDVkM2IuanMiPjwvc2NyaXB0PjxkaXYgaWQ9Il93ZWJlbmdhZ2Vfc2NyaXB0X3RhZyI+PC9kaXY+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPl9zYXRlbGxpdGUucGFnZUJvdHRvbSgpOzwvc2NyaXB0PjwvYm9keT48L2h0bWw+
[pluralsight] agile-requirements-process-idea-to-minimum-viable-product-m3-3: Downloading webpage
[pluralsight] Dumping request to http://app.pluralsight.com/training/player?author=rusty-divine&name=agile-requirements-process-idea-to-minimum-viable-product-m3&mode=live&clip=3&course=agile-requirements-process-idea-to-minimum-viable-product
PCFET0NUWVBFIGh0bWw+PGh0bWw+PGhlYWQ+PG1ldGEgY2hhcnNldD0idXRmLTgiPjxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+PHRpdGxlPjwvdGl0bGU+PG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IiI+PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtYXhpbXVtLXNjYWxlPTEiPjxtZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyI+PG1ldGEgbmFtZT0iZm9ybWF0LWRldGVjdGlvbiIgY29udGVudD0idGVsZXBob25lPW5vIj48IS0tW2lmICFJRSA5XT48IS0tPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9zLnBsdXJhbHNpZ2h0LmNvbS90eXBvZ3JhcGh5LzM0MDYyOC83RUZGNURCNUNBMjk3RUJFNy5jc3MiPjxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iaHR0cHM6Ly9zLnBsdXJhbHNpZ2h0LmNvbS9mYXZpY29uLmljbyI+PCEtLTwhW2VuZGlmXS0tPjxzY3JpcHQgc3JjPSIvL2Fzc2V0cy5hZG9iZWR0bS5jb20vMmM1ZjJiMzA3NjJhZTYyMzc3OTE2YzA5NjEyY2Q5ZDYwMDU0ZmJhOS9zYXRlbGxpdGVMaWItM2YyMDAxZjg4MzE1NjEwZDI5NWU0ODI2MDdmN2QwMDNjODYyN2QwOC5qcyI+PC9zY3JpcHQ+PHNjcmlwdD52YXIgX2hlbHBnaXptb19wID0gX2hlbHBnaXptb19wIHx8IFtdOwpfaGVscGdpem1vX3AucHVzaChbJ19zZXRQcm9qZWN0JywgJzU3MDkzZWU0OTExMjFjNmQ2YTBjOTMxMS01NzA5M2YwNTkxMTIxYzk0NjgwYzkyZmInXSk7CihmdW5jdGlvbigpIHsKICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICB2YXIgaGcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgIGhnLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsKICAgIGhnLmFzeW5jID0gdHJ1ZTsKICAgIGhnLnNyYyA9ICIvL3BsdXJhbHNpZ2h0Lmtub3dsZWRnZW93bC5jb20vamF2YXNjcmlwdD9fX3BjPTU3MDkzZWU0OTExMjFjNmQ2YTBjOTMxMS01NzA5M2YwNTkxMTIxYzk0NjgwYzkyZmIiOwogICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChoZyk7CiAgfSwyNTApOwp9KSgpOwo8L3NjcmlwdD48c2NyaXB0PmlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykgewogIHdpbmRvdy5jb25zb2xlID0gd2luZG93LmNvbnNvbGUgfHwge307CiAgdmFyIG1ldGhvZHMgPSBbJ2xvZycsICd3YXJuaW5nJywgJ2luZm8nLCAnZGVidWcnXTsKICBmb3IodmFyIGk9MDsgaTxtZXRob2RzLmxlbmd0aDsgaSsrKSB7CiAgICBpZighY29uc29sZVttZXRob2RzW2ldXSkgewogICAgICBjb25zb2xlW21ldGhvZHNbaV1dID0gZnVuY3Rpb24oKXt9OwogICAgfQogIH0KfQo8L3NjcmlwdD48c2NyaXB0PnZhciB5b3Vib3JhQ29uZmlnID0geyJhY2NvdW50SWQiOiJwbHVyYWxzaWdodCIsInVzZXJuYW1lIjoicGxzYWRtaW4ifTsKdmFyIGJ1aWxkVmVyc2lvbiA9IDEzMzU7Cjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvL3MucGx1cmFsc2lnaHQuY29tL2FuYWx5dGljcy9hbmFseXRpY3MtZmFjYWRlLnYyLjAuMC5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBpZD0iX3dlYmVuZ2FnZV9zY3JpcHRfdGFnIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnZhciB3ZWJlbmdhZ2U7ICFmdW5jdGlvbihlLHQsbil7ZnVuY3Rpb24gbyhlLHQpe2VbdFt0Lmxlbmd0aC0xXV09ZnVuY3Rpb24oKXtyLl9fcXVldWUucHVzaChbdC5qb2luKCIuIiksYXJndW1lbnRzXSl9fXZhciBpLHMscj1lW25dLGc9IiAiLGw9ImluaXQgb3B0aW9ucyB0cmFjayBzY3JlZW4gb25SZWFkeSIuc3BsaXQoZyksYT0iZmVlZGJhY2sgc3VydmV5IG5vdGlmaWNhdGlvbiIuc3BsaXQoZyksYz0ib3B0aW9ucyByZW5kZXIgY2xlYXIgYWJvcnQiLnNwbGl0KGcpLHA9Ik9wZW4gQ2xvc2UgU3VibWl0IENvbXBsZXRlIFZpZXcgQ2xpY2siLnNwbGl0KGcpLHU9ImlkZW50aWZ5IGxvZ2luIGxvZ291dCBzZXRBdHRyaWJ1dGUiLnNwbGl0KGcpO2lmKCFyfHwhci5fX3Ype2ZvcihlW25dPXI9e19fcXVldWU6W10sX192OiI2LjAiLHVzZXI6e319LGk9MDtpPGwubGVuZ3RoO2krKylvKHIsW2xbaV1dKTtmb3IoaT0wO2k8YS5sZW5ndGg7aSsrKXtmb3IoclthW2ldXT17fSxzPTA7czxjLmxlbmd0aDtzKyspbyhyW2FbaV1dLFthW2ldLGNbc11dKTtmb3Iocz0wO3M8cC5sZW5ndGg7cysrKW8oclthW2ldXSxbYVtpXSwib24iK3Bbc11dKX1mb3IoaT0wO2k8dS5sZW5ndGg7aSsrKW8oci51c2VyLFsidXNlciIsdVtpXV0pO3NldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgZj10LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLGQ9dC5nZXRFbGVtZW50QnlJZCgiX3dlYmVuZ2FnZV9zY3JpcHRfdGFnIik7Zi50eXBlPSJ0ZXh0L2phdmFzY3JpcHQiLGYuYXN5bmM9ITAsZi5zcmM9KCJodHRwczoiPT10LmxvY2F0aW9uLnByb3RvY29sPyJodHRwczovL3NzbC53aWRnZXRzLndlYmVuZ2FnZS5jb20iOiJodHRwOi8vY2RuLndpZGdldHMud2ViZW5nYWdlLmNvbSIpKyIvanMvd2ViZW5nYWdlLW1pbi12LTYuMC5qcyIsZC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShmLGQpfSl9fSh3aW5kb3csZG9jdW1lbnQsIndlYmVuZ2FnZSIpOwo8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+d2luZG93Lk5SRVVNfHwoTlJFVU09e30pLF9fbnJfcmVxdWlyZT1mdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcihuKXtpZighZVtuXSl7dmFyIG89ZVtuXT17ZXhwb3J0czp7fX07dFtuXVswXS5jYWxsKG8uZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbz10W25dWzFdW2VdO3JldHVybiByKG98fGUpfSxvLG8uZXhwb3J0cyl9cmV0dXJuIGVbbl0uZXhwb3J0c31pZigiZnVuY3Rpb24iPT10eXBlb2YgX19ucl9yZXF1aXJlKXJldHVybiBfX25yX3JlcXVpcmU7Zm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcihuW29dKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3RyeXtzLmNvbnNvbGUmJmNvbnNvbGUubG9nKHQpfWNhdGNoKGUpe319dmFyIG8saT10KCJlZSIpLGE9dCgxNSkscz17fTt0cnl7bz1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX19ucl9mbGFncyIpLnNwbGl0KCIsIiksY29uc29sZSYmImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUubG9nJiYocy5jb25zb2xlPSEwLG8uaW5kZXhPZigiZGV2IikhPT0tMSYmKHMuZGV2PSEwKSxvLmluZGV4T2YoIm5yX2RldiIpIT09LTEmJihzLm5yRGV2PSEwKSl9Y2F0Y2goYyl7fXMubnJEZXYmJmkub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtyKHQuc3RhY2spfSkscy5kZXYmJmkub24oImZuLWVyciIsZnVuY3Rpb24odCxlLG4pe3Iobi5zdGFjayl9KSxzLmRldiYmKHIoIk5SIEFHRU5UIElOIERFVkVMT1BNRU5UIE1PREUiKSxyKCJmbGFnczogIithKHMsZnVuY3Rpb24odCxlKXtyZXR1cm4gdH0pLmpvaW4oIiwgIikpKX0se31dLDI6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuLHIsbyl7dHJ5e2Q/ZC09MTppKCJlcnIiLFtvfHxuZXcgVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pXSl9Y2F0Y2gocyl7dHJ5e2koImllcnIiLFtzLChuZXcgRGF0ZSkuZ2V0VGltZSgpLCEwXSl9Y2F0Y2goYyl7fX1yZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZiYmZi5hcHBseSh0aGlzLGEoYXJndW1lbnRzKSl9ZnVuY3Rpb24gVW5jYXVnaHRFeGNlcHRpb24odCxlLG4pe3RoaXMubWVzc2FnZT10fHwiVW5jYXVnaHQgZXJyb3Igd2l0aCBubyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIix0aGlzLnNvdXJjZVVSTD1lLHRoaXMubGluZT1ufWZ1bmN0aW9uIG8odCl7aSgiZXJyIixbdCwobmV3IERhdGUpLmdldFRpbWUoKV0pfXZhciBpPXQoImhhbmRsZSIpLGE9dCgxNikscz10KCJlZSIpLGM9dCgibG9hZGVyIiksZj13aW5kb3cub25lcnJvcix1PSExLGQ9MDtjLmZlYXR1cmVzLmVycj0hMCx0KDEpLHdpbmRvdy5vbmVycm9yPXI7dHJ5e3Rocm93IG5ldyBFcnJvcn1jYXRjaChsKXsic3RhY2siaW4gbCYmKHQoOCksdCg3KSwiYWRkRXZlbnRMaXN0ZW5lciJpbiB3aW5kb3cmJnQoNSksYy54aHJXcmFwcGFibGUmJnQoOSksdT0hMCl9cy5vbigiZm4tc3RhcnQiLGZ1bmN0aW9uKHQsZSxuKXt1JiYoZCs9MSl9KSxzLm9uKCJmbi1lcnIiLGZ1bmN0aW9uKHQsZSxuKXt1JiYodGhpcy50aHJvd249ITAsbyhuKSl9KSxzLm9uKCJmbi1lbmQiLGZ1bmN0aW9uKCl7dSYmIXRoaXMudGhyb3duJiZkPjAmJihkLT0xKX0pLHMub24oImludGVybmFsLWVycm9yIixmdW5jdGlvbih0KXtpKCJpZXJyIixbdCwobmV3IERhdGUpLmdldFRpbWUoKSwhMF0pfSl9LHt9XSwzOltmdW5jdGlvbih0LGUsbil7dCgibG9hZGVyIikuZmVhdHVyZXMuaW5zPSEwfSx7fV0sNDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCl7fWlmKHdpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe3ZhciBvPXQoImVlIiksaT10KCJoYW5kbGUiKSxhPXQoOCkscz10KDcpLGM9ImxlYXJSZXNvdXJjZVRpbWluZ3MiLGY9ImFkZEV2ZW50TGlzdGVuZXIiLHU9InJlc291cmNldGltaW5nYnVmZmVyZnVsbCIsZD0iYnN0UmVzb3VyY2UiLGw9InJlc291cmNlIixwPSItc3RhcnQiLGg9Ii1lbmQiLG09ImZuIitwLHc9ImZuIitoLHY9ImJzdFRpbWVyIix5PSJwdXNoU3RhdGUiO3QoImxvYWRlciIpLmZlYXR1cmVzLnN0bj0hMCx0KDYpO3ZhciBnPU5SRVVNLm8uRVY7by5vbihtLGZ1bmN0aW9uKHQsZSl7dmFyIG49dFswXTtuIGluc3RhbmNlb2YgZyYmKHRoaXMuYnN0U3RhcnQ9RGF0ZS5ub3coKSl9KSxvLm9uKHcsZnVuY3Rpb24odCxlKXt2YXIgbj10WzBdO24gaW5zdGFuY2VvZiBnJiZpKCJic3QiLFtuLGUsdGhpcy5ic3RTdGFydCxEYXRlLm5vdygpXSl9KSxhLm9uKG0sZnVuY3Rpb24odCxlLG4pe3RoaXMuYnN0U3RhcnQ9RGF0ZS5ub3coKSx0aGlzLmJzdFR5cGU9bn0pLGEub24odyxmdW5jdGlvbih0LGUpe2kodixbZSx0aGlzLmJzdFN0YXJ0LERhdGUubm93KCksdGhpcy5ic3RUeXBlXSl9KSxzLm9uKG0sZnVuY3Rpb24oKXt0aGlzLmJzdFN0YXJ0PURhdGUubm93KCl9KSxzLm9uKHcsZnVuY3Rpb24odCxlKXtpKHYsW2UsdGhpcy5ic3RTdGFydCxEYXRlLm5vdygpLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiXSl9KSxvLm9uKHkrcCxmdW5jdGlvbih0KXt0aGlzLnRpbWU9RGF0ZS5ub3coKSx0aGlzLnN0YXJ0UGF0aD1sb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5oYXNofSksby5vbih5K2gsZnVuY3Rpb24odCl7aSgiYnN0SGlzdCIsW2xvY2F0aW9uLnBhdGhuYW1lK2xvY2F0aW9uLmhhc2gsdGhpcy5zdGFydFBhdGgsdGhpcy50aW1lXSl9KSxmIGluIHdpbmRvdy5wZXJmb3JtYW5jZSYmKHdpbmRvdy5wZXJmb3JtYW5jZVsiYyIrY10/d2luZG93LnBlcmZvcm1hbmNlW2ZdKHUsZnVuY3Rpb24odCl7aShkLFt3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZShsKV0pLHdpbmRvdy5wZXJmb3JtYW5jZVsiYyIrY10oKX0sITEpOndpbmRvdy5wZXJmb3JtYW5jZVtmXSgid2Via2l0Iit1LGZ1bmN0aW9uKHQpe2koZCxbd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUobCldKSx3aW5kb3cucGVyZm9ybWFuY2VbIndlYmtpdEMiK2NdKCl9LCExKSksZG9jdW1lbnRbZl0oInNjcm9sbCIsciwhMSksZG9jdW1lbnRbZl0oImtleXByZXNzIixyLCExKSxkb2N1bWVudFtmXSgiY2xpY2siLHIsITEpfX0se31dLDU6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe2Zvcih2YXIgZT10O2UmJiFlLmhhc093blByb3BlcnR5KHUpOyllPU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtlJiZvKGUpfWZ1bmN0aW9uIG8odCl7cy5pblBsYWNlKHQsW3UsZF0sIi0iLGkpfWZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gdFsxXX12YXIgYT10KCJlZSIpLmdldCgiZXZlbnRzIikscz10KDE3KShhKSxjPXQoImdvcyIpLGY9WE1MSHR0cFJlcXVlc3QsdT0iYWRkRXZlbnRMaXN0ZW5lciIsZD0icmVtb3ZlRXZlbnRMaXN0ZW5lciI7ZS5leHBvcnRzPWEsImdldFByb3RvdHlwZU9mImluIE9iamVjdD8ocihkb2N1bWVudCkscih3aW5kb3cpLHIoZi5wcm90b3R5cGUpKTpmLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSh1KSYmKG8od2luZG93KSxvKGYucHJvdG90eXBlKSksYS5vbih1KyItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7aWYodFsxXSl7dmFyIG49dFsxXTtpZigiZnVuY3Rpb24iPT10eXBlb2Ygbil7dmFyIHI9YyhuLCJuckB3cmFwcGVkIixmdW5jdGlvbigpe3JldHVybiBzKG4sImZuLSIsbnVsbCxuLm5hbWV8fCJhbm9ueW1vdXMiKX0pO3RoaXMud3JhcHBlZD10WzFdPXJ9ZWxzZSJmdW5jdGlvbiI9PXR5cGVvZiBuLmhhbmRsZUV2ZW50JiZzLmluUGxhY2UobixbImhhbmRsZUV2ZW50Il0sImZuLSIpfX0pLGEub24oZCsiLXN0YXJ0IixmdW5jdGlvbih0KXt2YXIgZT10aGlzLndyYXBwZWQ7ZSYmKHRbMV09ZSl9KX0se31dLDY6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgiaGlzdG9yeSIpLG89dCgxNykocik7ZS5leHBvcnRzPXIsby5pblBsYWNlKHdpbmRvdy5oaXN0b3J5LFsicHVzaFN0YXRlIiwicmVwbGFjZVN0YXRlIl0sIi0iKX0se31dLDc6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj10KCJlZSIpLmdldCgicmFmIiksbz10KDE3KShyKSxpPSJlcXVlc3RBbmltYXRpb25GcmFtZSI7ZS5leHBvcnRzPXIsby5pblBsYWNlKHdpbmRvdyxbInIiK2ksIm1velIiK2ksIndlYmtpdFIiK2ksIm1zUiIraV0sInJhZi0iKSxyLm9uKCJyYWYtc3RhcnQiLGZ1bmN0aW9uKHQpe3RbMF09byh0WzBdLCJmbi0iKX0pfSx7fV0sODpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlLG4pe3RbMF09YSh0WzBdLCJmbi0iLG51bGwsbil9ZnVuY3Rpb24gbyh0LGUsbil7dGhpcy5tZXRob2Q9bix0aGlzLnRpbWVyRHVyYXRpb249Im51bWJlciI9PXR5cGVvZiB0WzFdP3RbMV06MCx0WzBdPWEodFswXSwiZm4tIix0aGlzLG4pfXZhciBpPXQoImVlIikuZ2V0KCJ0aW1lciIpLGE9dCgxNykoaSkscz0ic2V0VGltZW91dCIsYz0ic2V0SW50ZXJ2YWwiLGY9ImNsZWFyVGltZW91dCIsdT0iLXN0YXJ0IixkPSItIjtlLmV4cG9ydHM9aSxhLmluUGxhY2Uod2luZG93LFtzLCJzZXRJbW1lZGlhdGUiXSxzK2QpLGEuaW5QbGFjZSh3aW5kb3csW2NdLGMrZCksYS5pblBsYWNlKHdpbmRvdyxbZiwiY2xlYXJJbW1lZGlhdGUiXSxmK2QpLGkub24oYyt1LHIpLGkub24ocyt1LG8pfSx7fV0sOTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXtkLmluUGxhY2UoZSxbIm9ucmVhZHlzdGF0ZWNoYW5nZSJdLCJmbi0iLHMpfWZ1bmN0aW9uIG8oKXt2YXIgdD10aGlzLGU9dS5jb250ZXh0KHQpO3QucmVhZHlTdGF0ZT4zJiYhZS5yZXNvbHZlZCYmKGUucmVzb2x2ZWQ9ITAsdS5lbWl0KCJ4aHItcmVzb2x2ZWQiLFtdLHQpKSxkLmluUGxhY2UodCx3LCJmbi0iLHMpfWZ1bmN0aW9uIGkodCl7di5wdXNoKHQpLGgmJihnPS1nLGIuZGF0YT1nKX1mdW5jdGlvbiBhKCl7Zm9yKHZhciB0PTA7dDx2Lmxlbmd0aDt0KyspcihbXSx2W3RdKTt2Lmxlbmd0aCYmKHY9W10pfWZ1bmN0aW9uIHModCxlKXtyZXR1cm4gZX1mdW5jdGlvbiBjKHQsZSl7Zm9yKHZhciBuIGluIHQpZVtuXT10W25dO3JldHVybiBlfXQoNSk7dmFyIGY9dCgiZWUiKSx1PWYuZ2V0KCJ4aHIiKSxkPXQoMTcpKHUpLGw9TlJFVU0ubyxwPWwuWEhSLGg9bC5NTyxtPSJyZWFkeXN0YXRlY2hhbmdlIix3PVsib25sb2FkIiwib25lcnJvciIsIm9uYWJvcnQiLCJvbmxvYWRzdGFydCIsIm9ubG9hZGVuZCIsIm9ucHJvZ3Jlc3MiLCJvbnRpbWVvdXQiXSx2PVtdO2UuZXhwb3J0cz11O3ZhciB5PXdpbmRvdy5YTUxIdHRwUmVxdWVzdD1mdW5jdGlvbih0KXt2YXIgZT1uZXcgcCh0KTt0cnl7dS5lbWl0KCJuZXcteGhyIixbZV0sZSksZS5hZGRFdmVudExpc3RlbmVyKG0sbywhMSl9Y2F0Y2gobil7dHJ5e3UuZW1pdCgiaW50ZXJuYWwtZXJyb3IiLFtuXSl9Y2F0Y2gocil7fX1yZXR1cm4gZX07aWYoYyhwLHkpLHkucHJvdG90eXBlPXAucHJvdG90eXBlLGQuaW5QbGFjZSh5LnByb3RvdHlwZSxbIm9wZW4iLCJzZW5kIl0sIi14aHItIixzKSx1Lm9uKCJzZW5kLXhoci1zdGFydCIsZnVuY3Rpb24odCxlKXtyKHQsZSksaShlKX0pLHUub24oIm9wZW4teGhyLXN0YXJ0IixyKSxoKXt2YXIgZz0xLGI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZyk7bmV3IGgoYSkub2JzZXJ2ZShiLHtjaGFyYWN0ZXJEYXRhOiEwfSl9ZWxzZSBmLm9uKCJmbi1lbmQiLGZ1bmN0aW9uKHQpe3RbMF0mJnRbMF0udHlwZT09PW18fGEoKX0pfSx7fV0sMTA6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMucGFyYW1zLG49dGhpcy5tZXRyaWNzO2lmKCF0aGlzLmVuZGVkKXt0aGlzLmVuZGVkPSEwO2Zvcih2YXIgcj0wO3I8ZDtyKyspdC5yZW1vdmVFdmVudExpc3RlbmVyKHVbcl0sdGhpcy5saXN0ZW5lciwhMSk7aWYoIWUuYWJvcnRlZCl7aWYobi5kdXJhdGlvbj0obmV3IERhdGUpLmdldFRpbWUoKS10aGlzLnN0YXJ0VGltZSw0PT09dC5yZWFkeVN0YXRlKXtlLnN0YXR1cz10LnN0YXR1czt2YXIgaT1vKHQsdGhpcy5sYXN0U2l6ZSk7aWYoaSYmKG4ucnhTaXplPWkpLHRoaXMuc2FtZU9yaWdpbil7dmFyIGE9dC5nZXRSZXNwb25zZUhlYWRlcigiWC1OZXdSZWxpYy1BcHAtRGF0YSIpO2EmJihlLmNhdD1hLnNwbGl0KCIsICIpLnBvcCgpKX19ZWxzZSBlLnN0YXR1cz0wO24uY2JUaW1lPXRoaXMuY2JUaW1lLGYuZW1pdCgieGhyLWRvbmUiLFt0XSx0KSxzKCJ4aHIiLFtlLG4sdGhpcy5zdGFydFRpbWVdKX19fWZ1bmN0aW9uIG8odCxlKXt2YXIgbj10LnJlc3BvbnNlVHlwZTtpZigianNvbiI9PT1uJiZudWxsIT09ZSlyZXR1cm4gZTt2YXIgcj0iYXJyYXlidWZmZXIiPT09bnx8ImJsb2IiPT09bnx8Impzb24iPT09bj90LnJlc3BvbnNlOnQucmVzcG9uc2VUZXh0O3JldHVybiBoKHIpfWZ1bmN0aW9uIGkodCxlKXt2YXIgbj1jKGUpLHI9dC5wYXJhbXM7ci5ob3N0PW4uaG9zdG5hbWUrIjoiK24ucG9ydCxyLnBhdGhuYW1lPW4ucGF0aG5hbWUsdC5zYW1lT3JpZ2luPW4uc2FtZU9yaWdpbn12YXIgYT10KCJsb2FkZXIiKTtpZihhLnhocldyYXBwYWJsZSl7dmFyIHM9dCgiaGFuZGxlIiksYz10KDExKSxmPXQoImVlIiksdT1bImxvYWQiLCJlcnJvciIsImFib3J0IiwidGltZW91dCJdLGQ9dS5sZW5ndGgsbD10KCJpZCIpLHA9dCgxNCksaD10KDEzKSxtPXdpbmRvdy5YTUxIdHRwUmVxdWVzdDthLmZlYXR1cmVzLnhocj0hMCx0KDkpLGYub24oIm5ldy14aHIiLGZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7ZS50b3RhbENicz0wLGUuY2FsbGVkPTAsZS5jYlRpbWU9MCxlLmVuZD1yLGUuZW5kZWQ9ITEsZS54aHJHdWlkcz17fSxlLmxhc3RTaXplPW51bGwscCYmKHA+MzR8fHA8MTApfHx3aW5kb3cub3BlcmF8fHQuYWRkRXZlbnRMaXN0ZW5lcigicHJvZ3Jlc3MiLGZ1bmN0aW9uKHQpe2UubGFzdFNpemU9dC5sb2FkZWR9LCExKX0pLGYub24oIm9wZW4teGhyLXN0YXJ0IixmdW5jdGlvbih0KXt0aGlzLnBhcmFtcz17bWV0aG9kOnRbMF19LGkodGhpcyx0WzFdKSx0aGlzLm1ldHJpY3M9e319KSxmLm9uKCJvcGVuLXhoci1lbmQiLGZ1bmN0aW9uKHQsZSl7ImxvYWRlcl9jb25maWciaW4gTlJFVU0mJiJ4cGlkImluIE5SRVVNLmxvYWRlcl9jb25maWcmJnRoaXMuc2FtZU9yaWdpbiYmZS5zZXRSZXF1ZXN0SGVhZGVyKCJYLU5ld1JlbGljLUlEIixOUkVVTS5sb2FkZXJfY29uZmlnLnhwaWQpfSksZi5vbigic2VuZC14aHItc3RhcnQiLGZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5tZXRyaWNzLHI9dFswXSxvPXRoaXM7aWYobiYmcil7dmFyIGk9aChyKTtpJiYobi50eFNpemU9aSl9dGhpcy5zdGFydFRpbWU9KG5ldyBEYXRlKS5nZXRUaW1lKCksdGhpcy5saXN0ZW5lcj1mdW5jdGlvbih0KXt0cnl7ImFib3J0Ij09PXQudHlwZSYmKG8ucGFyYW1zLmFib3J0ZWQ9ITApLCgibG9hZCIhPT10LnR5cGV8fG8uY2FsbGVkPT09by50b3RhbENicyYmKG8ub25sb2FkQ2FsbGVkfHwiZnVuY3Rpb24iIT10eXBlb2YgZS5vbmxvYWQpKSYmby5lbmQoZSl9Y2F0Y2gobil7dHJ5e2YuZW1pdCgiaW50ZXJuYWwtZXJyb3IiLFtuXSl9Y2F0Y2gocil7fX19O2Zvcih2YXIgYT0wO2E8ZDthKyspZS5hZGRFdmVudExpc3RlbmVyKHVbYV0sdGhpcy5saXN0ZW5lciwhMSl9KSxmLm9uKCJ4aHItY2ItdGltZSIsZnVuY3Rpb24odCxlLG4pe3RoaXMuY2JUaW1lKz10LGU/dGhpcy5vbmxvYWRDYWxsZWQ9ITA6dGhpcy5jYWxsZWQrPTEsdGhpcy5jYWxsZWQhPT10aGlzLnRvdGFsQ2JzfHwhdGhpcy5vbmxvYWRDYWxsZWQmJiJmdW5jdGlvbiI9PXR5cGVvZiBuLm9ubG9hZHx8dGhpcy5lbmQobil9KSxmLm9uKCJ4aHItbG9hZC1hZGRlZCIsZnVuY3Rpb24odCxlKXt2YXIgbj0iIitsKHQpKyEhZTt0aGlzLnhockd1aWRzJiYhdGhpcy54aHJHdWlkc1tuXSYmKHRoaXMueGhyR3VpZHNbbl09ITAsdGhpcy50b3RhbENicys9MSl9KSxmLm9uKCJ4aHItbG9hZC1yZW1vdmVkIixmdW5jdGlvbih0LGUpe3ZhciBuPSIiK2wodCkrISFlO3RoaXMueGhyR3VpZHMmJnRoaXMueGhyR3VpZHNbbl0mJihkZWxldGUgdGhpcy54aHJHdWlkc1tuXSx0aGlzLnRvdGFsQ2JzLT0xKX0pLGYub24oImFkZEV2ZW50TGlzdGVuZXItZW5kIixmdW5jdGlvbih0LGUpe2UgaW5zdGFuY2VvZiBtJiYibG9hZCI9PT10WzBdJiZmLmVtaXQoInhoci1sb2FkLWFkZGVkIixbdFsxXSx0WzJdXSxlKX0pLGYub24oInJlbW92ZUV2ZW50TGlzdGVuZXItZW5kIixmdW5jdGlvbih0LGUpe2UgaW5zdGFuY2VvZiBtJiYibG9hZCI9PT10WzBdJiZmLmVtaXQoInhoci1sb2FkLXJlbW92ZWQiLFt0WzFdLHRbMl1dLGUpfSksZi5vbigiZm4tc3RhcnQiLGZ1bmN0aW9uKHQsZSxuKXtlIGluc3RhbmNlb2YgbSYmKCJvbmxvYWQiPT09biYmKHRoaXMub25sb2FkPSEwKSwoImxvYWQiPT09KHRbMF0mJnRbMF0udHlwZSl8fHRoaXMub25sb2FkKSYmKHRoaXMueGhyQ2JTdGFydD0obmV3IERhdGUpLmdldFRpbWUoKSkpfSksZi5vbigiZm4tZW5kIixmdW5jdGlvbih0LGUpe3RoaXMueGhyQ2JTdGFydCYmZi5lbWl0KCJ4aHItY2ItdGltZSIsWyhuZXcgRGF0ZSkuZ2V0VGltZSgpLXRoaXMueGhyQ2JTdGFydCx0aGlzLm9ubG9hZCxlXSxlKX0pfX0se31dLDExOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKSxuPXdpbmRvdy5sb2NhdGlvbixyPXt9O2UuaHJlZj10LHIucG9ydD1lLnBvcnQ7dmFyIG89ZS5ocmVmLnNwbGl0KCI6Ly8iKTshci5wb3J0JiZvWzFdJiYoci5wb3J0PW9bMV0uc3BsaXQoIi8iKVswXS5zcGxpdCgiQCIpLnBvcCgpLnNwbGl0KCI6IilbMV0pLHIucG9ydCYmIjAiIT09ci5wb3J0fHwoci5wb3J0PSJodHRwcyI9PT1vWzBdPyI0NDMiOiI4MCIpLHIuaG9zdG5hbWU9ZS5ob3N0bmFtZXx8bi5ob3N0bmFtZSxyLnBhdGhuYW1lPWUucGF0aG5hbWUsci5wcm90b2NvbD1vWzBdLCIvIiE9PXIucGF0aG5hbWUuY2hhckF0KDApJiYoci5wYXRobmFtZT0iLyIrci5wYXRobmFtZSk7dmFyIGk9IWUucHJvdG9jb2x8fCI6Ij09PWUucHJvdG9jb2x8fGUucHJvdG9jb2w9PT1uLnByb3RvY29sLGE9ZS5ob3N0bmFtZT09PWRvY3VtZW50LmRvbWFpbiYmZS5wb3J0PT09bi5wb3J0O3JldHVybiByLnNhbWVPcmlnaW49aSYmKCFlLmhvc3RuYW1lfHxhKSxyfX0se31dLDEyOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe31mdW5jdGlvbiBvKHQsZSxuKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gaSh0LFsobmV3IERhdGUpLmdldFRpbWUoKV0uY29uY2F0KHMoYXJndW1lbnRzKSksZT9udWxsOnRoaXMsbiksZT92b2lkIDA6dGhpc319dmFyIGk9dCgiaGFuZGxlIiksYT10KDE1KSxzPXQoMTYpLGM9dCgiZWUiKS5nZXQoInRyYWNlciIpLGY9TlJFVU07InVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3cubmV3cmVsaWMmJihuZXdyZWxpYz1mKTt2YXIgdT1bInNldFBhZ2VWaWV3TmFtZSIsInNldEN1c3RvbUF0dHJpYnV0ZSIsInNldEVycm9ySGFuZGxlciIsImZpbmlzaGVkIiwiYWRkVG9UcmFjZSIsImlubGluZUhpdCJdLGQ9ImFwaS0iLGw9ZCsiaXhuLSI7YSh1LGZ1bmN0aW9uKHQsZSl7ZltlXT1vKGQrZSwhMCwiYXBpIil9KSxmLmFkZFBhZ2VBY3Rpb249byhkKyJhZGRQYWdlQWN0aW9uIiwhMCksZS5leHBvcnRzPW5ld3JlbGljLGYuaW50ZXJhY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4obmV3IHIpLmdldCgpfTt2YXIgcD1yLnByb3RvdHlwZT17Y3JlYXRlVHJhY2VyOmZ1bmN0aW9uKHQsZSl7dmFyIG49e30scj10aGlzLG89ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIGkobCsidHJhY2VyIixbRGF0ZS5ub3coKSx0LG5dLHIpLGZ1bmN0aW9uKCl7aWYoYy5lbWl0KChvPyIiOiJuby0iKSsiZm4tc3RhcnQiLFtEYXRlLm5vdygpLHIsb10sbiksbyl0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZpbmFsbHl7Yy5lbWl0KCJmbi1lbmQiLFtEYXRlLm5vdygpXSxuKX19fX07YSgic2V0TmFtZSxzZXRBdHRyaWJ1dGUsc2F2ZSxpZ25vcmUsb25FbmQsZ2V0Q29udGV4dCxlbmQsZ2V0Ii5zcGxpdCgiLCIpLGZ1bmN0aW9uKHQsZSl7cFtlXT1vKGwrZSl9KSxuZXdyZWxpYy5ub3RpY2VFcnJvcj1mdW5jdGlvbih0KXsic3RyaW5nIj09dHlwZW9mIHQmJih0PW5ldyBFcnJvcih0KSksaSgiZXJyIixbdCwobmV3IERhdGUpLmdldFRpbWUoKV0pfX0se31dLDEzOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmdC5sZW5ndGgpcmV0dXJuIHQubGVuZ3RoO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiZ0LmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnl0ZUxlbmd0aDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJnQgaW5zdGFuY2VvZiBCbG9iJiZ0LnNpemUpcmV0dXJuIHQuc2l6ZTtpZighKCJ1bmRlZmluZWQiIT10eXBlb2YgRm9ybURhdGEmJnQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeSh0KS5sZW5ndGh9Y2F0Y2goZSl7cmV0dXJufX19fSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj0wLG89bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvRmlyZWZveFtcL1xzXShcZCtcLlxkKykvKTtvJiYocj0rb1sxXSksZS5leHBvcnRzPXJ9LHt9XSwxNTpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIodCxlKXt2YXIgbj1bXSxyPSIiLGk9MDtmb3IociBpbiB0KW8uY2FsbCh0LHIpJiYobltpXT1lKHIsdFtyXSksaSs9MSk7cmV0dXJuIG59dmFyIG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtlLmV4cG9ydHM9cn0se31dLDE2OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbil7ZXx8KGU9MCksInVuZGVmaW5lZCI9PXR5cGVvZiBuJiYobj10P3QubGVuZ3RoOjApO2Zvcih2YXIgcj0tMSxvPW4tZXx8MCxpPUFycmF5KG88MD8wOm8pOysrcjxvOylpW3JdPXRbZStyXTtyZXR1cm4gaX1lLmV4cG9ydHM9cn0se31dLDE3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0KXtyZXR1cm4hKHQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0JiZ0LmFwcGx5JiYhdFthXSl9dmFyIG89dCgiZWUiKSxpPXQoMTYpLGE9Im5yQG9yaWdpbmFsIixzPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksYz0hMTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUsbixvKXtmdW5jdGlvbiBucldyYXBwZXIoKXt2YXIgcixhLHMsYzt0cnl7YT10aGlzLHI9aShhcmd1bWVudHMpLHM9ImZ1bmN0aW9uIj09dHlwZW9mIG4/bihyLGEpOm58fHt9fWNhdGNoKHUpe2QoW3UsIiIsW3IsYSxvXSxzXSl9ZihlKyJzdGFydCIsW3IsYSxvXSxzKTt0cnl7cmV0dXJuIGM9dC5hcHBseShhLHIpfWNhdGNoKGwpe3Rocm93IGYoZSsiZXJyIixbcixhLGxdLHMpLGx9ZmluYWxseXtmKGUrImVuZCIsW3IsYSxjXSxzKX19cmV0dXJuIHIodCk/dDooZXx8KGU9IiIpLG5yV3JhcHBlclthXT10LHUodCxucldyYXBwZXIpLG5yV3JhcHBlcil9ZnVuY3Rpb24gbih0LG4sbyxpKXtvfHwobz0iIik7dmFyIGEscyxjLGY9Ii0iPT09by5jaGFyQXQoMCk7Zm9yKGM9MDtjPG4ubGVuZ3RoO2MrKylzPW5bY10sYT10W3NdLHIoYSl8fCh0W3NdPWUoYSxmP3MrbzpvLGkscykpfWZ1bmN0aW9uIGYoZSxuLHIpe2lmKCFjKXtjPSEwO3RyeXt0LmVtaXQoZSxuLHIpfWNhdGNoKG8pe2QoW28sZSxuLHJdKX1jPSExfX1mdW5jdGlvbiB1KHQsZSl7aWYoT2JqZWN0LmRlZmluZVByb3BlcnR5JiZPYmplY3Qua2V5cyl0cnl7dmFyIG49T2JqZWN0LmtleXModCk7cmV0dXJuIG4uZm9yRWFjaChmdW5jdGlvbihuKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdFtuXX0sc2V0OmZ1bmN0aW9uKGUpe3JldHVybiB0W25dPWUsZX19KX0pLGV9Y2F0Y2gocil7ZChbcl0pfWZvcih2YXIgbyBpbiB0KXMuY2FsbCh0LG8pJiYoZVtvXT10W29dKTtyZXR1cm4gZX1mdW5jdGlvbiBkKGUpe3RyeXt0LmVtaXQoImludGVybmFsLWVycm9yIixlKX1jYXRjaChuKXt9fXJldHVybiB0fHwodD1vKSxlLmluUGxhY2U9bixlLmZsYWc9YSxlfX0se31dLGVlOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe31mdW5jdGlvbiBvKHQpe2Z1bmN0aW9uIGUodCl7cmV0dXJuIHQmJnQgaW5zdGFuY2VvZiByP3Q6dD9zKHQsYSxpKTppKCl9ZnVuY3Rpb24gbihuLHIsbyl7dCYmdChuLHIsbyk7Zm9yKHZhciBpPWUobyksYT1sKG4pLHM9YS5sZW5ndGgsYz0wO2M8cztjKyspYVtjXS5hcHBseShpLHIpO3ZhciB1PWZbd1tuXV07cmV0dXJuIHUmJnUucHVzaChbdixuLHIsaV0pLGl9ZnVuY3Rpb24gZCh0LGUpe21bdF09bCh0KS5jb25jYXQoZSl9ZnVuY3Rpb24gbCh0KXtyZXR1cm4gbVt0XXx8W119ZnVuY3Rpb24gcCh0KXtyZXR1cm4gdVt0XT11W3RdfHxvKG4pfWZ1bmN0aW9uIGgodCxlKXtjKHQsZnVuY3Rpb24odCxuKXtlPWV8fCJmZWF0dXJlIix3W25dPWUsZSBpbiBmfHwoZltlXT1bXSl9KX12YXIgbT17fSx3PXt9LHY9e29uOmQsZW1pdDpuLGdldDpwLGxpc3RlbmVyczpsLGNvbnRleHQ6ZSxidWZmZXI6aH07cmV0dXJuIHZ9ZnVuY3Rpb24gaSgpe3JldHVybiBuZXcgcn12YXIgYT0ibnJAY29udGV4dCIscz10KCJnb3MiKSxjPXQoMTUpLGY9e30sdT17fSxkPWUuZXhwb3J0cz1vKCk7ZC5iYWNrbG9nPWZ9LHt9XSxnb3M6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQsZSxuKXtpZihvLmNhbGwodCxlKSlyZXR1cm4gdFtlXTt2YXIgcj1uKCk7aWYoT2JqZWN0LmRlZmluZVByb3BlcnR5JiZPYmplY3Qua2V5cyl0cnl7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOnIsd3JpdGFibGU6ITAsZW51bWVyYWJsZTohMX0pLHJ9Y2F0Y2goaSl7fXJldHVybiB0W2VdPXIscn12YXIgbz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2UuZXhwb3J0cz1yfSx7fV0saGFuZGxlOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcih0LGUsbixyKXtvLmJ1ZmZlcihbdF0sciksby5lbWl0KHQsZSxuKX12YXIgbz10KCJlZSIpLmdldCgiaGFuZGxlIik7ZS5leHBvcnRzPXIsci5lZT1vfSx7fV0saWQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiF0fHwib2JqZWN0IiE9PWUmJiJmdW5jdGlvbiIhPT1lPy0xOnQ9PT13aW5kb3c/MDphKHQsaSxmdW5jdGlvbigpe3JldHVybiBvKyt9KX12YXIgbz0xLGk9Im5yQGlkIixhPXQoImdvcyIpO2UuZXhwb3J0cz1yfSx7fV0sbG9hZGVyOltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gcigpe2lmKCFnKyspe3ZhciB0PXkuaW5mbz1OUkVVTS5pbmZvLGU9dS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07aWYodCYmdC5saWNlbnNlS2V5JiZ0LmFwcGxpY2F0aW9uSUQmJmUpe2ModyxmdW5jdGlvbihlLG4pe3RbZV18fCh0W2VdPW4pfSk7dmFyIG49Imh0dHBzIj09PW0uc3BsaXQoIjoiKVswXXx8dC5zc2xGb3JIdHRwO3kucHJvdG89bj8iaHR0cHM6Ly8iOiJodHRwOi8vIixzKCJtYXJrIixbIm9ubG9hZCIsYSgpXSxudWxsLCJhcGkiKTt2YXIgcj11LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3Iuc3JjPXkucHJvdG8rdC5hZ2VudCxlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHIsZSl9fX1mdW5jdGlvbiBvKCl7ImNvbXBsZXRlIj09PXUucmVhZHlTdGF0ZSYmaSgpfWZ1bmN0aW9uIGkoKXtzKCJtYXJrIixbImRvbUNvbnRlbnQiLGEoKV0sbnVsbCwiYXBpIil9ZnVuY3Rpb24gYSgpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfXZhciBzPXQoImhhbmRsZSIpLGM9dCgxNSksZj13aW5kb3csdT1mLmRvY3VtZW50LGQ9ImFkZEV2ZW50TGlzdGVuZXIiLGw9ImF0dGFjaEV2ZW50IixwPWYuWE1MSHR0cFJlcXVlc3QsaD1wJiZwLnByb3RvdHlwZTtOUkVVTS5vPXtTVDpzZXRUaW1lb3V0LENUOmNsZWFyVGltZW91dCxYSFI6cCxSRVE6Zi5SZXF1ZXN0LEVWOmYuRXZlbnQsUFI6Zi5Qcm9taXNlLE1POmYuTXV0YXRpb25PYnNlcnZlcn0sdCgxMik7dmFyIG09IiIrbG9jYXRpb24sdz17YmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGVycm9yQmVhY29uOiJiYW0ubnItZGF0YS5uZXQiLGFnZW50OiJqcy1hZ2VudC5uZXdyZWxpYy5jb20vbnItOTc0Lm1pbi5qcyJ9LHY9cCYmaCYmaFtkXSYmIS9DcmlPUy8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSx5PWUuZXhwb3J0cz17b2Zmc2V0OmEoKSxvcmlnaW46bSxmZWF0dXJlczp7fSx4aHJXcmFwcGFibGU6dn07dVtkXT8odVtkXSgiRE9NQ29udGVudExvYWRlZCIsaSwhMSksZltkXSgibG9hZCIsciwhMSkpOih1W2xdKCJvbnJlYWR5c3RhdGVjaGFuZ2UiLG8pLGZbbF0oIm9ubG9hZCIscikpLHMoIm1hcmsiLFsiZmlyc3RieXRlIixhKCldLG51bGwsImFwaSIpO3ZhciBnPTB9LHt9XX0se30sWyJsb2FkZXIiLDIsMTAsNCwzXSk7CjtOUkVVTS5pbmZvPXtiZWFjb246ImJhbS5uci1kYXRhLm5ldCIsZXJyb3JCZWFjb246ImJhbS5uci1kYXRhLm5ldCIsbGljZW5zZUtleToiMjcwMGFmOGEzYyIsYXBwbGljYXRpb25JRDoiMzAyMjM4NzYiLHNhOjF9PC9zY3JpcHQ+PC9oZWFkPjxib2R5PjxkaXYgaWQ9Im1haW4iPjwvZGl2PjxzY3JpcHQgc3JjPSJodHRwczovL3MyLnBsdXJhbHNpZ2h0LmNvbS93ZWJwbGF5ZXIvcGxheWVyL2NsaWVudC9saWJzL2RyYWdnYWJpbGx5LnBrZ2QubWluLmpzIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iaHR0cHM6Ly9zMi5wbHVyYWxzaWdodC5jb20vd2VicGxheWVyL3BsYXllci9jbGllbnQvbGlicy92aWRlby5taW4uanMiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSJodHRwczovL3MyLnBsdXJhbHNpZ2h0LmNvbS93ZWJwbGF5ZXIvcGxheWVyL2NsaWVudC9saWJzL3NwLm1pbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Imh0dHBzOi8vczIucGx1cmFsc2lnaHQuY29tL3dlYnBsYXllci9wbGF5ZXIvY2xpZW50L2xpYnMvbW9kZXJuaXpyLWN1c3RvbS5taW4uanMiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvL3MucGx1cmFsc2lnaHQuY29tL21lbnRvcnMvdG9vbHMvc2lkZWJhci92MS9zaWRlYmFyLm1pbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Imh0dHBzOi8vczIucGx1cmFsc2lnaHQuY29tL3dlYnBsYXllci9qcy9tYWluLmFlZjhiYjUwNmIxYTE3ZDFjN2Q3Lm1pbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdD5fc2F0ZWxsaXRlLnBhZ2VCb3R0b20oKTwvc2NyaXB0PjwvYm9keT48L2h0bWw+
ERROR: Unable to extract initial state; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 694, in extract_info
ie_result = ie.extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 356, in extract
return self._real_extract(url)
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/pluralsight.py", line 170, in _real_extract
r'var\s+initialState\s*=\s*({.+?});\n', webpage, 'initial state'),
File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 659, in _search_regex
raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract initial state; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Description of your issue, suggested solution and other information
Pluralsight is no longer working for me. It was fine last week, and now no longer works.
Issue Analytics
- State:
- Created 7 years ago
- Reactions:6
- Comments:9
Top Results From Across the Web
Desktop and mobile app troubleshooting
Make sure you have the latest version of the app downloaded on your device. Confirm that you have a Pluralsight account. Try logging...
Read more >Pluralsight | The tech workforce development company
Pluralsight helps organizations, teams, and individuals build better products with online courses and data-driven insights that fuel skill development and ...
Read more >Downloading courses on Pluralsight's Android and iOS apps
If you log out of the app, there is no longer a subscription tied to it, so the downloaded courses will be removed...
Read more >Apps and downloads | Pluralsight
Build skills from anywhere with mobile, desktop and smart TV apps that allow you stream content and download for offline viewing.
Read more >How do I access Pluralsight content on my Amazon Fire TV ...
The Pluralsight app allows you to watch video courses on your Amazon Fire TV, Fire Stick TV, or Android TV. If you want...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Confirmed fixed. Amazingly fast work, thanks so much.
same here with the newest (and older) version