Utilities & Transportation
Utilities & Transportation

Utilities & Transportation

Transportation

Dependable and high-quality transit services and transportation operations are essential to the social and economic health of our city. Below are measures that track our progress toward both maintaining our success rates as well as improving our service delivery for the benefit of all Seattle residents.

Utilities

The City of Seattle is committed to providing sustainable and affordable utility services, and to protecting and improving our shared environment. The measures below track how well the City’s departments are performing at these goals. On the goal pages, you will also find links to further data and information on these programs.

eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJpZCI6Ijh0ZGctZGt3ZSIsIm5hbWUiOiJVdGlsaXRpZXMgJiBUcmFuc3BvcnRhdGlvbiIsIm1ldGFkYXRhIjoie1wiZGVzY3JpcHRpb25cIjpcIiMgVHJhbnNwb3J0YXRpb25cXG5cXG5EZXBlbmRhYmxlIGFuZCBoaWdoLXF1YWxpdHkgdHJhbnNpdCBzZXJ2aWNlcyBhbmQgdHJhbnNwb3J0YXRpb24gb3BlcmF0aW9ucyBhcmUgZXNzZW50aWFsIHRvIHRoZSBzb2NpYWwgYW5kIGVjb25vbWljIGhlYWx0aCBvZiBvdXIgY2l0eS4gQmVsb3cgYXJlIG1lYXN1cmVzIHRoYXQgdHJhY2sgb3VyIHByb2dyZXNzIHRvd2FyZCBib3RoIG1haW50YWluaW5nIG91ciBzdWNjZXNzIHJhdGVzIGFzIHdlbGwgYXMgaW1wcm92aW5nIG91ciBzZXJ2aWNlIGRlbGl2ZXJ5IGZvciB0aGUgYmVuZWZpdCBvZiBhbGwgU2VhdHRsZSByZXNpZGVudHMuXFxuXFxuIyBVdGlsaXRpZXNcXG5cXG5UaGUgQ2l0eSBvZiBTZWF0dGxlIGlzIGNvbW1pdHRlZCB0byBwcm92aWRpbmcgc3VzdGFpbmFibGUgYW5kIGFmZm9yZGFibGUgdXRpbGl0eSBzZXJ2aWNlcywgYW5kIHRvIHByb3RlY3RpbmcgYW5kIGltcHJvdmluZyBvdXIgc2hhcmVkIGVudmlyb25tZW50LiBUaGUgbWVhc3VyZXMgYmVsb3cgdHJhY2sgaG93IHdlbGwgdGhlIENpdHnigJlzIGRlcGFydG1lbnRzIGFyZSBwZXJmb3JtaW5nIGF0IHRoZXNlIGdvYWxzLiBPbiB0aGUgZ29hbCBwYWdlcywgeW91IHdpbGwgYWxzbyBmaW5kIGxpbmtzIHRvIGZ1cnRoZXIgZGF0YSBhbmQgaW5mb3JtYXRpb24gb24gdGhlc2UgcHJvZ3JhbXMuXFxuXFxuXCIsXCJpbWFnZVwiOlwiL2FwaS9hc3NldHMvQUE4NDFENEUtQ0M4MS00QTM2LTlGNUMtRDE3ODZENTkxM0JGXCJ9IiwiY2F0ZWdvcmllcyI6W3siaWQiOiJ1bmNhdGVnb3JpemVkIiwibmFtZSI6InVuY2F0ZWdvcml6ZWQiLCJnb2FscyI6W3siaWQiOiJ3dWkzLWNyOWQiLCJuYW1lIjoiVXBncmFkZSByZXNpZGVudGlhbCBlbmVyZ3kgZWZmaWNpZW5jeSIsImlzX3B1YmxpYyI6dHJ1ZSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJyZXRpcmVtZW50X25hcnJhdGl2ZVwiOltdLFwibmFycmF0aXZlXCI6W3tcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoeSBpcyB0aGlzIGdvYWwgaW1wb3J0YW50PyoqXFxuXFxuRW5lcmd5IHVzZSBpcyBhIGxhcmdlIHNvdXJjZSBvZiBjYXJib24gcG9sbHV0aW9uIC0gbm90IHRvIG1lbnRpb24gYSBzaWduaWZpY2FudCBjb3N0IHRvIGEgaG9tZW93bmVyIGlmIHRoZWlyIGhvbWUgaW4gbm90IGVmZmljaWVudC5cXG5cXG4gXFxuXFxuSW4gb3JkZXIgdG8gYWNoaXZlIG91ciBnb2FsIG9mIGJlaW5nIGEgY2FyYm9uIG5ldXRyYWwgY2l0eSBieSAyMDUwLCB3ZSBuZWVkIG91ciBob21lcyB0byBiZWNvbWUgbW9yZSBlbmVyZ3kgZWZmaWNpZW50LiBUaGUgQ29tbXVuaXR5IFBvd2VyIFdvcmtzIHByb2dyYW0gc3VwcG9ydHMgU2VhdHRsZeKAmXMgY2xpbWF0ZSBwcm90ZWN0aW9uIGdvYWxzIHRvIHJlZHVjZSBlbmVyZ3kgdXNlIGJ5IDIwIHBlcmNlbnQgaW4gcmVzaWRlbnRpYWwgYnVpbGRpbmdzIGJ5IDIwMzAuXFxuXFxuVGhlIENvbW11bml0eSBQb3dlciBXb3JrcyBwcm9ncmFtIGFsc28gYWR2YW5jZXMgU2VhdHRsZeKAmXMgZ3JlZW4gZWNvbm9teSBieSByZXF1aXJpbmcgYWxsIENQVyBjb250cmFjdG9ycyB0byBtZWV0IEhpZ2ggUm9hZCBTdGFuZGFyZHMuIFRoZSBIaWdoIFJvYWQgc3RhbmRhcmRzIGVuc3VyZSB0aGF0IHRoZSBwcm9ncmFtIHN1cHBvcnRzIHRoZSBsb2NhbCBlY29ub215LCB3aXRoIGEgdGFyZ2V0IG9mIGF0IGxlYXN0IDgwIHBlcmNlbnQgbG9jYWwgYnVzaW5lc3MgcGFydGljaXBhdGlvbiBhbW9uZyBjb250cmFjdG9ycy4gUGFydGljaXBhdGluZyBjb250cmFjdG9ycyBhcmUgcmVxdWlyZWQgdG8gcGF5IGxpdmluZyB3YWdlcyBhbmQgcHJvdmlkZSBhbiBhY2Nlc3NpYmxlIG9uLXJhbXAgYW5kIGhlbHAgcmVkdWNlIGJhcnJpZXJzIGZvciB3b3JrZXJzIHN0YXJ0aW5nIG91dCBpbiB0aGUgZW5lcmd5IGVmZmljaWVuY3kgc2VjdG9yLlxcblxcblwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqSG93IGlzIHRoaXMgZ29hbCBtZWFzdXJlZD8qKlxcblxcbiBcXG5cXG5DUFcgaGVscHMgY3VzdG9tZXJzIHVuZGVyc3RhbmQgd2hlcmUgdGhlaXIgaG9tZSBpcyBpbmVmZmljaWVudCB0aHJvdWdoIGEgY29tcHJlaGVuc2l2ZSBhc3Nlc3NtZW50IGJ5IGV4cGVyaWVuY2VkIGVuZXJneSByYXRlcnMuIFRoaXMgYXNzZXNzbWVudCBpZGVudGlmaWVzIGhvbWUgZW5lcmd5IHVzZSwgcHJpb3JpdGl6ZWQgd2hlcmUgaG9tZW93bmVycyBjYW4gc2F2ZSB0aGUgbW9zdCwgYW5kIGNhbGN1bGF0ZXMgdGhlIHNhdmluZ3MgZnJvbSBlZmZpY2llbmN5IGludmVzdG1lbnRzLlxcblxcbkFsbCBwYXJ0aWNpcGFudHMgYW5kIGhvbWUgdXBncmFkZSBkZXRhaWxzIGFyZSB0cmFja2VkIGluIGEgY2VudHJhbCBkYXRhYmFzZSwgc28gQ1BXIGNhbiB1bmRlcnN0YW5kIGl0cyBjdW11bGF0aXZlIGltcGFjdHMgb24gcmVzaWRlbnRpYWwgZW5lcmd5IHVzZS4gSW4gYWRkaXRpb24sIGFsbCBDUFcgY29udHJhY3RvcnMgdmVyaWZ5IHRoZWlyIHdvcmtmb3JjZSwgd2FnZXMgYW5kIGhvdXJzIG9uIHVwZ3JhZGUgcHJvamVjdHMgcmVndWxhcmx5IHdpdGggcHJvZ3JhbSBzdGFmZiBmb3IgY29uc2lzdGVudCByZXBvcnRpbmcgb24gdGhlIHByb2dyYW3igJlzIGNvbnRyaWJ1dGlvbiB0byB0aGUgbG9jYWwgZWNvbm9teS4gXFxuXFxuXCJ9XSxbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyBGT1IgTU9SRSBJTkZPUk1BVElPTjpcXG5cXG4qIENvbW11bml0eSBQb3dlciBXb3JrcyBwcm9ncmFtIHdlYnNpdGU6ICBcXG53d3cuY29tbXVuaXR5cG93ZXJ3b3Jrcy5vcmcvXFxuKiBDb21tdW5pdHkgSGlnaC1Sb2FkIEFncmVlbWVudCBjYXNlIHN0dWR5OiAgXFxud3d3LmNvbW11bml0eXBvd2Vyd29ya3Mub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEwLzEwL0NQVy1IUkEtQ2FzZS1TdHVkeS5wZGZcXG4qIERvLWl0LXlvdXJzZWxmIGhvbWUgZW5lcmd5IGF1ZGl0OiAgXFxud3d3LnNlYXR0bGUuZ292L2xpZ2h0L3ByaW50ZG9jcy9Eb0l0WW91cnNlbGZIb21lLlBERlxcbiogU2VhdHRsZSBDaXR5IExpZ2h0IHJlYmF0ZXMgZm9yIGhvbWUgZW5lcmd5IGNvbnNlcnZhdGlvbjogIFxcbnd3dy5zZWF0dGxlLmdvdi9saWdodC9jb25zZXJ2ZS9cXG5cIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoYXQgcHJvZ3Jlc3MgYXJlIHdlIG1ha2luZyB0b3dhcmQgdGhpcyBnb2FsPyoqXFxuXFxuQ29tbXVuaXR5IFBvd2VyIFdvcmtzIGhhcyBoZWxwZWQgb3ZlciAyMDAwIGN1c3RvbWVycyB1cGdyYWRlIHRoZWlyIGhvbWVzIHNpbmNlIHRoZSBwcm9ncmFtIGxhdW5jaGVkIGluIDIwMTEuIFRoZXNlIGhvbWVvd25lcnMgaGF2ZSByZWR1Y2VkIHRoZWlyIGVuZXJneSBjb25zdW1wdGlvbiBieSAzMCBwZXJjZW50IG9uIGF2ZXJhZ2UuXFxuXFxuSW4gYWRkaXRpb24gdG8gQ29tbXVuaXR5IFBvd2VyIFdvcmtzLCB0aGUgQ2l0eSBvZmZlcnMgb3RoZXIgZW5lcmd5IGVmZmljaWVuY3kgcHJvZ3JhbXMgaW5jbHVkaW5nIEhvbWVXaXNlICh0aGUgQ2l0eeKAmXMgbG93IGluY29tZSBob21lIHdlYXRoZXJpemF0aW9uIHByb2dyYW0pIGFuZCByZWJhdGVzIGZvciBlbGVjdHJpYyBoZWF0ZWQgaG9tZXMgdGhyb3VnaCBTZWF0dGxlIENpdHkgTGlnaHQuXFxuXFxuXCJ9XV19LHtcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzL0E5RTdDMjlBLUQzOEQtNDY2OC1CRDZFLThBNzk3QjIzMzZEQ1wifV0sXCJ1c2VfY3VzdG9tX3N1YnRpdGxlXCI6dHJ1ZSxcImN1c3RvbV9zdWJ0aXRsZVwiOlwiVXBncmFkZSByZXNpZGVudGlhbCBlbmVyZ3kgZWZmaWNpZW5jeVwiLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIlRyYWNrIENvbW11bml0eSBQb3dlciBXb3JrcyBob21lIGVuZXJneSB1cGdyYWRlcyBcIn0ifSwicHJldmFpbGluZ19tZWFzdXJlIjp7InN0YXJ0IjoiMjAxMS0xMi0zMVQwMDowMDowMC4wMDAiLCJlbmQiOiIyMDE2LTEyLTMxVDIzOjU5OjU5LjAwMCIsInVuaXQiOiJudW1iZXIgb2YgZW5lcmd5IHVwZ3JhZGVzIHBlcmZvcm1lZCIsInRhcmdldF90eXBlIjoibm9uZSIsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiIzbW15LXpicHUifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPiJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjoxMSxcInllYXJcIjoyMDExfSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE2fSxcImFjdGlvbl90eXBlXCI6XCJub25lXCJ9LFwiYmFzZWxpbmVcIjp7XCJzcXVpc2h5XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fSxcImVuZFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9fSxcInN0YXJ0XCI6XCIyMDE1LTAxLTAxVDAwOjAwOjAwLjAwMFwiLFwiZW5kXCI6XCIyMDE1LTAxLTAxVDIzOjU5OjU5LjAwMFwiLFwibWV0cmljXCI6e1wibWV0YWRhdGFcIjpcIntcXFwid2l6YXJkXFxcIjp7XFxcImZpbHRlcl9hc3RcXFwiOlt7XFxcInZhbHVlc1xcXCI6W3t9XX1dfX1cIn19LFwibmFtZVwiOlwiaG9tZSBlbmVyZ3kgZWZmaWNpZW5jeSBpbXByb3ZlbWVudHNcIixcInlTY2FsZVwiOntcInVzZV9kZWZhdWx0XCI6dHJ1ZX19In0sInVwZGF0ZWRfYXQiOiIyMDE2LTA1LTAzVDAyOjAwOjIxLjc5NFoiLCJjcmVhdGVkX2F0IjoiMjAxNS0wOC0xMFQxNjowOTo1NS44NDFaIiwidmVyc2lvbiI6IjIwMTYtMDUtMDNUMDI6MDA6MjEuNzk0WiIsImlkIjoiYm41My12YjJpIn0sInJlbGF0ZWRfbWVhc3VyZXMiOltdLCJiYXNlX2Rhc2hib2FyZCI6Ijh0ZGctZGt3ZSIsInVwZGF0ZWRfYXQiOiIyMDE3LTA4LTE0VDIyOjI3OjA0LjU5NVoiLCJjcmVhdGVkX2F0IjoiMjAxNS0wOC0xMFQxNjowOTo1NS45MDRaIiwidmVyc2lvbiI6IjIwMTctMDgtMTRUMjI6Mjc6MDQuNTk1WiIsImNyZWF0ZWRfYnkiOiJhODV3LTJpa3UifSx7ImlkIjoiN2N3bS0ydzY3IiwibmFtZSI6IlJlZHVjZSBlbmVyZ3kgdXNlIGluIENpdHkgZmFjaWxpdGllcyIsImlzX3B1YmxpYyI6dHJ1ZSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJyZXRpcmVtZW50X25hcnJhdGl2ZVwiOltdLFwibmFycmF0aXZlXCI6W3tcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoeSBpcyB0aGlzIGdvYWwgaW1wb3J0YW50PyoqXFxuXFxuRW5lcmd5IHVzZSBpcyBhIHNpZ25pZmljYW50IHNvdXJjZSBvZiBjYXJib24gcG9sbHV0aW9uIGFuZCB0aGUgQ2l0eSBvZiBTZWF0dGxlIGhhcyBzZXQgYW4gYW1iaXRpb3VzIHRhcmdldCB0byBiZSBhIGNhcmJvbiBuZXV0cmFsIGNvbW11bml0eSBieSAyMDUwLiBBIGNpdHkgd2l0aCBsZXNzIGNhcmJvbiBwb2xsdXRpb24gaXMgYSBoZWFsdGhpZXIgYW5kIG1vcmUgcHJvc3Blcm91cyBjaXR5IGZvciBhbGwgcmVzaWRlbnRzIGFuZCBpcyB3ZWxsIHBvc2l0aW9uZWQgdG8gdGhyaXZlIGluIGEgc3VzdGFpbmFibGUgd2F5LiBcXG5cXG4gIFxcblxcblRvIGdldCB0byBjYXJib24gbmV1dHJhbCBmdXR1cmUsIENpdHkgZ292ZXJubWVudCBtdXN0IGJlIGEgbGVhZGVyIGFuZCBhbiBhY3RpdmUgcGFydGljaXBhbnQgaW4gbWFraW5nIGNoYW5nZXMgaW4gdGhlIHdheSB3ZSB1c2UgcmVzb3VyY2VzLiBSZWNvZ25pemluZyB0aGUgY3JpdGljYWwgaW1wb3J0YW5jZSBvZiBpbXByb3ZpbmcgdGhlIGVmZmljaWVuY3kgb2YgZXhpc3RpbmcgYnVpbGRpbmdzIHRoZSBDaXR5IGhhcyBzZXQgYSBnb2FsIG9mIHJlZHVjaW5nIGVuZXJneSB1c2UgYWNyb3NzIENpdHktb3duZWQgYnVpbGRpbmdzIDIwIHBlcmNlbnQgYnkgMjAyMCAoZnJvbSAyMDA4KS4gICBcXG7CoCAgIFxcbldoaWxlIFNlYXR0bGXigJlzIFN1c3RhaW5hYmxlIEJ1aWxkaW5ncyBhbmQgU2l0ZXMgcG9saWN5IGVuc3VyZXMgdGhhdCBuZXcgY29uc3RydWN0aW9uIGFuZCByZW5vdmF0aW9ucyBvZiBDaXR5LW93bmVkIGJ1aWxkaW5ncyBtZWV0IHN0cmljdCBlbmVyZ3kgcGVyZm9ybWFuY2UgY3JpdGVyaWEsIHRoZSBtYWpvcml0eSBvZiB0aGUgQ2l0eeKAmXMgYXBwcm94aW1hdGVseSA2NTAgYnVpbGRpbmdzIHdlcmUgY29uc3RydWN0ZWQgYmVmb3JlIHRoYXQgcG9saWN5IHRvb2sgZWZmZWN0LiBJdCBpcyB0aGVyZWZvcmUgZXNwZWNpYWxseSBpbXBvcnRhbnQgdGhhdCB3ZSBhY2hpZXZlIGVuZXJneSByZWR1Y3Rpb25zIGluIG91ciBleGlzdGluZyBidWlsZGluZ3MuXFxuXFxuXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipIb3cgaXMgdGhpcyBnb2FsIG1lYXN1cmVkPyoqXFxuXFxuTGlrZSBtYW55IG90aGVyIGJ1aWxkaW5nIG93bmVycywgdGhlIENpdHkgaXMgYmVuY2htYXJraW5nIHRoZSBlbmVyZ3kgdXNlIG9mIGl0cyBmYWNpbGl0aWVzIHRocm91Z2ggRU5FUkdZU1RBUiBQb3J0Zm9saW8gTWFuYWdlciwgYW4gb25saW5lIHRvb2wgY3JlYXRlZCBieSB0aGUgRVBBLiBUaGUgRU5FUkdZIFNUQVIgUG9ydGZvbGlvIE1hbmFnZXIgYWxsb3dzIHVzZXJzIHRvIHRyYWNrIGFuZCBhc3Nlc3MgZW5lcmd5IHVzZSBhY3Jvc3MgYW4gZW50aXJlIHBvcnRmb2xpbyBvZiBidWlsZGluZ3MgYW5kIGhlbHBzIGJ1aWxkaW5nIG93bmVycyBhbmQgbWFuYWdlcnMgdW5kZXJzdGFuZCwgYXQgYSBwb3J0Zm9saW8td2lkZSBzY2FsZSwgd2hlcmUgaXQgaXMgZG9pbmcgd2VsbCwgYW5kIHdoZXJlIGltcHJvdmVtZW50IGlzIG5lZWRlZC4gRW5lcmd5IGJlbmNobWFya2luZyBzZXRzIHRoZSBiYXNlbGluZSBmb3IgYSByb2FkIG1hcCB0byBzaWduaWZpY2FudGx5IGluY3JlYXNlIENpdHktb3duZWQgYnVpbGRpbmcgZW5lcmd5IGVmZmljaWVuY3kgYW5kIHJlZHVjZSBHSEcgZW1pc3Npb25zIGJ5IDIwMjAuXFxuXFxuXCJ9XSxbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyBGT1IgTU9SRSBJTkZPUk1BVElPTjpcXG5cXG4qIFJlc291cmNlIENvbnNlcnZhdGlvbiBNYW5hZ2VtZW50IHBsYW46ICBcXG53d3cuc2VhdHRsZS5nb3YvRG9jdW1lbnRzL0RlcGFydG1lbnRzL09TRS9SQ01QXzIwMTNfRklOQUwucGRmXFxuKiAyMDExLTEyIENpdHkgQnVpbGRpbmcgRW5lcmd5IERpc2Nsb3N1cmUgcmVwb3J0OiAgXFxud3d3LnNlYXR0bGUuZ292L0RvY3VtZW50cy9EZXBhcnRtZW50cy9PU0UvRUJSLW11bmktYnVpbGRpbmdzLnBkZlxcbiogU3VzdGFpbmFibGUgYnVpbGRpbmdzIHBvbGljeTogIFxcbnd3dy5zZWF0dGxlLmdvdi9lbnZpcm9ubWVudC9idWlsZGluZ3MtYW5kLWVuZXJneS9jaXR5LWZhY2lsaXRpZXMvc3VzdGFpbmFibGUtYnVpbGRpbmdzLWFuZC1zaXRlc1xcbiogQ2l0eSBvZiBTZWF0dGxlIExFRUQgKFxcXCJncmVlbiBidWlsZGluZ1xcXCIpIHByb2plY3RzOiAgXFxud3d3LnNlYXR0bGUuZ292L0RvY3VtZW50cy9EZXBhcnRtZW50cy9PU0UvQ29tcGxldGVkJTI1MjBDaXR5JTI1MjBQcm9qZWN0cyUyNTIwMjAwMC1KdW5lMjAxMy5wZGZcXG5cXG5cIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoYXQgcHJvZ3Jlc3MgYXJlIHdlIG1ha2luZyB0b3dhcmQgdGhpcyBnb2FsPyoqXFxuXFxuVGhlIGVuZXJneSBwZXJmb3JtYW5jZSBvZiBTZWF0dGxl4oCZcyBtdW5pY2lwYWwgYnVpbGRpbmdzIGlzIHNpbWlsYXIgdG8gcHJpdmF0ZSBidWlsZGluZyBzdG9ja+KAlCBzb21lIGJ1aWxkaW5ncyBhcmUgZG9pbmcgdmVyeSB3ZWxsLCB3aGlsZSBvdGhlcnMgaGF2ZSB0aGUgb3Bwb3J0dW5pdHkgdG8gaW1wcm92ZS4gQ2l0eSBidWlsZGluZ3MgdGhhdCB3ZXJlIHRhcmdldGVkIGZvciBlbmVyZ3kgZWZmaWNpZW5jeSBpbXByb3ZlbWVudHMgaGlnaGxpZ2h0IHRoZSB2YWx1ZSBvZiBpbnRlcnZlbnRpb24uIEVuZXJneSBlZmZpY2llbmN5IGVmZm9ydHMgYXQgdGhyZWUgb3BlcmF0aW9ucyBzdXBwb3J0IGZhY2lsaXRpZXMgYXQgdGhlIEFpcnBvcnQgV2F5IGNvbXBsZXggeWllbGRlZCBhIGNvbWJpbmVkIDguOSBwZXJjZW50IGVuZXJneSBzYXZpbmdzIGZyb20gMjAxMyB0byAyMDE0LiBGb3IgdGhlIHNlY29uZCB5ZWFyLCBvcGVyYXRpb25hbCBhbmQgbWVjaGFuaWNhbCBjb250cm9sIHNlcXVlbmNpbmcgaW1wcm92ZW1lbnRzIGF0IGJyYW5jaCBsaWJyYXJpZXMgaGF2ZSBsZWQgdG8gYW4gYWdncmVnYXRlIGVuZXJneSB1c2UgcmVkdWN0aW9uIG9mIDguMiBwZXJjZW50IGZyb20gMjAxMiB0byAyMDE0LiBBIG1peCBvZiBib2lsZXIgYW5kIGxpZ2h0aW5nIHVwZ3JhZGVzIGF0IGZvdXIgY29tbXVuaXR5IGNlbnRlcnMgYW5kIG9uZSBwb29sIHJlc3VsdGVkIGluIGEgY29tYmluZWQgNy40IHBlcmNlbnQgZW5lcmd5IHNhdmluZ3MgZnJvbSAyMDEzIHRvIDIwMTQuXFxuXFxuIFRoZSBDaXR5J3MgZW5lcmd5IGNvbnN1bXB0aW9uIHRyZW5kcyBzaG93IG1vcmUgYnVpbGRpbmdzICg4MyBwZXJjZW50KSB0aGFuIG5vdCBoYXZlIGRlY3JlYXNlZCBlbmVyZ3kgdXNlLCBhbmQgaW1wcm92ZWQgcGVyZm9ybWFuY2UgaW4gc3BlY2lmaWMgYnVpbGRpbmdzIGNhbiBiZSBhdHRyaWJ1dGVkIHRvIGZvY3VzZWQgZWZmb3J0cyB0byBpbXByb3ZlIHRoZWlyIGVmZmljaWVuY3ksIG9yIGluIHNvbWUgY2FzZXMgdG8gb2NjdXBhbmN5IHJlZHVjdGlvbnMuIEhvd2V2ZXIsIG9uIGEgcG9ydGZvbGlvIHdpZGUgYmFzaXMsIHRoZSBvdmVyYWxsIHJlZHVjdGlvbiBpbiBlbmVyZ3kgdXNlIGNhbiBiZSBwcmltYXJpbHkgYXR0cmlidXRlZCB0byB0aGUgZWZmZWN0cyBvZiBhIHdhcm1lciB3aW50ZXIgaW4gMjAxNC4gV2hpbGUgNzAgcGVyY2VudCBvZiB0aGUgQ2l0eSBwb3J0Zm9saW8gc2hvd2VkIGVuZXJneSB1c2UgcmVkdWN0aW9ucywgaW5jcmVhc2VzIGluIHRoZSByZW1haW5pbmcgMzAgcGVyY2VudCB3ZXJlIHNsaWdodGx5IGdyZWF0ZXIgaW4gbWFnbml0dWRlLiBUaGUgbW9zdCBsaWtlbHkgY2F1c2VzIGZvciB0aGUgaW5jcmVhc2VzIGFyZSBncm93aW5nIGVtcGxveWVlIGNvdW50cyAodGhlIENpdHkgYWRkZWQgNTU5IHN0YWZmIGluIDIwMTQpLCBpbmNyZWFzaW5nIHBsdWcgbG9hZHMgZnJvbSBlcXVpcG1lbnQsIHN1Y2ggYXMgZHVhbCBjb21wdXRlciBtb25pdG9ycyBhbmQgb3RoZXIgZWxlY3Ryb25pYyBkZXZpY2VzLCBhbmQgdGhlIGV2ZXItcHJlc2VudCBjaGFsbGVuZ2Ugb2YgbWFpbnRhaW5pbmcgb3B0aW1hbCBjb250cm9sIHNldHRpbmdzLlxcblxcblwifV1dfSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqU3BvdGxpZ2h0IE9uOioqIERhdGEgb24gRW5lcmd5IFBlcmZvcm1hbmNlIG9mIENpdHktT3duZWQgQnVpbGRpbmdzXFxuXFxuVGhlIGluZm9ncmFwaGljIGJlbG93IHByb3ZpZGVzIGluZm9ybWF0aW9uIG9uIGhvdyBkaWZmZXJlbnQgdHlwZXMgb2YgQ2l0eS1vd25lZCBidWlsZGluZ3MgcGVyZm9ybSBvbiBlbmVyZ3ktdXNlIHJhdGluZ3MgdGVzdHMuXFxuXFxuXCJ9LHtcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzLzQzMjU1MzI2LTNDQzctNDZCNi05QTVBLUUxMzJEMURGQzkzNlwifV0sXCJ1c2VfY3VzdG9tX3RpdGxlXCI6dHJ1ZSxcImN1c3RvbV90aXRsZVwiOlwiVHJhY2sgdGhlIHBlcmNlbnQgcmVkdWN0aW9uIGluIGVuZXJneSB1c2UgYnkgQ2l0eSBmYWNpbGl0aWVzXCIsXCJ1c2VfY3VzdG9tX3N1YnRpdGxlXCI6dHJ1ZSxcImN1c3RvbV9zdWJ0aXRsZVwiOlwiUmVkdWNlIGVuZXJneSB1c2UgaW4gQ2l0eSBmYWNpbGl0aWVzXCJ9In0sInByZXZhaWxpbmdfbWVhc3VyZSI6eyJzdGFydCI6IjIwMDgtMTItMzFUMDA6MDA6MDAuMDAwIiwiZW5kIjoiMjAxNi0xMi0zMVQyMzo1OTo1OS4wMDAiLCJ1bml0IjoicGVyY2VudCByZWR1Y3Rpb24gaW4gZW5lcmd5IHVzZSBzaW5jZSAyMDA4IiwidGFyZ2V0X3R5cGUiOiJub25lIiwidGFyZ2V0X2RlbHRhX2lzX3BlcmNlbnQiOmZhbHNlLCJtZXRyaWMiOnsibWV0YWRhdGEiOiIiLCJpZCI6Ims1eXEtN3Z4bSJ9LCJjb21wYXJpc29uIjp7ImNvbXBhcmlzb25fZnVuY3Rpb24iOiI+In0sIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wiZWRpdFwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwiZW5kXCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMDh9LFwiZW5kXCI6e1wiZGF0ZVwiOlwiZW5kXCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTZ9LFwiYWN0aW9uX3R5cGVcIjpcIm5vbmVcIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX19LFwic3RhcnRcIjpcIjIwMTUtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTUtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJlbmVyZ3kgdXNlIGluIENpdHkgZmFjaWxpdGllc1wiLFwieVNjYWxlXCI6e1widXNlX2RlZmF1bHRcIjpmYWxzZX0sXCJpc19idXJuZG93bl9kaXNhYmxlZFwiOmZhbHNlLFwiaXNfdHJlbmRsaW5lX2Rpc2FibGVkXCI6ZmFsc2UsXCJ1c2VfcHJvZ3Jlc3Nfb3ZlcnJpZGVcIjp0cnVlLFwicHJvZ3Jlc3Nfb3ZlcnJpZGVcIjpcIm5vX2p1ZGdlbWVudFwifSJ9LCJ1cGRhdGVkX2F0IjoiMjAxNi0wNS0wM1QwMTo1OTo1Ny4xMjJaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDgtMTBUMTY6MDk6NDYuNzUyWiIsInZlcnNpb24iOiIyMDE2LTA1LTAzVDAxOjU5OjU3LjEyMloiLCJpZCI6InV4Z2QteDRudiJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiI4dGRnLWRrd2UiLCJ1cGRhdGVkX2F0IjoiMjAxNy0wOC0xNFQyMjoyODoyNi45NzBaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDgtMTBUMTY6MDk6NDYuODEzWiIsInZlcnNpb24iOiIyMDE3LTA4LTE0VDIyOjI4OjI2Ljk3MFoiLCJjcmVhdGVkX2J5IjoiYTg1dy0yaWt1In0seyJpZCI6ImJ4emktcHl2aiIsIm5hbWUiOiJJbmNyZWFzZSBTZWF0dGxlJ3MgdHJlZSBjYW5vcHkiLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcIm5hcnJhdGl2ZVwiOlt7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipXaHkgaXMgdGhpcyBnb2FsIGltcG9ydGFudD8qKlxcblxcblRyZWVzIGFyZSBmdW5kYW1lbnRhbCB0byB0aGUgY2hhcmFjdGVyIG9mIFNlYXR0bGXigJRhIGNpdHkgdGhhdCBjZWxlYnJhdGVzIGl0cyByZXB1dGF0aW9uIGFzIG9uZSBvZiB0aGUgY291bnRyeeKAmXMgZ3JlZW5lc3QgY2l0aWVzLiBUcmVlcyBhbHNvIGRlbGl2ZXIgbnVtZXJvdXMgZW52aXJvbm1lbnRhbCwgc29jaWFsLCBhbmQgZWNvbm9taWMgYmVuZWZpdHMgdG8gdGhlIGNpdHkgYW5kIGl0cyByZXNpZGVudHMuIEV4YW1wbGVzIGluY2x1ZGUgaW1wcm92ZWQgYWlyIGFuZCB3YXRlciBxdWFsaXR5LCBlbmVyZ3kgc2F2aW5ncywgcmVkdWNlZCBsZXZlbHMgb2Ygc3RyZXNzIGFuZCBkZXByZXNzaW9uLCBpbmNyZWFzZWQgcHJvcGVydHkgdmFsdWVzLCBhbmQgaW5jcmVhc2VkIHBlZGVzdHJpYW4gdHJhZmZpYyBpbiBuZWlnaGJvcmhvb2Qgc2hvcHBpbmcgZGlzdHJpY3RzLiBUaGUgc2NpZW50aWZpYyBldmlkZW5jZSBzdXBwb3J0aW5nIHRoZSB2YWx1ZSBvZiB0cmVlcyBpcyBvdmVyd2hlbG1pbmcgYW5kIHRoZSBDaXR5IGlzIGRvaW5nIGl0cyBwYXJ0IHRvIG1ha2Ugc3VyZSBhbGwgcmVzaWRlbnRzIGFuZCBidXNpbmVzcyBlbmpveSB0aGUgYmVuZWZpdHMgb2YgYSBoZWFsdGh5IHVyYmFuIGZvcmVzdC5cXG5cXG5cIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKkhvdyBpcyB0aGlzIGdvYWwgbWVhc3VyZWQ/KipcXG5cXG5TZWF0dGxl4oCZcyB1cmJhbiBmb3Jlc3RyeSB3b3JrIGlzIGd1aWRlZCBieSB0aGUgMjAxMyBVcmJhbiBGb3Jlc3QgU3Rld2FyZHNoaXAgUGxhbi4gVGhlIENpdHkgcGFydG5lcnMgd2l0aCBhIHdpZGUgcmFuZ2Ugb2YgY29tbXVuaXR5IG9yZ2FuaXphdGlvbnMgYW5kIGluZGl2aWR1YWwgdm9sdW50ZWVycyB0byBpbXBsZW1lbnQgdGhlIHBsYW4gYWN0aW9ucyBhbmQgdG8gc3VwcG9ydCBhIHRocml2aW5nIHVyYmFuIGZvcmVzdC4gSW4gYWRkaXRpb24gdG8gdGhlIG51bWVyb3VzIGNvbW11bml0eSBwYXJ0bmVyc2hpcHMsIHNldmVyYWwgQ2l0eSBkZXBhcnRtZW50cyBhbHNvIGludGVncmF0ZSB0cmVlIHBsYW50aW5nIGluIHRoZWlyIHdvcmsgcHJvZ3JhbXMuXFxuXFxuQXMgcGFydCBvZiBTZWF0dGxl4oCZcyBVcmJhbiBGb3Jlc3QgU3Rld2FyZHNoaXAgUGxhbiwgQ2l0eSBkZXBhcnRtZW50cyByZXBvcnQgaG93IG1hbnkgdHJlZXMgdGhleSBwbGFudCBlYWNoIHllYXIuIFRoaXMgaW5mb3JtYXRpb24gaXMgcGFydCBvZiB0aGUgVXJiYW4gRm9yZXN0IFN0ZXdhcmRzaGlwIFBsYW4gUHJvZ3Jlc3MgUmVwb3J0cyB0aGF0IGFyZSByZWxlYXNlZCBlYWNoIHllYXIuXFxuXFxuXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipXaGF0IHByb2dyZXNzIGFyZSB3ZSBtYWtpbmcgdG93YXJkIHRoaXMgZ29hbD8qKlxcblxcblRoZSBuZXQgZ2FpbiBvZiB0cmVlcyBwbGFudGVkIGJ5IENpdHkgZGVwYXJ0bWVudCBoYXMgdHlwaWNhbGx5IGJlZW4gZ3JlYXRlciB0aGFuIDEsOTAwIHRyZWVzIGFubnVhbGx5IHNpbmNlIDIwMTAuIEhvd2V2ZXIsIHdpdGhvdXQgb25nb2luZyBjYW5vcHkgY292ZXIgYXNzZXNzbWVudHMgaXQgaXMgZGlmZmljdWx0IHRvIGFzc2VzcyB0aGUgb3ZlcmFsbCBpbXBhY3Qgb24gU2VhdHRsZeKAmXMgdHJlZSBjYW5vcHkuIFRoZSBTZWF0dGxlIE9mZmljZSBvZiBTdXN0YWluYWJpbGl0eSAmIEVudmlyb25tZW50IGlzIGN1cnJlbnRseSBpbiB0aGUgcHJvY2VzcyBvZiBjb25kdWN0aW5nIGEgY2Fub3B5IGNvdmVyIGFzc2Vzc21lbnQgdGhhdCB3aWxsIGdpdmUgdXMgYSBjbGVhcmVyIHBpY3R1cmUgb2YgaG93IFNlYXR0bGXigJlzIHRyZWUgY2Fub3B5IGhhcyBjaGFuZ2VkIHNpbmNlIDIwMDcuXFxuXFxuXCJ9XSxbe1widHlwZVwiOlwiaW1hZ2VcIixcInNyY1wiOlwiL2FwaS9hc3NldHMvREZENzY0MTAtQjMzOC00MkEwLThBRDAtQ0NEOTJCQzFERUYwXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgRk9SIE1PUkUgSU5GT1JNQVRJT046XFxuXFxuKiBTZWF0dGxlIFVyYmFuIEZvcmVzdHJ5IFN0ZXdhcmRzaGlwIFBsYW4gKFVGU1ApOiAgXFxud3d3LnNlYXR0bGUuZ292L3RyZWVzL21hbmFnZW1lbnQuaHRtXFxuKiBVcmJhbiBGb3Jlc3RyeSBDb21taXNzaW9uIHdlYnNpdGU6ICBcXG53d3cuc2VhdHRsZS5nb3YvdXJiYW5mb3Jlc3RyeWNvbW1pc3Npb24vXFxuKiBUcmVlcyBmb3IgTmVpZ2hib3Job29kcyBwcm9qZWN0OiAgXFxud3d3LnNlYXR0bGUuZ292L3RyZWVzL3RyZWVzZm9ybmVpZ2hib3Job29kcy5odG1cXG4qIFRyZWUgQW1iYXNzYWRvciBwcm9qZWN0OiAgXFxud3d3LnNlYXR0bGUuZ292L3RyZWVzL3RyZWVhbWJhc3NhZG9yLmh0bVxcbiogR3JlZW4gU2VhdHRsZSBQYXJ0bmVyc2hpcCB3ZWJzaXRlOiAgXFxud3d3LmdyZWVuc2VhdHRsZS5vcmdcXG5cXG5cIn1dXX0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKlNwb3RsaWdodCBPbjoqKiBHcmVlbiBTZWF0dGxlIFBhcnRuZXJzaGlwIChHU1ApXFxuXFxuU2VhdHRsZSBoYXMgYSBzZXJpb3VzIGludmFzaXZlIHNwZWNpZXMgcHJvYmxlbS4gT3ZlciB0aW1lLCBpbnZhc2l2ZSBzcGVjaWVzIGhhdmUgdGhlIHBvdGVudGlhbCB0byBjb21wbGV0ZWx5IHJlcGxhY2UgbmF0aXZlIHNwZWNpZXMsIHdoaWNoIHByb3ZpZGUgbW9yZSBoYWJpdGF0IGFuZCBzdG9ybSB3YXRlciBiZW5lZml0cyB0aGFuIGludmFzaXZlIHNwZWNpZXMgZG8uIEludmFzaXZlIHNocnVicyBhbmQgZ3JvdW5kIGNvdmVycyBjYW4gc21vdGhlciBleGlzdGluZyB0cmVlcyBhbmQgcHJldmVudCByZXBsYWNlbWVudCB0cmVlcyBmcm9tIGdyb3dpbmcgYW5kLCBpZiB1bmNoZWNrZWQsIGNhbiByZXN1bHQgaW4gdGhlIGNvbXBsZXRlIGxvc3Mgb2YgdHJlZXMuIFRvZGF5LG92ZXIgNzAlIG9mIFNlYXR0bGXigJlzIHJlbW5hbnQgZm9yZXN0cyBoYXZlIHNvbWUgaW52YXNpdmUgcGxhbnRzIGFuZCBhYm91dCA1MCBwZXJjZW50IGFyZSBtb2RlcmF0ZWx5IHRvIGhlYXZpbHkgaW52YWRlZC5cXG5cXG5UaGUgR1NQIGlzIGEgcGFydG5lcnNoaXAgb2YgdGhlIENpdHkgb2YgU2VhdHRsZSAoUGFya3MsIFNQVSwgYW5kIE9TRSksIHRoZSBub25wcm9maXQgRm9ydGVycmEsIGFuZCB0aG91c2FuZHMgb2Ygdm9sdW50ZWVycywgd2hpY2ggaGVscHMgbGV2ZXJhZ2UgQ2l0eSByZXNvdXJjZXMgYW5kIGdyYW50cyB0byByZXN0b3JlIDIsNTAwIGFjcmVzIG9mIGZvcmVzdGVkIHBhcmtsYW5kcyBieSAyMDI1LiBWb2x1bnRlZXJzIHJlbW92ZSBpbnZhc2l2ZSBzcGVjaWVzLCBwbGFudCB0cmVlcywgYW5kIG1haW50YWluIHVuZGVyYnJ1c2ggdmVnZXRhdGlvbiBpbiBmb3Jlc3RlZCBwYXJrbGFuZHMuXFxuXFxuVm9sdW50ZWVycyBoYXZlIGNvbnRyaWJ1dGVkIG92ZXIgNzIwLDAwMCBob3VycyBvZiB3b3JrIGZyb20gdGhlIHByb2dyYW3igJlzIGluY2VwdGlvbiBpbiAyMDA1LiBGb3Jlc3QgU3Rld2FyZHMgc3RhbmQgb3V0IGFzIGFjdGl2ZSB2b2x1bnRlZXJzIGFuZCByZWNlaXZlIHRyYWluaW5nIGluIG9yZ2FuaXppbmcgYW5kIGRpcmVjdGluZyBmb3Jlc3QgcmVzdG9yYXRpb24sIHRyZWUgcGxhbnRpbmcsIGFuZCBtYWludGVuYW5jZSBwcm9qZWN0cy4gTm9uLXByb2ZpdCBvcmdhbml6YXRpb25zIHN1Y2ggYXMgU2VhdHRsZSBHb29kd2lsbCwgU2VhdHRsZSBQYXJrcyBGb3VuZGF0aW9uLCBOYXR1cmUgQ29uc29ydGl1bSwgYW5kIEVhcnRoIENvcnBzIGhhdmUgYmVlbiBpbXBvcnRhbnQgcGFydG5lcnMgaW4gdGhpcyBlZmZvcnQuXFxuXFxuXCJ9LHtcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzLzhFOEE3MEUwLUY4MEEtNDAyOC1BNDNELTNCQjlDOUJCOTY0RFwifV0sXCJ1c2VfY3VzdG9tX3RpdGxlXCI6dHJ1ZSxcImN1c3RvbV90aXRsZVwiOlwiVHJhY2sgbnVtYmVyIG9mIHRyZWVzIHBsYW50ZWQgb3IgZnVuZGVkIGJ5IHRoZSBDaXR5IFwiLFwidXNlX2N1c3RvbV9zdWJ0aXRsZVwiOnRydWUsXCJjdXN0b21fc3VidGl0bGVcIjpcIkluY3JlYXNlIFNlYXR0bGUncyB0cmVlIGNhbm9weVwifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIyMDA3LTEyLTMxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMTYtMTItMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6InRyZWVzIHBsYW50ZWQgaW4gMjAxNCIsInRhcmdldF90eXBlIjoibm9uZSIsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiJoZnNjLTllc3YifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPiJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDA3fSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE2fSxcImFjdGlvbl90eXBlXCI6XCJub25lXCJ9LFwiYmFzZWxpbmVcIjp7XCJzcXVpc2h5XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fSxcImVuZFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9fSxcInN0YXJ0XCI6XCIyMDE1LTAxLTAxVDAwOjAwOjAwLjAwMFwiLFwiZW5kXCI6XCIyMDE1LTAxLTAxVDIzOjU5OjU5LjAwMFwiLFwibWV0cmljXCI6e1wibWV0YWRhdGFcIjpcIntcXFwid2l6YXJkXFxcIjp7XFxcImZpbHRlcl9hc3RcXFwiOlt7XFxcInZhbHVlc1xcXCI6W3t9XX1dfX1cIn19LFwibmFtZVwiOlwidHJlZXMgcGxhbnRlZFwifSJ9LCJ1cGRhdGVkX2F0IjoiMjAxNi0wNS0wM1QwMjowMToyNi4yMDVaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDgtMTBUMTY6MTA6MDUuMjI0WiIsInZlcnNpb24iOiIyMDE2LTA1LTAzVDAyOjAxOjI2LjIwNVoiLCJpZCI6ImY3azgtMnJ1aSJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiI4dGRnLWRrd2UiLCJ1cGRhdGVkX2F0IjoiMjAxNy0wOC0xNFQyMjozMDozOS41OTRaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDgtMTBUMTY6MTA6MDUuMzczWiIsInZlcnNpb24iOiIyMDE3LTA4LTE0VDIyOjMwOjM5LjU5NFoiLCJjcmVhdGVkX2J5IjoiYTg1dy0yaWt1In0seyJpZCI6ImJrNmota2d3OSIsIm5hbWUiOiJQcmlvcml0aXplIGVsZWN0cmljIHZlaGljbGVzIGluIENpdHkgZmxlZXQiLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcIm5hcnJhdGl2ZVwiOlt7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipXaHkgaXMgdGhpcyBnb2FsIGltcG9ydGFudD8qKlxcblxcblRoZSBDaXR5IGlzIGNvbW1pdHRlZCB0byBwcm90ZWN0aW5nIHB1YmxpYyBoZWFsdGgsIGNvbWJhdGluZyBjbGltYXRlIGNoYW5nZSwgYW5kIHJlZHVjaW5nIGZ1ZWwgY29uc3VtcHRpb24gZm9yIENpdHkgb3BlcmF0aW9ucy5cXG5cXG5UaGUgRGVwYXJ0bWVudCBvZiBGaW5hbmNlIGFuZCBBZG1pbmlzdHJhdGl2ZSBTZXJ2aWNlcyBvd25zIGFuZCBvcGVyYXRlcyBvbmUgb2YgdGhlIGxhcmdlc3QgZ3JlZW4gbXVuaWNpcGFsIGZsZWV0cyBpbiB0aGUgbmF0aW9uIHdpdGggbW9yZSB0aGFuIDQ1MCBoeWJyaWQgYW5kIDc5IGVsZWN0cmljIHZlaGljbGVzLiBUaGUgbW90b3IgcG9vbCBmbGVldCBpbmNsdWRlcyAyOCBhbGwtZWxlY3RyaWMgTmlzc2FuIExlYWZzIHRoYXQgcHJvdmlkZSBDaXR5IGVtcGxveWVlcyB3aXRoIGEgZ3JlZW4gY2FyLXNoYXJpbmcgb3B0aW9uIHdoZW4gY29uZHVjdGluZyBDaXR5IGJ1c2luZXNzLiBFbGVjdHJpYyB2ZWhpY2xlcyBhcmUgY2hlYXBlciB0byBvd24gYW5kIG9wZXJhdGUgYnkgc2F2aW5nIG9uIGZ1ZWwgYW5kIG1haW50ZW5hbmNlLiBFdmVyeSBtb3RvciBwb29sIHRyaXAgZnVlbGVkIGJ5IFNlYXR0bGUgQ2l0eSBMaWdodOKAmXMgY2FyYm9uLWZyZWUgZWxlY3RyaWNpdHkgcmVkdWNlcyBncmVlbmhvdXNlIGdhcyBhbmQgdmVoaWNsZSBlbWlzc2lvbnMgdGhhdCBwb2xsdXRlIGFpciBxdWFsaXR5IGFuZCBoYXJtIHB1YmxpYyBoZWFsdGguIEluY3JlYXNpbmcgdGhlIHBlcmNlbnRhZ2Ugb2YgbW90b3IgcG9vbCB0cmlwcyBlbXBsb3llZXMgdGFrZSBpbiBhbiBFViB0byBtb3JlIHRoYW4gNTAgcGVyY2VudCB3aWxsIHJlZHVjZSBvcGVyYXRpbmcgY29zdHMsIGJvbHN0ZXIgb3VyIGNvbW1pdG1lbnQgdG8gYSBjbGVhbiwgZ3JlZW4gZmxlZXQgYW5kIHByb21vdGUgYSBoZWFsdGhpZXIgY2l0eS5cXG5cXG5cIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoYXQgcHJvZ3Jlc3MgYXJlIHdlIG1ha2luZyB0b3dhcmQgdGhpcyBnb2FsPyoqXFxuXFxuSW4gMjAxNSwgQ2l0eSBlbXBsb3llZXMgdXNlZCBFVnMgZm9yIDQ3IHBlcmNlbnQgb2YgYWxsIG1vdG9yIHBvb2wgdHJpcHMsIGEgMiBwZXJjZW50IGluY3JlYXNlIG92ZXIgdGhlIDQ2IHBlcmNlbnQgdXNhZ2UgaW4gMjAxNC4gVGhlIEZBUyBGbGVldCBNYW5hZ2VtZW50IERpdmlzaW9uIGNvbnRpbnVlcyB0byBldmFsdWF0ZSBtb3RvciBwb29sIHVzYWdlIHRvIGlkZW50aWZ5IG1vcmUgRVYgYWRvcHRpb24gb3Bwb3J0dW5pdGllcyBhbmQgZW5zdXJlIHRoaXMgdXB3YXJkIHRyZW5kIGNvbnRpbnVlcy5cXG5cXG5GQVMgdW5kZXJzdGFuZHMgdGhhdCBub3QgZXZlcnkgdHJpcCBjYW4gYmUgY29uZHVjdGVkIGluIGFuIEVWIGR1ZSB0byBsaW1pdGF0aW9ucyBvZiBhbiBFVuKAmXMgZXhwZWN0ZWQgcmFuZ2UsIGRyaXZlIHR5cGUsIGNhcmdvIHNwYWNlLCBwYXNzZW5nZXIgc2VhdHMgYW5kIHZlaGljbGUgYXZhaWxhYmlsaXR5LiBIb3dldmVyLCBGQVMgbm93IGVuY291cmFnZXMgZXZlcnkgbW90b3IgcG9vbCB1c2VyIHRvIGNvbnNpZGVyIGdvaW5nIGdyZWVuIGJ5IGRlZmF1bHRpbmcgYWxsIHJlc2VydmF0aW9ucyB0byB0aGUgRVYgdHlwZS4gQXMgb2YgU2VwdGVtYmVyIDIwMTUsIGluc3RlYWQgb2Ygb3B0aW5nIGluLCBtb3RvciBwb29sIHVzZXJzIG11c3QgY29uc2Npb3VzbHkgY2hvb3NlIE5PVCB0byBkcml2ZSBhbiBFVi5cXG5cXG5GQVMgYWxzbyByZXBsYWNlZCB0d28gZ2FzLXBvd2VyZWQgbW90b3IgcG9vbCB2ZWhpY2xlcyB3aXRoIEVWcyBpbiBPY3RvYmVyIDIwMTUuIE1vdG9yIHBvb2wgdXNhZ2UgZGF0YSBjb2xsZWN0ZWQgb3ZlciB0aGUgcHJldmlvdXMgZm91ciB5ZWFycyBzdXBwb3J0ZWQgdGhpcyBjaGFuZ2UgaW4gdGhlIG1vdG9yIHBvb2zigJlzIGZsZWV0IGNvbXBsZW1lbnQuXFxuXFxuXCJ9XSxbe1widHlwZVwiOlwiaW1hZ2VcIixcInNyY1wiOlwiL2FwaS9hc3NldHMvMDA2MENCMjQtMUQ2Qy00OThCLTgxRDMtNENCMjdEQkQ0RkUyXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgRk9SIE1PUkUgSU5GT1JNQVRJT046XFxuXFxuXFxuXFxuKiBDaXR5IGZsZWV0IGdlbmVyYWwgaW5mb3JtYXRpb246ICBcXG53d3cuc2VhdHRsZS5nb3YvZmxlZXRzXFxuKiBDaXR5IFxcXCJncmVlblxcXCIgZmxlZXQgaW5mb3JtYXRpb246ICBcXG53d3cuc2VhdHRsZS5nb3YvZmxlZXRzL2dyZWVuZmxlZXRzXFxuXCJ9XV19XSxcInVzZV9jdXN0b21fc3VidGl0bGVcIjp0cnVlLFwiY3VzdG9tX3N1YnRpdGxlXCI6XCJUaGUgQ2l0eSBpcyBjb21taXR0ZWQgdG8gcHJvdGVjdGluZyBwdWJsaWMgaGVhbHRoLCBjb21iYXRpbmcgY2xpbWF0ZSBjaGFuZ2UsIGFuZCByZWR1Y2luZyBmdWVsIGNvbnN1bXB0aW9uIGZvciBDaXR5IG9wZXJhdGlvbnMuXCIsXCJ1c2VfY3VzdG9tX3RpdGxlXCI6dHJ1ZSxcImN1c3RvbV90aXRsZVwiOlwiVXNlIGVsZWN0cmljIHZlaGljbGVzIGZvciBtb3JlIHRoYW4gNTAgcGVyY2VudCBvZiBDaXR5IGVtcGxveWVlIG1vdG9yIHBvb2wgdHJpcHNcIixcImljb25cIjpcIlwifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIyMDE1LTEyLTMxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMTYtMTItMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6InBlcmNlbnQgb2YgdHJpcHMiLCJ0YXJnZXQiOjUwLCJ0YXJnZXRfdHlwZSI6InJlbGF0aXZlIiwidGFyZ2V0X2RlbHRhIjowLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsImJhc2VsaW5lIjo1MCwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiJhYWt4LXM4bmoifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPiJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjozMSxcIm1vbnRoXCI6MTEsXCJ5ZWFyXCI6MjAxNX0sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNn0sXCJhY3Rpb25fdHlwZVwiOlwibWFpbnRhaW5cIixcIm1haW50YWluX3R5cGVcIjpcIj5cIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX19LFwic3RhcnRcIjpcIjIwMTUtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTUtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJ0aGUgcGVyY2VudGFnZSBvZiBtb3RvciBwb29sIHRyaXBzIGVtcGxveWVlcyB0YWtlIGluIGFuIGVsZWN0cmljIHZlaGljbGUgaW4gdGhlIENpdHkgXCIsXCJ5U2NhbGVcIjp7XCJ1c2VfZGVmYXVsdFwiOmZhbHNlLFwibWluXCI6MCxcIm1heFwiOjEwMH19In0sInVwZGF0ZWRfYXQiOiIyMDE2LTA3LTE1VDE2OjUyOjI1LjYzOVoiLCJjcmVhdGVkX2F0IjoiMjAxNS0wOS0wNFQxNjoxMToxOC4yMzBaIiwidmVyc2lvbiI6IjIwMTYtMDctMTVUMTY6NTI6MjUuNjM5WiIsImlkIjoiOG55YS0zbjlxIn0sInJlbGF0ZWRfbWVhc3VyZXMiOltdLCJiYXNlX2Rhc2hib2FyZCI6Ijh0ZGctZGt3ZSIsInVwZGF0ZWRfYXQiOiIyMDE3LTA4LTE0VDIyOjI1OjAyLjIzNloiLCJjcmVhdGVkX2F0IjoiMjAxNS0wOS0wNFQxNjoxMToxOC4yOTJaIiwidmVyc2lvbiI6IjIwMTctMDgtMTRUMjI6MjU6MDIuMjM2WiIsImNyZWF0ZWRfYnkiOiJhODV3LTJpa3UifSx7ImlkIjoicXJnYy1rNmFrIiwibmFtZSI6IlRyYWNrIGVuZXJneSB1c2Ugb2YgbGFyZ2UgYnVpbGRpbmdzIiwiaXNfcHVibGljIjp0cnVlLCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcInJldGlyZW1lbnRfbmFycmF0aXZlXCI6W10sXCJuYXJyYXRpdmVcIjpbe1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqV2h5IGlzIHRoaXMgZ29hbCBpbXBvcnRhbnQ/KipcXG5cXG5FbmVyZ3kgdXNlIGlzIGEgYmlnIHNvdXJjZSBvZiBjYXJib24gcG9sbHV0aW9uLiBTZWF0dGxlIGNvbnRpbnVlcyB0byBleHBsb3JlIGEgd2lkZSByYW5nZSBvZiBzdHJhdGVnaWVzIHRvIGRyaXZlIGVuZXJneSBlZmZpY2llbmN5IGFuZCByZWR1Y2UgY2FyYm9uIHBvbGx1dGlvbi4gQSBjaXR5IHdpdGggbGVzcyBjYXJib24gcG9sbHV0aW9uIGlzIGEgaGVhbHRoaWVyIGFuZCBtb3JlIHByb3NwZXJvdXMgY2l0eSBmb3IgYWxsIHJlc2lkZW50cyBhbmQgaXMgd2VsbCBwb3NpdGlvbmVkIHRvIHRocml2ZSBpbiBhIHN1c3RhaW5hYmxlIHdheS5cXG5cXG5UaGUgRW5lcmd5IEJlbmNobWFya2luZyBhbmQgUmVwb3J0aW5nIFByb2dyYW0gc3VwcG9ydHMgU2VhdHRsZeKAmXMgY2xpbWF0ZSBwcm90ZWN0aW9uIGdvYWxzIHRvIHJlZHVjZSBlbmVyZ3kgdXNlIGJ5IDEwJSBpbiBjb21tZXJjaWFsIGJ1aWxkaW5ncyBhbmQgYnkgMjAlIGluIHJlc2lkZW50aWFsIGJ1aWxkaW5ncyBieSAyMDMwLiBTZWF0dGxl4oCZcyB0b3RhbCBidWlsZGluZyBlbmVyZ3kgdXNlIGNvbnRyaWJ1dGVzIHRvIDMzJSBvZiBvdXIgb3ZlcmFsbCBncmVlbmhvdXNlIGdhcyBlbWlzc2lvbnMuIEJlbmNobWFya2luZyBhbmQgdHJhbnNwYXJlbmN5IGFsbG93cyB0aGUgbWFya2V0IHRvIG1ha2Ugc21hcnRlciBpbnZlc3RtZW50IGRlY2lzaW9ucywgcmV3YXJkIGVmZmljaWVuY3ksIGFuZCBkcml2ZSB3aWRlc3ByZWFkLCBjb250aW51b3VzIGltcHJvdmVtZW50LiBBbm51YWwgdHJhY2tpbmcgYW5kIHJlcG9ydGluZyBhbGxvd3MgYnVpbGRpbmcgb3duZXJzIHRvIGNvbXBhcmUgcGVyZm9ybWFuY2UsIGlkZW50aWZ5IGVuZXJneSBpbXByb3ZlbWVudHMsIGFuZCBtYXJrZXQgZXhjZXB0aW9uYWwgcGVyZm9ybWFuY2UgaW4gc2FsZXMgYW5kIGxlYXNpbmcuIEludmVzdG1lbnRzIGluIGVuZXJneSB1cGdyYWRlcyB5aWVsZHMgbW9yZSBncmVlbiBqb2JzLCBjb3N0IHNhdmluZ3MsIGFuZCBsb3dlciBjYXJib24gZW1pc3Npb25zLlxcblxcblwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqSG93IGlzIHRoaXMgZ29hbCBtZWFzdXJlZD8qKlxcblxcblNlYXR0bGUgYnVpbGRpbmdzIDIwLDAwMCBzcXVhcmUgZmVldCBvciBsYXJnZXIgYXJlIHJlcXVpcmVkIHRvIHJlcG9ydCB0aGVpciBlbmVyZ3kgdXNhZ2UgYW5udWFsbHkgdXNpbmcgRU5FUkdZU1RBUiBQb3J0Zm9saW8gTWFuYWdlciwgYW4gb25saW5lIHRvb2wgY3JlYXRlZCBieSB0aGUgRVBBLiBQb3J0Zm9saW8gTWFuYWdlciBhbGxvd3MgdXNlcnMgdG8gdHJhY2sgYW5kIGFzc2VzcyBlbmVyZ3kgdXNlIGFjcm9zcyBhbiBlbnRpcmUgcG9ydGZvbGlvIG9mIGJ1aWxkaW5ncy5cXG5cXG5UaGUgQ2l0eSBvZiBTZWF0dGxlIG9mZmVycyBmcmVlIHRlY2huaWNhbCBhc3Npc3RhbmNlIHRvIGJ1aWxkaW5nIG93bmVycyBhbmQgbWFuYWdlcnMgdG8gaGVscCB0aGVtIGFjY3VyYXRlbHkgcmVwb3J0IHRoZWlyIGVuZXJneSB1c2UgYW5kIHVuZGVyc3RhbmQgaXRzIGltcGFjdCB2aWEgZmVlZGJhY2sgdGhyb3VnaCBjdXN0b21pemVkIEVuZXJneSBQZXJmb3JtYW5jZSBQcm9maWxlcy5cXG5cXG5cIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoYXQgcHJvZ3Jlc3MgYXJlIHdlIG1ha2luZyB0b3dhcmQgdGhpcyBnb2FsPyoqXFxuXFxuU2VhdHRsZSB3YXMgb25lIG9mIHRoZSBmaXJzdCBjaXRpZXMgdG8gZW5hY3QgYmVuY2htYXJraW5nIGxlZ2lzbGF0aW9uIGFuZCByZW1haW5zIGEgbGVhZGVyIGluIHRoaXMgZW1lcmdpbmcgcG9saWN5IGFyZWEuIChUaGlydGVlbiBvdGhlciBjaXRpZXMgaGF2ZSBiZW5jaG1hcmtpbmcgbGF3cyBhcyBvZiBKdW5lIDIwMTUgd2l0aCBtYW55IG1vcmUgY2l0aWVzIGluIHRoZSBwaXBlbGluZSkuIFdpdGggdGhlIGhpZ2hlc3QgY29tcGxpYW5jZSByYXRlcyBpbiB0aGUgbmF0aW9uIGZvciB0aGUgbGFzdCB0d28geWVhcnMgKG5lYXJseSAxMDAlKSBTZWF0dGxl4oCZcyBsYXJnZSBidWlsZGluZyBvd25lcnMgaGF2ZSBrbm93bGVkZ2UgYW5kIGFjY2VzcyB0byB0aGVpciBidWlsZGluZ3PigJkgZW5lcmd5IHVzZSBhbmQgb3Bwb3J0dW5pdGllcyBmb3IgaW1wcm92ZW1lbnQuXFxuXFxuXCJ9XSxbe1widHlwZVwiOlwiaW1hZ2VcIixcInNyY1wiOlwiL2FwaS9hc3NldHMvNzk5NzZDMjQtQUVEMy00MUQzLTk4MzktNzI2MENGNUNERDBFXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgRk9SIE1PUkUgSU5GT1JNQVRJT046XFxuXFxuKiBCZW5jaG1hcmtpbmcgcHJvZ3JhbSB3ZWJzaXRlOiAgXFxud3d3LnNlYXR0bGUuZ292L2Vudmlyb25tZW50L2J1aWxkaW5ncy1hbmQtZW5lcmd5L2VuZXJneS1iZW5jaG1hcmtpbmctYW5kLXJlcG9ydGluZ1xcbiogMjAxMS8yMDEyIEJlbmNobWFya2luZyBSZXBvcnQ6ICBcXG53d3cuc2VhdHRsZS5nb3YvRG9jdW1lbnRzL0RlcGFydG1lbnRzL09TRS9FQlItMjAxMS0yMDEyLXJlcG9ydC5wZGZcXG4qIEluZm9ncmFwaGljOiBTb2x2aW5nIFNlYXR0bGUncyBlbmVyZ3kgcHV6emxlOiAgXFxud3d3LnNlYXR0bGUuZ292L0RvY3VtZW50cy9EZXBhcnRtZW50cy9PU0UvU2VhdHRsZV9CZW5jaG1hcmtpbmdfMjAxMi5wZGZcXG4qIEVuZXJneSBiZW5jaG1hcmtpbmcgc3VjY2VzcyBzdG9yaWVzOiAgXFxud3d3LnNlYXR0bGUuZ292L2Vudmlyb25tZW50L2J1aWxkaW5ncy1hbmQtZW5lcmd5L2VuZXJneS1iZW5jaG1hcmtpbmctYW5kLXJlcG9ydGluZy9zYXZlLWVuZXJneS0tLWNhc2Utc3R1ZGllc1xcblwifV1dfV0sXCJ1c2VfY3VzdG9tX3RpdGxlXCI6dHJ1ZSxcImN1c3RvbV90aXRsZVwiOlwiVHJhY2sgdGhlIG51bWJlciBvZiBsYXJnZSBidWlsZGluZ3MgY29tcGx5aW5nIHdpdGggcmVwb3J0aW5nIHJlcXVpcmVtZW50c1wiLFwidXNlX2N1c3RvbV9zdWJ0aXRsZVwiOnRydWUsXCJjdXN0b21fc3VidGl0bGVcIjpcIlRyYWNrIGVuZXJneSB1c2Ugb2YgbGFyZ2UgYnVpbGRpbmdzXCJ9In0sInByZXZhaWxpbmdfbWVhc3VyZSI6eyJzdGFydCI6IjIwMTItMDQtMDFUMDA6MDA6MDAuMDAwIiwiZW5kIjoiMjAxNi0xMi0zMVQyMzo1OTo1OS4wMDAiLCJ1bml0IjoicGVyY2VudCBvZiBidWlsZGluZ3MgcmVwb3J0aW5nIGVuZXJneSB1c2FnZSIsInRhcmdldF90eXBlIjoibm9uZSIsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiJrbTJ5LW42YjQifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPiJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOjMsXCJ5ZWFyXCI6MjAxMn0sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNn0sXCJhY3Rpb25fdHlwZVwiOlwibm9uZVwifSxcImJhc2VsaW5lXCI6e1wic3F1aXNoeVwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX0sXCJlbmRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fX0sXCJzdGFydFwiOlwiMjAxNS0wMS0wMVQwMDowMDowMC4wMDBcIixcImVuZFwiOlwiMjAxNS0wMS0wMVQyMzo1OTo1OS4wMDBcIixcIm1ldHJpY1wiOntcIm1ldGFkYXRhXCI6XCJ7XFxcIndpemFyZFxcXCI6e1xcXCJmaWx0ZXJfYXN0XFxcIjpbe1xcXCJ2YWx1ZXNcXFwiOlt7fV19XX19XCJ9fSxcIm5hbWVcIjpcIkVuZXJneSBSZXBvcnRpbmcgXCJ9In0sInVwZGF0ZWRfYXQiOiIyMDE2LTA1LTAzVDAyOjAxOjEwLjYwMVoiLCJjcmVhdGVkX2F0IjoiMjAxNS0wOC0xMFQxNjowOTozNS44MTFaIiwidmVyc2lvbiI6IjIwMTYtMDUtMDNUMDI6MDE6MTAuNjAxWiIsImlkIjoiZXJwNS05MnQ1In0sInJlbGF0ZWRfbWVhc3VyZXMiOltdLCJiYXNlX2Rhc2hib2FyZCI6Ijh0ZGctZGt3ZSIsInVwZGF0ZWRfYXQiOiIyMDE2LTA1LTAzVDAyOjAxOjEwLjY0N1oiLCJjcmVhdGVkX2F0IjoiMjAxNS0wOC0xMFQxNjowOTozNS45NTZaIiwidmVyc2lvbiI6IjIwMTYtMDUtMDNUMDI6MDE6MTAuNjQ3WiIsImNyZWF0ZWRfYnkiOiJ5dGNzLXFtdnAifSx7ImlkIjoiZ3pxYS0ya2t4IiwibmFtZSI6IkluY3JlYXNlIGFjY2VzcyB0byBoZWFsdGh5IGZvb2QiLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcIm5hcnJhdGl2ZVwiOlt7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipXaHkgaXMgdGhpcyBnb2FsIGltcG9ydGFudD8qKlxcblxcbldoZW4gb25lIGluIGZpdmUgY2hpbGRyZW4gaW4gS2luZyBDb3VudHkgZG8gbm90IGhhdmUgZW5vdWdoIHRvIGVhdCBhbmQgaGVhbHRoeSBmb29kIGlzIG1vcmUgZXhwZW5zaXZlIHRoYW4gbGVzcyBoZWFsdGh5IGFsdGVybmF0aXZlcyB3ZSBtdXN0IHRha2UgYWN0aW9uIHRvIHN1cHBvcnQgdGhlIGhlYWx0aCBhbmQgbnV0cml0aW9uIG9mIG91ciByZXNpZGVudHMuXFxuXFxuSGVhbHRoeSBudXRyaXRpb24gaXMgYW4gaW1wb3J0YW50IG1hcmtlciBmb3IgZ29vZCBoZWFsdGguIFlldCBpbiBTZWF0dGxlLCBtYW55IHJlc2lkZW50cyBkbyBub3QgaGF2ZSBlbm91Z2ggZm9vZCAoa25vd24gYXMgZm9vZCBpbnNlY3VyaXR5KSBhbmQgbWFueSBtb3JlIGFyZSBub3QgYWJsZSB0byBhZmZvcmQgaGVhbHRoeSBmb29kLiBUaGVzZSBmb29kIGluZXF1aXRpZXMgZGlzcHJvcG9ydGlvbmF0ZWx5IGFmZmVjdCBsb3ctaW5jb21lIGZhbWlsaWVzIHdpdGggY2hpbGRyZW4gYW5kIHNlbmlvcnMgYXMgd2VsbCBhcyBjb21tdW5pdGllcyBvZiBjb2xvci4gUmlzaW5nIG9iZXNpdHkgYW5kIGRpZXQtcmVsYXRlZCBkaXNlYXNlcyBpbmNyZWFzZSBoZWFsdGggY2FyZSBjb3N0cyBhbmQgZGVjcmVhc2UgbGlmZSBleHBlY3RhbmN5LlxcblxcblwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqSG93IGRvIHdlIG1lYXN1cmUgdGhpcyBnb2FsPyoqXFxuXFxuSW4gMjAxMywgdGhlIENpdHkgZGV2ZWxvcGVkIGl0cyBmaXJzdCBGb29kIEFjdGlvbiBQbGFuIHRvIHByb3ZpZGUgYSB2aXNpb24gYW5kIGNpdHl3aWRlIHN0cmF0ZWd5IHRvIGluY3JlYXNlIGFjY2VzcyB0byBoZWFsdGh5LCBsb2NhbGx5IHByb2R1Y2VkLCBjdWx0dXJhbGx5IGFwcHJvcHJpYXRlIGZvb2QgZm9yIGFsbCBTZWF0dGxlIHJlc2lkZW50cy4gRnJlc2ggQnVja3MgaXMgYSBwcm9ncmFtIHRoYXQgY2FtZSBvdXQgb2YgU2VhdHRsZeKAmXMgRm9vZCBBY3Rpb24gUGxhbiBhbmQgd2FzIGRldmVsb3BlZCBieSB0aGUgQ2l0eSBvZiBTZWF0dGxlIGluIHBhcnRuZXJzaGlwIHdpdGggV2FzaGluZ3RvbiBTdGF0ZSBGYXJtZXJzIE1hcmtldCBBc3NvY2lhdGlvbiBhbmQgU2VhdHRsZeKAmXMgZmFybWVycyBtYXJrZXRzLiBGcmVzaCBCdWNrcyBwcm92aWRlcyBhIGZpbmFuY2lhbCBib29zdCBmb3IgbG93LWluY29tZSBzaG9wcGVycyBhdCBTZWF0dGxlIGZhcm1lcnMgbWFya2V0czogZm9yIGV2ZXJ5IGRvbGxhciBzcGVudCB1c2luZyB0aGVpciBTTkFQIGJlbmVmaXRzIChTdXBwbGVtZW50YWwgTnV0cml0aW9uIEFzc2lzdGFuY2UgUHJvZ3JhbSwgb3IgZm9vZCBzdGFtcHMpLCBsb3ctaW5jb21lIHNob3BwZXJzIHJlY2VpdmUgdXAgdG8gJDEwIHRvIGJ1eSBtb3JlIGZydWl0cyBhbmQgdmVnZXRhYmxlcy5cXG5cXG5UaGUgQ2l0eSB0cmFja3MgdGhlIHJlYWNoIGFuZCBlZmZlY3RpdmVuZXNzIG9mIHRoZSBGcmVzaCBCdWNrcyBwcm9ncmFtIHZpYSBpbi1wZXJzb24gc3VydmV5cyBhdCBmYXJtZXJzIG1hcmtldHMuIEluIHRoZSByZWNlbnQgZXZhbHVhdGlvbiwgc3VydmV5b3JzIHN0b29kIGluIG9yIG5lYXIgbWFya2V0IGluZm9ybWF0aW9uIGJvb3RocyBhbmQgaW52aXRlZCBGcmVzaCBCdWNrcyBzaG9wcGVycyB0byBwYXJ0aWNpcGF0ZSBpbiBhIGJyaWVmIHN1cnZleS4gUmVmdXNhbCByYXRlcyB3ZXJlIGVzdGltYXRlZCBhdCBsZXNzIHRoYW4gMjAgcGVyY2VudC4gU3VydmV5IHF1ZXN0aW9ucyByZWxhdGVkIHRvIHVzZSBvZiBmYXJtZXJzIG1hcmtldHMsIFNOQVAgYW5kIEZyZXNoIEJ1Y2tzOyB0eXBpY2FsIGNvbnN1bXB0aW9uIG9mIGZydWl0cyBhbmQgdmVnZXRhYmxlczsgcGVyY2VpdmVkIGltcGFjdCBvZiBGcmVzaCBCdWNrcyBvbiBmYW1pbHkgZGlldCBhbmQgcHJvZHVjZSBwdXJjaGFzZXM7IGFuZCBkZW1vZ3JhcGhpYyBkYXRhLiBGb3IgdGhlIDIwMTQgRnJlc2ggQnVja3MgZXZhbHVhdGlvbiwgZGF0YSBjb2xsZWN0b3JzIGNvbmR1Y3RlZCAxOTEgaW7igJBwZXJzb24gc3VydmV5cyB3aXRoIEZyZXNoIEJ1Y2tzIHNob3BwZXJzIGF0IHNpeCBmYXJtZXJzIG1hcmtldHMgaW4gQXVndXN0IGFuZCBTZXB0ZW1iZXIsIGFuIGVzdGltYXRlZCBmaXZlIHBlcmNlbnQgb2YgYWxsIHNob3BwZXJzIHdobyB1c2VkIHRoZSBwcm9ncmFtIGJldHdlZW4gTWF5IGFuZCBPY3RvYmVyLlxcblxcblwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzL0EwODdFMDVGLTUwNTAtNDJBQy1COTg0LUQ4MEU3NkQ0QTg1NFwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjIEZPUiBNT1JFIElORk9STUFUSU9OOlxcblxcbiogRnJlc2ggQnVja3MgcHJvZ3JhbSB3ZWJzaXRlOiAgXFxud3d3LnNlYXR0bGUuZ292L2Vudmlyb25tZW50L2Zvb2QvZnJlc2gtYnVja3NcXG4qIEZvb2QgQWN0aW9uIFBsYW46ICBcXG53d3cuc2VhdHRsZS5nb3YvZW52aXJvbm1lbnQvZm9vZC9mb29kLWFjdGlvbi1wbGFuXFxuKiBSZWdpb25hbCBGb29kIFBvbGljeSBDb3VuY2lsJ3MgQWN0aW9uIFBsYW46ICBcXG53d3cucHNyYy5vcmcvYXNzZXRzLzExOTU4L2Zvb2RfcG9saWN5X2FjdGlvbl9wbGFuXzEwXzIwMTQucGRmXFxuKiBIdW1hbiBTZXJ2aWNlcyBEZXBhcnRtZW50J3MgXFxcIkZhcm0gdG8gVGFibGVcXFwiIHdlYnNpdGU6ICBcXG5odHRwOi8vd3d3LnNlYXR0bGUuZ292L2h1bWFuc2VydmljZXMvY2hpbGRyZW5fZmFtaWxpZXMvbnV0cml0aW9uL2Zhcm1fdG9fdGFibGUuaHRtXFxuXFxuXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipXaGF0IHByb2dyZXNzIGFyZSB3ZSBtYWtpbmcgdG93YXJkIHRoaXMgZ29hbD8qKlxcblxcbkluIDIwMTQgb3ZlciA0LDAwMCBsb3cgaW5jb21lIHNob3BwZXJzIGF0ZSBtb3JlIGZydWl0cyBhbmQgdmVnZXRhYmxlcyBhcyBhIHJlc3VsdCBvZiBGcmVzaCBCdWNrcywgaW5jbHVkaW5nIDEsMTQ0IHRoYXQgaGFkIG5ldmVyIGJlZm9yZSB1c2VkIFNOQVAgYXQgYSBmYXJtZXJzIG1hcmtldC4gVGhhdOKAmXMgbmVhcmx5IGEgMjcwIHBlcmNlbnQgaW5jcmVhc2Ugc2luY2UgdGhlIGZpcnN0IHllYXIgb2YgdGhlIHByb2dyYW0gLSBpbiAyMDEyIG9ubHkgMSw1MDAgbG93IGluY29tZSBzaG9wcGVycyB1c2VkIEZyZXNoIEJ1Y2tzIGF0IGZhcm1lcnMgbWFya2V0cy5cXG5cXG5EdWUgdG8gdGhlIGdlbmVyb3VzIHN1cHBvcnQgb2YgbnVtZXJvdXMgY29tbXVuaXR5IHBhcnRuZXJzIGluIFNlYXR0bGUgYW5kIEtpbmcgQ291bnR5LCBhbmQgYSBmZWRlcmFsIGdyYW50IHBhcnRuZXJzaGlwIHdpdGggdGhlIFdBIFN0YXRlIERlcGFydG1lbnQgb2YgSGVhbHRoLCB0aGUgQ2l0eSB3aWxsIGNvbnRpbnVlIHRvIGV4cGFuZCBGcmVzaCBCdWNrcyBhdCBmYXJtZXJzIG1hcmtldHMgYW5kIGZhcm0gc3RhbmRzIGFuZCB3aWxsIHBpbG90IG5ldyB3YXlzIG9mIGdldHRpbmcgaGVhbHRoeSBmb29kIHRvIGxvdy1pbmNvbWUgcmVzaWRlbnRzIGF0IGNoaWxkY2FyZSBhbmQgcHJlc2Nob29sIHNpdGVzLCBjb21tdW5pdHkgY2VudGVycywgZ3JvY2VyeSBzdG9yZXMsIGFuZCBoZWFsdGggY2xpbmljcy5cXG5cXG5Ib3dldmVyLCBGcmVzaCBCdWNrcyBpcyBub3QgdGhlIG9ubHkgd2F5IHRoZSBDaXR5IGlzIHdvcmtpbmcgdG8gaW5jcmVhc2UgZnJ1aXQgYW5kIHZlZ2V0YWJsZSBjb25zdW1wdGlvbi4gRnJlc2ggQnVja3MgaXMgb25lIHByb2dyYW0gaW4gYSBzdWl0ZSBvZiBvcHRpb25zIHRoYXQgaW5jbHVkZXMgd29ya2luZyB3aXRoIGNoaWxkY2FyZSwgcHJlc2Nob29sLCBhbmQgc2VuaW9yIG1lYWwgcHJvZ3JhbXMgdG8gaW5jcmVhc2UgZnJlc2gsIGxvY2FsIHByb2R1Y2UgaW4gdGhlaXIgbWVhbHMgYW5kIHRyYWluaW5nIG9uLXNpdGUgY29va3MgdG8gcHJlcGFyZSBzZWFzb25hbCBtZWFscyBmcm9tIHNjcmF0Y2g7IGVkdWNhdGluZyBraWRzLCB0ZWVucywgYW5kIGFkdWx0cyB0aHJvdWdoIGdhcmRlbmluZyBhbmQgY29va2luZyBwcm9ncmFtcyBhdCBTZWF0dGxlIFBhcmtzIENvbW11bml0eSBDZW50ZXJzOyBvZmZlcmluZyBsb3ctY29zdCBiYWdzIG9mIGxvY2FsbHkgZ3Jvd24gcHJvZHVjZSBhdCBwcmVzY2hvb2wsIGNoaWxkY2FyZSwgYW5kIGFmZm9yZGFibGUgaG91c2luZyBzaXRlczsgcHJvdmlkaW5nIGxvdy1jb3N0IFAtUGF0Y2ggY29tbXVuaXR5IGdhcmRlbiBwbG90cyBzbyBTZWF0dGxlIHJlc2lkZW50cyBjYW4gZ3JvdyB0aGVpciBvd24gdmVnZXRhYmxlczsgYW5kIHBhcnRuZXJpbmcgd2l0aCBjb21tdW5pdHkgb3JnYW5pemF0aW9ucyB0byB1c2UgQ2l0eS1vd25lZCBsYW5kIGZvciBzdXN0YWluYWJsZSBmb29kIHByb2R1Y3Rpb24gdGhhdCBnZXRzIGZvb2QgdG8gcGVvcGxlIGluIG5lZWQuXFxuXFxuXCJ9XV19LHtcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzLzMxRjBFMDM3LThBMEEtNDQ2RC04MTNFLTQzNDE2NTczRTI3M1wifV0sXCJ1c2VfY3VzdG9tX3RpdGxlXCI6dHJ1ZSxcImN1c3RvbV90aXRsZVwiOlwiVHJhY2sgcGVyY2VudGFnZSBvZiAgRnJlc2ggQnVja3MgcGFydGljaXBhbnRzIGVhdGluZyBtb3JlIGZydWl0cyBhbmQgdmVnZXRhYmxlcyBcIixcInVzZV9jdXN0b21fc3VidGl0bGVcIjp0cnVlLFwiY3VzdG9tX3N1YnRpdGxlXCI6XCJJbmNyZWFzZSBhY2Nlc3MgdG8gaGVhbHRoeSBmb29kXCJ9In0sInByZXZhaWxpbmdfbWVhc3VyZSI6eyJzdGFydCI6IjIwMTItMDEtMDFUMDA6MDA6MDAuMDAwIiwiZW5kIjoiMjAxNi0xMi0zMVQyMzo1OTo1OS4wMDAiLCJ1bml0IjoicGVyY2VudCBvZiBGcmVzaCBCdWNrcyBwYXJ0aWNpcGFudHMgZWF0aW5nIGhlYWx0aGllciIsInRhcmdldF90eXBlIjoibm9uZSIsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiJuczR4LXE1dDcifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPiJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTJ9LFwiZW5kXCI6e1wiZGF0ZVwiOlwiZW5kXCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTZ9LFwiYWN0aW9uX3R5cGVcIjpcIm5vbmVcIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX19LFwic3RhcnRcIjpcIjIwMTUtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTUtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJhY2Nlc3MgdG8gaGVhbHRoeSBmb29kXCJ9In0sInVwZGF0ZWRfYXQiOiIyMDE2LTA1LTAzVDAyOjAxOjM5LjUyNFoiLCJjcmVhdGVkX2F0IjoiMjAxNS0wOC0xMFQxNjoxMDoxNS44MDlaIiwidmVyc2lvbiI6IjIwMTYtMDUtMDNUMDI6MDE6MzkuNTI0WiIsImlkIjoiYWhzZi1xcjZrIn0sInJlbGF0ZWRfbWVhc3VyZXMiOltdLCJiYXNlX2Rhc2hib2FyZCI6Ijh0ZGctZGt3ZSIsInVwZGF0ZWRfYXQiOiIyMDE3LTA4LTE0VDIyOjMyOjIzLjE5NloiLCJjcmVhdGVkX2F0IjoiMjAxNS0wOC0xMFQxNjoxMDoxNS44NjlaIiwidmVyc2lvbiI6IjIwMTctMDgtMTRUMjI6MzI6MjMuMTk2WiIsImNyZWF0ZWRfYnkiOiJhODV3LTJpa3UifSx7ImlkIjoieXFkZS1mZzY4IiwibmFtZSI6IjIwMTcgRFJBRlQgUHJvdmlkZSBjbGVhbiwgc2FmZSBkcmlua2luZyB3YXRlciAiLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcIm5hcnJhdGl2ZVwiOlt7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipXaHkgaXMgdGhpcyBnb2FsIGltcG9ydGFudD8qKlxcblxcbldoZW4gY3VzdG9tZXJzIHR1cm4gb24gdGhlIHRhcCBvciBuZWVkIGEgcmVsaWFibGUgc291cmNlIG9mIGNsZWFuIHdhdGVyLCB0aGV5IHdhbnQgdG8gYmUgYXNzdXJlZCB0aGF0IHRoZSBkcmlua2luZyB3YXRlciBpcyBzYWZlIGFuZCBnb29kIHRhc3RpbmcuXFxuXFxuU2VhdHRsZSBQdWJsaWMgVXRpbGl0aWVzIG1hbmFnZXMsIHRyZWF0cywgYW5kIHJlbGlhYmx5IGRlbGl2ZXJzIGhpZ2ggcXVhbGl0eSBkcmlua2luZyB3YXRlciB0byA2NTIsMDAwIFNlYXR0bGUgcmVzaWRlbnRpYWwgYW5kIGJ1c2luZXNzIGN1c3RvbWVycywgYW5kIG92ZXIgNzAwLDAwMCBjdXN0b21lcnMgaW4gdGhlIFB1Z2V0IFNvdW5kIGFyZWEuIEluIDIwMTMsIDQ0LjEgYmlsbGlvbiBnYWxsb25zIG9mIHRyZWF0ZWQgZHJpbmtpbmcgd2F0ZXIgd2VyZSBwcm9kdWNlZC5cXG5cXG5Qcm92aWRpbmcgY2xlYW4gd2F0ZXIgaGFzIGJlZW4gYSBjb3JlIHV0aWxpdHkgc2VydmljZSBpbiBTZWF0dGxlIGZvciBvdmVyIDEyMCB5ZWFycyB3aGVuIHZvdGVycyBvdmVyd2hlbG1pbmdseSBhcHByb3ZlZCBhIGJvbmQgaXNzdWUgdG8gcHJvdmlkZSBjbGVhbiwgbW91bnRhaW4gd2F0ZXIgZnJvbSB0aGUgQ2VkYXIgUml2ZXIgV2F0ZXJzaGVkIGFuZCB0byBidWlsZCBwcm90ZWN0ZWQgcmVzZXJ2b2lycyB0aHJvdWdob3V0IHRoZSBjaXR5LlxcblxcblRoaXMgaGlnaCBxdWFsaXR5IHdhdGVyIHN1cHBseSB3aWxsIGJlIGF2YWlsYWJsZSB3ZWxsIGludG8gdGhlIG1pZGRsZSBvZiB0aGlzIGNlbnR1cnkuXFxuXFxuXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipIb3cgZG8gd2UgbWVhc3VyZSB0aGlzIGdvYWw/KipcXG5cXG5UbyBlbnN1cmUgdGFwIHdhdGVyIGlzIHNhZmUgdG8gZHJpbmssIHRoZSBFbnZpcm9ubWVudGFsIFByb3RlY3Rpb24gQWdlbmN5IGFuZCB0aGUgV2FzaGluZ3RvbiBTdGF0ZSBCb2FyZCBvZiBIZWFsdGggcmVndWxhdGUgdGhlIGFtb3VudCBvZiBjZXJ0YWluIGNvbnRhbWluYW50cyBpbiB3YXRlciBwcm92aWRlZCBieSBwdWJsaWMgd2F0ZXIgc3lzdGVtcy5cXG5cXG5TZWF0dGxlIFB1YmxpYyBVdGlsaXRpZXMnIFdhdGVyIFF1YWxpdHkgTGFib3JhdG9yeSBjb25kdWN0cyBtaWNyb2JpYWwsIGNoZW1pY2FsLCBhbmQgcGh5c2ljYWwgbW9uaXRvcmluZyBkYWlseSwgMzY1IGRheXMgcGVyIHllYXIsIHRlc3Rpbmcgb3ZlciAyMCwwMDAgc2FtcGxlcyBlYWNoIHllYXIuIFNlYXR0bGUgUHVibGljIFV0aWxpdGllcyByZXBvcnRzIG1vbnRobHkgdG8gdGhlIERlcGFydG1lbnQgb2YgSGVhbHRoIG9uIGEgdmFyaWV0eSBvZiBtZWFzdXJlcy5cXG5cXG5UaGlzIGluZm9ybWF0aW9uIGlzIGNvbWJpbmVkIGludG8gYW4gYW5udWFsIHdhdGVyIHF1YWxpdHkgcmVwb3J0LiBUaGUgcmVwb3J0IGluY2x1ZGVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSByZWd1bGF0ZWQgY29tcG91bmRzIGFuZCB3aGV0aGVyIGFueSBsZXZlbHMgd2VyZSBleGNlZWRlZCwgYXMgd2VsbCBhcyBjb21wb3VuZHMgdGhhdCB3ZXJlIG5vdCBkZXRlY3RlZCwgY29tcG91bmRzIHRoYXQgYXJlIG5vdCByZWd1bGF0ZWQgYnV0IG1heSBiZSBvZiBpbnRlcmVzdCB0byBjdXN0b21lcnMsIGFuZCB0aGUgYWVzdGhldGljcyBvZiB0aGUgZHJpbmtpbmcgd2F0ZXIgc3VjaCBhcyB0YXN0ZSwgb2RvciwgYW5kIGFwcGVhcmFuY2UuIFRoZSBhbm51YWwgd2F0ZXIgcXVhbGl0eSByZXBvcnQgaXMgcHJvZHVjZWQgaW4gSnVuZS5cXG5cXG5cIn1dLFt7XCJ0eXBlXCI6XCJpbWFnZVwiLFwic3JjXCI6XCIvYXBpL2Fzc2V0cy9FNDg0RjYwOC1CQjU5LTQ0QzgtOEI3NC0zRjFFNTBDQ0Q3QTVcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyBGT1IgTU9SRSBJTkZPUk1BVElPTjpcXG5cXG4qICoqU2VhdHRsZSBQdWJsaWMgVXRpbGl0aWVzIGFubnVhbCBkcmlua2luZyB3YXRlciByZXBvcnRzOioqICAgXFxuW2h0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdXRpbC9NeVNlcnZpY2VzL1dhdGVyL1dhdGVyX1F1YWxpdHkvV2F0ZXJRdWFsaXR5QW5udWFsUmVwb3J0L2luZGV4Lmh0bV1bMF1cXG4qICoqU2VhdHRsZSBQdWJsaWMgVXRpbGl0aWVzIHdhdGVyIHF1YWxpdHkgYW5hbHlzZXM6KiogICBcXG5baHR0cDovL3d3dy5zZWF0dGxlLmdvdi91dGlsL015U2VydmljZXMvV2F0ZXIvV2F0ZXJfUXVhbGl0eS9XYXRlclF1YWxpdHlBbmFseXNlcy9pbmRleC5odG1dWzFdXFxuKiAqKlNlYXR0bGUgUHVibGljIFV0aWxpdGllcyB3YXRlciBvdmVydmlldzoqKiAgIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvTXlTZXJ2aWNlcy9XYXRlci9pbmRleC5odG1dWzJdXFxuKiAqKldhdGVyIHF1YWxpdHk6KiogICBcXG5baHR0cDovL3d3dy5zZWF0dGxlLmdvdi91dGlsL015U2VydmljZXMvV2F0ZXIvV2F0ZXJfUXVhbGl0eS9pbmRleC5odG1dWzNdXFxuKiAqKldhdGVyIHN5c3RlbToqKiAgIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvTXlTZXJ2aWNlcy9XYXRlci9BYm91dHRoZVdhdGVyU3lzdGVtL2luZGV4Lmh0bV1bNF1cXG4qICoqVG9sdCBSaXZlciBhbmQgQ2VkYXIgUml2ZXIgd2F0ZXJzaGVkczoqKiAgIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvRW52aXJvbm1lbnRDb25zZXJ2YXRpb24vT3VyV2F0ZXJzaGVkcy9pbmRleC5odG1dWzVdXFxuXFxuWzBdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvTXlTZXJ2aWNlcy9XYXRlci9XYXRlcl9RdWFsaXR5L1dhdGVyUXVhbGl0eUFubnVhbFJlcG9ydC9pbmRleC5odG1cXG5bMV06IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdXRpbC9NeVNlcnZpY2VzL1dhdGVyL1dhdGVyX1F1YWxpdHkvV2F0ZXJRdWFsaXR5QW5hbHlzZXMvaW5kZXguaHRtXFxuWzJdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvTXlTZXJ2aWNlcy9XYXRlci9pbmRleC5odG1cXG5bM106IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdXRpbC9NeVNlcnZpY2VzL1dhdGVyL1dhdGVyX1F1YWxpdHkvaW5kZXguaHRtXFxuWzRdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvTXlTZXJ2aWNlcy9XYXRlci9BYm91dHRoZVdhdGVyU3lzdGVtL2luZGV4Lmh0bVxcbls1XTogaHR0cDovL3d3dy5zZWF0dGxlLmdvdi91dGlsL0Vudmlyb25tZW50Q29uc2VydmF0aW9uL091cldhdGVyc2hlZHMvaW5kZXguaHRtXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipXaGF0IHByb2dyZXNzIGFyZSB3ZSBtYWtpbmcgdG93YXJkIHRoaXMgZ29hbD8qKlxcblxcbldoYXQgcHJvZ3Jlc3MgYXJlIHdlIG1ha2luZyB0b3dhcmQgdGhpcyBnb2FsP1NlYXR0bGXigJlzIGRyaW5raW5nIHdhdGVyIGNvbnNpc3RlbnRseSBtZWV0cyByZWd1bGF0b3J5IHN0YW5kYXJkcywgYW5kLCBpbiBtb3N0IGNhc2VzLCBpcyBmYXIgYmV0dGVyIHRoYW4gdGhlc2Ugc3RhbmRhcmRzIHJlcXVpcmUuIFNlYXR0bGUgaGFzIHNvbWUgb2YgdGhlIHNhZmVzdCBhbmQgYmVzdC10YXN0aW5nIHdhdGVyIGluIHRoZSBuYXRpb24uIExpbmtzIHRvIGRldGFpbGVkIG1vbml0b3JpbmcgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIGluIHRoZSBsaW5rcyBpbiB0aGUgcmlnaHQtaGFuZCBjb2x1bW4gb2YgdGhpcyBwYWdlLlxcblxcblNlYXR0bGUgUHVibGljIFV0aWxpdGllcyBwcm90ZWN0cyBhbmQgbWFpbnRhaW5zIHdhdGVyIHF1YWxpdHkgaW4gc2V2ZXJhbCB3YXlzLlxcblxcbiogKipQcm90ZWN0ZWQgV2F0ZXJzaGVkcyoqOiBTZWF0dGxlJ3Mgd2F0ZXIgY29tZXMgZnJvbSB0d28gcHJvdGVjdGVkIG1vdW50YWluIHNvdXJjZXMgb3duZWQgYnkgdGhlIENpdHnigJQ2MCBwZXJjZW50IGNvbWVzIGZyb20gdGhlIENlZGFyIFJpdmVyIGFuZCA0MCBwZXJjZW50IGNvbWVzIGZyb20gdGhlIFNvdXRoIEZvcmsgVG9sdCBSaXZlci4gVGhpcyBtZWFucyB0aGF0IGZld2VyIGNvbnRhbWluYW50cyBlbnRlciB0aGUgd2F0ZXIgYW5kIGxlc3MgdHJlYXRtZW50IGlzIHJlcXVpcmVkIHRoYW4gaW4gbW9zdCBjaXRpZXMuXFxuKiAqKlRyZWF0bWVudCoqOiBDZWRhciBSaXZlciBkcmlua2luZyB3YXRlciBpcyBkaXNpbmZlY3RlZCB3aXRoIG96b25lLCB1bHRyYXZpb2xldCBsaWdodCwgYW5kIGNobG9yaW5lLiBTb3V0aCBGb3JrIFRvbHQgd2F0ZXIgaXMgb3pvbmF0ZWQsIGZpbHRlcmVkLCBhbmQgZGlzaW5mZWN0ZWQgd2l0aCBjaGxvcmluZS4gQm90aCBzdXBwbGllcyBoYXZlIG1pbmVyYWxzIGFkZGVkIGZvciBjb3Jyb3Npb24gY29udHJvbCBhbmQgc2V0IGFuIG9wdGltaXplZCBwSCB0YXJnZXQgb2YgOC4yIGFzIHBhcnQgb2YgZW5zdXJpbmcgU2VhdHRsZSBtZWV0cyByZXF1aXJlbWVudHMgb2YgdGhlIExlYWQgYW5kIENvcHBlciBSdWxlLiBXYXRlciBxdWFsaXR5IHJlcXVpcmVtZW50cyBmb3IgdGhlIHRyZWF0bWVudCBmYWNpbGl0aWVzIGFyZSBtb3JlIHN0cmluZ2VudCB0aGFuIHN0YXRlIGFuZCBmZWRlcmFsIHN0YW5kYXJkcy5cXG4qICoqSW5mcmFzdHJ1Y3R1cmUgbWFpbnRlbmFuY2UqKjogU2VhdHRsZSBvd25zIGFuZCBtYWludGFpbnMgMTkzIG1pbGVzIG9mIGRyaW5raW5nIHdhdGVyIHRyYW5zbWlzc2lvbiBwaXBlbGluZXMsIDEsNjgwIG1pbGVzIG9mIGRpc3RyaWJ1dGlvbiBtYWlucywgYW5kIDM4MCBtaWxsaW9uIGdhbGxvbnMgb2YgdHJhbnNtaXNzaW9uIGFuZCBkaXN0cmlidXRpb24gcmVzZXJ2b2lyIHN0b3JhZ2UuIFdhdGVyIGlzIHN0b3JlZCBpbiBjb3ZlcmVkIHJlc2Vydm9pcnMgdGhyb3VnaG91dCB0aGUgY2l0eS4gSW5mcmFzdHJ1Y3R1cmUgaXMgbW9uaXRvcmVkIDI0IGhvdXJzIGEgZGF5IHNvIHRoYXQgY3Jld3MgY2FuIHF1aWNrbHkgcmVzcG9uZCB0byBicmVha3MsIHBvd2VyIG91dGFnZXMsIGFuZCBwdW1waW5nIHN0YXRpb24gaXNzdWVzLlxcblxcbkluIGxhdGUgRGVjZW1iZXIgMjAxNSwgZHVlIHRvIGEgdHJlYXRtZW50IHBsYW50IG9wZXJhdG9yIGVycm9yLCBTZWF0dGxlIFB1YmxpYyBVdGlsaXRpZXMgd2FzIG91dCBvZiByZWd1bGF0b3J5IGNvbXBsaWFuY2UgZm9yIGFib3V0IDE3IG1pbnV0ZXMgZm9yIHNlZGltZW50IGxldmVscyBvbiB0aGUgVG9sdCB3YXRlciBzdXBwbHkuIFRoZXJlIHdhcyBuZXZlciBhIHB1YmxpYyBoZWFsdGggY29uY2VybiBhbmQgd2F0ZXIgcmVtYWluZWQgc2FmZSB0byBkcmluayB0aGUgZW50aXJlIHRpbWUuIFRoZSByZWd1bGF0b3J5IGlzc3VlIHdhcyBhbiBhZG1pbmlzdHJhdGl2ZSB0cmVhdG1lbnQgdGVjaG5pcXVlIGxpbWl0IGlzc3VlIHRoYXQgcmVxdWlyZWQgbm90aWZpY2F0aW9uIG9mIGFmZmVjdGVkIGN1c3RvbWVycyAoNiB3aG9sZXNhbGUgY3VzdG9tZXJzLCBubyBTZWF0dGxlIHJldGFpbCBjdXN0b21lcnMpIHdpdGhpbiAzMCBkYXlzLiBTZWF0dGxlIFB1YmxpYyBVdGlsaXRpZXMgcHJvbXB0bHkgbm90aWZpZWQgdGhlIGFmZmVjdGVkIGN1c3RvbWVycyBhbmQgaXMgd29ya2luZyBkaWxpZ2VudGx5IHdpdGggdGhlIGNvbnRyYWN0ZWQgdHJlYXRtZW50IHBsYW50IHN0YWZmIHRvIGVuc3VyZSB0aGlzIGRvZXMgbm90IGhhcHBlbiBhZ2Fpbi4gU2VhdHRsZSBQdWJsaWMgVXRpbGl0aWVzIGhhcyBjb21wbGV0ZWQgbXVsdGlwbGUgY29ycmVjdGl2ZSBhY3Rpb25zIGFuZCB3aWxsIGJlIGltcGxlbWVudGluZyBhZGRpdGlvbmFsIHByZXZlbnRpdmUgbWVhc3VyZXMgaW4gdGhlIG5lYXIgZnV0dXJlLlxcblxcblwifV1dfSx7XCJ0eXBlXCI6XCJpbWFnZVwiLFwic3JjXCI6XCIvYXBpL2Fzc2V0cy80NkVDNjQ2MC1FNEJFLTQwNTctQjY1NS0yRTdFQ0RFMkE2N0VcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiVG8gc2VlIGFyZSBsYXJnZXIgdmVyc2lvbiBvZiB0aGUgcmVzdWx0cyBzaG93biBhYm92ZSwgcGxlYXNlIHNlZSBwYWdlIDYgb2YgdGhlIDIwMTQgV2F0ZXIgUXVhbGl0eSBSZXBvcnQuIFtodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvTXlTZXJ2aWNlcy9XYXRlci9XYXRlcl9RdWFsaXR5L1dhdGVyUXVhbGl0eUFubnVhbFJlcG9ydC9pbmRleC5odG1dWzBdXFxuXFxuWzBdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvTXlTZXJ2aWNlcy9XYXRlci9XYXRlcl9RdWFsaXR5L1dhdGVyUXVhbGl0eUFubnVhbFJlcG9ydC9pbmRleC5odG1cIn1dLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIk1haW50YWluIDEwMCBwZXJjZW50IGNvbXBsaWFuY2Ugd2l0aCBEZXBhcnRtZW50IG9mIEhlYWx0aCByZWd1bGF0aW9uc1wiLFwiaWNvblwiOlwiXCIsXCJ1c2VfY3VzdG9tX3N1YnRpdGxlXCI6dHJ1ZSxcImN1c3RvbV9zdWJ0aXRsZVwiOlwiUHJvdmlkZSBjbGVhbiwgc2FmZSBkcmlua2luZyB3YXRlclwifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIyMDA4LTEyLTMxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMTctMTItMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6InBlcmNlbnQgY29tcGxpYW5jZSB3aXRoIGhlYWx0aCByZWd1bGF0aW9ucyIsInRhcmdldF90eXBlIjoibWFpbnRhaW4iLCJ0YXJnZXRfZGVsdGEiOjAsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwiYmFzZWxpbmUiOjEwMCwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiJ4Nzl6LXZ5YWIifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPiJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDA4fSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE3fSxcImFjdGlvbl90eXBlXCI6XCJtYWludGFpblwiLFwibWFpbnRhaW5fdHlwZVwiOlwid2l0aGluXCJ9LFwiYmFzZWxpbmVcIjp7XCJzcXVpc2h5XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE0fSxcImVuZFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTR9fSxcInN0YXJ0XCI6XCIyMDE0LTAxLTAxVDAwOjAwOjAwLjAwMFwiLFwiZW5kXCI6XCIyMDE0LTAxLTAxVDIzOjU5OjU5LjAwMFwiLFwibWV0cmljXCI6e1wibWV0YWRhdGFcIjpcIntcXFwid2l6YXJkXFxcIjp7XFxcImZpbHRlcl9hc3RcXFwiOlt7XFxcInZhbHVlc1xcXCI6W3t9XX1dfX1cIn19LFwibmFtZVwiOlwiY29tcGxpYW5jZSB3aXRoIERlcGFydG1lbnQgb2YgSGVhbHRoIHJlZ3VsYXRpb25zXCJ9In0sInVwZGF0ZWRfYXQiOiIyMDE3LTAyLTE3VDE4OjQ5OjMwLjY3NloiLCJjcmVhdGVkX2F0IjoiMjAxNy0wMi0xN1QxODozNDoyOC4zODRaIiwidmVyc2lvbiI6IjIwMTctMDItMTdUMTg6NDk6MzAuNjc2WiIsImlkIjoiZHhmay16dDl0In0sInJlbGF0ZWRfbWVhc3VyZXMiOltdLCJiYXNlX2Rhc2hib2FyZCI6Ijh0ZGctZGt3ZSIsInVwZGF0ZWRfYXQiOiIyMDE3LTA4LTE0VDIyOjE2OjE5LjAzMFoiLCJjcmVhdGVkX2F0IjoiMjAxNy0wMi0xN1QxODozNDoyOC43MzFaIiwidmVyc2lvbiI6IjIwMTctMDgtMTRUMjI6MTY6MTkuMDMwWiIsImNyZWF0ZWRfYnkiOiJhODV3LTJpa3UifV19LHsiaWQiOiJpM3dxLW5nOGUiLCJuYW1lIjoiTW9iaWxpdHkgYW5kIFN0cmVldCBDb25kaXRpb25zIiwiZ29hbHMiOlt7ImlkIjoiZWhiNC04czRnIiwibmFtZSI6IlRyYWNrIHN0cmVldGNhciBzeXN0ZW0gcmlkZXJzaGlwIiwiaXNfcHVibGljIjp0cnVlLCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcInJldGlyZW1lbnRfbmFycmF0aXZlXCI6W10sXCJpY29uXCI6XCJcIixcIm5hcnJhdGl2ZVwiOlt7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipXaHkgaXMgdGhpcyBnb2FsIGltcG9ydGFudD8qKlxcblxcblRoZSBTZWF0dGxlIHN0cmVldGNhciBuZXR3b3JrIHByb3ZpZGVzIG5ldyB1cmJhbiBtb2JpbGl0eSBvcHRpb25zIHRoYXQgZW5oYW5jZSB0aGUgY2l0eSBhbmQgcmVnaW9uYWwgdHJhbnNwb3J0YXRpb24gc3lzdGVtIHdoaWxlIHNoYXBpbmcgYW5kIHN1cHBvcnRpbmcgY29udGludWVkIGVjb25vbWljIGdyb3d0aC4gVGhlIG5ldHdvcmsgc2VydmVzIGFuZCBlbmNvdXJhZ2VzIGEgYnJvYWQgdmFyaWV0eSBvZiB3b3JrIGFuZCBub24td29yayB0cmlwcyBhbmQgZ3JlYXRseSBleHBhbmRzIHRoZSBhYmlsaXR5IHRvIGxpdmUgYW5kIHdvcmsgd2l0aG91dCB1c2luZyBhbiBhdXRvbW9iaWxlIGluIHRoZSBhcmVhcyBpdCBzZXJ2ZXMgYW5kIGNvbm5lY3RzLlxcblxcblNlYXR0bGXigJlzIFRyYW5zaXQgTWFzdGVyIFBsYW4gZGVzY3JpYmVzIHRoZSBDaXR54oCZcyB2aXNpb24gZm9yIGEgZnV0dXJlIHN0cmVldGNhciBzeXN0ZW0uIFNwZWNpZmljIHN5c3RlbSBwcm9wb3NhbHMgd2lsbCBzZXJ2ZSB0aGUgU291dGggTGFrZSBVbmlvbiwgRmlyc3QgSGlsbCwgQ2FwaXRvbCBIaWxsLCBEb3dudG93biwgYW5kIEludGVybmF0aW9uYWwgRGlzdHJpY3QgdXJiYW4gY2VudGVycy4gVGhlIFBsYW4gYWxzbyBpZGVudGlmaWVzIGltcGxlbWVudGF0aW9uIHN0cmF0ZWdpZXMgYW5kIGZ1bmRpbmcgb3B0aW9ucy5cXG5cXG5JbmNyZWFzaW5nIHN0cmVldGNhciByaWRlcnNoaXAgaXMgYWx3YXlzIGEgZ29hbCBhdCB0aGUgQ2l0eSBvZiBTZWF0dGxlLiBNYW55IGZhY3RvcnMgYWZmZWN0IHJpZGVyc2hpcCwgaW5jbHVkaW5nIHRoZSBlY29ub215LCBnYXMgcHJpY2VzLCBhbmQgcXVhbGl0eSBvZiBzZXJ2aWNlLlxcblxcblwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqSG93IGRvIHdlIG1lYXN1cmUgdGhpcyBnb2FsPyoqXFxuXFxuU3RyZWV0Y2FyIHJpZGVyc2hpcCBkYXRhIGlzIGNvbGxlY3RlZCBieSBjb3VudGluZyB0aGUgbnVtYmVyIG9mIGJvYXJkaW5ncyBvbiBlYWNoIHZlaGljbGUgdXNpbmcgYW4gYXV0b21hdGVkIHBhc3NlbmdlciBjb3VudGluZyBzeXN0ZW0uXFxuXFxuTm90ZSB0aGF0IGEgc3Vic3RhbnRpYWwgKGFuZCB0ZW1wb3JhcnkpIGRlY3JlYXNlIGluIHJpZGVyc2hpcCBvY2N1cnJlZCBkdXJpbmcgdGhlIGZpcnN0IHF1YXJ0ZXIgb2YgMjAxNiBhcyBTb3V0aCBMYWtlIFVuaW9uIHN0cmVldGNhciBzZXJ2aWNlIHdhcyBzZXZlcmVseSBsaW1pdGVkIGR1ZSB0byBXZXN0bGFrZSBBdmUuIE4uIGNvbnN0cnVjdGlvbiB0byBzdXBwb3J0IG5ld2x5IGRlZGljYXRlZCB0cmFuc2l0IHNlcnZpY2UuIFRoaXMgd2FzIGZvbGxvd2VkIGJ5IGEgc3Vic3RhbnRpYWwgaW5jcmVhc2UgaW4gb3ZlcmFsbCBzdHJlZXRjYXIgc3lzdGVtIHJpZGVyc2hpcCBkdXJpbmcgdGhlIHNlY29uZCBxdWFydGVyIG9mIDIwMTYgYXMgdGhlIFNvdXRoIExha2UgVW5pb24gbGluZSBvbmNlIGFnYWluIGJlY2FtZSBmdWxseSBvcGVyYXRpb25hbCBhbmQgdGhlIEZpcnN0IEhpbGwgc3RyZWV0Y2FyIGNhbWUgb25saW5lLlxcblxcbiBcIn1dLFt7XCJ0eXBlXCI6XCJpbWFnZVwiLFwic3JjXCI6XCIvYXBpL2Fzc2V0cy81NTk4RDVCMS1ENkE1LTRBM0QtOERCRS1FNkY4QTgzQzEwOTBcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoYXQgcHJvZ3Jlc3MgYXJlIHdlIG1ha2luZyB0b3dhcmQgdGhpcyBnb2FsPyoqXFxuXFxuU2VhdHRsZSBjb21wbGV0ZWQgaXRzIGZpcnN0IGxvY2FsIHN0cmVldGNhciBwcm9qZWN0LCB0aGUgU291dGggTGFrZSBVbmlvbiBsaW5lLCBpbiAyMDA3IGFuZCBwYXJ0bmVyZWQgd2l0aCBTb3VuZCBUcmFuc2l0IHRvIGRldmVsb3AgYW5kIGNvbnN0cnVjdCB0aGUgRmlyc3QgSGlsbCBsaW5lIHdoaWNoIGJlY2FtZSBvcGVyYXRpb25hbCBpbiBlYXJseSAyMDE2LlxcblxcbkJvdGggb2YgdGhlc2UgbG9jYWwgY2lyY3VsYXRvcnMgcHJvdmlkZSBpbXBvcnRhbnQgY29ubmVjdGlvbnMgdG8gZXhpc3RpbmcgdHJhbnNpdCBhbHRlcm5hdGl2ZXMgYW5kIHRoZSByZWdpb25hbCBsaWdodCByYWlsIHN5c3RlbS4gRGVzaWduIGlzIHByb2NlZWRpbmcgZm9yIHRoZSBDZW50ZXIgQ2l0eSBDb25uZWN0b3Igd2hpY2ggd2lsbCBydW4gdGhyb3VnaCBEb3dudG93biBhbmQgY29ubmVjdCB0aGUgU291dGggTGFrZSBVbmlvbiBhbmQgRmlyc3QgSGlsbCBTdHJlZXRjYXIgbGluZXMuXFxuXFxuXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgRk9SIE1PUkUgSU5GT1JNQVRJT046XFxuXFxuKiAqKlNlYXR0bGUgU3RyZWV0Y2FyIFNpdGU6KiogICBcXG5baHR0cDovL3d3dy5zZWF0dGxlc3RyZWV0Y2FyLm9yZy9kZWZhdWx0Lmh0bV1bMF1cXG4qICoqRmlyc3QgSGlsbCBTdHJlZXRjYXIgU3RhdHVzOioqICAgXFxuW2h0dHA6Ly93d3cuc2VhdHRsZXN0cmVldGNhci5vcmcvZmlyc3RoaWxsLmh0bV1bMV1cXG4qICoqU2VhdHRsZSBUcmFuc2l0IE1hc3RlciBQbGFuOioqICAgXFxuW2h0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdHJhbnNwb3J0YXRpb24vdHJhbnNpdG1hc3RlcnBsYW4uaHRtXVsyXVxcbiogKipDZW50ZXIgQ2l0eSBDb25uZWN0b3IgU3RyZWV0Y2FyIFNpdGU6KiogICBcXG5baHR0cDovL3d3dy5zZWF0dGxlLmdvdi90cmFuc3BvcnRhdGlvbi9jZW50ZXJjaXR5Y29ubmVjdG9yLmh0bV1bM11cXG5cXG5bMF06IGh0dHA6Ly93d3cuc2VhdHRsZXN0cmVldGNhci5vcmcvZGVmYXVsdC5odG1cXG5bMV06IGh0dHA6Ly93d3cuc2VhdHRsZXN0cmVldGNhci5vcmcvZmlyc3RoaWxsLmh0bVxcblsyXTogaHR0cDovL3d3dy5zZWF0dGxlLmdvdi90cmFuc3BvcnRhdGlvbi90cmFuc2l0bWFzdGVycGxhbi5odG1cXG5bM106IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdHJhbnNwb3J0YXRpb24vY2VudGVyY2l0eWNvbm5lY3Rvci5odG1cIn1dXX0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKlNwb3RsaWdodCBPbjoqKiBGaXJzdCBIaWxsIFN0cmVldGNhclxcblxcblNlcnZpY2UgcmVjZW50bHkgYmVnYW4gb24gdGhlIEZpcnN0IEhpbGwgc3RyZWV0Y2FyIExpbmUsIGEgbmV3IHVyYmFuIG1vYmlsaXR5IG9wdGlvbiBmdW5kZWQgdGhyb3VnaCBTb3VuZCBUcmFuc2l04oCZcyDigJxTVDLigJ0gbWFzcyB0cmFuc2l0IGV4cGFuc2lvbiBwbGFuLiBUaGUgRmlyc3QgSGlsbCBzdHJlZXRjYXIgTGluZSBzdXBwb3J0cyBlY29ub21pYyBncm93dGggYW5kIHN0cmVuZ3RoZW5zIGNvbm5lY3Rpb25zIGFtb25nIHRoZSBwbGFjZXMgd2hlcmUgcGVvcGxlIGxpdmUsIHdvcmssIGFuZCBzb2NpYWxpemUuXFxuXFxuVGhlIEZpcnN0IEhpbGwgc3RyZWV0Y2FyIGlzIGFuIGltcG9ydGFudCBsaW5rIGluIHRoZSByZWdpb25hbCB0cmFuc2l0IHN5c3RlbSwgYW5kIGNvbm5lY3RzIHRoZSBkaXZlcnNlIGFuZCB2aWJyYW50IHJlc2lkZW50aWFsIG5laWdoYm9yaG9vZHMgYW5kIGJ1c2luZXNzIGRpc3RyaWN0cyBvZiBDYXBpdG9sIEhpbGwsIEZpcnN0IEhpbGwsIFllc2xlciBUZXJyYWNlLCBDZW50cmFsIEFyZWEsIENoaW5hdG93biBJRCwgYW5kIFBpb25lZXIgU3F1YXJlLlxcblxcblRoZSBzeXN0ZW0gcHJvdmlkZXMgcmVsaWFibGUsIGZyZXF1ZW50IHNlcnZpY2Ugd2l0aCBoZWFkd2F5cyAoYXZlcmFnZSB3YWl0IHRpbWUgYmV0d2VlbiBzdHJlZXRjYXJzIGhlYWRpbmcgaW4gdGhlIHNhbWUgZGlyZWN0aW9uIG9mIHRyYXZlbCkgb2YgYXBwcm94aW1hdGVseSAxMCBtaW51dGVzIGR1cmluZyBwZWFrIHBlcmlvZHMuIFNlcnZpY2Ugb3BlcmF0ZXMgZnJvbSA1IEFNIHRvIDEgQU0gTW9uZGF5IHRocm91Z2ggU2F0dXJkYXkuIE9uIFN1bmRheXMgYW5kIGhvbGlkYXlzLCBzZXJ2aWNlIG9wZXJhdGVzIGZyb20gMTAgQU0gdG8gOCBQTS4gQSBmbGVldCBvZiBzaXggc3RyZWV0Y2FycyBzdXBwb3J0cyB0aGlzIHNlcnZpY2UsIHdpdGggdGhyZWUgdG8gZml2ZSBzdHJlZXRjYXJzIGluIG9wZXJhdGlvbiBkdXJpbmcgZWFjaCBzZXJ2aWNlIGRheS5cXG5cXG5cIn1dLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIlRyYWNrIHN0cmVldGNhciBzeXN0ZW0gYXZnLiBkYWlseSByaWRlcnNoaXBcIixcInVzZV9jdXN0b21fc3VidGl0bGVcIjp0cnVlLFwiY3VzdG9tX3N1YnRpdGxlXCI6XCJUcmFjayBzdHJlZXRjYXIgc3lzdGVtIHJpZGVyc2hpcCBmb3IgU291dGggTGFrZSBVbmlvbiBhbmQgRmlyc3QgSGlsbCBsaW5lc1wiLFwidGl0bGVfaW1hZ2VcIjpcIi9hcGkvYXNzZXRzLzk1OURFQTVBLUZBRDMtNEIzQy1COTdBLTI4MUVFQjkxREMxOFwifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIyMDExLTAxLTAxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMTctMTItMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6ImF2Zy4gZGFpbHkgYm9hcmRpbmdzIiwidGFyZ2V0X3R5cGUiOiJub25lIiwidGFyZ2V0X2RlbHRhIjowLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsImJhc2VsaW5lIjo2NSwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiJqOXZ2LW56ZHgifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPiJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTF9LFwiZW5kXCI6e1wiZGF0ZVwiOlwiZW5kXCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTd9LFwiYWN0aW9uX3R5cGVcIjpcIm5vbmVcIixcIm1haW50YWluX3R5cGVcIjpcIj5cIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX19LFwic3RhcnRcIjpcIjIwMTUtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTUtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJTdHJlZXRjYXIgUmlkZXJzaGlwXCIsXCJ5U2NhbGVcIjp7XCJ1c2VfZGVmYXVsdFwiOmZhbHNlLFwibWluXCI6MCxcIm1heFwiOjYwMDB9fSJ9LCJ1cGRhdGVkX2F0IjoiMjAxNy0xMi0wNlQyMjowMTowNi44OTFaIiwiY3JlYXRlZF9hdCI6IjIwMTctMTAtMzFUMTg6MjY6MTcuNzE1WiIsInZlcnNpb24iOiIyMDE3LTEyLTA2VDIyOjAxOjA2Ljg5MVoiLCJpZCI6IjVlcWktbWFwcSJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiI4dGRnLWRrd2UiLCJ1cGRhdGVkX2F0IjoiMjAxOC0wMi0xNlQxNTo1ODowOC41MzZaIiwiY3JlYXRlZF9hdCI6IjIwMTctMTAtMzFUMTg6MjY6MTcuNzU4WiIsInZlcnNpb24iOiIyMDE4LTAyLTE2VDE1OjU4OjA4LjUzNloiLCJjcmVhdGVkX2J5IjoiNWh6cC1kcXp6In0seyJpZCI6IjdzNzYtcmo0OSIsIm5hbWUiOiJJbXByb3ZlIGFydGVyaWFsIHN0cmVldCBjb25kaXRpb25zIiwiaXNfcHVibGljIjp0cnVlLCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcInJldGlyZW1lbnRfbmFycmF0aXZlXCI6W10sXCJpY29uXCI6XCJcIixcIm5hcnJhdGl2ZVwiOlt7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipXaHkgaXMgdGhpcyBnb2FsIGltcG9ydGFudD8qKlxcblxcblBhdmVtZW50IG1hbmFnZW1lbnQgaXMgYWJvdXQgcmVhbGl6aW5nIGVmZmljaWVuY3kgYW5kIGFwcGx5aW5nIHRoZSByaWdodCB0cmVhdG1lbnQgYXQgdGhlIHJpZ2h0IHRpbWUuIEFzIHBhdmVtZW50IGNvbmRpdGlvbiBkZXRlcmlvcmF0ZXMgZnJvbSBnb29kIGNvbmRpdGlvbiwgU0RPVCBzdHJpdmVzIHRvIGNhcGl0YWxpemUgb24gb3Bwb3J0dW5pdGllcyB0byBhcHBseSBwcmVzZXJ2YXRpdmUsIGxpZmUgZXh0ZW5kaW5nIHRyZWF0bWVudHMgYmVmb3JlIHN0cmVldHMgZGV0ZXJpb3JhdGUgdG8gdGhlIHBvaW50IHdoZXJlIHRoZXkgbmVlZCB0byBiZSByZWNvbnN0cnVjdGVkLiBDaHJvbmljIHVuZGVyLWludmVzdG1lbnQgaW4gcGF2aW5nIG11bHRpcGxpZXMgdGhlIHVsdGltYXRlIGNvc3Qgb2YgcmVoYWJpbGl0YXRpb24gYnkgYSBmYWN0b3Igb2YgZm91ciB0byBzZXZlbi5cXG5cXG5JbiB0aGUgMjAxNiBTRE9UIEN1c3RvbWVyIFNhdGlzZmFjdGlvbiBTdXJ2ZXkgZGlzY3Vzc2VkIGJlbG93LCBjdXN0b21lcnMgcmF0ZWQgcmVwYWlyaW5nIHJvYWRzLCBmaXhpbmcgcG90aG9sZXMsIGFuZCBtYWludGFpbmluZyByb2FkcyBhbmQgYnJpZGdlcyBhcyBhIHRvcCBwcmlvcml0eS4gVmlydHVhbGx5IGFsbCBtb2RlcyBvZiB0cmFuc3BvcnRhdGlvbiBhcmUgYWZmZWN0ZWQgYnkgdGhlIGNvbmRpdGlvbiBvZiBTZWF0dGxlJ3Mgc3RyZWV0cy5cXG5cXG5UaGUgZXN0aW1hdGVkIHJlcGxhY2VtZW50IGNvc3QgaW4gMjAxNyBmb3IgdGhlIGFydGVyaWFsIHBhdmVtZW50IG5ldHdvcmsgaXMgJDQuN0IuIExpa2V3aXNlIHRoZSBlc3RpbWF0ZSBmb3IgcmVwbGFjZW1lbnQgb2YgdGhlIG5vbi1hcnRlcmlhbCBuZXR3b3JrIGlzICQzLjlCKiouKiogVG9nZXRoZXIgdGhlc2UgdHdvIGFzc2V0IGNsYXNzZXMgY29uc3RpdHV0ZSBhcHByb3hpbWF0ZWx5IGhhbGYgb2YgdGhlIGRlcGFydG1lbnQncyByZXBsYWNlbWVudCB2YWx1ZSBmb3IgYWxsIG9mIGl0cyA0NyBhc3NldCBjbGFzc2VzIGluY2x1ZGluZyB0aGUgYmljeWNsZSBhbmQgcGVkZXN0cmlhbiBzeXN0ZW0sIHNpZ25zLCBzaWduYWxzLCBicmlkZ2VzLCByZXRhaW5pbmcgd2FsbHMsIHNpZGV3YWxrcywgYW5kIHRoZSB1cmJhbiBmb3Jlc3QuXFxuXFxuXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipIb3cgZG8gd2UgbWVhc3VyZSB0aGlzIGdvYWw/KipcXG5cXG5BcyBvZiAyMDE3LCBTZWF0dGxlIGhhcyBhbiBpbnZlbnRvcnkgb2YgMyw5NTQgbGFuZS1taWxlcyAoMTItZnQuKSBvZiBzdHJlZXQgcGF2ZW1lbnRzLiBUaGUgYnVzaWVzdCBzdHJlZXRzLCBhcnRlcmlhbHMsIGFjY291bnQgZm9yIGFwcHJveGltYXRlbHkgMSw1NDcgbGFuZS1taWxlcyBvZiB0aGUgc3lzdGVtLiBBcnRlcmlhbHMgYXJlIHRoZSBjaXR54oCZcyBtb3N0IGNyaXRpY2FsIGNvbm5lY3RvcnMgYW5kIGFyZSB0aGUgcHJpbmNpcGFsIG1lYW5zIGJ5IHdoaWNoIHBlb3BsZSBhbmQgZ29vZHMgbW92ZSBhYm91dCB0aGUgY2l0eS4gVGhlIHJlbWFpbmluZyAyLDQwNyBsYW5lLW1pbGVzIGFyZSBub24tYXJ0ZXJpYWxzLCB3aGljaCBjYXJyeSBsb3dlciB2b2x1bWVzLCBidXQgbm9uZXRoZWxlc3Mgc2VydmUgYSB2YXJpZXR5IG9mIHVzZXJzLiBNb3N0IG5vbi1hcnRlcmlhbHMgYXJlIHJlc2lkZW50aWFsLCBidXQgc29tZSBhbHNvIHN1cHBvcnQgY29tbWVyY2UgYW5kIGluZHVzdHJ5IGluIGFyZWFzIHN1Y2ggYXMgdGhlIEdyZWF0ZXIgRHV3YW1pc2gsIEJhbGxhcmQsIHRoZSBJbnRlcm5hdGlvbmFsIERpc3RyaWN0LCBhbmQgRmlyc3QgSGlsbC4gVGhlc2UgdG90YWxzIGRvIG5vdCBpbmNsdWRlIGFsbGV5cyBvciBwYXJraW5nIGxvdHMsIHdoZXJlIG5vIGludmVudG9yeSBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUuXFxuXFxuU2VhdHRsZSB1dGlsaXplcyB0aGUgTWV0cm9wb2xpdGFuIFRyYW5zcG9ydGF0aW9uIENvbW1pc3Npb24gKE1UQykgbWV0aG9kIGZvciBwYXZlbWVudCBjb25kaXRpb24gcmF0aW5nLiBUaGUgTVRDIG1ldGhvZCBtZWFzdXJlcyB0aGUgb2NjdXJyZW5jZSBvZiBzZXZlcmFsIHBhdmVtZW50IGRpc3RyZXNzIHR5cGVzIGFuZCBhc3NpZ25zIGEgcGF2ZW1lbnQgY29uZGl0aW9uIGluZGV4IChQQ0kpIGJhc2VkIHVwb24gdGhlIGRlbnNpdHkgKGFyZWEgYWZmZWN0ZWQpIGFuZCBzZXZlcml0eSBvZiB0aGUgb2JzZXJ2ZWQgZGlzdHJlc3MuIFRoZSBQQ0kgaXMgYSBudW1iZXIgYmV0d2VlbiB6ZXJvIGFuZCAxMDAuIEEgUENJIG9mIDEwMCByZXByZXNlbnRzIGEgcGF2ZW1lbnQgY29tcGxldGVseSBmcmVlIG9mIGRpc3RyZXNzOyBhIFBDSSBvZiB6ZXJvIGNvcnJlc3BvbmRzIHRvIGEgcGF2ZW1lbnQgdGhhdCBoYXMgZmFpbGVkIGNvbXBsZXRlbHkgYW5kIGNhbiBubyBsb25nZXIgYmUgZHJpdmVuIHNhZmVseSBhdCB0aGUgZGVzaWduZWQgc3BlZWQuXFxuXFxuU0RPVCBtYW5hZ2VzIGl0cyBwYXZlbWVudHMgYnkgcmVndWxhcmx5IGFzc2Vzc2luZyBjb25kaXRpb24sIGFuYWx5emluZyBidWRnZXQgbmVlZHMsIHBlcmZvcm1pbmcgcm91dGluZSBhbmQgcHJldmVudGl2ZSBtYWludGVuYW5jZSwgYW5kIHVuZGVydGFraW5nIG1ham9yIHBhdmluZyBwcm9qZWN0cy5cXG5cXG5EYXRhIGFyZSB1cGRhdGVkIGV2ZXJ5IHR3byB0byBmb3VyIHllYXJzIGFuZCB3aWxsIGJlIHVwZGF0ZWQgYWdhaW4gaW4gdGhlIGxhdHRlciBoYWxmIG9mIDIwMTcuXFxuXFxuXCJ9XSxbe1widHlwZVwiOlwiaW1hZ2VcIixcInNyY1wiOlwiL2FwaS9hc3NldHMvOTcwMDZCNEEtNEJERi00QkFELUFGREEtM0ZFMDVFQ0NBRUE5XCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipXaGF0IHByb2dyZXNzIGFyZSB3ZSBtYWtpbmcgdG93YXJkIHRoaXMgZ29hbD8qKlxcblxcbkZyb20gMjAwNyB0byAyMDEwLCB0aGUgZmlyc3QgdGhyZWUgeWVhcnMgb2YgdGhlIEJyaWRnaW5nIHRoZSBHYXAgKEJURykgdHJhbnNwb3J0YXRpb24gbGV2eSwgdGhlcmUgd2FzIG1vZGVzdCBwcm9ncmVzcyB0b3dhcmRzIHJlZHVjaW5nIHRoZSBudW1iZXIgb2YgYXJ0ZXJpYWwgc3RyZWV0cyBpbiBuZWVkIG9mIG1ham9yIG1haW50ZW5hbmNlIGFuZCByZWNvbnN0cnVjdGlvbi4gTGV2eSBwYXZpbmcgZnVuZHMgd2VyZSBmcm9udC1sb2FkZWQsIGJvb3N0aW5nIHRoZSBhY2NvbXBsaXNobWVudHMgaW4gdGhlIGVhcmx5IHllYXJzLiBUaGVyZSB3ZXJlIGFsc28gcGF2aW5nIGNvbnRyaWJ1dGlvbnMgZnJvbSBtYWpvciBjYXBpdGFsIHByb2plY3RzIHN1Y2ggYXMgdGhlIFNwb2thbmUgU3RyZWV0IFZpYWR1Y3QsIE1lcmNlciBTdHJlZXQsIGFuZCBTb3VuZCBUcmFuc2l04oCZcyByZWJ1aWxkIG9mIE1hcnRpbiBMdXRoZXIgS2luZywgSnIuIFdheSBTb3V0aC4gSG93ZXZlciwgYXMgZnVuZHMgaGF2ZSB0YXBlcmVkIG9mZiBhZnRlciB0aGUgaW5pdGlhbCBCVEcgcGF2aW5nIHN1cmdlLCBhcnRlcmlhbCBwYXZlbWVudCBjb25kaXRpb24gaXMgYWdhaW4gZGVjbGluaW5nIGFuZCBwYXZpbmcgY29zdHMgYXJlIGluY3JlYXNpbmcuXFxuXFxuQlRHIGhhcyBmdW5kZWQgYXBwcm94aW1hdGVseSAkMjEgbWlsbGlvbiBwZXIgeWVhciB0byByZXN0b3JlIG9mIDIzNSBhcnRlcmlhbCBsYW5lIG1pbGVzIGJldHdlZW4gMjAwNyBhbmQgMjAxNS4gVGhlIGNvc3Qgb2YgcGF2aW5nIGlzIGluY3JlYXNpbmcgd2l0aCBtb3JlIHN0cmluZ2VudCByZXF1aXJlbWVudHMgc3VjaCBhcyBjb21wbGV0ZSBzdHJlZXRzLCBuZXcgZHJhaW5hZ2UgY29kZXMsIEFtZXJpY2FucyB3aXRoIERpc2FiaWxpdGllcyBBY3QgKEFEQSksIGFuZCByb2FkIHJlY2hhbm5lbGl6YXRpb24uXFxuXFxuVGhlIHJlY2VudCBwYXNzYWdlIG9mIHRoZSBcXFwiTGV2eSB0byBNb3ZlIFNlYXR0bGVcXFwiIGlzIGFscmVhZHkgcHJvdmlkaW5nIG11Y2gtbmVlZGVkIGRvbGxhcnMgZm9yIG5ldyBwYXZpbmcgcHJvamVjdHMgbmVlZGVkIHRvIGhlbHAgcmVzdG9yZSAyNTAgYXJ0ZXJpYWwgbGFuZSBtaWxlcyBkdXJpbmcgdGhlIGxpZmUgb2YgdGhlIGxldnkgKDIwMTYgdGhydSAyMDI0KS5cXG5cXG5cIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyBGT1IgTU9SRSBJTkZPUk1BVElPTjpcXG5cXG4qICoqU0RPVCBQYXZlbWVudCBNYW5hZ2VtZW50IFdlYiBTaXRlOioqICAgXFxuW2h0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdHJhbnNwb3J0YXRpb24vcGF2ZW1lbnRtYW5hZ2VtZW50Lmh0bV1bMF1cXG4qICoqU0RPVCAyMDE1IFN0YXR1cyAmIENvbmRpdGlvbiBSZXBvcnQ6KiogICBcXG5baHR0cDovL3d3dy5zZWF0dGxlLmdvdi90cmFuc3BvcnRhdGlvbi9hc3NldG1hbmFnZW1lbnQuaHRtXVsxXVxcbiogKiozcmQgQXZlbnVlIEFydGVyaWFsIFBhdmluZyBQcm9qZWN0IFNpdGU6KirCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCDCoCBbaHR0cDovL3d3dy5zZWF0dGxlLmdvdi90cmFuc3BvcnRhdGlvbi9wYXZlXzNyZC5odG1dWzJdXFxuKiAqKkxldnkgdG8gTW92ZSBTZWF0dGxlOioqICAgXFxuW2h0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdHJhbnNwb3J0YXRpb24vbGV2eXRvbW92ZXNlYXR0bGUuaHRtXVszXVxcblxcblswXTogaHR0cDovL3d3dy5zZWF0dGxlLmdvdi90cmFuc3BvcnRhdGlvbi9wYXZlbWVudG1hbmFnZW1lbnQuaHRtXFxuWzFdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3RyYW5zcG9ydGF0aW9uL2Fzc2V0bWFuYWdlbWVudC5odG1cXG5bMl06IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdHJhbnNwb3J0YXRpb24vcGF2ZV8zcmQuaHRtXFxuWzNdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3RyYW5zcG9ydGF0aW9uL2xldnl0b21vdmVzZWF0dGxlLmh0bVwifV1dfSx7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipTcG90bGlnaHQgT246KiogSG93IEFyZSBPdXIgUm9hZHM/XFxuXFxuUGF2ZW1lbnQgZGV0ZXJpb3JhdGVzIGluIHR3byBmdW5kYW1lbnRhbCB3YXlzLiBBbGwgcGF2ZW1lbnRzIGRldGVyaW9yYXRlIG92ZXIgdGltZSB3aXRoIGV4cG9zdXJlIHRvIHRoZSBlbGVtZW50cy4gSG93ZXZlciwgbW9yZSBjcml0aWNhbGx5LCBwYXZlbWVudHMgZGV0ZXJpb3JhdGUgc3RydWN0dXJhbGx5IHdpdGggaGVhdnkgdHJ1Y2sgYW5kIGJ1cyB0cmFmZmljLiBXaXRoIGluY3JlYXNlZCB0cmFuc2l0IHRyYWZmaWMsIHRoZXJlIGlzIGEgbmVlZCB0byBpbnZlc3QgaW4gbW9kZXJuaXphdGlvbiBvZiBTZWF0dGxlJ3MgYWdpbmcgc3RyZWV0IGluZnJhc3RydWN0dXJlIHRoYXQgd2Fzbid0IGluaXRpYWxseSBlbmdpbmVlcmVkIHRvIGFudGljaXBhdGUgY3VycmVudCB1c2VzLCBpbiBwYXJ0aWN1bGFyIE1ldHJvJ3MgaGVhdnkgYnVzZXMuXFxuXFxuXCJ9LHtcInR5cGVcIjpcInZpelwiLFwiZGF0YXNldFwiOlwiYjJ1cy16aGg4XCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIl9BcyBpbGx1c3RyYXRlZCBpbiB0aGUgc3RhY2tlZCBiYXIgY2hhcnQgYWJvdmUsIGFydGVyaWFsIHN0cmVldCBwYXZlbWVudCBxdWFsaXR5IGhhcyByZWNlbnRseSB0cmVuZGVkIGRvd253YXJkLiBJbiAyMDEwLCBhcHByb3hpbWF0ZWx5IDEzIHBlcmNlbnQgb2YgU2VhdHRsZSdzIGFydGVyaWFsIHBhdmVtZW50IHdhcyByYXRlZCBpbiBcXFwiU2VyaW91cy9GYWlsZWRcXFwiIG9yIFxcXCJWZXJ5IFBvb3JcXFwiIGNvbmRpdGlvbi4gSW4gMjAxMywgdGhpcyBmcmFjdGlvbiByb3NlIHRvIG92ZXIgMjAgcGVyY2VudC5fXFxuXFxuXCJ9XSxbe1widHlwZVwiOlwiaW1hZ2VcIixcInNyY1wiOlwiL2FwaS9hc3NldHMvNzlBQUZFNDItNERERS00RTM0LTg2NUEtMTNGQTU0QjdBN0FDXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIl9JbiB0aGUgbWFwIGFib3ZlLCBTZWF0dGxlJ3MgYXJ0ZXJpYWwgc3RyZWV0IHNlZ21lbnRzIGFyZSBjb2xvci1jb2RlZCBieSBwYXZlbWVudCBjb25kaXRpb24uIFN0cmVldHMgY29sb3JlZCBpbiByZWQgYXJlIGluIHBvb3IgZW5vdWdoIGNvbmRpdGlvbiB3aGVyZSB0aGV5IHR5cGljYWxseSByZXF1aXJlIHJlY29uc3RydWN0aW9uLiBTdHJlZXRzIHNob3duIGluIGdyZWVuIGFyZSBjdXJyZW50bHkgaW4gc2F0aXNmYWN0b3J5IG9yIGdvb2QgY29uZGl0aW9uLl9cXG5cXG5cIn1dXX0se1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqU3BvdGxpZ2h0IE9uOiAzcmQgQXZlbnVlIEFydGVyaWFsIFBhdmluZyBQcm9qZWN0KipcXG5cXG4zcmQgQXZlbnVlIGlzIGEgcHJpbWFyeSBhcnRlcmlhbCwgY29ubmVjdGluZyBkb3dudG93biB0byBRdWVlbiBBbm5lIGFuZCBOb3J0aCBTZWF0dGxlLiAzcmQgQXZlbnVlIGluIEJlbGx0b3duIHNlcnZlcyBtb3JlIHRoYW4gMyw2MDAgdmVoaWNsZXMgcGVyIGRheSwgYXBwcm94aW1hdGVseSA0NSUgb2Ygd2hpY2ggYXJlIGJ1c2VzLCBtYWtpbmcgdGhpcyBvbmUgb2YgdGhlIG1vc3QgaGVhdmlseSB1c2VkIHRyYW5zaXQgY29ycmlkb3JzIGluIHRoZSByZWdpb24uIFRvZGF5LCAzcmQgQXZlbnVlIGlzIG1hcmtlZCBieSBwb3Rob2xlcywgY3JhY2tzIGluIHRoZSBwYXZlbWVudCwgYW5kIHNlYW1zIGluIHRoZSByb2Fkd2F5LlxcblxcblRoZSBTZWF0dGxlIERlcGFydG1lbnQgb2YgVHJhbnNwb3J0YXRpb24gd2lsbCBtYWtlIHJvYWQgYW5kIHNpZGV3YWxrIGltcHJvdmVtZW50cyBhbG9uZyAzcmQgQXZlbnVlIGJldHdlZW4gVmlyZ2luaWEgU3QuIGFuZCBCcm9hZCBTdC4gVGhlIHByb2plY3QgaW5jbHVkZXM6XFxuXFxuIFxcblxcbiogUmVidWlsZGluZyBzZWN0aW9ucyBvZiAzcmQgQXZlbnVlIHdpdGggY29uY3JldGUgZm9yIGltcHJvdmVkIGR1cmFiaWxpdHkgYW5kIGxvbmdldml0eSxcXG4qIEluc3RhbGxhdGlvbiBvZiBjdXJiIGJ1bGJzIGF0IENsYXksIEJsYW5jaGFyZCwgYW5kIExlbm9yYSBTdHJlZXRzIHRvIHNob3J0ZW4gY3Jvc3NpbmcgZGlzdGFuY2VzIGFuZCBpbXByb3ZlIHBlZGVzdHJpYW4gc2FmZXR5IGFuZCB2aXNpYmlsaXR5LFxcbiogUmVwbGFjZW1lbnQgb2Ygc3Vic3RhbmRhcmQgY3VyYiByYW1wcyB0byBtZWV0IGZlZGVyYWwgQW1lcmljYW5zIHdpdGggRGlzYWJpbGl0aWVzIEFjdCAoQURBKSByZXF1aXJlbWVudHMsXFxuKiBSZXBsYWNlbWVudCBvZiBkcmFpbmFnZSBpbmxldHMsIHdoZXJlIG5lZWRlZCwgdG8gaW1wcm92ZSBzdG9ybXdhdGVyIG1hbmFnZW1lbnQuXFxuXFxuKipBbnRpY2lwYXRlZCBDb25zdHJ1Y3Rpb24gUHJvamVjdCBTY2hlZHVsZToqKiBDb25zdHJ1Y3Rpb24gaXMgZXhwZWN0ZWQgdG8gYmVnaW4gZHVyaW5nIHRoZSBTcHJpbmcgb2YgMjAxNyBhbmQgdGFrZSBhcHByb3hpbWF0ZWx5IDEwIG1vbnRocyB0byBjb21wbGV0ZS5cXG5cXG4qKkJ1ZGdldDoqKiBUaGlzICQ5LjMgbWlsbGlvbiBwcm9qZWN0IGlzIHByaW1hcmlseSBmdW5kZWQgYnkgdGhlIHZvdGVyLWFwcHJvdmVkIExldnkgdG8gTW92ZSBTZWF0dGxlIGFzIHBhcnQgb2YgU0RPVOKAmXMgQXJ0ZXJpYWwgQXNwaGFsdCBhbmQgQ29uY3JldGUgKEFBQykgUHJvZ3JhbS5cXG5cXG5cIn1dLFt7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqU3BvdGxpZ2h0IE9uOioqIEN1c3RvbWVyLUJhc2VkIFByaW9yaXRpZXNcXG5cXG5Cb3RoIHRoZSAyMDE0IGFuZCAyMDE2IFNET1QgQ3VzdG9tZXIgU2F0aXNmYWN0aW9uIHN1cnZleXMgYXNrZWQgY3VzdG9tZXJzOiBcXFwiV2hhdCBkbyB5b3UgYmVsaWV2ZSBhcmUgdGhlIHR3byBtb3N0IGltcG9ydGFudCB0aGluZ3MgdGhhdCBTRE9UIHNob3VsZCBkbyBpbiB0aGUgbmV4dCB0d28geWVhcnM/XFxcIiBBcyBjYW4gYmUgc2VlbiBmcm9tIHRoZSByZXN1bHRzIGJlbG93IHRoZSBsYXJnZXN0IHNpbmdsZSBjYXRlZ29yeSBvZiBlbXBoYXNpcyB3YXMgXFxcIlJlcGFpciByb2Fkcy9maXggcG90aG9sZXMvbWFpbnRhaW4gcm9hZHMgYW5kIGJyaWRnZXMuXFxcIlxcblxcblwifSx7XCJ0eXBlXCI6XCJ2aXpcIixcImRhdGFzZXRcIjpcIjU2cmctaXg1OVwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCJfQ2hhcnQgaWxsdXN0cmF0aW5nIGN1c3RvbWVycycgcmVzcG9uc2VzIHRvIGFuIFNET1Qtc3BvbnNvcmVkIHN1cnZleSBhYm91dCB0aGVpciBwcmVmZXJyZWQgcHJpb3JpdGllcy5fXCJ9XV19XSxcInRpdGxlX2ltYWdlXCI6XCIvYXBpL2Fzc2V0cy9FMTNBNzM3NC0xOEJDLTRBOTgtODIwQS01NzVCQ0YxOEVBNkJcIixcInVzZV9jdXN0b21fdGl0bGVcIjp0cnVlLFwiY3VzdG9tX3RpdGxlXCI6XCJJbXByb3ZlIHBhdmVtZW50IHF1YWxpdHkgc3VjaCB0aGF0IDc1IHBlcmNlbnQgb2YgU2VhdHRsZSdzIGFydGVyaWFsIHN0cmVldHMgYXJlIGluIGZhaXIgb3IgYmV0dGVyIGNvbmRpdGlvblwiLFwidXNlX2N1c3RvbV9zdWJ0aXRsZVwiOnRydWUsXCJjdXN0b21fc3VidGl0bGVcIjpcIkltcHJvdmUgYXJ0ZXJpYWwgc3RyZWV0IGNvbmRpdGlvbnNcIn0ifSwicHJldmFpbGluZ19tZWFzdXJlIjp7InN0YXJ0IjoiMjAwMy0wMS0wMVQwMDowMDowMC4wMDAiLCJlbmQiOiIyMDE3LTEyLTMxVDIzOjU5OjU5LjAwMCIsInVuaXQiOiJwZXJjZW50IGluIGZhaXIgb3IgYmV0dGVyIGNvbmRpdGlvbiIsInRhcmdldF90eXBlIjoicmVsYXRpdmUiLCJ0YXJnZXRfZGVsdGEiOjAsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwiYmFzZWxpbmUiOjc1LCJtZXRyaWMiOnsibWV0YWRhdGEiOiIiLCJpZCI6Iml6c2otaGJuMyJ9LCJjb21wYXJpc29uIjp7ImNvbXBhcmlzb25fZnVuY3Rpb24iOiI+In0sIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wiZWRpdFwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAwM30sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxN30sXCJhY3Rpb25fdHlwZVwiOlwibWFpbnRhaW5cIixcIm1haW50YWluX3R5cGVcIjpcIj5cIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX19LFwic3RhcnRcIjpcIjIwMTUtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTUtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJBcnRlcmlhbCBTdHJlZXQgUGF2ZW1lbnQgUXVhbGl0eSBcIixcInlTY2FsZVwiOntcInVzZV9kZWZhdWx0XCI6ZmFsc2UsXCJtaW5cIjozMCxcIm1heFwiOjkwfX0ifSwidXBkYXRlZF9hdCI6IjIwMTctMTEtMDNUMTU6MTA6NDAuMjYwWiIsImNyZWF0ZWRfYXQiOiIyMDE3LTEwLTMxVDE4OjM4OjAzLjU0MFoiLCJ2ZXJzaW9uIjoiMjAxNy0xMS0wM1QxNToxMDo0MC4yNjBaIiwidGFyZ2V0X3RvbGVyYW5jZSI6NSwiaWQiOiJqajJnLWlxazkifSwicmVsYXRlZF9tZWFzdXJlcyI6W10sImJhc2VfZGFzaGJvYXJkIjoiOHRkZy1ka3dlIiwidXBkYXRlZF9hdCI6IjIwMTgtMDItMTZUMTY6MTY6MjYuMDczWiIsImNyZWF0ZWRfYXQiOiIyMDE3LTEwLTMxVDE4OjM4OjAzLjU4M1oiLCJ2ZXJzaW9uIjoiMjAxOC0wMi0xNlQxNjoxNjoyNi4wNzNaIiwiY3JlYXRlZF9ieSI6IjVoenAtZHF6eiJ9LHsiaWQiOiJ4M25kLXQzbnAiLCJuYW1lIjoiVHJhY2sgcGVkZXN0cmlhbiB2b2x1bWVzIiwiaXNfcHVibGljIjp0cnVlLCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcInJldGlyZW1lbnRfbmFycmF0aXZlXCI6W10sXCJpY29uXCI6XCJcIixcIm5hcnJhdGl2ZVwiOlt7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipXaHkgaXMgdGhpcyBnb2FsIGltcG9ydGFudD8qKlxcblxcbkEgdmlicmFudCBwZWRlc3RyaWFuIGVudmlyb25tZW50IHN1cHBvcnRzIHRoZSBtb3ZlbWVudCBvZiBwZWRlc3RyaWFucywgdmFsdWVzIHRoZSBpbXBvcnRhbmNlIG9mIHdhbGtpbmcgYXMgYSBtb2RlIG9mIHRyYW5zcG9ydGF0aW9uLCBhbmQgcmVjb2duaXplcyB0aGUgaW1wYWN0IG9mIHBlZGVzdHJpYW5zIGFuZCB3YWxraW5nIHRyaXBzIG9uIHRoZSBlY29ub21pYyBoZWFsdGggb2YgYSBjaXR5IGFuZCByZWdpb24uIENpdGllcyBhcmUgaW5jcmVhc2luZ2x5IHJlY29nbml6aW5nIHRoYXQgdGhlIHBlZGVzdHJpYW4gZW52aXJvbm1lbnQgaXMgYSBrZXkgZWxlbWVudCBvZiBlY29ub21pYyB2aXRhbGl0eSBhbmQgdmlicmFuY3ksIGFuZCBTZWF0dGxlIGlzIG5vIGV4Y2VwdGlvbi4gV2Fsa2FibGUgbmVpZ2hib3Job29kcyB0eXBpY2FsbHkgaGF2ZSBhY3RpdmUgc3RyZWV0cyB0aGF0IHByb21vdGUgY29tbWVyY2lhbCBpbnRlcmNoYW5nZSwgd2hpbGUgcHJvdmlkaW5nIHNhZmUgYW5kIGVmZmljaWVudCB3YXlzIGZvciByZXNpZGVudHMgdG8gdHJhdmVsIG9uIGZvb3QuIFdoaWxlIGltcHJvdmluZyB0aGUgd2Fsa2luZyBjb25kaXRpb25zIGluIGEgbmVpZ2hib3Job29kIG9yIHVyYmFuIHZpbGxhZ2UgY2FuIHBvc2l0aXZlbHkgaW1wYWN0IHRoZSB2aWJyYW5jeSBvZiBhbiBhcmVhLCBpdCBpcyBnZW5lcmFsbHkgdGhlIGNhc2UgdGhhdCBlY29ub21pY2FsbHkgdmlicmFudCBhcmVhcyBhcmUgbW9yZSBwbGVhc2FudCBhbmQgbW9yZSBwb3B1bGFyIHBsYWNlcyB0byB3YWxrLlxcblxcbiBBZGRpdGlvbmFsIHJlYXNvbnMgdG8gcHJvbW90ZSB3YWxraW5nIGluY2x1ZGU6XFxuXFxuKipIZWFsdGgqKlxcblxcbldhbGtpbmcsIGZvciBib3RoIHRyYW5zcG9ydGF0aW9uIGFuZCByZWNyZWF0aW9uLCBjYW4gaGF2ZSBhIHBvc2l0aXZlIGltcGFjdCBvbiBhbiBpbmRpdmlkdWFsJ3MgaGVhbHRoLiBJbmNyZWFzaW5nIHdhbGtpbmcgYW5kIHBoeXNpY2FsIGFjdGl2aXR5IGlzIGxpbmtlZCB0byBhIHJlZHVjdGlvbiBpbiBvYmVzaXR5IGFuZCBkZWNyZWFzZWQgbGlrZWxpaG9vZCBvZiBhIG51bWJlciBvZiBjaHJvbmljIGRpc2Vhc2VzLiBNb3JlIHRoYW4gaGFsZiBvZiBBbWVyaWNhbiBhZHVsdHMgZG8gbm90IGdldCBzdWZmaWNpZW50IHBoeXNpY2FsIGFjdGl2aXR5LCBhbmQgbmVhcmx5IHR3by10aGlyZHMgb2YgYWR1bHRzIGFyZSBvdmVyd2VpZ2h0LiBCZWNhdXNlIHdhbGtpbmcgaXMgYSBsb3cgaW1wYWN0IGFjdGl2aXR5LCBpdCBpcyBhbiBhY3Rpdml0eSB0aGF0IHBlb3BsZSBjYW4gZG8gYXQgYWxtb3N0IGFueSBhZ2UuIFNlbmlvcnMgd2hvIHdhbGsgcmVndWxhcmx5IGhhdmUgYSBsb25nZXIgbGlmZSBleHBlY3RhbmN5IHRoYW4gdGhvc2Ugd2hvIGRvIG5vdC4gQW5kIGluIGFkZGl0aW9uIHRvIGJlbmVmaXRpbmcgcGh5c2ljYWwgaGVhbHRoLCB3YWxraW5nIGlzIGFsc28gZ3JlYXQgZm9yIG1lbnRhbCBoZWFsdGguIE1vcmUgcGVvcGxlIHdhbGtpbmcgZm9yIG1vcmUgdHJpcHMgY2FuIGFsc28gaGVscCB0byByZWR1Y2UgdGhlIGNvbnN1bXB0aW9uIG9mIGZvc3NpbCBmdWVscywgbGVhZGluZyB0byBhIGhlYWx0aGllciBlbnZpcm9ubWVudCBmb3IgYWxsIFNlYXR0bGVpdGVzLiBFbnN1cmluZyBhZGVxdWF0ZSBwZWRlc3RyaWFuIGZhY2lsaXRpZXMgY2FuIGhlbHAgU2VhdHRsZSByZXNpZGVudHMgYW5kIHZpc2l0b3JzIG1ha2Ugd2Fsa2luZyBwYXJ0IG9mIHRoZWlyIGRhaWx5IHJvdXRpbmUuXFxuXFxuKipTYWZldHkqKlxcblxcblNlYXR0bGUgaXMgdGhlIHNhZmVzdCBVLlMuIGNpdHkgZm9yIHBlZGVzdHJpYW5zIGFjY29yZGluZyB0byBhIHJlY2VudCBpbnN1cmFuY2UgaW5kdXN0cnkgc3R1ZHkuIEFjY29yZGluZyB0byB0aGlzIHJlcG9ydCBwZWRlc3RyaWFuIHNhZmV0eSBpcyBicm91Z2h0IGFib3V0IGJ5IFxcXCJhIGNvbWJpbmF0aW9uIG9mIG1hbnkgdGhpbmdzIFtpbmNsdWRpbmddIGluZnJhc3RydWN0dXJlIGltcHJvdmVtZW50cyBhbmQgZWR1Y2F0aW9uXFxcIi4gSG93ZXZlciwgdGhlcmUgYXJlIHN0aWxsIGFwcHJveGltYXRlbHkgNDUwIHBlZGVzdHJpYW4tdmVoaWNsZSBjcmFzaGVzIHBlciB5ZWFyIG9uIFNlYXR0bGUncyBzdHJlZXRzLiBCZWNhdXNlIGV2ZW4gb25lIGNyYXNoIGlzIG9uZSB0b28gbWFueSwgdGhlIENpdHkgaXMgY29tbWl0dGVkIHRvIGltcHJvdmluZyBwZWRlc3RyaWFuIHNhZmV0eS4gSW52ZXN0aW5nIGluIHNhZmUgYW5kIGNvbm5lY3RlZCBwZWRlc3RyaWFuIGZhY2lsaXRpZXMgaGVscHMgdG8gZW5zdXJlIGEgaGlnaCBxdWFsaXR5IG9mIGxpZmUgZm9yIHJlc2lkZW50cyBhcyB3ZWxsIGFzIHZpc2l0b3JzLiBQZW9wbGUgd2hvIGxpdmUgaW4gYXJlYXMgd2hlcmUgd2Fsa2luZyBpcyBjb21mb3J0YWJsZSBhbmQgY29udmVuaWVudCBhcmUgbGlrZWx5IHRvIGJlIG1vcmUgZmFtaWxpYXIgd2l0aCB0aGVpciBuZWlnaGJvcmhvb2RzIGFuZCB0byBoYXZlIHJpY2hlciBzb2NpYWwgY29ubmVjdGlvbnMgdG8gdGhlaXIgY29tbXVuaXR5LlxcblxcbioqRXF1aXR5KipcXG5cXG5XYWxraW5nIGlzIHRoZSBtb3N0IGJyb2FkbHkgYWNjZXNzaWJsZSBmb3JtIG9mIHRyYW5zcG9ydGF0aW9uIGFuZCByZWNyZWF0aW9uLCByZXF1aXJpbmcgbm8gZmFyZSwgZnVlbCwgb3IgbGljZW5zZS4gQWNjZXNzaWJpbGl0eSBhbmQgZWNvbm9taWNzIGFyZSBpbmhlcmVudGx5IHRpZWQgdG8gZXF1aXRhYmxlIHRyYW5zcG9ydGF0aW9uIHNvbHV0aW9ucywgYW5kIHRoZSBuZWVkIHRvIHByb3ZpZGUgb3B0aW9ucyBmb3IgdHJhdmVsIHdpdGhpbiBTZWF0dGxlIGNhbm5vdCBiZSBvdmVybG9va2VkLiBUaGUgQ2l0eSBoYXMgYSBjb21taXRtZW50IHRvIGFkZHJlc3MgaXNzdWVzIG9mIHJhY2UgYW5kIHNvY2lhbCBqdXN0aWNlLCBhbmQgdGhlIGRlc2lnbiBhbmQgaW1wbGVtZW50YXRpb24gb2YgcGVkZXN0cmlhbiBwcm9qZWN0cyBpcyBubyBleGNlcHRpb24uIEZvciB0aG9zZSB3aG8gY2Fubm90IHVzZSBvdGhlciBtb2RlcyBvZiB0cmFuc3BvcnRhdGlvbiwgdGhlIGFiaWxpdHkgdG8gd2FsayBzYWZlbHkgaXMgZXNzZW50aWFsLiBFcXVpdGFibGUgc2VydmljZXMgYW5kIGludmVzdG1lbnRzIHByb3ZpZGUgdGhlIHNhbWUgb3Bwb3J0dW5pdGllcyBmb3IgYWxsIHBlb3BsZSBhbmQgc3RyaXZlIHRvIGNvcnJlY3QgdGhlIGhpc3RvcmljYWwgaW5lcXVpdGllcyB0aGF0IGV4aXN0IGluIG91ciBzb2NpZXR5LiBCeSBwcm92aWRpbmcgYWxsIHBlb3BsZSB3aXRoIHRoZSBvcHBvcnR1bml0eSB0byB3YWxrIGZvciB0cmFuc3BvcnRhdGlvbiBhbmQgcmVjcmVhdGlvbiwgU2VhdHRsZSB3aWxsIGJlIHdlbGwgb24gdGhlIHdheSB0byBiZWNvbWluZyB0aGUgbW9zdCB3YWxrYWJsZSBjaXR5IGluIHRoZSBVLlMuXFxuXFxuXCJ9XSxbe1widHlwZVwiOlwiaW1hZ2VcIixcInNyY1wiOlwiL2FwaS9hc3NldHMvQ0RDQUUwREUtMjJFRC00MUU3LTg5OUQtRDk2M0JFRjRBNTE0XCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipIb3cgZG8gd2UgbWVhc3VyZSB0aGlzIGdvYWw/KipcXG5cXG5cXG5cXG5JbiAyMDExIFNET1QgYmVnYW4gYSBuZXcgc3lzdGVtYXRpYyBwZWRlc3RyaWFuIGNvdW50aW5nIHByb2dyYW0gdGhhdCB1c2VzIHRoZSBOYXRpb25hbCBCaWN5Y2xlIGFuZCBQZWRlc3RyaWFuIERvY3VtZW50YXRpb24gKE5IUEQpIG1ldGhvZG9sb2d5IHRvIGNvdW50IGJpY3ljbGVzIGFuZCBwZWRlc3RyaWFucyBhdCA1MCBsb2NhdGlvbnMgY2l0eXdpZGUsIHRocmVlIHRpbWVzIGEgeWVhci4gVGhlc2UgY291bnRzIGFyZSBjb25kdWN0ZWQgcXVhcnRlcmx5IGluIEphbnVhcnksIE1heSwgYW5kIFNlcHRlbWJlci4gQ291bnRzIGFyZSB1bmRlcnRha2VuIGZvciBQTSBwZWFrICg1IHAubS4gLSA3IHAubS4pLCBvZmYgcGVhayAoMTAgYS5tLiB0byBub29uKSwgYW5kIFNhdHVyZGF5IChub29uIC0gMiBwLm0uKSBhdCBlYWNoIGxvY2F0aW9uLiBUb2dldGhlciwgdGhlc2UgY291bnRzIGFkZCB1cCB0byBhIHRvdGFsIG9mIDQ1MCBwZXIgeWVhci5cXG5cXG5cIn0se1widHlwZVwiOlwidml6XCIsXCJkYXRhc2V0XCI6XCIybmhoLWg2MmpcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoYXQgcHJvZ3Jlc3MgYXJlIHdlIG1ha2luZyB0b3dhcmQgdGhpcyBnb2FsPyoqXFxuXFxuSW4gMjAxNiwgU0RPVCBzdXBwb3J0ZWQgcGVkZXN0cmlhbiBhY2Nlc3NpYmlsaXR5IGJ5IGJ1aWxkaW5nIGZpZnRlZW4gYmxvY2tzIG9mIG5ldyBzaWRld2FsaywgYWRkaW5nIHRvIHRoZSAxMTggYmxvY2tzIG9mIG5ldyBzaWRld2FsayB0aGF0IGhhdmUgYmVlbiBjb25zdHJ1Y3RlZCBvdmVyIHRoZSBwYXN0IG5pbmUgeWVhcnMuIENyZXdzIGFsc28gcmVwYWlyZWQgbW9yZSB0aGFuIDI1IGJsb2NrIGVxdWl2YWxlbnRzIG9mIGltcHJvdmVkIHNpZGV3YWxrcy4gQWRkaXRpb25hbGx5LCAxMiBwcm9qZWN0cyB3ZXJlIGluY2x1ZGVkIGluIHRoZSBTYWZlIFJvdXRlcyB0byBTY2hvb2xzIDIwMTYgd29yayBwcm9ncmFtLlxcblxcblwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjIEZPUiBNT1JFIElORk9STUFUSU9OOlxcblxcbiogKipQZWRlc3RyaWFuIE1hc3RlciBQbGFuOioqICAgXFxuW2h0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdHJhbnNwb3J0YXRpb24vcGVkZXN0cmlhbl9tYXN0ZXJwbGFuL11bMF1cXG4qICoqU2FmZSBSb3V0ZXMgdG8gU2Nob29scyBQcm9ncmFtOioqICAgXFxuW2h0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdHJhbnNwb3J0YXRpb24vc2FmZXJvdXRlcy5odG1dWzFdXFxuKiAqKlNhZmUgUm91dGVzIHRvIFNjaG9vbCAtIEVuZ2luZWVyaW5nOioqICAgXFxuW2h0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdHJhbnNwb3J0YXRpb24vc2FmZXJvdXRlc19lbmdpbmVlcmluZy5odG1dWzJdXFxuXFxuWzBdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3RyYW5zcG9ydGF0aW9uL3BlZGVzdHJpYW5fbWFzdGVycGxhbi9cXG5bMV06IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdHJhbnNwb3J0YXRpb24vc2FmZXJvdXRlcy5odG1cXG5bMl06IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdHJhbnNwb3J0YXRpb24vc2FmZXJvdXRlc19lbmdpbmVlcmluZy5odG1cIn1dXX0se1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqU3BvdGxpZ2h0IE9uOioqIFNhZmUgUm91dGVzIHRvIFNjaG9vbCBQcm9ncmFtXFxuXFxuU2FmZSBSb3V0ZXMgdG8gU2Nob29sIChTUlRTKSBpcyBhIGxvY2FsLCBzdGF0ZSwgYW5kIG5hdGlvbmFsIG1vdmVtZW50IHRvIG1ha2UgaXQgZWFzaWVyIGFuZCBzYWZlciBmb3Igc3R1ZGVudHMgdG8gd2FsayBhbmQgYmlrZS4gVGhlIFNlYXR0bGUgRGVwYXJ0bWVudCBvZiBUcmFuc3BvcnRhdGlvbiBzdXBwb3J0cyB0aGlzIGVmZm9ydCBieSBmdW5kaW5nIGVuZ2luZWVyaW5nIGltcHJvdmVtZW50cywgZWR1Y2F0aW9uLCBhbmQgZW5jb3VyYWdlbWVudCBjYW1wYWlnbnMgYXQgcHVibGljIGFuZCBwcml2YXRlIHNjaG9vbHMgdGhyb3VnaG91dCBTZWF0dGxlLlxcblxcblNET1TigJlzIFNhZmUgUm91dGVzIHRvIFNjaG9vbCBwcm9ncmFtIGhhcyBiZWVuIHJlY29nbml6ZWQgbmF0aW9uYWxseSBmb3IgaXRzIHNpZ25pZmljYW50IGNvbnRyaWJ1dGlvbnMgdG8gcGVkZXN0cmlhbiBzYWZldHkuIEluIGZhY3QsIGEgcmVjZW50IHJhbmtpbmcgYnkgTGliZXJ0eSBNdXR1YWwgSW5zdXJhbmNlIGxpc3RzIFNlYXR0bGUgYXMgdGhlIG51bWJlciBvbmUgY2l0eSBpbiB0aGUgbmF0aW9uIGZvciBwZWRlc3RyaWFuIHNhZmV0eSBhbmQgZXhwbGljaXRseSBjYWxscyBvdXQgU2FmZSBSb3V0ZXMgdG8gU2Nob29sIGZvciBpbXByb3ZpbmcgdGhlIGNvbm5lY3Rpb25zIGJldHdlZW4gbmVpZ2hib3Job29kcyBhbmQgc2Nob29scy5cXG5cXG5XYWxraW5nIGFuZCBiaWtpbmcgdG8gc2Nob29sIGhhcyBpbmNyZWFzZWQgYXQgMjYgb2YgMjggc2Nob29scyBldmFsdWF0ZWQgaW4gU2VhdHRsZSBmcm9tIDIwMDcgdGhydSAyMDE2LiBTRE9UIGlzIGluIHRoZSBwcm9jZXNzIG9mIHJldmlld2luZyBhbmQgZW5oYW5jaW5nIGV2ZXJ5IGFzcGVjdCBvZiBTYWZlIFJvdXRlcyB0byBTY2hvb2wgd2l0aCBhIHdpZGUgcmFuZ2Ugb2YgY29tbXVuaXR5IHBhcnRuZXJzLiBJbiAyMDE1LCBTRE9UIGludHJvZHVjZWQgbmV3IHBlZGVzdHJpYW4gYW5kIGJpY3ljbGUgc2FmZXR5IGVkdWNhdGlvbiBhbmQgZW5jb3VyYWdlbWVudCBwcm9ncmFtcyBhbG9uZyB3aXRoIHJldmlzZWQgZW5mb3JjZW1lbnQgY29tbWl0bWVudHMgaW4gb3VyIHNjaG9vbCB6b25lcy4gQW5vdGhlciBzdWJzdGFudGlhbCBjb21wb25lbnQgb2YgdGhpcyB3b3JrIGlzIHRvIGNvbnRpbnVlIHRvIGltcHJvdmUgdGhlIGJ1aWx0IGVudmlyb25tZW50IHRvIGJldHRlciBsaW5rIHBhcmVudHMsIHRlYWNoZXJzIGFuZCBzdHVkZW50cyB0byBzY2hvb2xzLlxcblxcblwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzLzc4MkU1OEIwLTg3NDMtNDQ4RC04NUM3LTM5MTJFRTk5QzM4N1wifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCJfVGhlIG1hcCBhYm92ZSBzaG93cyB0aGUgc2FmZSByb3V0ZXMgYW5kIG90aGVyIHNhZmUgd2Fsa2luZyBpbmZyYXN0cnVjdHVyZSBmb3Igc3R1ZGVudHMgd2hvIGF0dGVuZCBHcmFoYW0gSGlsbCBFbGVtZW50YXJ5IGluIHNvdXRoZWFzdCBTZWF0dGxlLl9cXG5cXG5cIn1dXX1dLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIkluY3JlYXNlIHdhbGtpbmcgaW4gU2VhdHRsZSAoYXMgbWVhc3VyZWQgYnkgcGVyY2VudCBpbmNyZWFzZSBpbiByZWNvcmRlZCBjb3VudHMpXCIsXCJ1c2VfY3VzdG9tX3N1YnRpdGxlXCI6dHJ1ZSxcImN1c3RvbV9zdWJ0aXRsZVwiOlwiVHJhY2sgcGVkZXN0cmlhbiB2b2x1bWVzXCIsXCJ0aXRsZV9pbWFnZVwiOlwiL2FwaS9hc3NldHMvQjc4MzQxQjctMEY5NC00RDYzLUJENTEtRjI0RENCMjE2NDNDXCJ9In0sInByZXZhaWxpbmdfbWVhc3VyZSI6eyJzdGFydCI6IjIwMTItMTItMzFUMDA6MDA6MDAuMDAwIiwiZW5kIjoiMjAxNy0xMi0zMVQyMzo1OTo1OS4wMDAiLCJ1bml0IjoicGVyY2VudCBpbmNyZWFzZSBzaW5jZSAyMDExIiwidGFyZ2V0X3R5cGUiOiJub25lIiwidGFyZ2V0X2RlbHRhX2lzX3BlcmNlbnQiOmZhbHNlLCJtZXRyaWMiOnsibWV0YWRhdGEiOiIiLCJpZCI6IjRraHItc3ZpZyJ9LCJjb21wYXJpc29uIjp7ImNvbXBhcmlzb25fZnVuY3Rpb24iOiI+In0sIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wiZWRpdFwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwiZW5kXCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTJ9LFwiZW5kXCI6e1wiZGF0ZVwiOlwiZW5kXCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTd9LFwiYWN0aW9uX3R5cGVcIjpcIm5vbmVcIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX19LFwic3RhcnRcIjpcIjIwMTUtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTUtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJQZWRlc3RyaWFuIFZvbHVtZSBDb3VudHNcIixcInlTY2FsZVwiOntcInVzZV9kZWZhdWx0XCI6ZmFsc2UsXCJtYXhcIjo5MCxcIm1pblwiOjB9fSJ9LCJ1cGRhdGVkX2F0IjoiMjAxNy0xMi0wNlQyMjozODo1Ny42MjlaIiwiY3JlYXRlZF9hdCI6IjIwMTctMTAtMzFUMTg6MjY6NTAuMDkyWiIsInZlcnNpb24iOiIyMDE3LTEyLTA2VDIyOjM4OjU3LjYyOVoiLCJpZCI6Ims5ODgtNnhkdiJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiI4dGRnLWRrd2UiLCJ1cGRhdGVkX2F0IjoiMjAxOC0wMi0xNlQxNjo0ODoxNi42NzhaIiwiY3JlYXRlZF9hdCI6IjIwMTctMTAtMzFUMTg6MjY6NTAuMTMxWiIsInZlcnNpb24iOiIyMDE4LTAyLTE2VDE2OjQ4OjE2LjY3OFoiLCJjcmVhdGVkX2J5IjoiNWh6cC1kcXp6In0seyJpZCI6InQ2cmItOXZkZSIsIm5hbWUiOiJUcmFjayBiaWN5Y2xlIHZvbHVtZXMiLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcImljb25cIjpcIlwiLFwibmFycmF0aXZlXCI6W3tcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoeSBpcyB0aGlzIGdvYWwgaW1wb3J0YW50PyoqXFxuXFxuVGhlIGNhc2UgZm9yIGltcHJvdmluZyB0aGUgYmljeWNsaW5nIGVudmlyb25tZW50IGZvciBwZW9wbGUgb2YgYWxsIGFnZXMgYW5kIGFiaWxpdGllcyBpcyBncm93aW5nLiBBY2FkZW1pYyBhbmQgcG9wdWxhciBsaXRlcmF0dXJlIGlzIGV4cGFuZGluZyB0aGUgdW5kZXJzdGFuZGluZyBvZiB0aGUgcmVsYXRpb25zaGlwcyBiZXR3ZWVuIGJpY3ljbGluZyBhbmQgaGVhbHRoLCBlY29ub21pYywgYW5kIGVudmlyb25tZW50YWwgYmVuZWZpdHMsIHNhZmV0eSwgdGltZSBjb21wZXRpdGl2ZW5lc3MsIHNwYWNlIGVmZmljaWVuY3ksIGFuZCBlcXVpdHkuIFRoZXJlIGlzIHN0cm9uZyBldmlkZW5jZSB0aGF0IGJpY3ljbGluZyBpcyBnb29kIGZvciBpbmRpdmlkdWFscywgYnVzaW5lc3NlcywgY2l0aWVzLCBhbmQgc29jaWV0eSBhcyBhIHdob2xlLiBUaGUgQ2l0eSBvZiBTZWF0dGxlIGlzIHRpZWQgd2l0aCBXYXNoaW5ndG9uLCBELkMuLCBmb3IgaGF2aW5nIHRoZSB0aGlyZC1oaWdoZXN0IHJhdGUgb2YgYmljeWNsZSBjb21tdXRlcnMgZm9yIGxhcmdlIGNpdGllcyBpbiB0aGUgVW5pdGVkIFN0YXRlcy5cXG5cXG5BIHJlY2VudCByZXNlYXJjaCBzdHVkeSBleHBsb3JlZCB0aGUgY29uY2VwdCBvZiBcXFwiRm91ciBUeXBlcyBvZiBCaWN5Y2xpc3RzXFxcIiBpbiBhIGNpdHkgZW52aXJvbm1lbnQuIFRoZSBzdHVkeSBmb3VuZCB0aGF0IDQgcGVyY2VudCBvZiB0aGUgcG9wdWxhdGlvbiBpcyBtYWRlIHVwIG9mIGhhcmR5IGVudGh1c2lhc3RzIHdobyB3aWxsIHJpZGUgcmVnYXJkbGVzcyBvZiB0aGUgZXh0ZW50IGFuZCBxdWFsaXR5IG9mIGJpY3ljbGUgZmFjaWxpdGllcy4gVGhlIHN0dWR5IGFsc28gY2xhc3NpZmllZCBuaW5lIHBlcmNlbnQgb2YgcGVvcGxlIGFzIGNvbmZpZGVudCByaWRlcnMgd2hvIHdpbGwgcmlkZSB3aXRoIGJhc2ljIGJpY3ljbGUgZmFjaWxpdGllcywgc3VjaCBhcyBiaWN5Y2xlIGxhbmVzLiBUaGVzZSB0d28gY2F0ZWdvcmllcyBwcmVzdW1hYmx5IG1ha2UgdXAgdGhlIG1ham9yaXR5IG9mIHJpZGVycyBpbiBTZWF0dGxlIHRvZGF5LiBBbm90aGVyIDMxIHBlcmNlbnQgd2lsbCBub3Qgb3IgY2Fubm90IGNvbnNpZGVyIHJpZGluZyBhIGJpY3ljbGUgdW5kZXIgYW55IGNpcmN1bXN0YW5jZS4gSG93ZXZlciwgNTYgcGVyY2VudCB3ZXJlIGNsYXNzaWZpZWQgYXMgXFxcImludGVyZXN0ZWQgYnV0IGNvbmNlcm5lZCxcXFwiIG1lYW5pbmcgdGhleSB3b3VsZCBiZSB3aWxsaW5nIHRvIHJpZGUgYSBiaWN5Y2xlLCBvciByaWRlIG1vcmUgb2Z0ZW4sIGlmIGNvbmRpdGlvbnMgd2VyZSBpbXByb3ZlZC4gVGhpcyBwb3J0aW9uIG9mIHRoZSBwb3B1bGF0aW9uIHByb3ZpZGVzIHRoZSBncmVhdGVzdCBvcHBvcnR1bml0eSB0byBpbmNyZWFzZSBiaWN5Y2xlIHVzZS5cXG5cXG5cIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKkhvdyBkbyB3ZSBtZWFzdXJlIHRoaXMgZ29hbD8qKlxcblxcblxcblxcbkluIDIwMTEgU0RPVCBiZWdhbiBhIG5ldyBzeXN0ZW1hdGljIGJpY3ljbGUgY291bnRpbmcgcHJvZ3JhbSB0aGF0IHVzZXMgdGhlIE5hdGlvbmFsIEJpY3ljbGUgYW5kIFBlZGVzdHJpYW4gRG9jdW1lbnRhdGlvbiAoTkhQRCkgbWV0aG9kb2xvZ3kgdG8gY291bnQgYmljeWNsZXMgYW5kIHBlZGVzdHJpYW5zIGF0IDUwIGxvY2F0aW9ucyBjaXR5d2lkZSwgdGhyZWUgdGltZXMgYSB5ZWFyLiBUaGVzZSBjb3VudHMgYXJlIGNvbmR1Y3RlZCBpbiBKYW51YXJ5LCBNYXksIGFuZCBTZXB0ZW1iZXIuIENvdW50cyBhcmUgdW5kZXJ0YWtlbiBmb3IgUE0gcGVhayAoNSBQTSB0byA3IFBNKSwgb2ZmIHBlYWsgKDEwIEFNIHRvIG5vb24pLCBhbmQgU2F0dXJkYXkgKG5vb24gdG8gMiBQTSkgYXQgZWFjaCBsb2NhdGlvbi4gVG9nZXRoZXIsIHRoZXNlIGNvdW50cyBhZGQgdXAgdG8gYSB0b3RhbCBvZiA0NTAgcGVyIHllYXIuXFxuXFxuXCJ9LHtcInR5cGVcIjpcInZpelwiLFwiZGF0YXNldFwiOlwicXlybS1iNGsyXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipXaGF0IHByb2dyZXNzIGFyZSB3ZSBtYWtpbmcgdG93YXJkIHRoaXMgZ29hbD8qKlxcblxcbldlIG1lYXN1cmUgYmljeWNsZSB2b2x1bWVzIG5vdCBzbyBtdWNoIHRvIGFjaGlldmUgYSBwYXJ0aWN1bGFyIHRhcmdldCBvciBnb2FsLCBidXQgYXMgYSB2ZXJ5IHVzZWZ1bCBpbmRpY2F0b3Igb2YgdGhlIGRlZ3JlZSB0byB3aGljaCBiaWN5Y2xlIGZhY2lsaXRpZXMgYXJlIGJlaW5nIHVzZWQgYW5kIHRoZSBsZXZlbCB0byB3aGljaCB0aGUgcHVibGljIGZlZWxzIHNhZmUgdXNpbmcgdGhlbS4gSXQgaXMgbGlrZWx5IGluIHRoZSBuZWFyIGZ1dHVyZSBob3dldmVyIHRoYXQgU0RPVCB3aWxsIGRldmVsb3AgYSB0YXJnZXQtYmFzZWQgcGVyZm9ybWFuY2UgbWVhc3VyZSBmb3IgYmljeWNsZSByaWRlcnNoaXAgc2luY2UgaXQgaGFzIHN1Y2ggYSBzaWduaWZpY2FudCBlZmZlY3Qgb24gcHVibGljIGhlYWx0aCBhbmQgcmVkdWNpbmcgU2VhdHRsZSdzIGNvbmdlc3RlZCByb2Fkd2F5cy5cXG5cXG5Ob3RlIHRoYXQgbWVhc3VyZWQgYmlrZSByaWRlcnNoaXAgc2hvd2VkIGEgc2hhcnAgZGVjbGluZSBpbiAyMDE2IGZyb20gcHJldmlvdXMgeWVhcnMuIFdlIGFyZSBzdGlsbCByZXNlYXJjaGluZyB0aGUgcmVhc29ucyBmb3IgdGhpcyBidXQgcHJlbGltaW5hcnkgaW5kaWNhdGlvbnMgYXJlIHRoYXQgdGhpcyB3YXMgZHVlIHRvIGEgY29tYmluYXRpb24gb2YgZXJyb3JzIGluIHRoZSBkYXRhIGNvbGxlY3Rpb24gYW5kIHRoZSBmYWN0IHRoYXQgcG9vciB3ZWF0aGVyIHdhcyBwcmVzZW50IG9uIGVhY2ggb2YgdGhlIHRocmVlIGNvdW50aW5nIGRheXMgKGluIEphbnVhcnksIE1heSwgYW5kIFNlcHRlbWJlciksIGxpa2VseSBiaWFzaW5nIHRoZSByZXN1bHRzLlxcblxcblwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzL0I5QjAxMDRGLTYxMzYtNDA1Ri1COTc2LTU5OTNFMTNFQzY2QVwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjIEZPUiBNT1JFIElORk9STUFUSU9OOlxcblxcbiogKipTRE9UJ3MgQmljeWNsZSBQcm9ncmFtOioqICBcXG5baHR0cDovL3d3dy5zZWF0dGxlLmdvdi90cmFuc3BvcnRhdGlvbi9iaWtlcHJvZ3JhbS5odG1dWzBdXFxuKiAqKlNlYXR0bGUgQmlrZSBNYXBzOioqICBcXG5baHR0cDovL3d3dy5zZWF0dGxlLmdvdi90cmFuc3BvcnRhdGlvbi9iaWtlbWFwcy5odG1dWzFdXFxuXFxuXFxuWzBdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3RyYW5zcG9ydGF0aW9uL2Jpa2Vwcm9ncmFtLmh0bVxcblsxXTogaHR0cDovL3d3dy5zZWF0dGxlLmdvdi90cmFuc3BvcnRhdGlvbi9iaWtlbWFwcy5odG1cIn0se1widHlwZVwiOlwiaW1hZ2VcIixcInNyY1wiOlwiL2FwaS9hc3NldHMvMjM2QThBMTYtNUEyQi00MUIzLUI4MzctNkRFMzY4MERGMjdCXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIl9UaGUgQ2l0eSBvZiBTZWF0dGxlJ3MgYmljeWNsZSBuZXR3b3JrIGlzIG92ZXIgMzAwIG1pbGVzIGluIGxlbmd0aCwgYW5kIHBsYW5uZWQgaW1wcm92ZW1lbnRzIG92ZXIgdGhlIG5leHQgZml2ZSB5ZWFycyBpbmNsdWRlIG1vcmUgdGhhbiAzMCBtaWxlcyBvZiBwcm90ZWN0ZWQgYmljeWNsZSBsYW5lcy5fXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipTcG90bGlnaHQgT246IFNwb2thbmUgU3RyZWV0IEJpY3ljbGUgQ291bnRlciBEYXRhKipcXG5cXG5TcG9rYW5lIFN0cmVldCdzIGJpY3ljbGUgY291bnRlciAoW2h0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdHJhbnNwb3J0YXRpb24vYmlrZWNvdW50ZXJfc3Bva2FuZS5odG1dWzBdKSBwcm92aWRlcyB2YWx1YWJsZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcGF0dGVybnMgb2YgY3ljbGluZyBpbiBTZWF0dGxlLCBhbmQgZ2l2ZXMgYW4gYWNjdXJhdGUgY291bnQgb2YgdGhlIG51bWJlciBvZiBjeWNsaXN0cyBhdCBvbmUgb2YgdGhlIGJ1c2llc3QgY3ljbGluZyBsb2NhdGlvbnMgaW4gU2VhdHRsZS4gQmlrZSBjb3VudGVycyBhbGxvdyBtb3JlIGFjY3VyYXRlIGJlbmNobWFya2luZyBmb3IgZ29hbHMgdG8gaW5jcmVhc2UgY3ljbGluZyBhcyBzZXQgZm9ydGggaW4gdGhlIEJpY3ljbGUgTWFzdGVyIFBsYW4uIFRoZXJlIGlzIGFsc28gYSBjb3VudGVyIG9uIHRoZSBGcmVtb250IEJyaWRnZSAoW2h0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdHJhbnNwb3J0YXRpb24vYmlrZWNvdW50ZXJfZnJlbW9udC5odG1dWzFdKS4gVGhlIGRldGFpbGVkIGluZm9ybWF0aW9uIHByb3ZpZGVkIGJ5IHRoZSBjb3VudGVycyAod2hpY2ggcnVuIGNvbnRpbnVvdXNseSkgd2lsbCBlbmhhbmNlIFNET1TigJlzIGFiaWxpdHkgdG8gbWVhc3VyZSByZXR1cm4gb24gaW52ZXN0bWVudCBpbiBiaWN5Y2xlIGZhY2lsaXRpZXMgYW5kIGhlbHAgaWRlbnRpZnkgbG9jYXRpb25zIGZvciBuZXcgZmFjaWxpdGllcy4gQWxsIG9mIHRoaXMgd2hpbGUgZW5jb3VyYWdpbmcgYW4gYWZmb3JkYWJsZSwgaGVhbHRoeSBtb2RlIG9mIHRyYXZlbCB0aGF0IHJlZHVjZXMgZ3JlZW5ob3VzZSBnYXMgZW1pc3Npb25zIGFuZCByZWxpZXZlcyBjb25nZXN0aW9uLiBUaGUgYmlrZSBjb3VudGVycyB1cGxvYWQgZGF0YSBvbmNlIGEgZGF5IGF0IDUgQU0sIHdoaWNoIGlzIHRoZW4gZGlzcGxheWVkIGluIGRhaWx5LCB3ZWVrbHksIG1vbnRobHksIGFuZCBhbm51YWwgcnVubmluZyB0b3RhbHMuXFxuXFxuWzBdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3RyYW5zcG9ydGF0aW9uL2Jpa2Vjb3VudGVyX3Nwb2thbmUuaHRtXFxuWzFdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3RyYW5zcG9ydGF0aW9uL2Jpa2Vjb3VudGVyX2ZyZW1vbnQuaHRtXCJ9XV19XSxcInVzZV9jdXN0b21fdGl0bGVcIjp0cnVlLFwiY3VzdG9tX3RpdGxlXCI6XCJJbmNyZWFzZSBiaWN5Y2xpbmcgaW4gU2VhdHRsZSAoYXMgbWVhc3VyZWQgYnkgcGVyY2VudCBpbmNyZWFzZSBpbiByZWNvcmRlZCBjb3VudHMpXCIsXCJ1c2VfY3VzdG9tX3N1YnRpdGxlXCI6dHJ1ZSxcImN1c3RvbV9zdWJ0aXRsZVwiOlwiVHJhY2sgYmljeWNsZSByYXRlc1wiLFwidGl0bGVfaW1hZ2VcIjpcIi9hcGkvYXNzZXRzL0E0RkJDQkM5LTBENjctNEVDQy05MEUyLTFBNTg2QzBCMENDMFwifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIyMDEyLTEyLTMxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMTctMTItMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6InBlcmNlbnQgaW5jcmVhc2Ugc2luY2UgMjAxMSIsInRhcmdldF90eXBlIjoibm9uZSIsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiI2YWJ0LWgzbWsifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPiJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjoxMSxcInllYXJcIjoyMDEyfSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjoxMSxcInllYXJcIjoyMDE3fSxcImFjdGlvbl90eXBlXCI6XCJub25lXCJ9LFwiYmFzZWxpbmVcIjp7XCJzcXVpc2h5XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fSxcImVuZFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9fSxcInN0YXJ0XCI6XCIyMDE1LTAxLTAxVDAwOjAwOjAwLjAwMFwiLFwiZW5kXCI6XCIyMDE1LTAxLTAxVDIzOjU5OjU5LjAwMFwiLFwibWV0cmljXCI6e1wibWV0YWRhdGFcIjpcIntcXFwid2l6YXJkXFxcIjp7XFxcImZpbHRlcl9hc3RcXFwiOlt7XFxcInZhbHVlc1xcXCI6W3t9XX1dfX1cIn19LFwibmFtZVwiOlwiQmljeWNsZSBWb2x1bWVzXCIsXCJ5U2NhbGVcIjp7XCJ1c2VfZGVmYXVsdFwiOmZhbHNlLFwibWF4XCI6MTAwLFwibWluXCI6MH19In0sInVwZGF0ZWRfYXQiOiIyMDE3LTEyLTA2VDIyOjQzOjMyLjU3MFoiLCJjcmVhdGVkX2F0IjoiMjAxNy0xMC0zMVQxODoyNDoyOS4xNzdaIiwidmVyc2lvbiI6IjIwMTctMTItMDZUMjI6NDM6MzIuNTcwWiIsImlkIjoidXA1dC11ZXdzIn0sInJlbGF0ZWRfbWVhc3VyZXMiOltdLCJiYXNlX2Rhc2hib2FyZCI6Ijh0ZGctZGt3ZSIsInVwZGF0ZWRfYXQiOiIyMDE4LTAyLTE2VDE3OjQ5OjA3LjAyMloiLCJjcmVhdGVkX2F0IjoiMjAxNy0xMC0zMVQxODoyNDoyOS4yMjBaIiwidmVyc2lvbiI6IjIwMTgtMDItMTZUMTc6NDk6MDcuMDIyWiIsImNyZWF0ZWRfYnkiOiI1aHpwLWRxenoifSx7ImlkIjoieXIzcy1tZ2F1IiwibmFtZSI6IlRyYWNrIGluLWNpdHkgYnVzIHJpZGVyc2hpcCIsImlzX3B1YmxpYyI6dHJ1ZSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJyZXRpcmVtZW50X25hcnJhdGl2ZVwiOltdLFwiaWNvblwiOlwiXCIsXCJuYXJyYXRpdmVcIjpbe1widHlwZVwiOlwidGV4dFwifSx7XCJ0eXBlXCI6XCJpbWFnZVwiLFwic3JjXCI6XCIvYXBpL2Fzc2V0cy8yRDdDNjc1MS0zN0ZDLTRDMjQtOTc1OS0zMzJDQ0VCRTZFQTdcIn0se1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqV2h5IGlzIHRoaXMgZ29hbCBpbXBvcnRhbnQ/KipcXG5cXG5TZWF0dGxlIGlzIG9uZSBvZiB0aGUgZmFzdGVzdCBncm93aW5nIGxhcmdlIGNpdGllcyBpbiB0aGUgVVMsIGJ1dCBhcyBhIG1hdHVyZSB1cmJhbiBjb21tdW5pdHkgdGhlcmUgaXMgbGl0dGxlIHJvb20gdG8gZXhwYW5kIGNpdHkgc3RyZWV0cy4gVGhlIG1vc3QgZWZmZWN0aXZlIHdheSB0byBtb3ZlIG1vcmUgcGVvcGxlIHdpdGhpbiB0aGUgc2FtZSBzcGFjZSB3aXRob3V0IGluY3JlYXNpbmcgcm9hZHdheSBjb25nZXN0aW9uIGlzIHRvIGludmVzdCBpbiB0cmFuc2l0LiBUcmFuc2l0IHZlaGljbGVzIHByb3ZpZGUgbW9iaWxpdHkgZm9yIG1vcmUgcGVvcGxlIHBlciB2ZWhpY2xlIGFuZCB1c2Ugcm9hZHdheSBzcGFjZSBtb3JlIGVmZmljaWVudGx5LiBCdXMgdHJhbnNpdCBpcyB0aGUgd29ya2hvcnNlIG9mIG1vc3QgdHJhbnNpdCBzeXN0ZW1zLCBwcm92aWRpbmcgZmxleGlibGUgcm91dGUgY29ubmVjdGlvbnMgZm9yIGFyZWFzIHdpdGggdmFyaWFibGUgdHJhdmVsIG5lZWRzIGFuZCBsaW5raW5nIGxlc3MtdXJiYW4gYXJlYXMgd2l0aCBoaWdoLWNhcGFjaXR5IHRyYW5zaXQgc2VydmljZXMuXFxuXFxuTWVhc3VyaW5nIHJpZGVyc2hpcCBwcm92aWRlcyBhbiBvdmVyYWxsIHNlbnNlIG9uIGhvdyB3ZWxsIGJ1cyB0cmFuc2l0IHNlcnZlcyBpdHMgY3VzdG9tZXJzLiBJbmZvcm1hdGlvbiBhYm91dCBob3cgbWFueSB2ZWhpY2xlcyBhcmUgYXZhaWxhYmxlLCBvciBob3cgb2Z0ZW4gdGhleSBydW4sIGRvZXNu4oCZdCBhbHdheXMgcHJvdmlkZSBpbXBvcnRhbnQgZmVlZGJhY2sgYWJvdXQgdGhlIGJ1cyB1c2Vy4oCZcyB0b3RhbCBleHBlcmllbmNlLiBTYXRpc2ZhY3Rpb24gd2l0aCB0cmFuc2l0IHNlcnZpY2UgY2FuIGJlIHNpZ25pZmljYW50bHkgYWZmZWN0ZWQgYnkgaW50YW5naWJsZXMgc3VjaCBhcyBjb252ZW5pZW5jZSwgdGltZSBjb21wZXRpdGl2ZW5lc3MsIGNvbWZvcnQgb3Igc2Vuc2Ugb2Ygc2VjdXJpdHkuIE1lYXN1cmluZyByaWRlcnNoaXAgb3ZlciB0aW1lIGlzIG9uZSB3YXkgdG8gdW5kZXJzdGFuZCBvdmVyYWxsIHVzZXIgc2F0aXNmYWN0aW9uLlxcblxcbiBcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKkhvdyBkbyB3ZSBtZWFzdXJlIHRoaXMgZ29hbD8qKlxcblxcbkJlY2F1c2UgYnVzIHNlcnZpY2UgaXMgdGhlIG1vc3QgaGVhdmlseS11c2VkIHR5cGUgb2YgdHJhbnNpdCwgcmlkZXJzaGlwIGluZm9ybWF0aW9uIGlzIHJlYWRpbHkgYXZhaWxhYmxlLiBCdXMgcmlkZXJzaGlwIGRhdGEgaXMgY29sbGVjdGVkIGJ5IGNvdW50aW5nIHRoZSBudW1iZXIgb2YgYm9hcmRpbmdzIG9uIGVhY2ggdmVoaWNsZSBhbmQgY29tYmluaW5nIHRoZSBjb3VudHMgZm9yIGFuIG92ZXJhbGwgc3lzdGVtIHRvdGFsLiBLaW5nIENvdW50eSBNZXRybyBjYWxjdWxhdGVzIGF2ZXJhZ2Ugd2Vla2RheSB0cmFuc2l0IGJvYXJkaW5ncy5cXG5cXG5Gb3IgdGhlIHBlcmlvZCBvZiAyMDA5LTIwMTQgcmlkZXJzaGlwIG51bWJlcnMgZm9yIFNlYXR0bGUgcm91dGVzICh0aG9zZSB3aXRoIDgwJSBvciBtb3JlIG9mIHRoZWlyIHN0b3BzIHdpdGhpbiB0aGUgY2l0eSBsaW1pdHMpIHdlcmUgYmFzZWQgdXBvbiBlc3RpbWF0ZXMgb2YgbW9yZSByZWNlbnQgcmlkZXJzaGlwIHRyZW5kcyBmb3IgYWxsIHJvdXRlcyB3aGljaCBzZXJ2ZSBTZWF0dGxlIGJ1dCBhcmUgbm90IGNvbnNpZGVyZWQgU2VhdHRsZSByb3V0ZXMuXFxuXFxuU2luY2UgT2N0b2JlciAyMDE1IHJpZGVyc2hpcCBkYXRhIGhhcyBiZWVuIGNhbGN1bGF0ZWQgb24gYSBtb250aGx5IChyYXRoZXIgdGhhbiBzZW1pLWFubnVhbCkgYmFzaXMuXFxuXFxuXCJ9XSxbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoYXQgcHJvZ3Jlc3MgYXJlIHdlIG1ha2luZyB0b3dhcmQgdGhpcyBnb2FsPyoqXFxuXFxuT3ZlciB0aGUgbGFzdCBzZXZlcmFsIHllYXJzLCB0aGUgQ2l0eSBwdXJjaGFzZWQgYWRkaXRpb25hbCB0cmFuc2l0IHNlcnZpY2UgaG91cnMgYmV5b25kIEtpbmcgQ291bnR5IE1ldHJvJ3MgYmFzZSBwcm9ncmFtbWluZyB0byBpbmNyZWFzZSBmcmVxdWVuY3kgb2YgTWV0cm8ncyBzZXJ2aWNlIG9uIGtleSBDaXR5IGJ1cyByb3V0ZXMuIFNlYXR0bGUncyBzdWNjZXNzZnVsIDIwMTQgdHJhbnNpdCBmdW5kaW5nIGJhbGxvdCBtZWFzdXJlIHByb3ZpZGVzIGZ1bmRpbmcgZm9yIGFkZGl0aW9uYWwgYnVzIHNlcnZpY2Ugd2hpY2ggcmVzdG9yZWQgc29tZSBzZXJ2aWNlIE1ldHJvIGhhZCBwcmV2aW91c2x5IGN1dCBhbmQgcHVyY2hhc2VzIGFkZGl0aW9uYWwgbmV3IHNlcnZpY2UgdGhhdCBhbGxvd3MgYnVzIHRyYW5zaXQgdG8gZ3JvdyBpbiBTZWF0dGxlLiBTZWF0dGxlJ3MgaW52ZXN0bWVudCBpbiAyMDE1IGFuZCAyMDE2IGFkZGVkIGFwcHJveGltYXRlbHkgMjY1LDAwMCBhbm51YWwgc2VydmljZSBob3VycyB0byBTZWF0dGxlIHJvdXRlcy4gT2YgdGhvc2UgaG91cnMgaW52ZXN0ZWQsIGFib3V0IDczLDAwMCAoMjglKSB3ZXJlIGFkZGVkIGR1cmluZyBwZWFrIHBlcmlvZCB0byBpbXByb3ZlIHNlcnZpY2UgcXVhbGl0eSBmb3IgcmlkZXJzLCBhZGRyZXNzaW5nIG92ZXJjcm93ZGluZyBhbmQgcmVsaWFiaWxpdHkgbmVlZHMuIEFwcHJveGltYXRlbHkgMTkyLDAwMCAoNzIlKSBhbm51YWwgc2VydmljZSBob3VycyB3ZXJlIGludmVzdGVkIGluIFNlYXR0bGUgcm91dGVzIGluIGxhdGUgMjAxNSBhbmQgZWFybHkgMjAxNiB0byBpbXByb3ZlIG9mZi1wZWFrIGZyZXF1ZW5jeSwgc3BhbiwgYW5kIHNlcnZpY2UgbmVlZHMuIEluIHBhcnQgYmVjYXVzZSBvZiB0aGVzZSBpbnZlc3RtZW50cywgdGhlIHBlcmNlbnQgb2YgaG91c2Vob2xkcyB3aXRoaW4gYSAxMC1taW51dGUgd2FsayBvZiBoaWdoIGZyZXF1ZW5jeSB0cmFuc2l0IG1vcmUgdGhhbiBkb3VibGVkIGZyb20gMjUlIGluIDIwMTUgdG8gNTElIGluIDIwMTYuXFxuXFxuU2VhdHRsZSBhbHNvIG1ha2VzIHN0cmVldCBpbXByb3ZlbWVudHMgdGhhdCBzdXBwb3J0IGJ1cyBzZXJ2aWNlIHNwZWVkIGFuZCByZWxpYWJpbGl0eSwgYW5kIGltcGxlbWVudHMg4oCcY29tcGxldGUgc3RyZWV0c+KAnSBkZXNpZ24gc3RhbmRhcmRzIHRvIG1ha2Ugd2Fsa2luZyBhbmQgYmlraW5nIGNvbm5lY3Rpb25zIHRvIHRyYW5zaXQgc2FmZSBhbmQgaW52aXRpbmcuIFJlYWwtdGltZSB0cmFuc2l0IGluZm9ybWF0aW9uIGtpb3NrcyBhcmUgYmVpbmcgaW5zdGFsbGVkIGluIGhpZ2gtZGVtYW5kIGxvY2F0aW9ucywgd2hpbGUgb24tc3RyZWV0IGRpcmVjdGlvbmFsIHNpZ25hZ2Ugb3Bwb3J0dW5pdGllcyBhcmUgYmVpbmcgY29vcmRpbmF0ZWQgd2l0aCBhcmVhIHRyYW5zaXQgYWdlbmNpZXMgdG8gaW1wcm92ZSB3YXlmaW5kaW5nIGZvciB0cmFuc2l0IHRyYXZlbGVycy5cXG5cXG5BcyBhIHJlc3VsdCBvZiB0aGUgQ2l0eSdzIGludmVzdG1lbnQgaW4gc2VydmljZSBxdWFsaXR5LCBTZWF0dGxlIGhhcyBzZWVuIGEgZHJhbWF0aWMgaW5jcmVhc2UgaW4gY3VzdG9tZXJzJyBzYXRpc2ZhY3Rpb24gd2l0aCB0cmFuc2l0LiBUaGUgMjAxNiBTRE9UIEN1c3RvbWVyIFNhdGlzZmFjdGlvbiBTdXJ2ZXkgaW5jbHVkZWQgdGhlIGZvbGxvd2luZyBmaW5kaW5nczogNDclIG9mIHJlc3BvbmRlbnRzIGZlZWwgdGhhdCBnZXR0aW5nIGFyb3VuZCBTZWF0dGxlIHZpYSBwdWJsaWMgdHJhbnNpdCBoYXMgZ290dGVuIGJldHRlciBvdmVyIHRoZSBwYXN0IGZldyB5ZWFycy4gVGhpcyBpcyBhIDI5JSBpbmNyZWFzZSBmcm9tIHdoZW4gdGhlIHF1ZXN0aW9uIHdhcyBhc2tlZCBpbiAyMDE0LlxcblxcbiBcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyBGT1IgTU9SRSBJTkZPUk1BVElPTjpcXG5cXG4qICoqU0RPVCBUcmFuc2l0IFByb2dyYW06KiogIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L3RyYW5zcG9ydGF0aW9uL3RyYW5zaXQuaHRtXVswXVxcbiogKipTZWF0dGxlIFZvdGVzIHRvIEV4cGFuZHMgTWV0cm8gVHJhbnNpdCBCdXMgU2VydmljZToqKiAgXFxuW2h0dHA6Ly9tdXJyYXkuc2VhdHRsZS5nb3YvbW9yZS1jb252ZW5pZW50LW1vcmUtcmVsaWFibGUtbGVzcy1jcm93ZGVkLW1ham9yLWJvb3N0LWNvbWluZy1mb3ItYnVzLXNlcnZpY2UtaW4tc2VhdHRsZS9dWzFdXFxuKiAqKlNET1QncyBUcmFuc2l0IE1hc3RlciBQbGFuOioqICBcXG5baHR0cDovL3d3dy5zZWF0dGxlLmdvdi90cmFuc3BvcnRhdGlvbi90cmFuc2l0bWFzdGVycGxhbi5odG1dWzJdXFxuKiAqKlByZXNlcnZpbmcgTWV0cm8gVHJhbnNpdCBTZXJ2aWNlIGluIFNlYXR0bGU6KiogIFxcbltodHRwOi8vbXVycmF5LnNlYXR0bGUuZ292L21ldHJvL11bM11cXG4qICoqS2luZyBDb3VudHkgTWV0cm86KiogIFxcbltodHRwOi8vbWV0cm8ua2luZ2NvdW50eS5nb3YvYW0vXVs0XVxcbiogKipLaW5nIENvdW50eSBNZXRybydzIE1vbnRobHkgUmlkZXJzaGlwOioqICBcXG5baHR0cDovL21ldHJvLmtpbmdjb3VudHkuZ292L2FtL3JlcG9ydHMvbW9udGhseS1tZWFzdXJlcy9yaWRlcnNoaXAuaHRtbF1bNV1cXG5cXG5cXG5bMF06IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdHJhbnNwb3J0YXRpb24vdHJhbnNpdC5odG1cXG5bMV06IGh0dHA6Ly9tdXJyYXkuc2VhdHRsZS5nb3YvbW9yZS1jb252ZW5pZW50LW1vcmUtcmVsaWFibGUtbGVzcy1jcm93ZGVkLW1ham9yLWJvb3N0LWNvbWluZy1mb3ItYnVzLXNlcnZpY2UtaW4tc2VhdHRsZS9cXG5bMl06IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdHJhbnNwb3J0YXRpb24vdHJhbnNpdG1hc3RlcnBsYW4uaHRtXFxuWzNdOiBodHRwOi8vbXVycmF5LnNlYXR0bGUuZ292L21ldHJvL1xcbls0XTogaHR0cDovL21ldHJvLmtpbmdjb3VudHkuZ292L2FtL1xcbls1XTogaHR0cDovL21ldHJvLmtpbmdjb3VudHkuZ292L2FtL3JlcG9ydHMvbW9udGhseS1tZWFzdXJlcy9yaWRlcnNoaXAuaHRtbFwifV1dfV0sXCJ1c2VfY3VzdG9tX3RpdGxlXCI6dHJ1ZSxcImN1c3RvbV90aXRsZVwiOlwiTWVhc3VyZSBidXMgcmlkZXJzaGlwIHdpdGhpbiB0aGUgQ2l0eSBvZiBTZWF0dGxlIChpbiBhdmVyYWdlIHdlZWtkYXkgYm9hcmRpbmdzKVwiLFwidXNlX2N1c3RvbV9zdWJ0aXRsZVwiOnRydWUsXCJjdXN0b21fc3VidGl0bGVcIjpcIlRyYWNrIGluLWNpdHkgYnVzIHJpZGVyc2hpcFwiLFwidGl0bGVfaW1hZ2VcIjpcIi9hcGkvYXNzZXRzLzI4NjhFQUExLTBFM0YtNDhGOC05RTYzLUVFRjBGOEMzRDQ5N1wifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIyMDA5LTEyLTMxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMTctMTItMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6ImF2ZXJhZ2Ugd2Vla2RheSBib2FyZGluZ3MiLCJ0YXJnZXRfdHlwZSI6Im5vbmUiLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoieHM0dy0zYzJjIn0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6Ij4ifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAwOX0sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxN30sXCJhY3Rpb25fdHlwZVwiOlwibm9uZVwifSxcImJhc2VsaW5lXCI6e1wic3F1aXNoeVwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX0sXCJlbmRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fX0sXCJzdGFydFwiOlwiMjAxNS0wMS0wMVQwMDowMDowMC4wMDBcIixcImVuZFwiOlwiMjAxNS0wMS0wMVQyMzo1OTo1OS4wMDBcIixcIm1ldHJpY1wiOntcIm1ldGFkYXRhXCI6XCJ7XFxcIndpemFyZFxcXCI6e1xcXCJmaWx0ZXJfYXN0XFxcIjpbe1xcXCJ2YWx1ZXNcXFwiOlt7fV19XX19XCJ9fSxcIm5hbWVcIjpcImluLWNpdHkgYnVzIFJpZGVyc2hpcFwiLFwieVNjYWxlXCI6e1widXNlX2RlZmF1bHRcIjpmYWxzZSxcIm1heFwiOjI1MDAwMCxcIm1pblwiOjEyMDAwMH19In0sImNyZWF0ZWRfYXQiOiIyMDE3LTEwLTMxVDE4OjI0OjAxLjA1NVoiLCJ2ZXJzaW9uIjoiMjAxNy0xMC0zMVQxODoyNDowMS4wNTVaIiwiaWQiOiJ3cjd2LWVraGUifSwicmVsYXRlZF9tZWFzdXJlcyI6W10sImJhc2VfZGFzaGJvYXJkIjoiOHRkZy1ka3dlIiwidXBkYXRlZF9hdCI6IjIwMTctMTEtMjBUMTU6NTA6NTguMzQwWiIsImNyZWF0ZWRfYXQiOiIyMDE3LTEwLTMxVDE4OjI0OjAxLjExNloiLCJ2ZXJzaW9uIjoiMjAxNy0xMS0yMFQxNTo1MDo1OC4zNDBaIiwiY3JlYXRlZF9ieSI6IjVoenAtZHF6eiJ9LHsiaWQiOiI3d2NrLTlld2MiLCJuYW1lIjoiUmVwYWlyIHBvdGhvbGVzIHF1aWNrbHkiLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcImljb25cIjpcIlwiLFwibmFycmF0aXZlXCI6W3tcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoeSBpcyB0aGlzIGdvYWwgaW1wb3J0YW50PyoqXFxuXFxuUG90aG9sZXMgYXJlIHBlcmhhcHMgb25lIG9mIHRoZSBtb3N0IHZpc2libGUgcmVtaW5kZXJzIG9mIHRoZSBoZWFsdGggb2YgYSBjaXR5J3MgbWFqb3Igc3RyZWV0cyBhbmQgbG9jYWwgcm9hZHdheXMuIEl0IGlzIGltcG9ydGFudCB0byBmaXggcG90aG9sZXMgaW4gYSB0aW1lbHkgbWFubmVyIHRvIG1heGltaXplIHJpZGUgc2FmZXR5IGFuZCBzbW9vdGhuZXNzIHdoaWxlIGFsc28gbWluaW1pemluZyBkYW1hZ2UgdG8gdmVoaWNsZXMgYW5kIHRoZSBleGlzdGluZyByb2FkIHN1cmZhY2UuXFxuXFxuUG90aG9sZXMgb2NjdXIgd2hlbiBzdHJlZXQgcGF2ZW1lbnQgY3JhY2tzIGFuZCBicmVha3MgYmVjYXVzZSBvZiB3YXRlciBvciB0cmFmZmljLiBXYXRlciBjYW4gZ2V0IHVuZGVyIHRoZSBwYXZlbWVudCB0aHJvdWdoIGNyYWNrcyBvciBmcm9tIHRoZSBzaWRlIG9mIHRoZSByb2FkLiBPdmVyIHRpbWUsIHRoZSB3YXRlciBjYW4gY2F1c2UgdGhlIG1hdGVyaWFsIHVuZGVyIHRoZSBwYXZlbWVudCB0byBlcm9kZSwgY2F1c2luZyB0aGUgcGF2ZW1lbnQgdG8gc2luayBkb3duIGFuZCBicmVhay4gRHVyaW5nIHRoZSB3aW50ZXIsIHRoZSB3YXRlciB1bmRlciB0aGUgcGF2ZW1lbnQgY2FuIGZyZWV6ZSBhbmQgZXhwYW5kLCBhbmQgdGhlbiB0aGF3IGFuZCBjb250cmFjdC4gVGhpcyBmcmVlemUvdGhhdyBjeWNsZSBjYW4gY2F1c2UgdGhlIHBhdmVtZW50IHRvIGNyYWNrIHNvIHRoYXQgaXQgZGV0ZXJpb3JhdGVzIHF1aWNrbHkgdW5kZXIgdGhlIHdlaWdodCBvZiB0cmFmZmljLCBhbmQgdGhlbiBzdHJlZXRzIGNhbiBzZWVtIHRvIGJyZWFrIG91dCBpbiBwb3Rob2xlcyBvdmVybmlnaHQuXFxuXFxuVHJhZmZpYyB0aGF0IGlzIHRvbyBoZWF2eSBmb3IgdGhlIHBhdmVtZW504oCZcyBkZXNpZ24gY2FuIHJlc3VsdCBpbiBjcmFja3MuIExhcmdlIHZvbHVtZXMgb2YgdHJhZmZpYyBvciBoZWF2eSB0cnVja3MgYW5kIGJ1c2VzIHVzaW5nIGEgc3RyZWV0IG5vdCBkZXNpZ25lZCBmb3IgdGhpcyBsb2FkIGNhbiBjYXVzZSB0aGUgcGF2ZW1lbnQgdG8gY3JhY2sgYW5kIGJyZWFrIGFwYXJ0LlxcblxcblwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqSG93IGRvIHdlIG1lYXN1cmUgdGhpcyBnb2FsPyoqXFxuXFxuU0RPVCBoYXMgcmVwYWlyZWQgYW4gYXZlcmFnZSBvZiAxOCw0NDUgcG90aG9sZXMgcGVyIHllYXIgc2luY2UgMjAxMS4gQXMgY2FuIGJlIHNlZW4gZnJvbSB0aGUgY2hhcnQgYmVsb3cgaG93ZXZlciB0aGUgd29yayB0ZW5kcyB0byB2YXJ5IGZyb20geWVhciB0byB5ZWFyIGFuZCBpcyBsYXJnZWx5IGJhc2VkIG9uIHBhdmVtZW50IGNvbmRpdGlvbiBhbmQgd2VhdGhlciBzZXZlcml0eSAoY29sZGVyIHdpbnRlcnMgdGVuZCB0byBwcm9kdWNlIG1vcmUgcG90aG9sZXMpIGluIGFueSBnaXZlbiB5ZWFyLiBUaGUgYW5udWFsIG51bWJlciBvZiBwb3Rob2xlcyByZXBhaXJlZCBwZXIgeWVhciBoYXMgYmVlbiBpbmNyZWFzaW5nIGFubnVhbGx5IHNpbmNlIDIwMTMgaG93ZXZlciBtb3JlIHBvdGhvbGVzIHdlcmUgcmVwYWlyZWQgaW4gMjAxMSB0aGFuIGFueSB5ZWFyIGluIHJlY2VudCBoaXN0b3J5LlxcblxcblNET1QgdXNlcyBhIHdvcmsgbWFuYWdlbWVudCBkYXRhYmFzZSB0byB0cmFjayB3aGVuIGEgcmVxdWVzdCBpcyByZWNlaXZlZCBhbmQgaG93IGxvbmcgaXQgdGFrZXMgU0RPVCBjcmV3cyB0byByZXBhaXIgYSBwb3Rob2xlLlxcblxcblwifSx7XCJ0eXBlXCI6XCJ2aXpcIixcImRhdGFzZXRcIjpcIm41ZjgtMnM0YlwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzLzkwNDNFRDg1LTVCMjAtNDM2MC1CN0U5LTEyQjk5RTQ2OUUyMFwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqV2hhdCBwcm9ncmVzcyBhcmUgd2UgbWFraW5nIHRvd2FyZHMgdGhpcyBnb2FsPyoqXFxuXFxuQWx0aG91Z2ggcmVwYWlyaW5nIDgwIHBlcmNlbnQgb2YgcmVwb3J0ZWQgcG90aG9sZXMgd2l0aGluIHRocmVlIGJ1c2luZXNzIGRheXMgb2Ygbm90aWZpY2F0aW9uIGlzIGEgdmVyeSBhZ2dyZXNzaXZlIGdvYWwgZm9yIGEgYmlnIGNpdHkgdHJhbnNwb3J0YXRpb24gZGVwYXJ0bWVudCwgU0RPVCByb3V0aW5lbHkgYWNoaWV2ZXMgdGhpcyB0YXJnZXQuXFxuXFxuSW4gZmFjdCwgU0RPVCBoYXMgbWV0IG9yIGV4Y2VlZGVkIHRoaXMgZ29hbCBpbiA2NSBvZiB0aGUgbGFzdCA3MiBtb250aHMgb24gcmVjb3JkIGFuZCBvZnRlbiBleGNlZWRzIDkwIHBlcmNlbnQgb2YgcG90aG9sZXMgcmVwYWlyZWQgd2l0aGluIHRocmVlIGRheXMgb2Ygbm90aWZpY2F0aW9uLlxcblxcblwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjIEZPUiBNT1JFIElORk9STUFUSU9OOlxcblxcbiogKipTRE9UIFBvdGhvbGUgV2ViIFNpdGU6KiogIFxcbmh0dHA6Ly9bd3d3LnNlYXR0bGUuZ292L3RyYW5zcG9ydGF0aW9uL3BvdGhvbGVzL11bMF1cXG4qICoqU0RPVCBQb3Rob2xlIE1hcDoqKiAgXFxuW2h0dHA6Ly93ZWI2LnNlYXR0bGUuZ292L3Nkb3QvcG90aG9sZW1hcC9dWzFdXFxuKiAqKlBvdGhvbGUgYW5kIFN0cmVldCBSZXBhaXIgSG90bGluZToqKiAyMDYtNjg0LVJPQUQgKDc2MjMpXFxuXFxuXFxuWzBdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3RyYW5zcG9ydGF0aW9uL3BvdGhvbGVzL1xcblsxXTogaHR0cDovL3dlYjYuc2VhdHRsZS5nb3Yvc2RvdC9wb3Rob2xlbWFwL1wifV1dfV0sXCJ0aXRsZV9pbWFnZVwiOlwiL2FwaS9hc3NldHMvM0RGQkI5MDgtREJERS00ODI0LTk4ODEtMTUxNzlDQURCMDRFXCIsXCJ1c2VfY3VzdG9tX3RpdGxlXCI6dHJ1ZSxcImN1c3RvbV90aXRsZVwiOlwiUmVwYWlyIDgwIHBlcmNlbnQgb3IgbW9yZSBvZiBwb3Rob2xlcyB3aXRoaW4gdGhyZWUgZGF5cyBvZiBub3RpZmljYXRpb25cIixcInVzZV9jdXN0b21fc3VidGl0bGVcIjp0cnVlLFwiY3VzdG9tX3N1YnRpdGxlXCI6XCJSZXBhaXIgcG90aG9sZXMgcXVpY2tseVwifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIyMDExLTAxLTAxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMTctMTItMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6InBlcmNlbnQgcmVwYWlyZWQgd2l0aGluIHRocmVlIGJ1c2luZXNzIGRheXMgb2Ygbm90aWZpY2F0aW9uIiwidGFyZ2V0X3R5cGUiOiJyZWxhdGl2ZSIsInRhcmdldF9kZWx0YSI6MCwidGFyZ2V0X2RlbHRhX2lzX3BlcmNlbnQiOmZhbHNlLCJiYXNlbGluZSI6ODAsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoieGd0eC0ydXZ0In0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6Ij4ifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDExfSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE3fSxcImFjdGlvbl90eXBlXCI6XCJtYWludGFpblwiLFwibWFpbnRhaW5fdHlwZVwiOlwiPlwifSxcImJhc2VsaW5lXCI6e1wic3F1aXNoeVwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX0sXCJlbmRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fX0sXCJzdGFydFwiOlwiMjAxNS0wMS0wMVQwMDowMDowMC4wMDBcIixcImVuZFwiOlwiMjAxNS0wMS0wMVQyMzo1OTo1OS4wMDBcIixcIm1ldHJpY1wiOntcIm1ldGFkYXRhXCI6XCJ7XFxcIndpemFyZFxcXCI6e1xcXCJmaWx0ZXJfYXN0XFxcIjpbe1xcXCJ2YWx1ZXNcXFwiOlt7fV19XX19XCJ9fSxcIm5hbWVcIjpcIlRoZSBQZXJjZW50YWdlIG9mIFBvdGhvbGVzIFJlcGFpcmVkIFdpdGhpbiAzIERheXNcIixcInlTY2FsZVwiOntcInVzZV9kZWZhdWx0XCI6ZmFsc2UsXCJtaW5cIjowLFwibWF4XCI6MTAwfX0ifSwiY3JlYXRlZF9hdCI6IjIwMTctMTAtMzFUMTg6MzQ6MzkuNDA3WiIsInZlcnNpb24iOiIyMDE3LTEwLTMxVDE4OjM0OjM5LjQwN1oiLCJpZCI6IjhicnctNDNxNyJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiI4dGRnLWRrd2UiLCJ1cGRhdGVkX2F0IjoiMjAxOC0wMi0xNlQxODoxNjo1MC41MzRaIiwiY3JlYXRlZF9hdCI6IjIwMTctMTAtMzFUMTg6MzQ6MzkuNDU2WiIsInZlcnNpb24iOiIyMDE4LTAyLTE2VDE4OjE2OjUwLjUzNFoiLCJjcmVhdGVkX2J5IjoiNWh6cC1kcXp6In1dLCJ2ZXJzaW9uIjoiMjAxNy0xMC0zMVQxODo0Nzo0My40MTRaIn0seyJpZCI6Ijl4aHAtN2lxcCIsIm5hbWUiOiJUcmFuc3BvcnRhdGlvbiBTYWZldHkgYW5kIEFjY291bnRhYmlsaXR5IiwiZ29hbHMiOlt7ImlkIjoiYm01dC1mY2p2IiwibmFtZSI6IkFjaGlldmUgemVybyB0cmFmZmljIGZhdGFsaXRpZXMgYnkgMjAzMCIsImlzX3B1YmxpYyI6dHJ1ZSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJyZXRpcmVtZW50X25hcnJhdGl2ZVwiOltdLFwiaWNvblwiOlwiXCIsXCJuYXJyYXRpdmVcIjpbe1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqV2h5IGlzIHRoaXMgZ29hbCBpbXBvcnRhbnQ/KipcXG5cXG5TZWF0dGxlIGlzIGNvbnNpc3RlbnRseSByZWNvZ25pemVkIGFzIG9uZSBvZiB0aGUgc2FmZXN0IGNpdGllcyBpbiB0aGUgY291bnRyeS4gT3ZlciB0aGUgcGFzdCBkZWNhZGUgd2UndmUgc2VlbiBhIGdlbmVyYWwgZGVjbGluZSBpbiB0cmFmZmljIGZhdGFsaXRpZXMsIGhvd2V2ZXIgZGlzdHJhY3RlZCBkcml2aW5nIGlzIGFuIGVtZXJnaW5nIGNvbmNlcm4gd2hpY2ggaXMgbGFyZ2VseSByZXNwb25zaWJsZSBmb3IgYSByZWNlbnQgdXB0aWNrIGluIGJvdGggZmF0YWxpdGllcyBhbmQgc2VyaW91cyBpbmp1cnkgY29sbGlzaW9ucy4gVHJhZmZpYyBjb2xsaXNpb25zIGFyZSBhIGxlYWRpbmcgY2F1c2Ugb2YgZGVhdGggZm9yIFNlYXR0bGUgcmVzaWRlbnRzIGFnZWQgNS0yNC4gT2xkZXIgYWR1bHRzIGFyZSBhbHNvIGRpc3Byb3BvcnRpb25hdGVseSBhZmZlY3RlZCwgYW5kIGFzIG91ciBwb3B1bGF0aW9uIGFnZXMsIHRoaXMgdHJlbmQgY291bGQgZ3Jvdy4gSW4gMjAxNiwgdGhlcmUgd2VyZSAxNjcgcG9saWNlLXJlcG9ydGVkIHNlcmlvdXMgaW5qdXJ5IGNvbGxpc2lvbnMgaW4gU2VhdHRsZSBhbmQgMjEgZmF0YWxpdGllcyBvY2N1cnJlZC4gVGhpcyBpcyB1bmFjY2VwdGFibGUuXFxuXFxuV2UgY2FuIGRvIGJldHRlci4gQXQgdGhlIGNvcmUgb2YgdGhlIHdvcmxkd2lkZSBWaXNpb24gWmVybyBtb3ZlbWVudCBpcyB0aGUgYmVsaWVmIHRoYXQgZGVhdGggYW5kIGluanVyeSBvbiBjaXR5IHN0cmVldHMgaXMgcHJldmVudGFibGUuIEZvciB0aGUgbW9zdCBwYXJ0LCB0aGVzZSBhcmVuJ3QgXFxcImFjY2lkZW50c1xcXCIuIENvbGxpc2lvbnMgYXJlIG9mdGVuIHRoZSByZXN1bHQgb2YgcG9vciBiZWhhdmlvcnMgYW5kIHVuZm9yZ2l2aW5nIHJvYWR3YXkgZGVzaWducy4gU28gd2UgbXVzdCBhcHByb2FjaCB0aGUgcHJvYmxlbSBmcm9tIG11bHRpcGxlIGFuZ2xlcyDigJQgc3RyZWV0IGRlc2lnbnMgdGhhdCBlbXBoYXNpemUgc2FmZXR5LCBwcmVkaWN0YWJpbGl0eSwgYW5kIHRoZSBwb3RlbnRpYWwgZm9yIGh1bWFuIGVycm9yLCBjb3VwbGVkIHdpdGggdGFyZ2V0ZWQgZWR1Y2F0aW9uIGFuZCBkYXRhLWRyaXZlbiBlbmZvcmNlbWVudC5cXG5cXG5cIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKkhvdyBkbyB3ZSBtZWFzdXJlIHRoaXMgZ29hbD8qKlxcblxcblRoaXMgZ29hbCBpcyBtZWFzdXJlZCBvbiBhbiBhbm51YWwgYmFzaXMgYW5kIHJlcHJlc2VudHMgdGhlIG51bWJlciBvZiBmYXRhbGl0aWVzIHJlc3VsdGluZyBmcm9tIGNvbGxpc2lvbnMgb24gU2VhdHRsZSdzIHN0cmVldHMuIFRoZSBudW1iZXJzIGRvIG5vdCByZWZsZWN0IGluY2lkZW50cyBvbiBsaW1pdGVkIGFjY2VzcyBTdGF0ZSBIaWdod2F5cyBhbmQgSW50ZXJzdGF0ZXMsIGJ1dCBkbyBpbmNsdWRlIGluY2lkZW50cyBvbiB0aGUgQWxhc2thIFdheSBWaWFkdWN0LlxcblxcblwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqV2hhdCBwcm9ncmVzcyBhcmUgd2UgbWFraW5nIHRvd2FyZCB0aGlzIGdvYWw/KipcXG5cXG5UaGUgbmVhciB0ZXJtIHRyZW5kIGZvciB0cmFmZmljLXJlbGF0ZWQgZmF0YWxpdGllcyBhbmQgc2VyaW91cy1pbmp1cnkgY29sbGlzaW9ucyBpbiBTZWF0dGxlIHNob3dlZCBhIHN0ZWFkeSBkZWNyZWFzZSBmcm9tIHRoZSBlYXJseSAyMDAwJ3MgdW50aWwgMjAxNS4gVGhpcyBoYXMgYmVlbiBmb2xsb3dlZCBieSBhIHNsaWdodCB1cHRpY2sgaW4gMjAxNiwgbGFyZ2VseSBkdWUgdG8gaW5jcmVhc2luZyBkaXN0cmFjdGVkIGRyaXZpbmcgKGFuZCBkaXN0cmFjdGVkIHdhbGtpbmcpIGluY2lkZW50cy4gTm90ZSB0aGF0IHRoZSBjaGFydCB0byB0aGUgcmlnaHQgc2hvd3MgdGhpcyB0cmVuZCBhbmQgdXNlcyBhIDUteWVhciByb2xsaW5nIGF2ZXJhZ2UgdG8gbm9ybWFsaXplIHRoZSBlZmZlY3Qgb2YgeWVhciB0byB5ZWFyIHZvbGF0aWxpdHkuXFxuXFxuXCJ9XSxbe1widHlwZVwiOlwiaW1hZ2VcIixcInNyY1wiOlwiL2FwaS9hc3NldHMvMzM1N0YxMTYtQTMyMy00MUM3LUIxODUtQ0M3QzE1NjAxMjJBXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgRk9SIE1PUkUgSU5GT1JNQVRJT046XFxuXFxuKiAqKlNET1QgVHJhZmZpYyBSZXBvcnRzOioqwqAgW2h0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdHJhbnNwb3J0YXRpb24vcmVwb3J0cy5odG1dWzBdXFxuKiAqKlNlYXR0bGUncyBWaXNpb24gWmVybyBQbGFuOioqIFtodHRwOi8vd3d3LnNlYXR0bGUuZ292L3Zpc2lvbnplcm9dWzFdXFxuXFxuWzBdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3RyYW5zcG9ydGF0aW9uL3JlcG9ydHMuaHRtXFxuWzFdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3Zpc2lvbnplcm9cIn0se1widHlwZVwiOlwidml6XCIsXCJkYXRhc2V0XCI6XCI1eGJ4LXl5N3BcIn1dXX1dLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIkFjaGlldmUgemVybyB0cmFmZmljIGZhdGFsaXRpZXMgKHZlaGljbGUsIGJpY3ljbGUsIGFuZCBwZWRlc3RyaWFuKSBieSAyMDMwXCIsXCJ0aXRsZV9pbWFnZVwiOlwiL2FwaS9hc3NldHMvQjc4OTVDMjktNEQ3Ri00M0Y2LThDOTQtRjJDMDYzODE5QzAxXCIsXCJ1c2VfY3VzdG9tX3N1YnRpdGxlXCI6dHJ1ZSxcImN1c3RvbV9zdWJ0aXRsZVwiOlwiUmVkdWNlIGZhdGFsIHZlaGljbGUsIGJpY3ljbGUsIGFuZCBwZWRlc3RyaWFuIGNvbGxpc2lvbnNcIn0ifSwicHJldmFpbGluZ19tZWFzdXJlIjp7InN0YXJ0IjoiMjAwNi0wMS0wMVQwMDowMDowMC4wMDAiLCJlbmQiOiIyMDMwLTEyLTMxVDIzOjU5OjU5LjAwMCIsInVuaXQiOiIoNS15ZWFyIHJvbGxpbmcgYXZlcmFnZSBvZiBmYXRhbGl0aWVzIGFubnVhbGx5KSIsInRhcmdldCI6MCwidGFyZ2V0X3R5cGUiOiJhYnNvbHV0ZSIsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiI4M2F1LXQ4aXUifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPCJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMDZ9LFwiZW5kXCI6e1wiZGF0ZVwiOlwiZW5kXCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMzB9LFwiYWN0aW9uX3R5cGVcIjpcInJlZHVjZVwifSxcImJhc2VsaW5lXCI6e1wic3F1aXNoeVwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX0sXCJlbmRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fX0sXCJzdGFydFwiOlwiMjAxNS0wMS0wMVQwMDowMDowMC4wMDBcIixcImVuZFwiOlwiMjAxNS0wMS0wMVQyMzo1OTo1OS4wMDBcIixcIm1ldHJpY1wiOntcIm1ldGFkYXRhXCI6XCJ7XFxcIndpemFyZFxcXCI6e1xcXCJmaWx0ZXJfYXN0XFxcIjpbe1xcXCJ2YWx1ZXNcXFwiOlt7fV19XX19XCJ9fSxcIm5hbWVcIjpcInZlaGljbGUsIGJpY3ljbGUgJiBwZWRlc3RyaWFuIHRyYWZmaWMgZmF0YWxpdGllc1wifSJ9LCJjcmVhdGVkX2F0IjoiMjAxNy0xMC0zMVQxODozOToyNS41MDJaIiwidmVyc2lvbiI6IjIwMTctMTAtMzFUMTg6Mzk6MjUuNTAyWiIsInRhcmdldF90b2xlcmFuY2UiOjUsImlkIjoiamJzZS1zdDh0In0sInJlbGF0ZWRfbWVhc3VyZXMiOltdLCJiYXNlX2Rhc2hib2FyZCI6Ijh0ZGctZGt3ZSIsInVwZGF0ZWRfYXQiOiIyMDE3LTExLTIwVDE2OjAyOjE5LjUyNloiLCJjcmVhdGVkX2F0IjoiMjAxNy0xMC0zMVQxODozOToyNS41NzJaIiwidmVyc2lvbiI6IjIwMTctMTEtMjBUMTY6MDI6MTkuNTI2WiIsImNyZWF0ZWRfYnkiOiI1aHpwLWRxenoifSx7ImlkIjoiZTV3NC16czJyIiwibmFtZSI6IlJlZHVjZSBlbXBsb3llZSBpbGxuZXNzIGFuZCBpbmp1cnkgcmF0ZXMiLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcImljb25cIjpcIlwiLFwibmFycmF0aXZlXCI6W3tcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoeSBpcyB0aGlzIGdvYWwgaW1wb3J0YW50PyoqXFxuXFxuVGhlIGJlbmVmaXRzIG9mIG1haW50YWluaW5nIGEgc2FmZSB3b3JrIGVudmlyb25tZW50IGFyZSBtYW55LCBidXQgZmlyc3QgYW5kIGZvcmVtb3N0LCBzYWZldHkgaXMgYWJvdXQgcHJvdGVjdGluZyB3b3JrZXJzLiBCdXQgdGhlIHByYWN0aWNlIG9mIHNhZmV0eSBhbHNvIG1ha2VzIGdvb2QgZmluYW5jaWFsIHNlbnNlLiBBIHNhZmUgd29yayBlbnZpcm9ubWVudCBpbXBhY3RzIGFuIG9yZ2FuaXphdGlvbidzIGJvdHRvbSBsaW5lIGJvdGggZGlyZWN0bHkgYW5kIGluZGlyZWN0bHkuIENvc3RzIGFzc29jaWF0ZWQgd2l0aCBpbmNpZGVudHMsIGluY2x1ZGluZyBsb3N0IGNvc3RzLCB3b3JrZXIncyBjb3N0IGNsYWltcywgaW5zdXJhbmNlIGNvc3RzLCBhbmQgbGVnYWwgZmVlcyBhcmUgbWluaW1pemVkIGluIGEgc2FmZSB3b3JrIGVudmlyb25tZW50LiBTbyBhcmUgdGhlIGluZGlyZWN0IGNvc3RzIHRoYXQgZm9sbG93IGluY2lkZW50cywgaW5jbHVkaW5nIHRoZSBsb3N0IHByb2R1Y3Rpdml0eSB0aGF0IG9jY3VycyB3aGVuIHBlb3BsZSB0dXJuIHRoZWlyIGF0dGVudGlvbiB0byBkZWFsaW5nIHdpdGggYW4gaW5jaWRlbnQuXFxuXFxuT24gdGhlIGZsaXAgc2lkZSwgYSBzYWZlIHdvcmsgZW52aXJvbm1lbnQgYm9vc3RzIGVtcGxveWVlIG1vcmFsZSwgd2hpY2gsIGluIHR1cm4sIGluY3JlYXNlcyBwcm9kdWN0aXZpdHksIGVmZmljaWVuY3ksIGFuZCBkZWNyZWFzZXMgY29zdHMuIFRoZSBwb3NpdGl2ZSBiZW5lZml0cyBvZiBzYWZldHkgb2Z0ZW4gZXh0ZW5kIGJleW9uZCBmaW5hbmNpYWxzLiBXaGlsZSBTRE9UIGhhcyByZWNlbnRseSBwZXJmb3JtZWQgdmVyeSB3ZWxsIGluIHJlZ2FyZHMgdG8gZW1wbG95ZWUgc2FmZXR5LCBvdXIgZ29hbCBpcyB0byBjb25zaXN0ZW50bHkgaW1wcm92ZS5cXG5cXG5cIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKkhvdyBkbyB3ZSBtZWFzdXJlIHRoaXMgZ29hbD8qKlxcblxcblRoZSBudW1iZXIgb2YgcmVjb3JkYWJsZSB3b3JrLXJlbGF0ZWQgaW5qdXJpZXMgYW5kIGlsbG5lc3NlcyBwZXIgMTAwIGZ1bGwtdGltZSBlbXBsb3llZXMgcGVyIHllYXIgaXMgYSBjb21tb25seSB1c2VkIE9TSEEgaW5kdXN0cnkgc3RhbmRhcmQgdG8gbWVhc3VyZSB3b3JrcGxhY2Ugc2FmZXR5IGFjcm9zcyB2YXJpb3VzIGluZHVzdHJpZXMuIFRoaXMgcGFydGljdWxhciBtZWFzdXJlIGlzIGtub3duIGFzIHRoZSBGcmVxdWVuY3kgUmF0ZSAoYW5kIGFsc28ga25vd24gYXMgSW5jaWRlbnQgUmF0ZSkuIFRoZSBleGFjdCBjYWxjdWxhdGlvbiBtZXRob2RvbG9neSBjYW4gYmUgZm91bmQgYXQgdGhlIEJ1cmVhdSBvZiBMYWJvciBTdGF0aXN0aWNzIHdlYnNpdGUgbGlzdGVkIGF0IHJpZ2h0LlxcblxcbkRhdGEgaXMgdXBkYXRlZCBhbm51YWxseS5cXG5cXG5cIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoYXQgcHJvZ3Jlc3MgYXJlIHdlIG1ha2luZyB0b3dhcmQgdGhpcyBnb2FsPyoqXFxuXFxuU0RPVCBoYXMgbWV0IHRoZSB0YXJnZXQgZ29hbCBvZiBmZXdlciB0aGFuIGVpZ2h0IHJlY29yZGFibGUgd29yay1yZWxhdGVkIGluanVyaWVzIGFuZCBpbGxuZXNzZXMgcGVyIDEwMCBmdWxsLXRpbWUgZW1wbG95ZWVzIHBlciB5ZWFyIGluIGVhY2ggb2YgdGhlIGxhc3QgdGhyZWUgZnVsbCBjYWxlbmRhciB5ZWFycyAoMjAxNCB0aHJ1IDIwMTYpLlxcblxcblwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzLzNGMDFGQTQ5LTVFMDYtNDQ0NC04QUJGLUI3OEQwNUU2QTNERVwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjIEZPUiBNT1JFIElORk9STUFUSU9OOlxcblxcbiogKipNZXRob2RvbG9neSB0byBDYWxjdWxhdGUgSW5qdXJ5L0lsbG5lc3MgSW5jaWRlbmNlIFJhdGVzOioqICBcXG5baHR0cDovL3d3dy5ibHMuZ292L2lpZi9vc2hldmFsLmh0bV1bMF1cXG5cXG5cXG5bMF06IGh0dHA6Ly93d3cuYmxzLmdvdi9paWYvb3NoZXZhbC5odG1cIn1dXX1dLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIk1haW50YWluIHdvcmstcmVsYXRlZCBpbmp1cnkgYW5kIGlsbG5lc3MgcmF0ZXMgYXQgZmV3ZXIgdGhhbiBlaWdodCBwZXIgMTAwIGZ1bGwtdGltZSBTRE9UIGVtcGxveWVlcyBwZXIgeWVhclwiLFwidXNlX2N1c3RvbV9zdWJ0aXRsZVwiOnRydWUsXCJjdXN0b21fc3VidGl0bGVcIjpcIlJlZHVjZSBTRE9UIGVtcGxveWVlIGluanVyeSBhbmQgaWxsbmVzcyByYXRlc1wiLFwidGl0bGVfaW1hZ2VcIjpcIi9hcGkvYXNzZXRzLzgxMzhEMUEwLTk5MTktNDlFMC1BQUFCLUYyNzkyNEM5QzNDMlwifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIyMDAzLTEyLTMxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMTctMTItMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6IndvcmstcmVsYXRlZCBldmVudHMgcGVyIDEwMCBTRE9UIGVtcGxveWVlcyIsInRhcmdldF90eXBlIjoicmVsYXRpdmUiLCJ0YXJnZXRfZGVsdGEiOjAsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwiYmFzZWxpbmUiOjgsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoiOGkzcy15cGVtIn0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6IjwifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAwM30sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxN30sXCJhY3Rpb25fdHlwZVwiOlwibWFpbnRhaW5cIixcIm1haW50YWluX3R5cGVcIjpcIjxcIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX19LFwic3RhcnRcIjpcIjIwMTUtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTUtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJOdW1iZXIgb2YgUmVjb3JkYWJsZSBXb3JrLVJlbGF0ZWQgSW5qdXJpZXMgLyBJbGxuZXNzZXNcIixcInlTY2FsZVwiOntcInVzZV9kZWZhdWx0XCI6ZmFsc2UsXCJtaW5cIjoyLFwibWF4XCI6MjV9fSJ9LCJ1cGRhdGVkX2F0IjoiMjAxOC0wMS0yNlQyMzoxODo1MC4zMDZaIiwiY3JlYXRlZF9hdCI6IjIwMTctMTAtMzFUMTg6NDA6MTEuNzE3WiIsInZlcnNpb24iOiIyMDE4LTAxLTI2VDIzOjE4OjUwLjMwNloiLCJ0YXJnZXRfdG9sZXJhbmNlIjozLCJpZCI6InhqOXEtc2lqZCJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiI4dGRnLWRrd2UiLCJ1cGRhdGVkX2F0IjoiMjAxOC0wMi0xNlQxODoyNjozNy4zMjNaIiwiY3JlYXRlZF9hdCI6IjIwMTctMTAtMzFUMTg6NDA6MTEuNzY5WiIsInZlcnNpb24iOiIyMDE4LTAyLTE2VDE4OjI2OjM3LjMyM1oiLCJjcmVhdGVkX2J5IjoiNWh6cC1kcXp6In0seyJpZCI6IjRrc3Ita3hzcSIsIm5hbWUiOiJNYWludGFpbiBIaWdoIEN1c3RvbWVyIFJhdGluZyIsImlzX3B1YmxpYyI6dHJ1ZSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJyZXRpcmVtZW50X25hcnJhdGl2ZVwiOltdLFwibmFycmF0aXZlXCI6W3tcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoeSBpcyB0aGlzIGdvYWwgaW1wb3J0YW50PyoqXFxuXFxuVGhlIFNlYXR0bGUgRGVwYXJ0bWVudCBvZiBUcmFuc3BvcnRhdGlvbiAoU0RPVCkgdmFsdWVzIGN1c3RvbWVyIGlucHV0IHJlbGF0ZWQgdG8gc2VydmljZXMgdGhhdCBpdCBwcm92aWRlcyBhbmQgY3VzdG9tZXIgc2F0aXNmYWN0aW9uIHN1cnZleXMgb2ZmZXIgZmVlZGJhY2sgd2hpY2ggY2FuIGJlIHVzZWQgdG8gaW5jcmVhc2UgcGVyZm9ybWFuY2UuIFN1Y2ggc3VydmV5cyBhbHNvIHByb3ZpZGUgaW5mb3JtYXRpb24gb24gdGhlIGRlZ3JlZSB0byB3aGljaCB0aGUgZGVwYXJ0bWVudCBpcyBtZWV0aW5nIHRoZSBuZWVkcyBvZiByZXNpZGVudHMgb24gYSB2YXJpZXR5IG9mIGltcG9ydGFudCB0b3BpY3MuXFxuXFxuIFwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqSG93IGRvIHdlIG1lYXN1cmUgdGhpcyBnb2FsPyoqXFxuXFxuSW4gbGF0ZSAyMDE0IFNET1QgcGVyZm9ybWVkIGl0cyBmaXJzdCBicm9hZCBjdXN0b21lciBzYXRpc2ZhY3Rpb24gc3VydmV5IHNpbmNlIDIwMDMuIFRoZSBkZXBhcnRtZW50IGhhcyBmb2xsb3dlZCB0aGlzIHVwIHdpdGggYSBzaW1pbGFyIHN1cnZleSBpbiAyMDE2IGFuZCBwbGFucyB0byByZXBlYXQgdGhlIHN1cnZleSBwcm9jZXNzIGV2ZXJ5IHR3byB5ZWFycyBtb3ZpbmcgZm9yd2FyZC4gQ3VycmVudGx5IHRoZSBtb3N0IGNvc3QgZWZmZWN0aXZlIHdheSB0byBhY2hpZXZlIHN0YXRpc3RpY2FsbHkgdmFsaWQgc3VydmV5IHJlc3VsdHMgaXMgdmlhIG1haWwgYW5kIOKAnG9wdCBpbuKAnSBvbmxpbmUgc3VydmV5cy4gSW4gYm90aCAyMDE0IGFuZCAyMDE2IFNET1QgbWFpbGVkIDEwLDAwMCBzdXJ2ZXlzIHRvIHJhbmRvbWx5IHNlbGVjdGVkIHJlc2lkZW50cy4gVGhvc2Ugd2hvIHJlY2VpdmVkIG1haWxlcnMgd2VyZSBhbHNvIGVuY291cmFnZWQgdG8g4oCcb3B0IGlu4oCdIHRvIGFuIG9ubGluZSB2ZXJzaW9uIG9mIHRoZSBzdXJ2ZXkgaW4gbGlldSBvZiByZXBseWluZyB0byB0aGUgbWFpbGVyLiBTZXBhcmF0ZSBmb2xsb3ctdXAgdGVsZXBob25lIGludGVydmlld3Mgd2VyZSBhbHNvIHBlcmZvcm1lZCBpbiBTcGFuaXNoLCBNYW5kYXJpbiwgYW5kIFZpZXRuYW1lc2UgZm9yIGEgc3Vic2V0IG9mIG5vbi1uYXRpdmUgRW5nbGlzaCBzcGVha2Vycy4gSW4gYm90aCAyMDE0IGFuZCAyMDE2IGEgcmVzcG9uc2UgcmF0ZSBpbiBleGNlc3Mgb2YgMjAlIHdhcyBhY2hpZXZlZCwgY29uc2lkZXJlZCBhbiBleGNlbGxlbnQgcmVzdWx0IGJ5IGN1cnJlbnQgc3VydmV5IHN0YW5kYXJkcy5cXG5cXG5cIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoYXQgcHJvZ3Jlc3MgYXJlIHdlIG1ha2luZyB0b3dhcmRzIHRoaXMgZ29hbD8qKlxcblxcbkN1c3RvbWVyIHNhdGlzZmFjdGlvbiBzdXJ2ZXkgcmVzdWx0cyBhcmUgdXNlZCB0byBpZGVudGlmeSBhcmVhcyBvZiBzdHJvbmdlc3QgbmVlZCB0byBhbGxvY2F0ZSByZXNvdXJjZXMgKGkuZS4gYnVkZ2V0LCBzdGFmZiwgZXRjLikgaW4gbGluZSB3aXRoIHRoZSBvcGluaW9ucyBvZiBjdXN0b21lcnMuIFRoZSBiYXIgY2hhcnQgYmVsb3cgY29tcGFyZXMgaW1wb3J0YW5jZSB2YWx1ZSByZXN1bHRzIGZvciB0aGUgMjAxNCBhbmQgMjAxNiBzdXJ2ZXlzLiBJdCBzaG91bGQgYmUgbm90ZWQgdGhhdCBzdWJzdGFudGlhbCBmdW5kaW5nIGZyb20gdGhlIHJlY2VudGx5IHBhc3NlZCBMZXZ5IHRvIE1vdmUgU2VhdHRsZSB3YXMgZGVkaWNhdGVkIHRvIHRoZSB0b3AgdHdvIGl0ZW1zLCBcXFwiUmVwYWlyL21haW50YWluIHJvYWRzICYgYnJpZGdlc1xcXCIgYW5kIFxcXCJJbXByb3ZlIHRyYWZmaWMgZmxvdy9yZWR1Y2UgY29uZ2VzdGlvblxcXCIgYWZ0ZXIgdGFraW5nIGludG8gYWNjb3VudCBmZWVkYmFjayByZWNlaXZlZCBmcm9tIGN1c3RvbWVycyBpbiBhIHZhcmlldHkgb2YgdmVudWVzLlxcblxcbkFsc28sIG5vdGUgdGhhdCBhZGRpbmcgbW9yZSBidXNlcywgaW1wcm92aW5nIG1hc3MgdHJhbnNpdCwgYW5kIGltcHJvdmluZyBsaWdodCByYWlsIGFsbCByYW5rIGhpZ2ggaW4gaW1wb3J0YW5jZSB3aXRoIG91ciBjdXN0b21lcnMgaW4gYm90aCBzdXJ2ZXlzLiBUaGUgcGFzc2FnZSBvZiBQcm9wb3NpdGlvbiAxIGluIDIwMTQgKGZ1bmRpbmcgZW5oYW5jZWQgYnVzIHNlcnZpY2UpIGFzIHdlbGwgYXMgdGhlIGFmb3JlbWVudGlvbmVkIExldnkgdG8gTW92ZSBTZWF0dGxlIGluIGxhdGUgMjAxNSAoZnVuZGluZyBjb25nZXN0aW9uIHJlbGllZiwgc2FmZXR5LCBhbmQgcHJlc2VydmF0aW9uIHByb2plY3RzKSBoYXMgc3Vic3RhbnRpYWxseSBtb3ZlZCB0aGUgbmVlZGxlIGluIGEgcG9zaXRpdmUgZGlyZWN0aW9uIGZvciBzYXRpc2ZhY3Rpb24gd2l0aCBwdWJsaWMgdHJhbnNwb3J0YXRpb24uIEFzIHRoZSBsaW5lIGNoYXJ0IHRvIHRoZSByaWdodCBzaG93cywgd2Ugc2VlIGFuIGFsbW9zdCB1bnByZWNlZGVudGVkIDI3JSBpbmNyZWFzZSBpbiB0aGUgcGVyY2VudGFnZSBvZiBzdXJ2ZXkgcmVzcG9uZGVudHMgd2hvIGZlZWwgdGhhdCBcXFwiZ2V0dGluZyBhcm91bmQgU2VhdHRsZSBhcyBhIHdob2xlIGJ5IHB1YmxpYyB0cmFuc3BvcnRhdGlvbiBoYXMgZ290dGVuIGJldHRlclxcXCIgYmV0d2VlbiB0aGUgMjAxNCBhbmQgMjAxNiBzYXRpc2ZhY3Rpb24gc3VydmV5cy5cXG5cXG5cIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKlN1cnZleSBSZXNwb25kZW50cyBXb3VsZCBMaWtlIFNET1QgdG8gRm9jdXMgb24gdGhlIFNhbWUgSW1wcm92ZW1lbnRzIGluIDIwMTYgYXMgaW4gMjAxNCoqXFxuXFxuXCJ9LHtcInR5cGVcIjpcInZpelwiLFwiZGF0YXNldFwiOlwiNTZyZy1peDU5XCJ9XSxbe1widHlwZVwiOlwiaW1hZ2VcIixcInNyY1wiOlwiL2FwaS9hc3NldHMvQjQzNjQ2MTAtMjA2RC00Q0IyLTlDNjgtMzQzNkZGMkI2NkM2XCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipUcmVuZHMgZnJvbSAyMDE0IHRvIDIwMTYgU2hvdyB0aGF0IFN1cnZleSBSZXNwb25kZW50cyBDb250aW51ZSB0byBiZSBTaW1pbGFybHkgU2F0aXNmaWVkIHdpdGggU0RPVCBTZXJ2aWNlcyBpbiBHZW5lcmFsKipcXG5cXG5cIn0se1widHlwZVwiOlwidml6XCIsXCJkYXRhc2V0XCI6XCJtOHhrLWh0N2RcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyBTdXJ2ZXkgUmVzcG9uZGVudHMgVGhpbmsgdGhhdCBHZXR0aW5nIEFyb3VuZCBTZWF0dGxlIGJ5IFB1YmxpYyBUcmFuc3BvcnRhdGlvbiBpcyBHZXR0aW5nIEJldHRlclxcblxcblwifSx7XCJ0eXBlXCI6XCJ2aXpcIixcImRhdGFzZXRcIjpcIjd3Y3ItamE1blwifV1dfV0sXCJ1c2VfY3VzdG9tX3RpdGxlXCI6dHJ1ZSxcImN1c3RvbV90aXRsZVwiOlwiNzAlIG9mIFNlYXR0bGUgcmVzaWRlbnRzIGFyZSBcXFwic2F0aXNmaWVkXFxcIiB0byBcXFwiZXh0cmVtZWx5IHNhdGlzZmllZFxcXCIgd2l0aCBTRE9UJ3Mgc2VydmljZXNcIixcInVzZV9jdXN0b21fc3VidGl0bGVcIjp0cnVlLFwiY3VzdG9tX3N1YnRpdGxlXCI6XCJUaGlzIGdvYWwgaXMgbWVhc3VyZWQgYnkgdHJhY2tpbmcgdGhlICUgb2YgU2VhdHRsZSByZXNpZGVudHMgd2hvIGFyZSBcXFwic2F0aXNmaWVkXFxcIiB0byBcXFwiZXh0cmVtZWx5IHNhdGlzZmllZFxcXCIgd2l0aCBTRE9UJ3Mgc2VydmljZXNcIn0ifSwicHJldmFpbGluZ19tZWFzdXJlIjp7InN0YXJ0IjoiMjAwMy0wMS0wMVQwMDowMDowMC4wMDAiLCJlbmQiOiIyMDE3LTEyLTMxVDIzOjU5OjU5LjAwMCIsInVuaXQiOiIoJSBvZiBzdXJ2ZXkgcmVzcG9uZGVudHMgd2hvIGFyZSBcInNhdGlzZmllZFwiIG9yIFwiZXh0cmVtZWx5IHNhdGlzZmllZFwiIHdpdGggU0RPVCkiLCJ0YXJnZXQiOjcwLCJ0YXJnZXRfdHlwZSI6ImFic29sdXRlIiwidGFyZ2V0X2RlbHRhIjowLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsImJhc2VsaW5lIjo3MCwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiI5M2VwLXY4aXgifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPiJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMDN9LFwiZW5kXCI6e1wiZGF0ZVwiOlwiZW5kXCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTd9LFwiYWN0aW9uX3R5cGVcIjpcImluY3JlYXNlXCIsXCJtYWludGFpbl90eXBlXCI6XCI+XCJ9LFwiYmFzZWxpbmVcIjp7XCJzcXVpc2h5XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fSxcImVuZFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9fSxcInN0YXJ0XCI6XCIyMDE1LTAxLTAxVDAwOjAwOjAwLjAwMFwiLFwiZW5kXCI6XCIyMDE1LTAxLTAxVDIzOjU5OjU5LjAwMFwiLFwibWV0cmljXCI6e1wibWV0YWRhdGFcIjpcIntcXFwid2l6YXJkXFxcIjp7XFxcImZpbHRlcl9hc3RcXFwiOlt7XFxcInZhbHVlc1xcXCI6W3t9XX1dfX1cIn19LFwibmFtZVwiOlwiY3VzdG9tZXIgc2F0aXNmYWN0aW9uIHJhdGluZ1wiLFwieVNjYWxlXCI6e1widXNlX2RlZmF1bHRcIjpmYWxzZSxcIm1heFwiOjgwLFwibWluXCI6NDB9fSJ9LCJ1cGRhdGVkX2F0IjoiMjAxOC0wMi0xNlQxODoyODowMy4yMTVaIiwiY3JlYXRlZF9hdCI6IjIwMTctMTAtMzFUMTg6NDI6NDMuNTE0WiIsInZlcnNpb24iOiIyMDE4LTAyLTE2VDE4OjI4OjAzLjIxNVoiLCJ0YXJnZXRfdG9sZXJhbmNlIjozLCJpZCI6InhhcTUtN3F0diJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiI4dGRnLWRrd2UiLCJ1cGRhdGVkX2F0IjoiMjAxOC0wMi0xNlQxODoyODowMy42MjdaIiwiY3JlYXRlZF9hdCI6IjIwMTctMTAtMzFUMTg6NDI6NDMuNTYyWiIsInZlcnNpb24iOiIyMDE4LTAyLTE2VDE4OjI4OjAzLjYyN1oiLCJjcmVhdGVkX2J5IjoiNWh6cC1kcXp6In0seyJpZCI6ImhtM20tZmNuNSIsIm5hbWUiOiJEZWxpdmVyIFByb2plY3RzIEVmZmljaWVudGx5IiwiaXNfcHVibGljIjp0cnVlLCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcInJldGlyZW1lbnRfbmFycmF0aXZlXCI6W10sXCJuYXJyYXRpdmVcIjpbe1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqV2h5IGlzIHRoaXMgZ29hbCBpbXBvcnRhbnQ/KipcXG5cXG5UaGUgU2VhdHRsZSBEZXBhcnRtZW50IG9mIFRyYW5zcG9ydGF0aW9uIChTRE9UKSBpcyBjb21taXR0ZWQgdG8gZWZmZWN0aXZlbHkgYW5kIGVmZmljaWVudGx5IG1hbmFnaW5nIGl0cyB0cmFuc3BvcnRhdGlvbiBwcm9qZWN0cyBmcm9tIGluaXRpYXRpb24gdGhyb3VnaCBmaW5hbCBjb25zdHJ1Y3Rpb24uIFNET1QgY29udGludW91c2x5IHNlZWtzIHRvIGltcHJvdmUsIHVwZGF0ZSwgYW5kIHN0cmVhbWxpbmUgZGVzaWduIGFuZCBwcm9qZWN0IG1hbmFnZW1lbnQgcHJvY2Vzc2VzIHRvIGVuc3VyZSBoaWdoIHF1YWxpdHkgZGVsaXZlcnkuIFNldHRpbmcgYW5kIHRyYWNraW5nIGEgZ29hbCBvZiBkZWxpdmVyaW5nIGEgbWluaW11bSBvZiA5MCUgb2YgcHJvamVjdHMgb24gc2NoZWR1bGUgYW5kIG9uIGJ1ZGdldCBlbnN1cmVzIHRoYXQgdGhpcyBpcyBhbHdheXMgYXQgdGhlIGZvcmVmcm9udC4gQWNoaWV2aW5nIHRoaXMgZ29hbCB0cmFuc2xhdGVzIHRvIG1vcmUgcHJlZGljdGFibGUgb3ZlcmFsbCBidWRnZXRpbmcgYXMgd2VsbCBhcyBtb3JlIGFjY291bnRhYmxlIGFuZCB0cmFuc3BhcmVudCByZXN1bHRzLlxcblxcblwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqSG93IGRvIHdlIG1lYXN1cmUgdGhpcyBnb2FsPyoqXFxuXFxuU0RPVCBkZXZlbG9wcyBwcm9qZWN0LXNwZWNpZmljIHNjb3BlcyBvZiB3b3JrIGJhc2VkIG9uIHRhc2sgYnJlYWtkb3ducywgY29uc2lzdGVudCBhbmQgcmlnb3JvdXMgY29zdCBlc3RpbWF0aW5nLCBhbmQgYXNzZXNzbWVudCBvZiBwcm9qZWN0IHJpc2tzLiBQcm9qZWN0cyBhcmUgdHlwaWNhbGx5IHRyYWNrZWQgb24gYSBtb250aGx5IGJhc2lzIGZvciBzY2hlZHVsZSBhbmQgYnVkZ2V0IHByb2dyZXNzLiBBZ2dyZWdhdGUgcHJvZ3Jlc3MgZm9yIGFsbCBwcm9qZWN0cyB3aXRoIGVzdGltYXRlZCBjb3N0cyBncmVhdGVyIHRoYW4gJDUwMGsgaXMgdXBkYXRlZCBtb250aGx5IGFuZCBhdmFpbGFibGUgdG8gdGhlIHB1YmxpYyB2aWEgU0RPVOKAmXMgW0NhcGl0YWwgUHJvamVjdHMgRGFzaGJvYXJkXVswXS4gU2hvdWxkIGNoYW5nZXMgaW4gc2NvcGUgb2NjdXIgZm9yIGEgc3BlY2lmaWMgcHJvamVjdCwgdGhlIOKAnGJhc2VsaW5l4oCdIGZvciB0aGUgcHJvamVjdCBpbiBxdWVzdGlvbiBpcyByZS1zZXQgc28gdGhhdCBzY2hlZHVsZSBhbmQgYnVkZ2V0IGNhbiBjb250aW51ZSB0byBiZSB0cmFja2VkIGFjY29yZGluZ2x5LlxcblxcblswXTogaHR0cHM6Ly9jYXBpdGFscHJvamVjdHMuc2VhdHRsZS5nb3ZcIn1dLFt7XCJ0eXBlXCI6XCJpbWFnZVwiLFwic3JjXCI6XCIvYXBpL2Fzc2V0cy9BNTZCMDNDRC04RDcxLTQyRjktOEM5MS1EN0NBNTBBRjdDQjhcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiRk9SIE1PUkUgSU5GT1JNQVRJT046XFxuXFxuU0RPVCdzIENhcGl0YWwgUHJvamVjdHMgRGFzaGJvYXJkOiBbaHR0cHM6Ly9jYXBpdGFscHJvamVjdHMuc2VhdHRsZS5nb3YvIy9dWzBdXFxuXFxuXFxuXFxuWzBdOiBodHRwczovL2NhcGl0YWxwcm9qZWN0cy5zZWF0dGxlLmdvdi8jL1wifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqV2hhdCBwcm9ncmVzcyBhcmUgd2UgbWFraW5nIHRvd2FyZHMgdGhpcyBnb2FsPyoqXFxuXFxuVGhpcyBpcyBhIG5ldyBwZXJmb3JtYW5jZSBtZWFzdXJlIGZvciBTRE9UIGFuZCB0aGUgYm9keSBvZiBwcm9qZWN0cyB3aGljaCB3ZSBhcmUgbWVhc3VyaW5nIGNvbnRpbnVlcyB0byBncm93LiBTbyBmYXIgU0RPVCBoYXMgY29uc2lzdGVudGx5IGV4Y2VlZGVkIGl0cyB0YXJnZXQgb2YgOTAlIG9mIHByb2plY3RzIGRlbGl2ZXJlZCBvbiBzY2hlZHVsZSBhbmQgYnVkZ2V0LiBBcyB0aGUgbnVtYmVyIG9mIHByb2plY3RzIHdoaWNoIGNhbiBiZSBlZmZlY3RpdmVseSBtZWFzdXJlZCBmb3Igc2NoZWR1bGUgYW5kIGJ1ZGdldCBncm93cyB0aGlzIG1lYXN1cmUgd2lsbCBtb3JlIGFjY3VyYXRlbHkgcmVmbGVjdCB0aGUgb3ZlcmFsbCBib2R5IG9mIFNET1TigJlzIGNhcGl0YWwgd29yayBsb2FkLlxcblxcblwifV1dfV0sXCJ1c2VfY3VzdG9tX3RpdGxlXCI6dHJ1ZSxcImN1c3RvbV90aXRsZVwiOlwiOTAlIG9yIG1vcmUgb2YgY2FwaXRhbCBwcm9qZWN0cyBhcmUgZGVsaXZlcmVkIG9uIHRpbWUgYW5kIG9uIGJ1ZGdldFwiLFwidXNlX2N1c3RvbV9zdWJ0aXRsZVwiOnRydWUsXCJjdXN0b21fc3VidGl0bGVcIjpcIlRoaXMgZ29hbCBpcyBtZWFzdXJlZCBieSB0cmFja2luZyB0aGUgJSBvZiBjdXJyZW50IGxhcmdlIGNhcGl0YWwgcHJvamVjdHMgKGdyZWF0ZXIgdGhhbiAkNTAwaykgZGVsaXZlcmVkIG9uIHRpbWUgYW5kIG9uIGJ1ZGdldFwifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIyMDE2LTAxLTAxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMTctMTItMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6IiglIG9mIGN1cnJlbnQgY2FwaXRhbCBwcm9qZWN0cyBkZWxpdmVyZWQgb24gdGltZSBhbmQgb24gYnVkZ2V0KSIsInRhcmdldF90eXBlIjoicmVsYXRpdmUiLCJ0YXJnZXRfZGVsdGEiOjAsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwiYmFzZWxpbmUiOjkwLCJtZXRyaWMiOnsibWV0YWRhdGEiOiIiLCJpZCI6IjQ3NWYtdTU4MiJ9LCJjb21wYXJpc29uIjp7ImNvbXBhcmlzb25fZnVuY3Rpb24iOiI+In0sIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wiZWRpdFwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNn0sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxN30sXCJhY3Rpb25fdHlwZVwiOlwibWFpbnRhaW5cIixcIm1haW50YWluX3R5cGVcIjpcIj5cIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX19LFwic3RhcnRcIjpcIjIwMTUtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTUtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJlZmZpY2llbnQgY2FwaXRhbCBwcm9qZWN0IGRlbGl2ZXJ5XCIsXCJ5U2NhbGVcIjp7XCJ1c2VfZGVmYXVsdFwiOmZhbHNlLFwibWF4XCI6MTAwLFwibWluXCI6NTB9fSJ9LCJjcmVhdGVkX2F0IjoiMjAxNy0xMC0zMVQxODo0MzoxOS44NDFaIiwidmVyc2lvbiI6IjIwMTctMTAtMzFUMTg6NDM6MTkuODQxWiIsInRhcmdldF90b2xlcmFuY2UiOjUsImlkIjoiZHB0Zy1yZ2Q5In0sInJlbGF0ZWRfbWVhc3VyZXMiOltdLCJiYXNlX2Rhc2hib2FyZCI6Ijh0ZGctZGt3ZSIsInVwZGF0ZWRfYXQiOiIyMDE3LTExLTIwVDE2OjEyOjI4LjkwNVoiLCJjcmVhdGVkX2F0IjoiMjAxNy0xMC0zMVQxODo0MzoxOS44OTNaIiwidmVyc2lvbiI6IjIwMTctMTEtMjBUMTY6MTI6MjguOTA1WiIsImNyZWF0ZWRfYnkiOiI1aHpwLWRxenoifV0sInZlcnNpb24iOiIyMDE3LTEwLTMxVDE4OjQ3OjQzLjQxOFoifSx7ImlkIjoiamR5NC1nMmdlIiwibmFtZSI6IlV0aWxpdHkgQ3VzdG9tZXIgU2VydmljZSAmIEFmZm9yZGFiaWxpdHkiLCJnb2FscyI6W3siaWQiOiI5MjR0LXp4eXQiLCJuYW1lIjoiRW5zdXJlIGFmZm9yZGFibGUgdXRpbGl0eSBzZXJ2aWNlIGZvciBhbGwiLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcIm5hcnJhdGl2ZVwiOlt7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgV2hhdCBpcyB0aGlzIGdvYWwgYWJvdXQ/XFxuXFxuKiBUaGUgSHVtYW4gU2VydmljZXMgRGVwYXJ0bWVudCBwcm92aWRlcyBlbGlnaWJsZSwgcmVzaWRlbnRpYWwgY3VzdG9tZXJzIG9mIFNlYXR0bGUgQ2l0eSBMaWdodCBhbmQgU2VhdHRsZSBQdWJsaWMgVXRpbGl0aWVzIHdpdGggYSBkaXNjb3VudCBvbiB0aGVpciBsaWdodCBhbmQgdXRpbGl0eSBiaWxsLlxcblxcbiogVGhlIGdvYWwgb2YgdGhlIFV0aWxpdHkgRGlzY291bnQgUHJvZ3JhbSAoVURQKSBpcyB0byBlbnN1cmUgdGhhdCBzYWZlLCByZWxpYWJsZSBzZXJ2aWNlcyBmb3IgZHJpbmtpbmcgd2F0ZXIsIHNld2VyLCBkcmFpbmFnZSwgc29saWQgd2FzdGUgcGlja3VwLCBhbmQgZWxlY3RyaWNpdHkgYXJlIGFjY2Vzc2libGUgdG8gZXZlcnlvbmUgaW4gU2VhdHRsZS5cXG5cIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyBXaHkgaXMgdGhpcyBnb2FsIGltcG9ydGFudD9cXG5cXG4qIEFmZm9yZGFibGUgdXRpbGl0eSBzZXJ2aWNlcyBtYWtlcyBhIGRpZmZlcmVuY2UgaW4gaGVscGluZyBhbGwgZmFtaWxpZXMsIGVzcGVjaWFsbHkgbG93IGluY29tZSBob3VzZWhvbGRzIGluIFNlYXR0bGUuXFxuXFxuKiBUaHJvdWdoIHRoZSBVdGlsaXR5IERpc2NvdW50IFByb2dyYW0sIGVsaWdpYmxlIGN1c3RvbWVycyBtYXkgcmVjZWl2ZSBhIGRpc2NvdW50IG9mIHJvdWdobHkgNjAlIG9uIHRoZWlyIFNlYXR0bGUgQ2l0eSBMaWdodCBiaWxsIGFuZCA1MCUgb24gdGhlaXIgU2VhdHRsZSBQdWJsaWMgVXRpbGl0aWVzIGJpbGwuXFxuXCJ9XSxbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyBIb3cgaXMgdGhpcyBnb2FsIG1lYXN1cmVkP1xcblxcbiogVGhpcyBnb2FsIGlzIG1lYXN1cmVkIGJ5IHRoZSB0b3RhbCBudW1iZXIgb2YgaG91c2Vob2xkcyBlbnJvbGxlZCBpbiB0aGUgVURQIGVhY2ggbW9udGguXFxuXFxuKiBEYXRhIGlzIHBvc3RlZCBtb250aGx5LlxcblwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjIEZvciBtb3JlIGluZm9ybWF0aW9uOlxcblxcbkZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IFVEUCBhbmQgdG8gc2VlIGlmIHlvdSBxdWFsaWZ5LCBwbGVhc2UgY2FsbCB1cyBhdCAoMjA2KSA2ODQtMDI2OCBvciB2aXNpdCB1cyBvbmxpbmUgYXQgW2h0dHA6Ly93d3cuc2VhdHRsZS5nb3YvaHVtYW5zZXJ2aWNlcy9zZXJ2aWNlcy1hbmQtcHJvZ3JhbXMvdXRpbGl0eS1kaXNjb3VudC1wcm9ncmFtXVswXS5cXG5cXG5bMF06IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvaHVtYW5zZXJ2aWNlcy9zZXJ2aWNlcy1hbmQtcHJvZ3JhbXMvdXRpbGl0eS1kaXNjb3VudC1wcm9ncmFtXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIkluZm9ybWF0aW9uIGFib3V0IFVEUCBjYW4gYWxzbyBiZSBmb3VuZCBhdCB0aGUgZm9sbG93aW5nIHdlYnNpdGVzOlxcblxcbiBcXG5cXG5baHR0cDovL3d3dy5zZWF0dGxlLmdvdi9saWdodC9hc3Npc3RhbmNlL11bMF1cXG5cXG4gaHR0cDovL3d3dy5zZWF0dGxlLmdvdi91dGlsL015U2VydmljZXMvTXlBY2NvdW50L0dldEhlbHB3aXRoVXRpbGl0eUJpbGwvaW5kZXguaHRtXFxuXFxuW2h0dHA6Ly9tdXJyYXkuc2VhdHRsZS5nb3YvdWRwL11bMV1cXG5cXG5bMF06IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvbGlnaHQvYXNzaXN0YW5jZS8gXFxuWzFdOiBodHRwOi8vbXVycmF5LnNlYXR0bGUuZ292L3VkcC9cIn0se1widHlwZVwiOlwiaW1hZ2VcIixcInNyY1wiOlwiL2FwaS9hc3NldHMvQzEwNTg5NzMtNTA2OC00MUI5LTk0RUItMDY3OTRCODU3Nzc1XCJ9XV19XSxcImljb25cIjpcIlwiLFwidXNlX2N1c3RvbV9zdWJ0aXRsZVwiOnRydWUsXCJjdXN0b21fc3VidGl0bGVcIjpcIlwiLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIk1lYXN1cmluZyB0aGUgbnVtYmVyIG9mIGhvdXNlaG9sZHMgZW5yb2xsZWQgaW4gdGhlIFV0aWxpdHkgRGlzY291bnQgUHJvZ3JhbSBlYWNoIG1vbnRoIHRocm91Z2ggRGVjZW1iZXIgMjAxN1wifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIyMDE3LTAxLTAxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMTctMTItMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6ImhvdXNlaG9sZHMgIiwidGFyZ2V0IjoyMjQwMCwidGFyZ2V0X3R5cGUiOiJub25lIiwidGFyZ2V0X2RlbHRhX2lzX3BlcmNlbnQiOmZhbHNlLCJtZXRyaWMiOnsibWV0YWRhdGEiOiIiLCJpZCI6ImQ5eGstNWR4bSJ9LCJjb21wYXJpc29uIjp7ImNvbXBhcmlzb25fZnVuY3Rpb24iOiI+In0sIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wiZWRpdFwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxN30sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxN30sXCJhY3Rpb25fdHlwZVwiOlwibm9uZVwifSxcImJhc2VsaW5lXCI6e1wic3F1aXNoeVwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNH0sXCJlbmRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE0fX0sXCJzdGFydFwiOlwiMjAxNC0wMS0wMVQwMDowMDowMC4wMDBcIixcImVuZFwiOlwiMjAxNC0wMS0wMVQyMzo1OTo1OS4wMDBcIixcIm1ldHJpY1wiOntcIm1ldGFkYXRhXCI6XCJ7XFxcIndpemFyZFxcXCI6e1xcXCJmaWx0ZXJfYXN0XFxcIjpbe1xcXCJ2YWx1ZXNcXFwiOlt7fV19XX19XCJ9fSxcIm5hbWVcIjpcInRoZSBudW1iZXIgb2YgaG91c2Vob2xkcyBlbnJvbGxlZCBpbiB0aGUgVXRpbGl0eSBEaXNjb3VudCBQcm9ncmFtXCIsXCJ5U2NhbGVcIjp7XCJ1c2VfZGVmYXVsdFwiOmZhbHNlLFwibWluXCI6MH19In0sInVwZGF0ZWRfYXQiOiIyMDE3LTA2LTE1VDE1OjM1OjU1LjEzNloiLCJjcmVhdGVkX2F0IjoiMjAxNy0wMi0yMlQwMDoyMjo0Ny4yMDhaIiwidmVyc2lvbiI6IjIwMTctMDYtMTVUMTU6MzU6NTUuMTM2WiIsInRhcmdldF90b2xlcmFuY2UiOjEwMDAsImlkIjoicW1zci12eTJiIn0sInJlbGF0ZWRfbWVhc3VyZXMiOltdLCJiYXNlX2Rhc2hib2FyZCI6Ijh0ZGctZGt3ZSIsInVwZGF0ZWRfYXQiOiIyMDE3LTA4LTMxVDE5OjQ2OjQ0LjMwNFoiLCJjcmVhdGVkX2F0IjoiMjAxNy0wMi0yMlQwMDoyMjo0Ny40NDNaIiwidmVyc2lvbiI6IjIwMTctMDgtMzFUMTk6NDY6NDQuMzA0WiIsImNyZWF0ZWRfYnkiOiJ1Y2c2LTZuZHkifSx7ImlkIjoibWtpNy0ydHc5IiwibmFtZSI6IlJlc3BvbmQgcHJvbXB0bHkgdG8gcHJpb3JpdHkgdXRpbGl0eSBjYWxscyIsImlzX3B1YmxpYyI6dHJ1ZSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJyZXRpcmVtZW50X25hcnJhdGl2ZVwiOltdLFwibmFycmF0aXZlXCI6W3tcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyBXaHkgaXMgdGhpcyBnb2FsIGltcG9ydGFudD9cXG5cXG5TZWF0dGxlIFB1YmxpYyBVdGlsaXRpZXMgcHJvdmlkZXMgZHJpbmtpbmcgd2F0ZXIgc2VydmljZXMgdG8gbW9yZSB0aGFuIDEuMyBtaWxsaW9uIGN1c3RvbWVycyBpbiB0aGUgU2VhdHRsZSBtZXRyb3BvbGl0YW4gYXJlYSwgYW5kIGRyYWluYWdlIGFuZCB3YXN0ZXdhdGVyIHNlcnZpY2VzIHRvIG1vcmUgdGhhbiA2NTAsMDAwIHJlc2lkZW50aWFsIGFuZCA2NCwwMDAgYnVzaW5lc3MgY3VzdG9tZXJzIGluIFNlYXR0bGUuIFRoZXNlIHNlcnZpY2VzIHByb3RlY3QgcHVibGljIGhlYWx0aCBhbmQgdGhlIGVudmlyb25tZW50LlxcblxcbkhpZ2gtcXVhbGl0eSwgcmVsaWFibGUgdXRpbGl0eSBzZXJ2aWNlIGluY2x1ZGVzIHRpbWVseSByZXNwb25zZSB0byBjdXN0b21lciBwcm9ibGVtcyBzdWNoIGFzIGxlYWtpbmcgb3IgYnJva2VuIHdhdGVyIHBpcGVzIGFuZCBmaXJlIGh5ZHJhbnRzLCBhcyB3ZWxsIGFzIHNhbml0YXJ5IHNld2VyIG92ZXJmbG93cywgYmxvY2tlZCBkcmFpbmFnZSwgd2F0ZXIgcG9uZGluZyBpbiBzdHJlZXRzLCBhbmQgZmxvb2RpbmcuXFxuXFxuVGhlIFNlYXR0bGUgUHVibGljIFV0aWxpdGllcyBPcGVyYXRpb25zIFJlc3BvbnNlIENlbnRlciBpcyBzdGFmZmVkIDI0IGhvdXJzIGEgZGF5IHRvIHByb3ZpZGUgZW1lcmdlbmN5IHJlc3BvbnNlLlxcblxcblwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqSG93IGlzIHRoaXMgZ29hbCBtZWFzdXJlZD8qKlxcblxcbkVtZXJnZW5jeSBkcmlua2luZyB3YXRlciwgd2FzdGV3YXRlciwgb3IgZHJhaW5hZ2UgY2FsbHMgY29tZSBpbnRvIHRoZSBTZWF0dGxlIFB1YmxpYyBVdGlsaXRpZXMgT3BlcmF0aW9ucyBSZXNwb25zZSBDZW50ZXIsIHR5cGljYWxseSBmcm9tIGN1c3RvbWVycyB3aG8gb2JzZXJ2ZSB0aGUgcHJvYmxlbS4gU2VhdHRsZSBQdWJsaWMgVXRpbGl0aWVzIGhhcyBhIGdvYWwgdG8gYW5zd2VyIDgwIHBlcmNlbnQgb2YgdGhlc2UgY2FsbHMgd2l0aGluIDYwIHNlY29uZHMgYW5kIHRvIHJlc3BvbmQgdG8gYWxsIGhpZ2ggcHJpb3JpdHkgd2F0ZXIsIGRyYWluYWdlLCBhbmQgd2FzdGV3YXRlciBlbWVyZ2VuY2llcyAoUHJpb3JpdHkgOSBSZXNwb25zZSkgd2l0aGluIDEgaG91ciA5MCUgb2YgdGhlIHRpbWUuIFByaW9yaXR5IDkgaXMgZGVmaW5lZCBhcyBhbiBpc3N1ZSB0aGF0IGlzIG9yIGhhcyB0aGUgcG90ZW50aWFsIGZvciBkYW1hZ2luZyBwdWJsaWMgb3IgcHJpdmF0ZSBwcm9wZXJ0eS4gVGhlc2UgdHlwZSBvZiBjYWxscyBpbmNsdWRlIHNld2VyIGJhY2t1cHMsIGZsb29kaW5nLCBsYW5kc2xpZGVzIG9yIGJyb2tlbiB3YXRlciBsaW5lcyBvbiBlaXRoZXIgcHJpdmF0ZSBvciBDaXR5LW93bmVkIHByb3BlcnR5Llxcblxcbklzc3VlcyB3aXRoIHB1YmxpYyBoZWFsdGggb3Igc2FmZXR5IGFyZSBxdWlja2x5IGlkZW50aWZpZWQgYXMgYSBwcmlvcml0eSwgYW5kIGNyZXdzIGFyZSBpbW1lZGlhdGVseSBkaXNwYXRjaGVkIHRvIHRoZSBzaXRlLiBUaGUgZ29hbCBpcyB0byByZXNwb25kIHRvIDkwIHBlcmNlbnQgb2YgdGhlc2UgcHJpb3JpdHkgY2FsbHMgd2l0aGluIG9uZSBob3VyLlxcblxcbkRhdGEgYXJlIGF2YWlsYWJsZSBtb250aGx5LlxcblxcblwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzL0EwREI3MTY2LTNBNTktNEJFRS1CM0NGLUVBMzdBNEE2QzlERVwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjIEZPUiBNT1JFIElORk9STUFUSU9OOlxcblxcbiogKipIYW5kbGluZyB3YXRlciwgc2V3ZXIsIGFuZCBkcmFpbmFnZSBlbWVyZ2VuY2llczoqKiAgXFxuW2h0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdXRpbC9NeVNlcnZpY2VzL0RyYWluYWdlU2V3ZXIvRW1lcmdlbmNpZXMvaW5kZXguaHRtXVswXVxcbiogKipTZWF0dGxlIFNwaWxsIFJlc3BvbnNlIFByb2dyYW06KiogIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvTXlTZXJ2aWNlcy9EcmFpbmFnZVNld2VyL1BvbGx1dGlvbkNvbnRyb2wvU3BpbGxSZXNwb25zZS9pbmRleC5odG1dWzFdXFxuXFxuXFxuWzBdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvTXlTZXJ2aWNlcy9EcmFpbmFnZVNld2VyL0VtZXJnZW5jaWVzL2luZGV4Lmh0bVxcblsxXTogaHR0cDovL3d3dy5zZWF0dGxlLmdvdi91dGlsL015U2VydmljZXMvRHJhaW5hZ2VTZXdlci9Qb2xsdXRpb25Db250cm9sL1NwaWxsUmVzcG9uc2UvaW5kZXguaHRtXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipXaGF0IHByb2dyZXNzIGFyZSB3ZSBtYWtpbmcgdG93YXJkIHRoaXMgZ29hbD8qKlxcblxcbkluIDIwMTUsIFNlYXR0bGUgUHVibGljIFV0aWxpdGllcyBtZXQgdGhlIGdvYWwgYnkgcmVzcG9uZGluZyB0byBoaWdoIHByaW9yaXR5IGNhbGxzIHdpdGhpbiBvbmUgaG91ciAsIG9uIGF2ZXJhZ2UgOTQlIG9mIHRoZSB0aW1lLiBTZWF0dGxlIFB1YmxpYyBVdGlsaXRpZXMgZ2VuZXJhbGx5IG1lZXRzIHRoaXMgZ29hbCBlYWNoIG1vbnRoLiBJbiBtb250aHMgd2hlcmUgdGhlIDkwJSBnb2FsIGlzIG5vdCBtZXQsIG1vcmUgcmFpbiBldmVudHMgb3IgYW4gaW5jcmVhc2VkIG51bWJlciBvZiBwaXBlIGJyZWFrcyBhcmUgdHlwaWNhbGx5IHRoZSBjYXVzZS5cXG5cXG5TZWF0dGxlIFB1YmxpYyBVdGlsaXRpZXMgdXNlcyBhIHN0YXRlLW9mLXRoZS1hcnQgbWFwcGluZyBzeXN0ZW0gdG8gZGVwbG95IGNyZXdzIGFuZCBlcXVpcG1lbnQgcXVpY2tseSwgZWZmZWN0aXZlbHksIGFuZCBlZmZpY2llbnRseSBkdXJpbmcgZW1lcmdlbmNpZXMgYW5kIGZvciBkYXktdG8tZGF5IG9wZXJhdGlvbnMuIFRoZSBhcHBsaWNhdGlvbiBkaXNwbGF5cyB0aGUgbG9jYXRpb24gb2YgY3VzdG9tZXItZ2VuZXJhdGVkIGNhbGxzLCBhcyB3ZWxsIGFzIHRoZSB0eXBlIG9mIGNhbGwsIHByaW9yaXR5IGxldmVsLCBsb2NhdGlvbiBvZiBhdmFpbGFibGUgY3Jld3MgYW5kIGVxdWlwbWVudCwgYW5kIHRoZSBzdGF0dXMgb2Ygd29yayBvcmRlcnMgYXNzaWduZWQgdG8gZWFjaCB2ZWhpY2xlLlxcblxcbkluIG9yZGVyIHRvIHJlc3BvbmQgcXVpY2tseSB0byBzdG9ybSBldmVudHMsIFNlYXR0bGUgUHVibGljIFV0aWxpdGllcyBtb25pdG9ycyByZXBvcnRzIGZyb20gdGhlIE5hdGlvbmFsIFdlYXRoZXIgU2VydmljZSBhbmQgb3RoZXIgc291cmNlcywgYW5kIHRoZW4gcmVzcG9uZHMgdG8gZmxvb2Qgd2F0Y2hlcywgd2FybmluZ3MsIGFuZCBhZHZpc29yaWVzLiBJbiBsYXJnZSBzdG9ybXMsIHRoZSBudW1iZXIgb2YgY3Jld3MgYXJlIGluY3JlYXNlZCBhbmQgbW9yZSBvcGVyYXRvcnMgYXJlIGF2YWlsYWJsZSB0byBhbnN3ZXIgY2FsbHMuIFRoZXkgd29yayBhcm91bmQgdGhlIGNsb2NrIGluIGRpZmZpY3VsdCBjb25kaXRpb25zIHRvIHByb3RlY3Qgc2FmZXR5IGFuZCBwcm9wZXJ0eS5cXG5cXG5CZXR3ZWVuIHN0b3JtcywgdGhlIFV0aWxpdHkgY29udGludWFsbHkgbG9va3MgZm9yIHdheXMgdG8gaW1wcm92ZSBzeXN0ZW1zIHRvIHRyYWNrIHN0b3JtcywgZWZmaWNpZW50bHkgZGlzcGF0Y2ggY3Jld3MsIHJlY29yZCBkYW1hZ2VzLCBhbmQgdXBncmFkZSBlcXVpcG1lbnQuXFxuXFxuXCJ9XV19XSxcInVzZV9jdXN0b21fdGl0bGVcIjp0cnVlLFwiY3VzdG9tX3RpdGxlXCI6XCJSZXNwb25kIHRvIDkwIHBlcmNlbnQgb2YgcHJpb3JpdHkgZHJpbmtpbmcgd2F0ZXIsIHNld2VyLCBhbmQgZHJhaW5hZ2UgY2FsbHMgd2l0aGluIG9uZSBob3VyIFwiLFwidXNlX2N1c3RvbV9zdWJ0aXRsZVwiOnRydWUsXCJjdXN0b21fc3VidGl0bGVcIjpcIlJlc3BvbmQgcHJvbXB0bHkgdG8gcHJpb3JpdHkgdXRpbGl0eSBjYWxsc1wiLFwiaWNvblwiOlwiXCJ9In0sInByZXZhaWxpbmdfbWVhc3VyZSI6eyJzdGFydCI6IjIwMDktMDEtMDFUMDA6MDA6MDAuMDAwIiwiZW5kIjoiMjAxNy0xMi0zMVQyMzo1OTo1OS4wMDAiLCJ1bml0IjoicGVyY2VudCByZXNwb25kZWQgdG8gd2l0aGluIG9uZSBob3VyIiwidGFyZ2V0X3R5cGUiOiJyZWxhdGl2ZSIsInRhcmdldF9kZWx0YSI6MCwidGFyZ2V0X2RlbHRhX2lzX3BlcmNlbnQiOmZhbHNlLCJiYXNlbGluZSI6OTAsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoiZDd4NC16N2RhIn0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6Ij4ifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDA5fSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE3fSxcImFjdGlvbl90eXBlXCI6XCJtYWludGFpblwiLFwibWFpbnRhaW5fdHlwZVwiOlwiPlwifSxcImJhc2VsaW5lXCI6e1wic3F1aXNoeVwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNH0sXCJlbmRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE0fX0sXCJzdGFydFwiOlwiMjAxNC0wMS0wMVQwMDowMDowMC4wMDBcIixcImVuZFwiOlwiMjAxNC0wMS0wMVQyMzo1OTo1OS4wMDBcIixcIm1ldHJpY1wiOntcIm1ldGFkYXRhXCI6XCJ7XFxcIndpemFyZFxcXCI6e1xcXCJmaWx0ZXJfYXN0XFxcIjpbe1xcXCJ2YWx1ZXNcXFwiOlt7fV19XX19XCJ9fSxcIm5hbWVcIjpcIjkwJSByZXNwb25zZSB0aW1lIHRvIHByaW9yaXR5IGRyaW5raW5nIHdhdGVyLCBzZXdlciBhbmQgZHJhaW5hZ2UgY2FsbHNcIixcInVzZV9wcm9ncmVzc19vdmVycmlkZVwiOnRydWUsXCJwcm9ncmVzc19vdmVycmlkZVwiOlwiZ29vZFwifSJ9LCJ1cGRhdGVkX2F0IjoiMjAxNy0wMy0xN1QyMDoyNjoyNi42MzNaIiwiY3JlYXRlZF9hdCI6IjIwMTctMDItMTZUMjM6NDg6NDIuNDQzWiIsInZlcnNpb24iOiIyMDE3LTAzLTE3VDIwOjI2OjI2LjYzM1oiLCJ0YXJnZXRfdG9sZXJhbmNlIjo1LCJpZCI6InhreHktaWg5eSJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiI4dGRnLWRrd2UiLCJ1cGRhdGVkX2F0IjoiMjAxNy0wOC0xNFQyMjo0NTowNS42MzlaIiwiY3JlYXRlZF9hdCI6IjIwMTctMDItMTZUMjM6NDg6NDIuNjcwWiIsInZlcnNpb24iOiIyMDE3LTA4LTE0VDIyOjQ1OjA1LjYzOVoiLCJjcmVhdGVkX2J5IjoiYTg1dy0yaWt1In0seyJpZCI6ImMzbWItazRoZSIsIm5hbWUiOiJLZWVwIGVsZWN0cmljaXR5IHJhdGVzIGxvdyIsImlzX3B1YmxpYyI6dHJ1ZSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJyZXRpcmVtZW50X25hcnJhdGl2ZVwiOltdLFwiaWNvblwiOlwiXCIsXCJuYXJyYXRpdmVcIjpbe1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqV2h5IGlzIHRoaXMgZ29hbCBpbXBvcnRhbnQ/KipcXG5cXG5TZWF0dGxlIENpdHkgTGlnaHQgaXMgdGhlIG5hdGlvbidzIGdyZWVuZXN0IHV0aWxpdHkuIEdyZWVuZXN0IG1lYW5zIGxvdyByYXRlcyBwb3dlcmVkIGJ5IGEgaGlnaGVyIGNhdXNlLiBBcyB0aGUgY2hhcnQgKGJlbG93KSBzaG93cywgQ2l0eSBMaWdodCdzIHJhdGVzIGNvbXBhcmUgdmVyeSBmYXZvcmFibHkgdG8gb3RoZXIgbWFqb3IgY2l0aWVzLiBJbiAyMDE1LCBDaXR5IExpZ2h0IGhhZCB0aGUgbG93ZXN0IHJhdGUgb2YgdGhlIDI1IGxhcmdlc3QgVS5TLiBjaXRpZXMuIExvdyByYXRlcyBiZW5lZml0IGFsbCBvZiBvdXIgY3VzdG9tZXJzLlxcblxcblwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqSG93IGRvIHdlIG1lYXN1cmUgdGhpcyBnb2FsPyoqXFxuXFxuV2UgY29tcGFyZSBDaXR5IExpZ2h0J3MgYXZlcmFnZSByZXRhaWwgcmF0ZSB0byB0aGUgYXZlcmFnZSByYXRlIGFtb25nIHRoZSAyNSBsYXJnZXN0IFUuUy4gY2l0aWVzLiBGb3IgMjAxNywgb3VyIGdvYWwgaXMgdG8ga2VlcCByYXRlcyBhdCBsZWFzdCAxNSBwZXJjZW50IGJlbG93IHRoZSAyMDE2IGF2ZXJhZ2Ugb2YgdGhlIDI1IGxhcmdlc3QgVS5TLiBjaXRpZXMuIERhdGEgYXJlIHJlcG9ydGVkIGFubnVhbGx5IGFuZCB0aGUgMjAxNiBhdmVyYWdlIHJhdGVzIHdpbGwgYmUgYXZhaWxhYmxlIGluIEFwcmlsLlxcblxcblwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqV2hhdCBwcm9ncmVzcyBhcmUgd2UgbWFraW5nIHRvd2FyZCB0aGlzIGdvYWw/KipcXG5cXG5BcyB0aGUgZGF0YSBpbiB0aGUgbGluZSBjaGFydCBiZWxvdyBzaG93LCBvdmVyIHRoZSBwYXN0IHRlbiB5ZWFycywgQ2l0eSBMaWdodCdzIHJhdGVzIGhhdmUgcmVtYWluZWQgYXQgbGVhc3QgMTUgcGVyY2VudCBiZWxvdyB0aGUgYXZlcmFnZSBvZiB0aGUgMjUgbGFyZ2VzdCBVLlMuIGNpdGllcy4gSW4gZmFjdCwgb3VyIDIwMTUgcmF0ZXMgYXJlIGZ1bGx5IDM0IHBlcmNlbnQgYmVsb3cgdGhlIDI1LWNpdHkgYXZlcmFnZS5cXG5cXG5cIn1dLFt7XCJ0eXBlXCI6XCJpbWFnZVwiLFwic3JjXCI6XCIvYXBpL2Fzc2V0cy80N0I3QzdEMy05MzVDLTQzQzktODhBOS05NDM0QjEzODc3MDJcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyBGT1IgTU9SRSBJTkZPUk1BVElPTjpcXG5cXG4qICoqTmF0aW9uJ3MgZ3JlZW5lc3QgdXRpbGl0eToqKiAgIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L2xpZ2h0L2dyZWVuZXN0L2xvd3JhdGVzLmh0bV1bMF1cXG4qICoqQ2l0eSBMaWdodCByYXRlcyBob21lcGFnZToqKiAgIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L2xpZ2h0L3JhdGVzL2RlZmF1bHQuYXNwXVsxXVxcbiogKipDaXR5IExpZ2h0IHJhdGUgcmVwb3J0czoqKiAgIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L2xpZ2h0L3JhdGVzL3JwdHNwdWJzLmFzcF1bMl1cXG5cXG5bMF06IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvbGlnaHQvZ3JlZW5lc3QvbG93cmF0ZXMuaHRtXFxuWzFdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L2xpZ2h0L3JhdGVzL2RlZmF1bHQuYXNwXFxuWzJdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L2xpZ2h0L3JhdGVzL3JwdHNwdWJzLmFzcFwifV1dfSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqU3BvdGxpZ2h0IE9uOioqIFNlYXR0bGUncyBMb3cgRWxlY3RyaWNpdHkgUmF0ZXNcXG5cXG5cIn0se1widHlwZVwiOlwiaW1hZ2VcIixcInNyY1wiOlwiL2FwaS9hc3NldHMvM0NCQUQyMkEtMjFEQy00ODE4LUFGMEItRUFGMzQyOTFEQUE3XCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIl9UaGUgY2hhcnQgYWJvdmUgc2hvd3MgZWxlY3RyaWNpdHkgcmF0ZXMgKGNlbnRzIHBlciBrV2gpIGluIHZhcmlvdXMgY2l0aWVzIGluIHRoZSBVLlMuX1xcblxcblwifSx7XCJ0eXBlXCI6XCJ2aXpcIixcImRhdGFzZXRcIjpcInVlNWMtYXdhY1wifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCJfVGhlIGFib3ZlIGNoYXJ0IHNob3dzIHRoZSAyNS1jaXR5IGF2ZXJhZ2UgcmF0ZSAoY2VudHMgcGVyIGtXaCkgYXMgY29tcGFyZWQgdG8gdGhhdCBvZiBTZWF0dGxlIENpdHkgTGlnaHQuX1xcblxcblwifV0sXCJ1c2VfY3VzdG9tX3RpdGxlXCI6dHJ1ZSxcImN1c3RvbV90aXRsZVwiOlwiTWFpbnRhaW4gZWxlY3RyaWNpdHkgcmF0ZXMgYXQgbGVhc3QgMTUgcGVyY2VudCBiZWxvdyB0aGUgYXZlcmFnZSBvZiB0aGUgMjUgbGFyZ2VzdCBVLlMuIGNpdGllc1wiLFwidXNlX2N1c3RvbV9zdWJ0aXRsZVwiOnRydWUsXCJjdXN0b21fc3VidGl0bGVcIjpcIktlZXAgRWxlY3RyaWNpdHkgUmF0ZXMgTG93XCJ9In0sInByZXZhaWxpbmdfbWVhc3VyZSI6eyJzdGFydCI6IjIwMDMtMDEtMDFUMDA6MDA6MDAuMDAwIiwiZW5kIjoiMjAxNy0xMi0zMVQyMzo1OTo1OS4wMDAiLCJ1bml0IjoiY2VudHMgcGVyIGtXaCIsInRhcmdldF90eXBlIjoicmVsYXRpdmUiLCJ0YXJnZXRfZGVsdGEiOjAsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwiYmFzZWxpbmUiOjEwLjIxLCJtZXRyaWMiOnsibWV0YWRhdGEiOiIiLCJpZCI6IjZycTQtNnRobSJ9LCJjb21wYXJpc29uIjp7ImNvbXBhcmlzb25fZnVuY3Rpb24iOiI8In0sIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wiZWRpdFwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAwM30sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxN30sXCJhY3Rpb25fdHlwZVwiOlwibWFpbnRhaW5cIixcIm1haW50YWluX3R5cGVcIjpcIjxcIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTR9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNH19LFwic3RhcnRcIjpcIjIwMTQtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTQtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJFbGVjdHJpY2l0eSBSYXRlc1wifSJ9LCJ1cGRhdGVkX2F0IjoiMjAxNy0wMy0wOFQxNzoyMDo0MS4yNjNaIiwiY3JlYXRlZF9hdCI6IjIwMTctMDItMTNUMjI6MDc6MjUuODE2WiIsInZlcnNpb24iOiIyMDE3LTAzLTA4VDE3OjIwOjQxLjI2M1oiLCJpZCI6Img0bWQtazl5cyJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiI4dGRnLWRrd2UiLCJ1cGRhdGVkX2F0IjoiMjAxNy0wOC0xNFQyMjo0NTo0Mi4xNTlaIiwiY3JlYXRlZF9hdCI6IjIwMTctMDItMTNUMjI6MDc6MjYuMTcwWiIsInZlcnNpb24iOiIyMDE3LTA4LTE0VDIyOjQ1OjQyLjE1OVoiLCJjcmVhdGVkX2J5IjoiYTg1dy0yaWt1In0seyJpZCI6IjVnaDQtd3ZrYSIsIm5hbWUiOiJSZXNwb25kIHByb21wdGx5IHRvIHN0cmVldGxpZ2h0IG91dGFnZXMiLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcImljb25cIjpcIlwiLFwibmFycmF0aXZlXCI6W3tcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoeSBpcyB0aGlzIGdvYWwgaW1wb3J0YW50PyoqXFxuXFxuVGhlcmUgaXMgYSByZWFzb24gU2VhdHRsZSBDaXR5IExpZ2h0IGdvZXMgYnkgdGhhdCBuYW1lLiBUaG91Z2ggd2UgZGF0ZSBvdXIgYmVnaW5uaW5ncyB0byB0aGUgc3RhcnQgb2YgaHlkcm9lbGVjdHJpYyBwb3dlciBnZW5lcmF0aW9uIGF0IENlZGFyIEZhbGxzIGluIDE5MDUsIHdlIG9mZmljaWFsbHkgYmVjYW1lIGEgY2l0eSBhZ2VuY3kgaW4gMTkxMCB3aGVuIHRoZSBDaXR5IENvdW5jaWwgdHJhbnNmb3JtZWQgdXMgaW50byBhIHN0cmVldCBsaWdodGluZyBkZXBhcnRtZW50LlxcblxcblByb3BlciBvcGVyYXRpb24gYW5kIG1haW50ZW5hbmNlIG9mIFNlYXR0bGUncyBhcHByb3hpbWF0ZWx5IDg0LDAwMCBzdHJlZXRsaWdodHMgY29udHJpYnV0ZXMgdG8gcHVibGljIHNhZmV0eSBieSBoZWxwaW5nIGRyaXZlcnMgYmV0dGVyIG5hdmlnYXRlLCBpbGx1bWluYXRpbmcgdGhlIHN1cnJvdW5kaW5ncyBmb3IgcGVkZXN0cmlhbnMsIGFuZCBtaW5pbWl6aW5nIGRhcmsgYXJlYXMgd2hlcmUgY3JpbWluYWxpdHkgY2FuIGRldmVsb3AuXFxuXFxuQ2l0eSBMaWdodCByZWd1bGFybHkgaW5zcGVjdHMgYW5kIHJlcGxhY2VzIGFib3V0IGEgcXVhcnRlciBvZiBvdXIgaW52ZW50b3J5IGVhY2ggeWVhci4gV2UgYmVnYW4gdG8gY29udmVydCBvdXIgc3RyZWV0bGlnaHRzIHRvIG1vcmUgZWZmaWNpZW50IExFRCAobGlnaHQgZW1pdHRpbmcgZGlvZGUpIGJ1bGJzIGluIDIwMTAsIGFuZCBoYXZlIHJlY2VudGx5IGNvbXBsZXRlZCB0aGUgY29udmVyc2lvbiBvZiBhbGwgcmVzaWRlbnRpYWwgc3RyZWV0bGlnaHRzLiBJbiBhZGRpdGlvbiB0byB0aGUgZW52aXJvbm1lbnRhbCBiZW5lZml0cyBvZiBMRURzLCB0aGV5IGFsc28gcHJvdmlkZSBiZXR0ZXIgc2VydmljZSByZWxpYWJpbGl0eSBhbmQgbG93ZXIgbWFpbnRlbmFuY2UgY29zdHMuXFxuXFxuXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipIb3cgZG8gd2UgbWVhc3VyZSB0aGlzIGdvYWw/KipcXG5cXG5UbyBhc3Nlc3MgaG93IHByb21wdGx5IHdlIGFyZSByZXNwb25kaW5nIHRvIHN0cmVldGxpZ2h0IG91dGFnZXMsIHdlIG1lYXN1cmUgdGhlIHBlcmNlbnQgb2Ygb3V0YWdlcyB0aGF0IHdlIHJlc3BvbmQgdG8gd2l0aGluIDEwIGJ1c2luZXNzIGRheXMgKDE0IGNhbGVuZGFyIGRheXMpLiBUaGUgZ29hbCBpcyB0byByZXNwb25kIHRvIGF0IGxlYXN0IDkwIHBlcmNlbnQgb2Ygb3V0YWdlcyB3aXRoaW4gdGhhdCB0aW1lIHBlcmlvZC5cXG5cXG5cIn1dLFt7XCJ0eXBlXCI6XCJpbWFnZVwiLFwic3JjXCI6XCIvYXBpL2Fzc2V0cy9FOUUwMkIyQS0yNjY2LTQ4QjYtOEUxQS1EM0YxODRCNTUwOEZcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoYXQgcHJvZ3Jlc3MgYXJlIHdlIG1ha2luZyB0b3dhcmQgdGhpcyBnb2FsPyoqXFxuXFxuQ2l0eSBMaWdodCBoYXMgbWV0IHRoaXMgZ29hbCBlYWNoIG1vbnRoIGluIDIwMTcuXFxuXFxuXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgRk9SIE1PUkUgSU5GT1JNQVRJT046XFxuXFxuKiAqKlN0cmVldGxpZ2h0IHRyYWNrZXI6KiogIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L2xpZ2h0L3N0cmVldGxpZ2h0L3RyYWNrZXIuYXNwXVswXVxcbiogKipMRUQgU3RyZWV0bGlnaHRzOioqICBcXG5baHR0cDovL3d3dy5zZWF0dGxlLmdvdi9saWdodC9zdHJlZXRsaWdodC9sZWRdWzFdXFxuXFxuXFxuWzBdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L2xpZ2h0L3N0cmVldGxpZ2h0L3RyYWNrZXIuYXNwXFxuWzFdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L2xpZ2h0L3N0cmVldGxpZ2h0L2xlZC9cIn1dXX1dLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIlJlc3BvbmQgdG8gOTAgcGVyY2VudCBvZiByZXBvcnRlZCBzdHJlZXRsaWdodCBvdXRhZ2VzIHdpdGhpbiAxNCBkYXlzXCIsXCJ1c2VfY3VzdG9tX3N1YnRpdGxlXCI6dHJ1ZSxcImN1c3RvbV9zdWJ0aXRsZVwiOlwiUmVzcG9uZCBwcm9tcHRseSB0byBzdHJlZXRsaWdodCBvdXRhZ2VzXCJ9In0sInByZXZhaWxpbmdfbWVhc3VyZSI6eyJzdGFydCI6IjIwMTItMDEtMDFUMDA6MDA6MDAuMDAwIiwiZW5kIjoiMjAxNy0xMi0zMVQyMzo1OTo1OS4wMDAiLCJ1bml0IjoicGVyY2VudCByZXNwb25kZWQgdG8gd2l0aGluIDE0IGRheXMiLCJ0YXJnZXRfdHlwZSI6InJlbGF0aXZlIiwidGFyZ2V0X2RlbHRhIjowLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsImJhc2VsaW5lIjo5MCwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiJiaWZkLWk4aWsifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPiJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTJ9LFwiZW5kXCI6e1wiZGF0ZVwiOlwiZW5kXCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTd9LFwiYWN0aW9uX3R5cGVcIjpcIm1haW50YWluXCIsXCJtYWludGFpbl90eXBlXCI6XCI+XCJ9LFwiYmFzZWxpbmVcIjp7XCJzcXVpc2h5XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE0fSxcImVuZFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTR9fSxcInN0YXJ0XCI6XCIyMDE0LTAxLTAxVDAwOjAwOjAwLjAwMFwiLFwiZW5kXCI6XCIyMDE0LTAxLTAxVDIzOjU5OjU5LjAwMFwiLFwibWV0cmljXCI6e1wibWV0YWRhdGFcIjpcIntcXFwid2l6YXJkXFxcIjp7XFxcImZpbHRlcl9hc3RcXFwiOlt7XFxcInZhbHVlc1xcXCI6W3t9XX1dfX1cIn19LFwibmFtZVwiOlwicmVzcG9uc2UgdG8gc3RyZWV0bGlnaHQgb3V0YWdlcyBpbiBsZXNzIHRoYW4gMTQgZGF5c1wifSJ9LCJ1cGRhdGVkX2F0IjoiMjAxNy0wNi0yMFQxNTo0ODoxMS41NzBaIiwiY3JlYXRlZF9hdCI6IjIwMTctMDItMTNUMjE6NDk6MzIuMDI2WiIsInZlcnNpb24iOiIyMDE3LTA2LTIwVDE1OjQ4OjExLjU3MFoiLCJ0YXJnZXRfdG9sZXJhbmNlIjoxMCwiaWQiOiJiOGU3LWd6eDYifSwicmVsYXRlZF9tZWFzdXJlcyI6W10sImJhc2VfZGFzaGJvYXJkIjoiOHRkZy1ka3dlIiwidXBkYXRlZF9hdCI6IjIwMTctMTItMThUMjI6MjY6MzIuMDI1WiIsImNyZWF0ZWRfYXQiOiIyMDE3LTAyLTEzVDIxOjQ5OjMyLjQzOVoiLCJ2ZXJzaW9uIjoiMjAxNy0xMi0xOFQyMjoyNjozMi4wMjVaIiwiY3JlYXRlZF9ieSI6ImFqbmctcDVyNCJ9XSwidmVyc2lvbiI6IjIwMTctMDMtMTdUMjA6NDA6MDIuNTk3WiJ9LHsiaWQiOiI1eXl1LWM4NjQiLCJuYW1lIjoiRWxlY3RyaWNpdHkiLCJnb2FscyI6W3siaWQiOiIzenVqLWRxdzMiLCJuYW1lIjoiUHJvdmlkZSByZWxpYWJsZSBwb3dlciAiLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcImljb25cIjpcIlwiLFwibmFycmF0aXZlXCI6W3tcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoeSBpcyB0aGlzIGdvYWwgaW1wb3J0YW50PyoqXFxuXFxuU2VhdHRsZSBDaXR5IExpZ2h0IHdvcmtzIGhhcmQgdG8ga2VlcCB5b3VyIGxpZ2h0cyBvbi4gVGhhbmtzIHRvIG91ciBTaXgtWWVhciBTdHJhdGVnaWMgUGxhbiwgd2UgaGF2ZSB0aGUgZGlyZWN0aW9uIGFuZCBmaW5hbmNpYWwgc3VwcG9ydCB0byBpbnZlc3QgaW4gdGhlIHJlbGlhYmlsaXR5IG9mIG91ciBzeXN0ZW0sIGZyb20gcmVwbGFjaW5nIG9sZGVyIGRpc3RyaWJ1dGlvbiBuZXR3b3JrcywgaW5zdGFsbGluZyBuZXcgbWV0ZXJpbmcgYW5kIG1vbml0b3Jpbmcgc3lzdGVtcywgdG8gYnVpbGRpbmcgdGhlIGZpcnN0IG5ldyBtYWpvciBzdWJzdGF0aW9uIGluIG91ciBzeXN0ZW0gaW4gdGhyZWUgZGVjYWRlcy5cXG5cXG5Nb3JlIGltcG9ydGFudGx5LCB3ZSBoYXZlIGludmVzdGVkIGluIHByZXZlbnRpdmUgbWFpbnRlbmFuY2UgYW5kIGluIHRoZSB0cmltbWluZyBvZiB0cmVlcyBhbmQgdmVnZXRhdGlvbiBuZWFyIG91ciBsaW5lcywgdG8gaGVscCBwcmV2ZW50IG91dGFnZXMgZHVyaW5nIGJhZCB3ZWF0aGVyLiBXZSBjdXQgYmFjayB2ZWdldGF0aW9uIGFsb25nIGFib3V0IDYwMCBtaWxlcyBvZiBsaW5lIGNvcnJpZG9yIGV2ZXJ5IHllYXIuIFRoZXNlIGVmZm9ydHMgaGVscCB1cyB0byBwcm92aWRlIHJlbGlhYmxlIHBvd2VyIHRvIG91ciBjdXN0b21lcnMuXFxuXFxuXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipIb3cgZG8gd2UgbWVhc3VyZSB0aGlzIGdvYWw/KipcXG5cXG5DaXR5IExpZ2h0IHN0cml2ZXMgdG8gbWluaW1pemUgdGhlIGZyZXF1ZW5jeSBhbmQgZHVyYXRpb24gKGxlbmd0aCkgb2YgcG93ZXIgb3V0YWdlcy4gV2UgbWVhc3VyZSB0aGUgaW1wYWN0IG9mIHBvd2VyIG91dGFnZXMgb24gb3VyIGN1c3RvbWVycyB1c2luZyB0aGUgU3lzdGVtIEF2ZXJhZ2UgSW50ZXJydXB0aW9uIER1cmF0aW9uIEluZGV4IChTQUlESSksIHdoaWNoIGlzIGEgc3RhbmRhcmQgbWVhc3VyZW1lbnQgZm9yIHRoZSBlbGVjdHJpYyBwb3dlciBpbmR1c3RyeS5cXG5cXG5TQUlESSBtZWFzdXJlcyB0aGUgYXZlcmFnZSBudW1iZXIgb2YgbWludXRlcyB0aGF0IGFueSBnaXZlbiBjdXN0b21lciBpcyB3aXRob3V0IHBvd2VyIG92ZXIgdGhlIGNvdXJzZSBvZiB0aGUgeWVhci4gV2UgdHJhY2sgU0FJREkgY3VtdWxhdGl2ZWx5IGZvciB0aGUgY2FsZW5kYXIgeWVhciwgbWVhbmluZyB0aGF0IGVhY2ggbW9udGggd2UgZGl2aWRlIHRoZSB0b3RhbCBkdXJhdGlvbiBvZiBvdXRhZ2UgbWludXRlcyB0aGF0IGhhdmUgb2NjdXJyZWQgeWVhci10by1kYXRlIGJ5IHRoZSB0b3RhbCBudW1iZXIgb2YgY3VzdG9tZXJzLlxcblxcblRoZSAyMDE3IFNBSURJIGdvYWwgaXMgdG8gaW1wcm92ZSB1cG9uIHRoZSBhdmVyYWdlIFNBSURJIGZyb20gdGhlIHBhc3QgdGhyZWUgeWVhcnMgYnkgZml2ZSBwZXJjZW50LlxcblxcblwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzLzhFQjY0NDdCLTRFM0YtNDRFNS1BQUEyLTIxRDhCNkYwM0Y1Q1wifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjIEZPUiBNT1JFIElORk9STUFUSU9OOlxcblxcbiogKipPdXRhZ2UgTWFwOioqICBcXG5baHR0cDovL3d3dy5zZWF0dGxlLmdvdi9saWdodC9zeXNzdGF0XVswXVxcblxcblxcblswXTogaHR0cDovL3d3dy5zZWF0dGxlLmdvdi9saWdodC9zeXNzdGF0XCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipXaGF0IHByb2dyZXNzIGFyZSB3ZSBtYWtpbmcgdG93YXJkIHRoaXMgZ29hbD8qKlxcblxcblNvbWUgbW9udGhzIGNvbnRyaWJ1dGUgdG8gU0FJREkgbW9yZSB0aGFuIG90aGVycyBkdWUgdG8gZmFjdG9ycyBzdWNoIGFzIHdpbmQsIGljZSwgb3Igc25vdyBzdG9ybXMuIE91ciBjcmV3cyB3b3JrIHRvIHJlc3RvcmUgcG93ZXIgYXMgc29vbiBhcyBwb3NzaWJsZS5cXG5cXG5cIn1dXX1dLFwidXNlX2N1c3RvbV9zdWJ0aXRsZVwiOnRydWUsXCJjdXN0b21fc3VidGl0bGVcIjpcIlByb3ZpZGUgcmVsaWFibGUgcG93ZXIgdG8gQ2l0eSBMaWdodCBjdXN0b21lcnNcIixcInVzZV9jdXN0b21fdGl0bGVcIjp0cnVlLFwiY3VzdG9tX3RpdGxlXCI6XCJJbXByb3ZlIGVsZWN0cmljIHBvd2VyIHJlbGlhYmlsaXR5IChtaW51dGVzIG9mIG91dGFnZSB0aW1lIHBlciBjdXN0b21lcikgYnkgNSUgb3ZlciB0aGUgY291cnNlIG9mIDIwMTdcIn0ifSwicHJldmFpbGluZ19tZWFzdXJlIjp7InN0YXJ0IjoiMjAxNC0wMS0wMVQwMDowMDowMC4wMDAiLCJlbmQiOiIyMDE3LTEyLTMxVDIzOjU5OjU5LjAwMCIsInVuaXQiOiJtaW51dGVzIG9mIG91dGFnZSB0aW1lIHBlciBjdXN0b21lciIsInRhcmdldF90eXBlIjoicmVsYXRpdmUiLCJ0YXJnZXRfZGVsdGEiOjAsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwiYmFzZWxpbmUiOjY0LjMsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoiNWRnZy1rbmtjIn0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6IjwifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE0fSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE3fSxcImFjdGlvbl90eXBlXCI6XCJtYWludGFpblwiLFwibWFpbnRhaW5fdHlwZVwiOlwiPFwifSxcImJhc2VsaW5lXCI6e1wic3F1aXNoeVwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNH0sXCJlbmRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE0fX0sXCJzdGFydFwiOlwiMjAxNC0wMS0wMVQwMDowMDowMC4wMDBcIixcImVuZFwiOlwiMjAxNC0wMS0wMVQyMzo1OTo1OS4wMDBcIixcIm1ldHJpY1wiOntcIm1ldGFkYXRhXCI6XCJ7XFxcIndpemFyZFxcXCI6e1xcXCJmaWx0ZXJfYXN0XFxcIjpbe1xcXCJ2YWx1ZXNcXFwiOlt7fV19XX19XCJ9fSxcIm5hbWVcIjpcImVsZWN0cmljIHBvd2VyIHJlbGlhYmlsaXR5XCJ9In0sInVwZGF0ZWRfYXQiOiIyMDE3LTAzLTI4VDE1OjI3OjI2LjEyOFoiLCJjcmVhdGVkX2F0IjoiMjAxNy0wMi0xM1QyMTo0MzozNy4xMjhaIiwidmVyc2lvbiI6IjIwMTctMDMtMjhUMTU6Mjc6MjYuMTI4WiIsInRhcmdldF90b2xlcmFuY2UiOjUsImlkIjoiY2gycS1lcjMyIn0sInJlbGF0ZWRfbWVhc3VyZXMiOltdLCJiYXNlX2Rhc2hib2FyZCI6Ijh0ZGctZGt3ZSIsInVwZGF0ZWRfYXQiOiIyMDE3LTEyLTE4VDIzOjI1OjA2LjYxOVoiLCJjcmVhdGVkX2F0IjoiMjAxNy0wMi0xM1QyMTo0MzozNy4zNTBaIiwidmVyc2lvbiI6IjIwMTctMTItMThUMjM6MjU6MDYuNjE5WiIsImNyZWF0ZWRfYnkiOiJham5nLXA1cjQifSx7ImlkIjoiOXFqaS1pcWduIiwibmFtZSI6IkhlbHAgY3VzdG9tZXJzIGNvbnNlcnZlIGVuZXJneSIsImlzX3B1YmxpYyI6dHJ1ZSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJvcHRpb25zXCI6e1wicGFyZW50XCI6e1wib3B0aW9uc1wiOntcInBhcmVudFwiOntcIm9wdGlvbnNcIjp7XCJwYXJlbnRcIjp7XCJfZXZlbnRzXCI6e1wibWF4TGlzdGVuZXJzXCI6MH0sXCJuZXdMaXN0ZW5lclwiOmZhbHNlLFwiX2NvbmZcIjp7XCJkZWxpbWl0ZXJcIjpcIjpcIixcIm1heExpc3RlbmVyc1wiOjB9LFwiZGVsaW1pdGVyXCI6XCI6XCIsXCJfb3V0d2FyZExpc3RlbmVyc1wiOltdLFwiX2lkXCI6NjM1LFwibGlzdFwiOltdfX0sXCJfZXZlbnRzXCI6e1wibWF4TGlzdGVuZXJzXCI6MH0sXCJuZXdMaXN0ZW5lclwiOmZhbHNlLFwiX2NvbmZcIjp7XCJkZWxpbWl0ZXJcIjpcIjpcIixcIm1heExpc3RlbmVyc1wiOjB9LFwiZGVsaW1pdGVyXCI6XCI6XCIsXCJfb3V0d2FyZExpc3RlbmVyc1wiOltdLFwiX2lkXCI6MTA2NzIsXCJfcGFyZW50XCI6e1wiX2V2ZW50c1wiOntcIm1heExpc3RlbmVyc1wiOjB9LFwibmV3TGlzdGVuZXJcIjpmYWxzZSxcIl9jb25mXCI6e1wiZGVsaW1pdGVyXCI6XCI6XCIsXCJtYXhMaXN0ZW5lcnNcIjowfSxcImRlbGltaXRlclwiOlwiOlwiLFwiX291dHdhcmRMaXN0ZW5lcnNcIjpbXSxcIl9pZFwiOjYzNSxcImxpc3RcIjpbXX0sXCJsaXN0XCI6W119fSxcIl9ldmVudHNcIjp7XCJtYXhMaXN0ZW5lcnNcIjowfSxcIm5ld0xpc3RlbmVyXCI6ZmFsc2UsXCJfY29uZlwiOntcImRlbGltaXRlclwiOlwiOlwiLFwibWF4TGlzdGVuZXJzXCI6MH0sXCJkZWxpbWl0ZXJcIjpcIjpcIixcIl9vdXR3YXJkTGlzdGVuZXJzXCI6W10sXCJfaWRcIjoxMDY4OCxcIl9wYXJlbnRcIjp7XCJvcHRpb25zXCI6e1wicGFyZW50XCI6e1wiX2V2ZW50c1wiOntcIm1heExpc3RlbmVyc1wiOjB9LFwibmV3TGlzdGVuZXJcIjpmYWxzZSxcIl9jb25mXCI6e1wiZGVsaW1pdGVyXCI6XCI6XCIsXCJtYXhMaXN0ZW5lcnNcIjowfSxcImRlbGltaXRlclwiOlwiOlwiLFwiX291dHdhcmRMaXN0ZW5lcnNcIjpbXSxcIl9pZFwiOjYzNSxcImxpc3RcIjpbXX19LFwiX2V2ZW50c1wiOntcIm1heExpc3RlbmVyc1wiOjB9LFwibmV3TGlzdGVuZXJcIjpmYWxzZSxcIl9jb25mXCI6e1wiZGVsaW1pdGVyXCI6XCI6XCIsXCJtYXhMaXN0ZW5lcnNcIjowfSxcImRlbGltaXRlclwiOlwiOlwiLFwiX291dHdhcmRMaXN0ZW5lcnNcIjpbXSxcIl9pZFwiOjEwNjcyLFwiX3BhcmVudFwiOntcIl9ldmVudHNcIjp7XCJtYXhMaXN0ZW5lcnNcIjowfSxcIm5ld0xpc3RlbmVyXCI6ZmFsc2UsXCJfY29uZlwiOntcImRlbGltaXRlclwiOlwiOlwiLFwibWF4TGlzdGVuZXJzXCI6MH0sXCJkZWxpbWl0ZXJcIjpcIjpcIixcIl9vdXR3YXJkTGlzdGVuZXJzXCI6W10sXCJfaWRcIjo2MzUsXCJsaXN0XCI6W119LFwibGlzdFwiOltdfSxcImxpc3RcIjpbXX19LFwiX2V2ZW50c1wiOntcIm1heExpc3RlbmVyc1wiOjB9LFwibmV3TGlzdGVuZXJcIjpmYWxzZSxcIl9jb25mXCI6e1wiZGVsaW1pdGVyXCI6XCI6XCIsXCJtYXhMaXN0ZW5lcnNcIjowfSxcImRlbGltaXRlclwiOlwiOlwiLFwiX291dHdhcmRMaXN0ZW5lcnNcIjpbXSxcIl9pZFwiOjEwNjg5LFwiX3BhcmVudFwiOntcIm9wdGlvbnNcIjp7XCJwYXJlbnRcIjp7XCJvcHRpb25zXCI6e1wicGFyZW50XCI6e1wiX2V2ZW50c1wiOntcIm1heExpc3RlbmVyc1wiOjB9LFwibmV3TGlzdGVuZXJcIjpmYWxzZSxcIl9jb25mXCI6e1wiZGVsaW1pdGVyXCI6XCI6XCIsXCJtYXhMaXN0ZW5lcnNcIjowfSxcImRlbGltaXRlclwiOlwiOlwiLFwiX291dHdhcmRMaXN0ZW5lcnNcIjpbXSxcIl9pZFwiOjYzNSxcImxpc3RcIjpbXX19LFwiX2V2ZW50c1wiOntcIm1heExpc3RlbmVyc1wiOjB9LFwibmV3TGlzdGVuZXJcIjpmYWxzZSxcIl9jb25mXCI6e1wiZGVsaW1pdGVyXCI6XCI6XCIsXCJtYXhMaXN0ZW5lcnNcIjowfSxcImRlbGltaXRlclwiOlwiOlwiLFwiX291dHdhcmRMaXN0ZW5lcnNcIjpbXSxcIl9pZFwiOjEwNjcyLFwiX3BhcmVudFwiOntcIl9ldmVudHNcIjp7XCJtYXhMaXN0ZW5lcnNcIjowfSxcIm5ld0xpc3RlbmVyXCI6ZmFsc2UsXCJfY29uZlwiOntcImRlbGltaXRlclwiOlwiOlwiLFwibWF4TGlzdGVuZXJzXCI6MH0sXCJkZWxpbWl0ZXJcIjpcIjpcIixcIl9vdXR3YXJkTGlzdGVuZXJzXCI6W10sXCJfaWRcIjo2MzUsXCJsaXN0XCI6W119LFwibGlzdFwiOltdfX0sXCJfZXZlbnRzXCI6e1wibWF4TGlzdGVuZXJzXCI6MH0sXCJuZXdMaXN0ZW5lclwiOmZhbHNlLFwiX2NvbmZcIjp7XCJkZWxpbWl0ZXJcIjpcIjpcIixcIm1heExpc3RlbmVyc1wiOjB9LFwiZGVsaW1pdGVyXCI6XCI6XCIsXCJfb3V0d2FyZExpc3RlbmVyc1wiOltdLFwiX2lkXCI6MTA2ODgsXCJfcGFyZW50XCI6e1wib3B0aW9uc1wiOntcInBhcmVudFwiOntcIl9ldmVudHNcIjp7XCJtYXhMaXN0ZW5lcnNcIjowfSxcIm5ld0xpc3RlbmVyXCI6ZmFsc2UsXCJfY29uZlwiOntcImRlbGltaXRlclwiOlwiOlwiLFwibWF4TGlzdGVuZXJzXCI6MH0sXCJkZWxpbWl0ZXJcIjpcIjpcIixcIl9vdXR3YXJkTGlzdGVuZXJzXCI6W10sXCJfaWRcIjo2MzUsXCJsaXN0XCI6W119fSxcIl9ldmVudHNcIjp7XCJtYXhMaXN0ZW5lcnNcIjowfSxcIm5ld0xpc3RlbmVyXCI6ZmFsc2UsXCJfY29uZlwiOntcImRlbGltaXRlclwiOlwiOlwiLFwibWF4TGlzdGVuZXJzXCI6MH0sXCJkZWxpbWl0ZXJcIjpcIjpcIixcIl9vdXR3YXJkTGlzdGVuZXJzXCI6W10sXCJfaWRcIjoxMDY3MixcIl9wYXJlbnRcIjp7XCJfZXZlbnRzXCI6e1wibWF4TGlzdGVuZXJzXCI6MH0sXCJuZXdMaXN0ZW5lclwiOmZhbHNlLFwiX2NvbmZcIjp7XCJkZWxpbWl0ZXJcIjpcIjpcIixcIm1heExpc3RlbmVyc1wiOjB9LFwiZGVsaW1pdGVyXCI6XCI6XCIsXCJfb3V0d2FyZExpc3RlbmVyc1wiOltdLFwiX2lkXCI6NjM1LFwibGlzdFwiOltdfSxcImxpc3RcIjpbXX0sXCJsaXN0XCI6W119LFwibGlzdFwiOltdLFwicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcIm5hcnJhdGl2ZVwiOlt7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipXaHkgaXMgdGhpcyBnb2FsIGltcG9ydGFudD8qKlxcblxcbkZvciAzNSB5ZWFycywgU2VhdHRsZSBDaXR5IExpZ2h0IGhhcyBoZWxwZWQgaXRzIGN1c3RvbWVycyBiZWNvbWUgbW9yZSBlbmVyZ3kgZWZmaWNpZW50LiBDaXR5IExpZ2h0IHByb3ZpZGVzIGEgZnVsbCByYW5nZSBvZiBjb3N0LWVmZmVjdGl2ZSBlbmVyZ3kgZWZmaWNpZW5jeSBzZXJ2aWNlcyB0byBvdXIgcmVzaWRlbnRpYWwgYW5kIGJ1c2luZXNzIGN1c3RvbWVycywgaW4gcGFydG5lcnNoaXAgd2l0aCBvdXIgY29tbXVuaXRpZXMgdG8gc3VzdGFpbiBvdXIgZW52aXJvbm1lbnQgZm9yIGZ1dHVyZSBnZW5lcmF0aW9ucy4gQ3VzdG9tZXJzIGNhbiBzYXZlIGVuZXJneSBhbmQgbW9uZXkgdGhyb3VnaCBIb21lIEVuZXJneSBBdWRpdHMsIHJlYmF0ZSBwcm9ncmFtcywgYW5kIG1vcmUuXFxuXFxuKipFbnZpcm9ubWVudGFsIGxlYWRlcnM6IFRoZSBHcmVlbmVzdCBVdGlsaXR5IGluIHRoZSBOYXRpb24qKlxcblxcbkNpdHkgTGlnaHQgaGFzIGdvb2QgcmVhc29uIHRvIGNsYWltIHRoZSB0aXRsZSBvZiB0aGUgR3JlZW5lc3QgVXRpbGl0eSBpbiB0aGUgTmF0aW9uLiBXZSB3ZXJlIHRoZSBmaXJzdCBjZXJ0aWZpZWQgY2FyYm9uLW5ldXRyYWwgdXRpbGl0eSBpbiB0aGUgVW5pdGVkIFN0YXRlcywgYW5kIGhhdmUgbWFpbnRhaW5lZCB0aGF0IHN0YXR1cyBzaW5jZSAyMDA1LiBNb3JlIHRoYW4gOTAgcGVyY2VudCBvZiBvdXIgcG93ZXIgY29tZXMgZnJvbSBjbGVhbiBoeWRyby1lbGVjdHJpYyBnZW5lcmF0aW9uLiBPdXIgZmxlZXQgaW5jbHVkZXMgYSBncm93aW5nIG51bWJlciBvZiBhbGwtZWxlY3RyaWMgdmVoaWNsZXMgYW5kIGh5YnJpZCBzZXJ2aWNlIHRydWNrcy4gV2UgdXNlIG5vbi10b3hpYyBtaW5lcmFsIG9pbCBpbiBvdXIgdHJhbnNmb3JtZXJzLCBhbmQgb3VyIHBvbGVzIGFyZSB0cmVhdGVkIHdpdGggZ3JlZW5lciwgc2FmZXIgcHJlc2VydmF0aXZlcy4gQXMgc3Rld2FyZHMgb2YgdGhlIHVwcGVyIFNrYWdpdCBSaXZlciwgd2UgbWFuYWdlIHJpdmVyIGZsb3dzIHRvIHByb3RlY3Qgc2FsbW9uIHNwYXduaW5nIG5lc3RzLCBhbmQgdG8gaGVscCBzYWxtb24gaW4gdGhlaXIgbWlncmF0aW9uIHVwIGFuZCBkb3duIHRoZSByaXZlci4gQXMgYSByZXN1bHQsIHRoZSBTa2FnaXQgUml2ZXIgaGFzIHNvbWUgb2YgdGhlIGhlYWx0aGllc3Qgc2FsbW9uIHJ1bnMgb2YgYW55IG90aGVyIHdhdGVyc2hlZCBpbiB0aGUgUHVnZXQgU291bmQuXFxuXFxuRW5lcmd5IGNvbnNlcnZhdGlvbiBoYXMgZW1lcmdlZCBhcyB0aGUgY2xlYW5lc3QsIG1vc3QgY29zdC1lZmZlY3RpdmUgc291cmNlIG9mIHBvd2VyIGZvciBDaXR5IExpZ2h0LCBzbyBtdWNoIHNvIHRoYXQgd2UgZXhwZWN0IHRvIG1lZXQgdGhlIGdyb3dpbmcgZGVtYW5kIGZvciBwb3dlciBvdmVyIHRoZSBuZXh0IHR3byBkZWNhZGVzIHNvbGVseSBieSBlbmNvdXJhZ2luZyBjdXN0b21lcnMgYW5kIGJ1c2luZXNzZXMgdG8gc2F2ZSBlbmVyZ3kuXFxuXFxuXCJ9XSxbe1widHlwZVwiOlwiaW1hZ2VcIixcInNyY1wiOlwiL2FwaS9hc3NldHMvQTNENEEzNkQtOEVGQi00QzkzLTgyM0UtMEY0MkRDQzU1MUU4XCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgTU9SRSBJTkZPUk1BVElPTiBPTiBUSElTIEdPQUw6XFxuXFxuKiAqKkVuZXJneSBDb25zZXJ2YXRpb246KiogIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L2xpZ2h0L2NvbnNlcnZlL11bMF1cXG4qICoqMjAxNCBFbnZpcm9ubWVudCBSZXBvcnQ6KiogIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L2xpZ2h0L2Vudmlyb25tZW50L2ZsaXBib29rLzIwMTQvaW5kZXguaHRtbF1bMV1cXG5cXG5cXG5bMF06IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvbGlnaHQvY29uc2VydmUvXFxuWzFdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L2xpZ2h0L2Vudmlyb25tZW50L2ZsaXBib29rLzIwMTQvaW5kZXguaHRtbFwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqSG93IGRvIHdlIG1lYXN1cmUgdGhpcyBnb2FsPyoqXFxuXFxuT25lIHdheSB0byBtZWFzdXJlIGhvdyBncmVlbiB3ZSBhcmUgaXMgdG8gdHJhY2sgdGhlIGFtb3VudCBvZiBlbmVyZ3kgY29uc2VydmF0aW9uIGFjaGlldmVkIGJ5IG91ciBjb25zZXJ2YXRpb24gcHJvZ3JhbXMuIENvbnNlcnZlZCBlbmVyZ3kgaXMgbWVhc3VyZWQgaW4gYXZlcmFnZSBtZWdhd2F0dHMgKGFNVykuXFxuXFxuXCJ9XV19LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipTcG90bGlnaHQgT246KiogSGlzdG9yaWNhbCBUcmVuZHMgaW4gRW5lcmd5IENvbnNlcnZhdGlvbiBieSBDaXR5IExpZ2h0IEN1c3RvbWVyc1xcblxcblwifSx7XCJ0eXBlXCI6XCJ2aXpcIixcImRhdGFzZXRcIjpcImRpYWcteHB4eVwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCJfVGhlIGxpbmUgZ3JhcGggYWJvdmUgc2hvd3MgeWVhcmx5IGVuZXJneSBjb25zZXJ2ZWQgKGFNVykgZm9yIHRoZSB5ZWFycyAyMDA1IOKAkzIwMTYuX1xcblxcblwifV0sXCJpY29uXCI6XCJcIixcInVzZV9jdXN0b21fdGl0bGVcIjp0cnVlLFwiY3VzdG9tX3RpdGxlXCI6XCJDb25zZXJ2ZSBhdCBsZWFzdCAxNCBhTVcgb2YgZWxlY3RyaWNpdHkgZHVyaW5nIDIwMTZcIixcInVzZV9jdXN0b21fc3VidGl0bGVcIjp0cnVlLFwiY3VzdG9tX3N1YnRpdGxlXCI6XCJIZWxwIGN1c3RvbWVycyBjb25zZXJ2ZSBlbmVyZ3lcIn0ifSwicHJldmFpbGluZ19tZWFzdXJlIjp7InN0YXJ0IjoiMjAxNy0wMS0wMVQwMDowMDowMC4wMDAiLCJlbmQiOiIyMDE3LTEyLTMxVDIzOjU5OjU5LjAwMCIsInVuaXQiOiJhTVcgc2F2ZWQiLCJ0YXJnZXQiOjE0LCJ0YXJnZXRfdHlwZSI6ImFic29sdXRlIiwidGFyZ2V0X2RlbHRhX2lzX3BlcmNlbnQiOmZhbHNlLCJtZXRyaWMiOnsibWV0YWRhdGEiOiIiLCJpZCI6ImJ2enMtdnc0ayJ9LCJjb21wYXJpc29uIjp7ImNvbXBhcmlzb25fZnVuY3Rpb24iOiI+In0sIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wiZWRpdFwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxN30sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxN30sXCJhY3Rpb25fdHlwZVwiOlwiaW5jcmVhc2VcIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTR9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNH19LFwic3RhcnRcIjpcIjIwMTQtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTQtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJ0b3RhbCBuZXcgZW5lcmd5IGNvbnNlcnZhdGlvblwifSJ9LCJ1cGRhdGVkX2F0IjoiMjAxNy0wMy0wMVQwMDozMjo0MS4zOTBaIiwiY3JlYXRlZF9hdCI6IjIwMTctMDItMTNUMjI6MDg6NDkuNzMyWiIsInZlcnNpb24iOiIyMDE3LTAzLTAxVDAwOjMyOjQxLjM5MFoiLCJ0YXJnZXRfdG9sZXJhbmNlIjoxLCJpZCI6IjM4bXctZjlkZSJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiI4dGRnLWRrd2UiLCJ1cGRhdGVkX2F0IjoiMjAxNy0wOC0xNFQyMjo0Nzo0NC4wNDNaIiwiY3JlYXRlZF9hdCI6IjIwMTctMDItMTNUMjI6MDg6NTAuMTkzWiIsInZlcnNpb24iOiIyMDE3LTA4LTE0VDIyOjQ3OjQ0LjA0M1oiLCJjcmVhdGVkX2J5IjoiYTg1dy0yaWt1In1dLCJ2ZXJzaW9uIjoiMjAxNy0wMi0yOFQxNzo0Njo0MC4yMTBaIn0seyJpZCI6InAzejItZDd5eiIsIm5hbWUiOiJTb2xpZCBXYXN0ZSwgRHJhaW5hZ2UgJiBXYXN0ZXdhdGVyIiwiZ29hbHMiOlt7ImlkIjoiZnBnMi1oN2J0IiwibmFtZSI6IlByb3ZpZGUgcmVsaWFibGUgc29saWQgd2FzdGUgcGljayB1cCIsImlzX3B1YmxpYyI6dHJ1ZSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJyZXRpcmVtZW50X25hcnJhdGl2ZVwiOltdLFwibmFycmF0aXZlXCI6W3tcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoeSBpcyB0aGlzIGdvYWwgaW1wb3J0YW50PyoqXFxuXFxuQ29sbGVjdGluZyBhbmQgbWFuYWdpbmcgZ2FyYmFnZSwgcmVjeWNsaW5nLCBhbmQgeWFyZCB3YXN0ZSBvbi10aW1lIGV2ZXJ5IHdlZWsga2VlcHMgU2VhdHRsZSdzIG5laWdoYm9yaG9vZHMgY2xlYW4sIHByb3RlY3RzIGhlYWx0aCwgYW5kIHJlZHVjZXMgd2FzdGUuIEl0IGlzIGtleSB0byBjdXN0b21lciBjb252ZW5pZW5jZSBhbmQgcGFydGljaXBhdGlvbiBpbiByZWN5Y2xpbmcgYW5kIGNvbXBvc3RpbmcgZWZmb3J0cy5cXG5cXG5FdmVyeSB3ZWVrLCA2LDEyNyB0b25zIG9mIGdhcmJhZ2UgYXJlIHBpY2tlZCB1cCB0aHJvdWdob3V0IHRoZSBjaXR5IG9yIGNvbGxlY3RlZCBmcm9tIGN1c3RvbWVycyBhdCB0aGUgdHdvIGdhcmJhZ2UgYW5kIHJlY3ljbGluZyB0cmFuc2ZlciBzdGF0aW9ucy4gU29saWQgd2FzdGUgY29sbGVjdGlvbiBpcyBhbiBlc3NlbnRpYWwgc2VydmljZSBwcm92aWRlZCBieSBTZWF0dGxlIFB1YmxpYyBVdGlsaXRpZXMuXFxuXFxuIFxcblxcbkluIHRoZSBtaWQtMjAwMHMsIFNlYXR0bGUgUHVibGljIFV0aWxpdGllcyBzZXQgdGhlIGdvYWwgb2YgaGF2aW5nIG9ubHkgb25lIG1pc3NlZCBwaWNrdXAgcGVyIGV2ZXJ5IDEsMDAwIHN0b3BzLiBJbiAyMDA5LCB0aGUgZ29hbCB3YXMgYWRkZWQgdG8gU2VhdHRsZSBQdWJsaWMgVXRpbGl0aWVzIHdhc3RlLWhhdWxpbmcgY29udHJhY3RzLiBTZWF0dGxlJ3MgZ29hbCBoYXMgYmVjb21lIG1vcmUgYnJvYWRseSBhZG9wdGVkIGFzIGFuIGluZHVzdHJ5IHN0YW5kYXJkLlxcblxcblwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqSG93IGRvIHdlIG1lYXN1cmUgdGhpcyBnb2FsPyoqXFxuXFxuQ3VzdG9tZXJzIHR5cGljYWxseSBzZXQgb3V0IGdhcmJhZ2UgYW5kIHlhcmQgd2FzdGUgY29udGFpbmVycyB3ZWVrbHkgYW5kIHJlY3ljbGluZyBjb250YWluZXJzIGV2ZXJ5IG90aGVyIHdlZWsuIFRoaXMgZ29hbCBpcyBtZWFzdXJlZCBieSB0aGUgbnVtYmVyIG9mIGNhbGxzIGZyb20gcmVzaWRlbnRpYWwsIG11bHRpLWZhbWlseSwgYW5kIGNvbW1lcmNpYWwgY3VzdG9tZXJzIGFib3V0IGFueSBtaXNzZWQgY29udGFpbmVyIHBpY2t1cC5cXG5cXG5TZWF0dGxlIFB1YmxpYyBVdGlsaXRpZXMgaGFzIGEgZ29hbCB0byBjb2xsZWN0IDk1IHBlcmNlbnQgb2YgdGhlIG1pc3NlZCBwaWNrdXBzIHdpdGhpbiAyNCBob3Vycy4gRGF0YSBhcmUgdXBkYXRlZCBxdWFydGVybHkuXFxuXFxuXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipXaGF0IHByb2dyZXNzIGFyZSB3ZSBtYWtpbmcgdG93YXJkIHRoaXMgZ29hbD8qKlxcblxcblNlYXR0bGUgUHVibGljIFV0aWxpdGllcyBjb25zaXN0ZW50bHkgbWVldHMgdGhpcyBnb2FsLCBpbmNsdWRpbmcgaW4gMjAxNi4gVGhlIGdvYWwgd2FzIGhhcyBiZWVuIG1ldCBzaW5jZSAyMDA5LCB3aXRoIHRoZSBleGNlcHRpb24gb2YgMjAxMiB3aGVuIDYwIHBlcmNlbnQgb2YgY3VzdG9tZXJzIGV4cGVyaWVuY2VkIGEgc2VydmljZSBpbnRlcnJ1cHRpb24gZHVlIHRvIGEgbGFib3Igc3RyaWtlIGZyb20gSnVseSAyNSB0aHJvdWdoIEF1Z3VzdCAxLiBBbiBhY2N1cmF0ZSBudW1iZXIgb2YgbWlzc2VkIGNvbGxlY3Rpb25zIHdhcyBub3QgY291bnRlZCBkdXJpbmcgdGhhdCB0aW1lLlxcblxcblNlYXR0bGUgUHVibGljIFV0aWxpdGllcyBjb25zaXN0ZW50bHkgYWNoaWV2ZXMgdGhlIGdvYWwgdG8gY29sbGVjdCA5NSBwZXJjZW50IG9mIG1pc3NlZCBwaWNrdXBzIHdpdGhpbiAyNCBob3Vycy5cXG5cXG5cIn1dLFt7XCJ0eXBlXCI6XCJpbWFnZVwiLFwic3JjXCI6XCIvYXBpL2Fzc2V0cy81QjkyQjc2Ny1CRkRBLTRENDEtQkM5MC04RUE5QTFGNUY4RjdcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyBGT1IgTU9SRSBJTkZPUk1BVElPTjpcXG5cXG4qICoqR2FyYmFnZSBjb2xsZWN0aW9uOioqICBcXG5baHR0cDovL3d3dy5zZWF0dGxlLmdvdi91dGlsL015U2VydmljZXMvR2FyYmFnZS9pbmRleC5odG1dWzBdXFxuKiAqKkZvb2QgYW5kIFlhcmQgV2FzdGUgY29sbGVjdGlvbjoqKiAgXFxuW2h0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdXRpbC9NeVNlcnZpY2VzL0Zvb2RZYXJkL2luZGV4Lmh0bV1bMV1cXG4qICoqUmVjeWNsaW5nIGNvbGxlY3Rpb246KiogIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvTXlTZXJ2aWNlcy9SZWN5Y2xpbmcvaW5kZXguaHRtXVsyXVxcbiogKipTb2xpZCBXYXN0ZSBSZXBvcnRzOioqICBcXG5baHR0cDovL3d3dy5zZWF0dGxlLmdvdi91dGlsL0RvY3VtZW50cy9SZXBvcnRzL1NvbGlkV2FzdGVSZXBvcnRzL2luZGV4Lmh0bV1bM11cXG5cXG5cXG5bMF06IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdXRpbC9NeVNlcnZpY2VzL0dhcmJhZ2UvaW5kZXguaHRtXFxuWzFdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvTXlTZXJ2aWNlcy9Gb29kWWFyZC9pbmRleC5odG1cXG5bMl06IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdXRpbC9NeVNlcnZpY2VzL1JlY3ljbGluZy9pbmRleC5odG1cXG5bM106IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdXRpbC9Eb2N1bWVudHMvUmVwb3J0cy9Tb2xpZFdhc3RlUmVwb3J0cy9pbmRleC5odG1cIn1dXX1dLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIlByb3ZpZGUgcmVsaWFibGUgc29saWQgd2FzdGUgcGljayB1cCB3aXRoIG9ubHkgb25lIG1pc3NlZCBwaWNrdXAgZm9yIGVhY2ggMSwwMDAgc3RvcHNcIixcImljb25cIjpcIlwiLFwidXNlX2N1c3RvbV9zdWJ0aXRsZVwiOnRydWUsXCJjdXN0b21fc3VidGl0bGVcIjpcIlByb3ZpZGUgcmVsaWFibGUgc29saWQgd2FzdGUgcGljayB1cFwifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIyMDA5LTEyLTMxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMTctMTItMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6Im1pc3NlZCBwaWNrdXBzIHBlciAxLDAwMCBzdG9wcyIsInRhcmdldF90eXBlIjoicmVsYXRpdmUiLCJ0YXJnZXRfZGVsdGEiOjAsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwiYmFzZWxpbmUiOjEsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoicWNxcC10dnV6In0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6IjwifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAwOX0sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxN30sXCJhY3Rpb25fdHlwZVwiOlwibWFpbnRhaW5cIixcIm1haW50YWluX3R5cGVcIjpcIjxcIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTR9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNH19LFwic3RhcnRcIjpcIjIwMTQtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTQtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJhIHJhdGUgb2YgbWlzc2VkIHBpY2t1cHNcIn0ifSwidXBkYXRlZF9hdCI6IjIwMTctMDItMTdUMTg6MTU6NDAuMjEyWiIsImNyZWF0ZWRfYXQiOiIyMDE3LTAyLTE2VDIzOjUxOjQ1LjAzN1oiLCJ2ZXJzaW9uIjoiMjAxNy0wMi0xN1QxODoxNTo0MC4yMTJaIiwidGFyZ2V0X3RvbGVyYW5jZSI6MC41LCJpZCI6ImozODItYnhucCJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiI4dGRnLWRrd2UiLCJ1cGRhdGVkX2F0IjoiMjAxNy0wOC0xNFQyMjo0OTozMi42NjFaIiwiY3JlYXRlZF9hdCI6IjIwMTctMDItMTZUMjM6NTE6NDUuMzY1WiIsInZlcnNpb24iOiIyMDE3LTA4LTE0VDIyOjQ5OjMyLjY2MVoiLCJjcmVhdGVkX2J5IjoiYTg1dy0yaWt1In0seyJpZCI6IjVtaW4tdmN4biIsIm5hbWUiOiJJbmNyZWFzZSByZWN5Y2xpbmcgYW5kIGNvbXBvc3RpbmciLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcIm5hcnJhdGl2ZVwiOlt7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipXaHkgaXMgdGhpcyBnb2FsIGltcG9ydGFudD8qKlxcblxcblNlbmRpbmcgbGVzcyBnYXJiYWdlIHRvIGxhbmRmaWxscyBzYXZlcyBtb25leSBhbmQgcmVkdWNlcyB3YXRlciBhbmQgbGFuZCBwb2xsdXRpb24uIEluIDE5ODgsIFNlYXR0bGUgYmVnYW4gdGhlIGZpcnN0IHN0YWdlIG9mIHRoZSBjdXJyZW50IGN1cmJzaWRlLXJlY3ljbGluZyBwcm9ncmFtLiBTaW5jZSB0aGVuLCB0aGUgQ2l0eSdzIGdhcmJhZ2UgYW5kIHJlY3ljbGluZyBlZmZvcnRzIGhhdmU6XFxuXFxuKiBTYXZlZCBtb3JlIHRoYW4gOSBtaWxsaW9uIHRyZWVzIHRocm91Z2ggcGFwZXIgcmVjeWNsaW5nXFxuKiBTYXZlZCBtb3JlIHRoYW4gJDY4IG1pbGxpb24gaW4gbGFuZGZpbGwgZmVlc1xcbiogUmVkdWNlZCBncmVlbmhvdXNlIGdhc2VzIGJ5IDMuMSBtaWxsaW9uIG1ldHJpYyB0b25zXFxuKiBCZWNvbWUgYSBsZWFkaW5nIG1vZGVsIGZvciB0aGUgbmF0aW9uLCB3aXRoIGEgcmVjeWNsaW5nIHJhdGUgb2YgNzAgcGVyY2VudCBmb3Igc2luZ2xlLWZhbWlseS1ob21lIHJlc2lkZW50cyBhbmQgNjIgcGVyY2VudCBmb3IgYnVzaW5lc3NcXG5cXG5FZmZlY3RpdmUgcmVjeWNsaW5nIGFuZCBjb21wb3N0aW5nIGlzIHBhcnQgb2YgdGhlIFNlYXR0bGUgUHVibGljIFV0aWxpdGllcyAyMDE1IOKAkyAyMDIwIFN0cmF0ZWdpYyBCdXNpbmVzcyBQbGFuLCBhbmQgaXMgY2FsbGVkIGZvciBieSAyMDA3IENpdHkgQ291bmNpbCBSZXNvbHV0aW9uIDMwOTkwLlxcblxcblwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqSG93IGRvIHdlIG1lYXN1cmUgdGhpcyBnb2FsPyoqXFxuXFxuU2VhdHRsZSBoYXMgYSBsb25nLXRlcm0gZ29hbCB0byByZWN5Y2xlIDcwIHBlcmNlbnQgb2YgYWxsIHNvbGlkIHdhc3RlIGNpdHl3aWRlIGJ5IDIwMjIuIFRoZSBnb2FsIGluY2x1ZGVzIHJlY3ljbGluZyA2MCBwZXJjZW50IG9mIGFsbCBzb2xpZCB3YXN0ZSBieSAyMDE1LiBGb3VyIGRpZmZlcmVudCBzZWN0b3JzIGFyZSB0cmFja2VkIGFzIHBhcnQgb2YgdGhpcyBnb2FsOiBzaW5nbGUtZmFtaWx5IHJlc2lkZW50aWFsLCBtdWx0aS1mYW1pbHkgcmVzaWRlbnRpYWwsIHNlbGYtaGF1bCBieSBjdXN0b21lcnMgYnJpbmdpbmcgdGhlaXIgb3duIHdhc3RlIHRvIGRyb3Agb2ZmIGF0IHRoZSB0cmFuc2ZlciBzdGF0aW9ucywgYW5kIGNvbW1lcmNpYWwuXFxuXFxuU2VhdHRsZSBhbHNvIGhhcyBhIGdvYWwgdG8gcmVjeWNsZSA3MCBwZXJjZW50IG9mIGNvbnN0cnVjdGlvbiBhbmQgZGVtb2xpdGlvbiBkZWJyaXMgYnkgMjAyMC4gVGhlc2UgbWF0ZXJpYWxzIGFuZCByZWN5Y2xpbmcgcmF0ZSBhcmUgdHJhY2tlZCBzZXBhcmF0ZWx5LlxcblxcblByb2dyZXNzIGlzIHJlcG9ydGVkIGFubnVhbGx5IGJ5IEp1bHkgMSBmb3IgdGhlIHByaW9yIHllYXIuXFxuXFxuXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipXaGF0IHByb2dyZXNzIGFyZSB3ZSBtYWtpbmcgdG93YXJkIHRoaXMgZ29hbD8qKlxcblxcbkluIDIwMTUsIDU4IHBlcmNlbnQgb2YgYWxsIHNvbGlkIHdhc3RlIHdhcyByZWN5Y2xlZC4gVGhpcyB3YXMgYW4gaW5jcmVhc2Ugb2YgMC45IHBlcmNlbnRhZ2UgcG9pbnRzIG92ZXIgMjAxNC4gVGhlIDIwMTUgdG90YWwgd2FzdGUgcmVjeWNsaW5nIHJhdGVzIGJ5IHNlY3RvciBhcmU6XFxuXFxuKiBTaW5nbGUtZmFtaWx5IHJlc2lkZW50aWFsOiA3NC4zIHBlcmNlbnRcXG4qIE11bHRpLWZhbWlseSByZXNpZGVudGlhbDogMzYuOCBwZXJjZW50XFxuKiBTZWxmLWhhdWwgYnkgY3VzdG9tZXJzIHRvIHRoZSB0cmFuc2ZlciBzdGF0aW9uczogMTAuNCBwZXJjZW50XFxuKiBDb21tZXJjaWFsOiA2Mi4zIHBlcmNlbnRcXG5cXG5JbiBhZGRpdGlvbiwgYXBwcm94aW1hdGVseSA2Ny4yIHBlcmNlbnQgb2YgY29uc3RydWN0aW9uIGFuZCBkZW1vbGl0aW9uIGRlYnJpcyB3YXMgcmVjeWNsZWQgb3IgZGl2ZXJ0ZWQgZnJvbSBiZWluZyBkaXNwb3NlZCBpbiBhIGxhbmRmaWxsLlxcblxcblRoZSBvdmVyYWxsIHJlY3ljbGluZyByYXRlIHdhcyAzOCBwZXJjZW50IGluIDIwMDMuIEl0IGhhcyByaXNlbiAxOS44IHBlcmNlbnQgcG9pbnRzIHNpbmNlIHRoZW4uIEV2ZW4gd2l0aCBlY29ub21pYyByZWNvdmVyeSBpbiAyMDEzLCB3YXN0ZSBnZW5lcmF0aW9uIGhhcyByZW1haW5lZCBhdCB0aGUgMjAwOSDigJMgMjAxMiByZWNlc3Npb24gbGV2ZWxzIGFuZCB0aGUgcmVjeWNsaW5nIHJhdGUgaGFzIGluY3JlYXNlZC5cXG5cXG5TZWF0dGxlIHJlc2lkZW50cywgYnVzaW5lc3NlcywgYW5kIGluc3RpdHV0aW9ucyBwbGF5IGEga2V5IHJvbGUgaW4gYWNoaWV2aW5nIHRoaXMgZ29hbCB0aHJvdWdoIGEgY29tbXVuaXR5IGNvbW1pdG1lbnQgdG8gd2FzdGUgcmVkdWN0aW9uIGFuZCByZWN5Y2xpbmcuIFNlYXR0bGUgUHVibGljIFV0aWxpdGllcyBwcm92aWRlcyBjdXN0b21lciBlZHVjYXRpb24gYW5kIHRlY2huaWNhbCBhc3Npc3RhbmNlIHRvIGVuY291cmFnZSB0aGUgY29tcG9zdGluZyBvZiB5YXJkIHdhc3RlIGFuZCBvcmdhbmljcywgcmVjeWNsaW5nLCBhbmQgZ2FyYmFnZSByZWR1Y3Rpb24uIEV4YW1wbGVzIGluY2x1ZGUgZGlzY291bnRlZCBjb21wb3N0LCBncmFudHMgdG8gbmVpZ2hib3Job29kcyBhbmQgYnVzaW5lc3NlcyB0byBoZWxwIGluY3JlYXNlIHJlY3ljbGluZyBhbmQgd2FzdGUgcmVkdWN0aW9uLCBhbmQgZWR1Y2F0aW9uYWwgcHJvZ3JhbXMuXFxuXFxuU3RhcnRpbmcgaW4gMjAxNSwgYWxsIGZvb2Qgd2FzdGUgbXVzdCBiZSBjb21wb3N0ZWQgYW5kIGtlcHQgb3V0IG9mIHRoZSBnYXJiYWdlIHN0cmVhbS4gU2VhdHRsZSBQdWJsaWMgVXRpbGl0aWVzIGlzIHByb3ZpZGluZyBzdXBwb3J0IHRvIGhlbHAgbXVsdGktZmFtaWx5IHByb3BlcnRpZXMsIGFzIHdlbGwgYXMgbWlub3JpdHkgYW5kIGltbWlncmFudCByZXN0YXVyYW50cyBhbmQgZ3JvY2VyeSBzdG9yZXMgbWVldCB0aGUgbmV3IHJlcXVpcmVtZW50LlxcblxcblwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzLzgyRjBFRDExLTY0QTQtNEQ5Ny1BRDgyLTU3MUQ5ODdEMDkwRVwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjIEZPUiBNT1JFIElORk9STUFUSU9OOlxcblxcbiogKipTb2xpZCB3YXN0ZSwgcmVjeWNsaW5nIGFuZCBvcmdhbmljcyByZXBvcnRzOioqICBcXG5baHR0cDovL3d3dy5zZWF0dGxlLmdvdi91dGlsL0RvY3VtZW50cy9SZXBvcnRzL1NvbGlkV2FzdGVSZXBvcnRzL2luZGV4Lmh0bV1bMF1cXG4qICoqUmVjeWNsaW5nIGluIFNlYXR0bGU6KiogIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvTXlTZXJ2aWNlcy9SZWN5Y2xpbmcvaW5kZXguaHRtXVsxXVxcbiogKipGb29kLCB5YXJkIHdhc3RlIGFuZCBjb21wb3N0aW5nIGluIFNlYXR0bGU6KiogIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvTXlTZXJ2aWNlcy9Gb29kWWFyZC9pbmRleC5odG1dWzJdXFxuKiAqKjIwMTMgc29saWQgd2FzdGUgcGxhbjoqKiAgXFxuW2h0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdXRpbC9Eb2N1bWVudHMvUGxhbnMvU29saWRXYXN0ZVBsYW5zL2luZGV4Lmh0bV1bM11cXG5cXG5cXG5bMF06IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdXRpbC9Eb2N1bWVudHMvUmVwb3J0cy9Tb2xpZFdhc3RlUmVwb3J0cy9pbmRleC5odG1cXG5bMV06IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdXRpbC9NeVNlcnZpY2VzL1JlY3ljbGluZy9pbmRleC5odG1cXG5bMl06IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdXRpbC9NeVNlcnZpY2VzL0Zvb2RZYXJkL2luZGV4Lmh0bVxcblszXTogaHR0cDovL3d3dy5zZWF0dGxlLmdvdi91dGlsL0RvY3VtZW50cy9QbGFucy9Tb2xpZFdhc3RlUGxhbnMvaW5kZXguaHRtXCJ9XV19LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipTcG90bGlnaHQgT246KiogVG9ucyBEaXNwb3NlZCB2cy4gVG9ucyBSZWN5Y2xlZCAyMDAzIOKAkyAyMDE1XFxuXFxuXCJ9LHtcInR5cGVcIjpcInZpelwiLFwiZGF0YXNldFwiOlwieTVicy1uZnczXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIl9UaGUgc3RhY2tlZCBiYXIgY2hhcnQgYWJvdmUgaWxsdXN0cmF0ZXMgdGhlIGV2b2x1dGlvbiwgZnJvbSAyMDAzIOKAkzIwMTQsIG9mIHRvbnMgZGlzcG9zZWQgYW5kIHRvbnMgcmVjeWNsZWQgYnkgU2VhdHRsZSBQdWJsaWMgVXRpbGl0aWVzLl9cXG5cXG5cIn1dLFwiaWNvblwiOlwiXCIsXCJ1c2VfY3VzdG9tX3N1YnRpdGxlXCI6dHJ1ZSxcImN1c3RvbV9zdWJ0aXRsZVwiOlwiSW5jcmVhc2UgcmVjeWNsaW5nIGFuZCBjb21wb3NpbmcgcmF0ZXNcIixcInVzZV9jdXN0b21fdGl0bGVcIjp0cnVlLFwiY3VzdG9tX3RpdGxlXCI6XCJJbmNyZWFzZSBzb2xpZCB3YXN0ZSByZWN5Y2xpbmcgdG8gNjAgcGVyY2VudCBieSBEZWNlbWJlciAyMDE2XCJ9In0sInByZXZhaWxpbmdfbWVhc3VyZSI6eyJzdGFydCI6IjIwMDMtMTItMzFUMDA6MDA6MDAuMDAwIiwiZW5kIjoiMjAxNi0xMi0zMVQyMzo1OTo1OS4wMDAiLCJ1bml0IjoicGVyY2VudCByZWN5Y2xpbmcgcmF0ZSIsInRhcmdldCI6NjAsInRhcmdldF90eXBlIjoiYWJzb2x1dGUiLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoiaXJidS12dmVzIn0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6Ij4ifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAwM30sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNn19LFwiYmFzZWxpbmVcIjp7XCJzcXVpc2h5XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE0fSxcImVuZFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTR9fSxcInN0YXJ0XCI6XCIyMDE0LTAxLTAxVDAwOjAwOjAwLjAwMFwiLFwiZW5kXCI6XCIyMDE0LTAxLTAxVDIzOjU5OjU5LjAwMFwiLFwibWV0cmljXCI6e1wibWV0YWRhdGFcIjpcIntcXFwid2l6YXJkXFxcIjp7XFxcImZpbHRlcl9hc3RcXFwiOlt7XFxcInZhbHVlc1xcXCI6W3t9XX1dfX1cIn19LFwibmFtZVwiOlwidGhlIHJlY3ljbGluZyByYXRlIG9mIHNvbGlkIHdhc3RlXCJ9In0sInVwZGF0ZWRfYXQiOiIyMDE2LTAzLTI1VDIxOjEyOjI3Ljg0NloiLCJjcmVhdGVkX2F0IjoiMjAxNi0wMy0yMlQyMjoyMzowMy4xMzVaIiwidmVyc2lvbiI6IjIwMTYtMDMtMjVUMjE6MTI6MjcuODQ2WiIsInRhcmdldF90b2xlcmFuY2UiOjUsImlkIjoiMnZzci14emtyIn0sInJlbGF0ZWRfbWVhc3VyZXMiOltdLCJiYXNlX2Rhc2hib2FyZCI6Ijh0ZGctZGt3ZSIsInVwZGF0ZWRfYXQiOiIyMDE3LTA4LTE0VDIyOjQ5OjU0LjEwMVoiLCJjcmVhdGVkX2F0IjoiMjAxNi0wMy0yMlQyMjoyMzowMy4yMTRaIiwidmVyc2lvbiI6IjIwMTctMDgtMTRUMjI6NDk6NTQuMTAxWiIsImNyZWF0ZWRfYnkiOiJhODV3LTJpa3UifSx7ImlkIjoiNmtpbi15aDJhIiwibmFtZSI6IlJlZHVjZSBwb2xsdXRlZCBydW5vZmYgZnJvbSByb2FkcyIsImlzX3B1YmxpYyI6dHJ1ZSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJyZXRpcmVtZW50X25hcnJhdGl2ZVwiOltdLFwibmFycmF0aXZlXCI6W3tcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoeSBpcyB0aGlzIGdvYWwgaW1wb3J0YW50PyoqXFxuXFxuU3RyZWV0IHN3ZWVwaW5nIHByb3RlY3RzIHRoZSBlbnZpcm9ubWVudCwgcHVibGljIGhlYWx0aCwgc2FmZXR5LCBhbmQgcHJvcGVydHkgYnkga2VlcGluZyBoYXJtZnVsIHBvbGx1dGFudHMgZnJvbSByZWFjaGluZyB3YXRlcndheXMgYW5kIGtlZXBpbmcgc3Rvcm0gZHJhaW5zIGNsZWFyIHRvIHJlZHVjZSBmbG9vZGluZy5cXG5cXG5FdmVyeSBkYXkgcG9sbHV0YW50cyBmcm9tIG91ciB2ZWhpY2xlcywgbGVhdmVzIGFuZCBncmFzcyBjbGlwcGluZ3MsIGFuZCB0cmFzaCBidWlsZCB1cCBvbiBvdXIgYnVzeSBzdHJlZXRzLiBNZXRhbHMgZnJvbSBhdXRvbW9iaWxlIHdlYXIgKGNvcHBlciBmcm9tIGJyYWtlIHBhZHMgLHppbmMgZnJvbSB0aXJlcywgbmlja2VsIGFuZCBjaHJvbWl1bSBmcm9tIGVuZ2luZXMpIG1heSBiZSB0b3hpYyB0byBhcXVhdGljIGxpZmUuIE9yZ2FuaWMgY29tcG91bmRzIGZyb20gYXV0b21vdGl2ZSBleGhhdXN0IChwb2x5LWFyb21hdGljIGh5ZHJvY2FyYm9ucyAoUEFIcykpLCBtYXkgYmUgY2FuY2VyLWNhdXNpbmcuIFRyZWUgZGV0cml0dXMgKGxlYXZlcyBhbmQgbmVlZGxlcykgc3RpbXVsYXRlIGFsZ2FlIGdyb3d0aCBhbmQgZGVwbGV0ZSBveHlnZW4gaW4gd2F0ZXIsIGhhcm1pbmcgZmlzaCwgYW5kIG90aGVyYXF1YXRpYyBsaWZlLlxcblxcblN3ZWVwaW5nIGFydGVyaWFscyB3aXRoIHJlZ2VuZXJhdGl2ZSBhaXIgc3RyZWV0IHN3ZWVwaW5nIHRlY2hub2xvZ3kgY29zdC1lZmZlY3RpdmVseSByZW1vdmVzIHBvbGx1dGFudHMgaW4gYSBmdWxseSBidWlsdC1vdXQgdXJiYW4gZW52aXJvbm1lbnQgbGlrZSBTZWF0dGxlLiBTd2VlcGVycyB2YWN1dW0gdXAgdGhlIHZlcnkgc21hbGwgcGFydGljbGVzIGJlZm9yZSB0aGV5IHdhc2ggb2ZmIHRoZSBzdHJlZXQuIFBvdW5kIGZvciBwb3VuZCwgdGhlc2Ugc21hbGwgcGFydGljbGVzIGNhcnJ5IG1vcmUgcG9sbHV0YW50cyB0aGFuIGxhcmdlciBwYXJ0aWNsZXMgYW5kIGNvc3QgbGVzcyB0byByZW1vdmUgYnkgc3dlZXBpbmcgdGhhbiBjb252ZW50aW9uYWwgdHJlYXRtZW50IG9yIHJhaW4gZ2FyZGVucy4gSW1wbGVtZW50aW5nIGEgc3RyZWV0IHN3ZWVwaW5nIHByb2dyYW0gZG9lcyBub3QgcmVxdWlyZSBsb25nIHBsYW5uaW5nIGxlYWQgdGltZXMsIGxvc3Mgb2Ygc3RyZWV0IHN1cmZhY2Ugb3IgcGFya2luZywgb3Igcm9hZHdheSBjb25zdHJ1Y3Rpb24uXFxuXFxuU2luY2UgMjAxMSwgU2VhdHRsZSBQdWJsaWMgVXRpbGl0aWVzIGFuZCB0aGUgU2VhdHRsZSBEZXBhcnRtZW50IG9mIFRyYW5zcG9ydGF0aW9uIGhhdmUgYmVlbiB3b3JraW5nIHRvZ2V0aGVyIHRvIGFjaGlldmUgdGhpcyBnb2FsLiBCeSBzaGFyaW5nIENpdHkgcmVzb3VyY2VzLCB1c2luZyB0aGUgbGF0ZXN0IHN0cmVldCBzd2VlcGluZyB0ZWNobm9sb2d5LCBhbmQgZW1wbG95aW5nIGEgcGVyZm9ybWFuY2UtYmFzZWQgYXBwcm9hY2gsIHRoZSBQYXJ0bmVyc2hpcCBwcm92aWRlcyBtdWx0aXBsZSBiZW5lZml0cyB1c2luZyBsZXNzIHJlc291cmNlcyBtb3JlIGNvc3QtZWZmZWN0aXZlbHkuXFxuXFxuXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipIb3cgaXMgdGhpcyBnb2FsIG1lYXN1cmVkPyoqXFxuXFxuV2UgbWVhc3VyZSB0aGUgYW1vdW50IG9mIHZlcnkgc21hbGwgcGFydGljbGVzLCBzaW1pbGFyIGluIHNpemUgdG8gZmluZSBiZWFjaCBzYW5kLCBjYXB0dXJlZCBieSB0aGUgc3dlZXBlci4gVGhlc2Ugc21hbGwgcGFydGljbGVzIGhhdmUgaGFybWZ1bCBtZXRhbHMgYW5kIG9yZ2FuaWMgY29tcG91bmRzIGF0dGFjaGVkIHRvIHRoZW0uXFxuXFxuU2VhdHRsZSBQdWJsaWMgVXRpbGl0aWVzIHRyYWNrcyBudW1lcm91cyBtZXRyaWNzIHRvIG1lYXN1cmUgcHJvZ3Jlc3MgdG93YXJkIGFuIG92ZXJhbGwgZ29hbCB0byBjb3N0LWVmZmVjdGl2ZWx5IHJlZHVjZSBzdG9ybXdhdGVyIHBvbGx1dGlvbiBmcm9tIFNlYXR0bGUncyBzdHJlZXRzLiBFeGFtcGxlIG1ldHJpY3MgaW5jbHVkZSBzd2VlcGluZyB0aW1lIGFuZCBkaXN0YW5jZSwgc3dlZXBlciBwaWNrIHVwIHJhdGUsIHRvbnMgcGVyIG1pbGUgc3dlcHQsIGFzIHdlbGwgYXMgb3ZlcmFsbCB0b25zIHJlbW92ZWQgYW5kIGNhbGN1bGF0ZWQgcG9sbHV0YW50IGxvYWRzIHJlbW92ZWQuIE1hdGVyaWFsIGlzIHNhbXBsZWQgYW5kIGFuYWx5emVkLiBTZWF0dGxlIFB1YmxpYyBVdGlsaXRpZXMgYWxzbyBrZWVwcyB0cmFjayBvZiB0aGUgb3BlcmF0aW5nIGNvc3RzIHBlciBjdXJiIG1pbGUgYW5kIHRoZSBsaWZlLWN5Y2xlIGNvc3Qgb2YgcG9sbHV0YW50cyByZW1vdmVkLlxcblxcbi5cXG5cXG5cIn1dLFt7XCJ0eXBlXCI6XCJpbWFnZVwiLFwic3JjXCI6XCIvYXBpL2Fzc2V0cy8wNUU4MTQxRS00NTM2LTQxRUItQUM2NS0wRTQzMkQzM0M1NkNcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoYXQgcHJvZ3Jlc3MgYXJlIHdlIG1ha2luZyB0b3dhcmRzIHRoZSBnb2FsPyoqXFxuXFxuQXQgdGhlIGVuZCBvZiAyMDE2LCB0aGUgUGFydG5lcnNoaXAgY29tcGxldGVkIHRoZSBzaXh0aCBjb25zZWN1dGl2ZSB5ZWFyIGNhcHR1cmluZyBzdG9ybXdhdGVyIHBvbGx1dGFudHMgZnJvbSBvdXIgQ2l0eSBzdHJlZXRzIGJlZm9yZSB0aGV5IHdhc2ggb2ZmIHRvIG91ciB3YXRlcndheS4gVGhlIDIwMTYgZ29hbCBvZiAxNDAgdG9uIG9mIHBvbGx1dGFudHMgcmVtb3ZlZCBmcm9tIHRoZSByb2Fkd2F5cyBtZXQgYW5kIGV4Y2VlZGVkLiBUaGUgdG90YWwgdG9ucyByZW1vdmVkIGluIDIwMTYgd2FzIDE1Ny5cXG5cXG4gXFxuXFxuSW4gMjAxNywgd2UgcGxhbiB0byBzd2VlcCAxNywwMDAgYnJvb20tbWlsZXMgYW5kIHJlbW92ZSBhbm90aGVyIDE0MCB0b25zIG9mIHBvbGx1dGFudHMgZnJvbSB0aGUgcm9hZHdheXMuIFxcblxcbiBcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyBGT1IgTU9SRSBJTkZPUk1BVElPTjpcXG5cXG4qICoqU3RyZWV0IHN3ZWVwaW5nIGluIFNlYXR0bGU6KiogIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvZW52aXJvbm1lbnRjb25zZXJ2YXRpb24vcHJvamVjdHMvZHJhaW5hZ2VzeXN0ZW0vc2V3YWdlb3ZlcmZsb3dwcmV2ZW50aW9uL2ludGVncmF0ZWRwbGFuL3N0cmVldHN3ZWVwaW5nL11bMF1cXG4qICoqUG9sbHV0aW9uIHByZXZlbnRpb246KiogIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvRW52aXJvbm1lbnRDb25zZXJ2YXRpb24vTXlIb21lL1ByZXZlbnRQb2xsdXRpb24vaW5kZXguaHRtXVsxXVxcbiogKipEcmFpbmFnZSBzeXN0ZW0gcHJvamVjdHM6KiogIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvRW52aXJvbm1lbnRDb25zZXJ2YXRpb24vUHJvamVjdHMvRHJhaW5hZ2VTeXN0ZW0vaW5kZXguaHRtXVsyXVxcblxcblxcblswXTogaHR0cDovL3d3dy5zZWF0dGxlLmdvdi91dGlsL2Vudmlyb25tZW50Y29uc2VydmF0aW9uL3Byb2plY3RzL2RyYWluYWdlc3lzdGVtL3Nld2FnZW92ZXJmbG93cHJldmVudGlvbi9pbnRlZ3JhdGVkcGxhbi9zdHJlZXRzd2VlcGluZy9cXG5bMV06IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdXRpbC9FbnZpcm9ubWVudENvbnNlcnZhdGlvbi9NeUhvbWUvUHJldmVudFBvbGx1dGlvbi9pbmRleC5odG1cXG5bMl06IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdXRpbC9FbnZpcm9ubWVudENvbnNlcnZhdGlvbi9Qcm9qZWN0cy9EcmFpbmFnZVN5c3RlbS9pbmRleC5odG1cIn1dXX0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKlNwb3RsaWdodCBPbjoqKiBUcmVuZHMgaW4gU3RyZWV0IFN3ZWVwaW5nIGZyb20gMjAxMeKAkzIwMTZcXG5cXG5cIn0se1widHlwZVwiOlwidml6XCIsXCJkYXRhc2V0XCI6XCJzbmZkLXVwOWJcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiX1RoZSBiYXIgY2hhcnQgYWJvdmUgaWxsdXN0cmF0ZXMgYW5udWFsIHRvbnMgb2YgcG9sbHV0YW50cyByZW1vdmVkIGJ5IHN0cmVldCBzd2VlcGluZyBmcm9tIDIwMTHigJMyMDE2Ll9cXG5cXG5cIn1dLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIlJlbW92ZSAxNDAgdG9ucyBvZiBwb2xsdXRhbnRzIGZyb20gcm9hZHMgZHVyaW5nIDIwMTZcIixcImljb25cIjpcIlwiLFwidXNlX2N1c3RvbV9zdWJ0aXRsZVwiOnRydWUsXCJjdXN0b21fc3VidGl0bGVcIjpcIlJlZHVjZSBwb2xsdXRlZCBydW5vZmYgZnJvbSByb2Fkc1wifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIyMDE2LTAxLTAxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMTctMTItMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6InRvbnMgb2YgcG9sbHV0YW50cyByZW1vdmVkIiwidGFyZ2V0IjoxNDAsInRhcmdldF90eXBlIjoiYWJzb2x1dGUiLCJ0YXJnZXRfZGVsdGEiOjAsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwiYmFzZWxpbmUiOjEwMCwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiJ2Z3Y1LWs3cmcifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPiJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjoxLFwibW9udGhcIjowLFwieWVhclwiOjIwMTZ9LFwiZW5kXCI6e1wiZGF0ZVwiOlwiZW5kXCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTd9LFwidGFyZ2V0X3R5cGVcIjpcImFic29sdXRlXCIsXCJhY3Rpb25fdHlwZVwiOlwiaW5jcmVhc2VcIixcIm1haW50YWluX3R5cGVcIjpcIj5cIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTR9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNH19LFwic3RhcnRcIjpcIjIwMTQtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTQtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJwb2xsdXRhbnRzIHJlbW92ZWQgZnJvbSByb2Fkd2F5c1wifSJ9LCJ1cGRhdGVkX2F0IjoiMjAxNy0wMi0yM1QyMDowODoyOC43NjRaIiwiY3JlYXRlZF9hdCI6IjIwMTctMDItMTZUMjM6NTI6MzYuMDQyWiIsInZlcnNpb24iOiIyMDE3LTAyLTIzVDIwOjA4OjI4Ljc2NFoiLCJ0YXJnZXRfdG9sZXJhbmNlIjo5LCJpZCI6IjJmMzUtMjVqZCJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiI4dGRnLWRrd2UiLCJ1cGRhdGVkX2F0IjoiMjAxNy0wOC0xNFQyMjo1MDowOS4yNjdaIiwiY3JlYXRlZF9hdCI6IjIwMTctMDItMTZUMjM6NTI6MzYuMjgzWiIsInZlcnNpb24iOiIyMDE3LTA4LTE0VDIyOjUwOjA5LjI2N1oiLCJjcmVhdGVkX2J5IjoiYTg1dy0yaWt1In0seyJpZCI6Imk4emYtMjU1YyIsIm5hbWUiOiJUcmFuc3BvcnQgc2V3YWdlIHRvIHRoZSB0cmVhdG1lbnQgcGxhbnRzIiwiaXNfcHVibGljIjp0cnVlLCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcInJldGlyZW1lbnRfbmFycmF0aXZlXCI6W10sXCJuYXJyYXRpdmVcIjpbe1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqV2h5IGlzIHRoaXMgZ29hbCBpbXBvcnRhbnQ/KipcXG5cXG5TYWZlbHkgY29udmV5aW5nIHNld2FnZSB0byB0aGUgS2luZyBDb3VudHkgdHJlYXRtZW50IGZhY2lsaXRpZXMgcHJvdGVjdHMgcGVvcGxlIGZyb20gZGlzZWFzZSwgbWluaW1pemVzIGVjb25vbWljIHJpc2tzIHRvIG5laWdoYm9yaG9vZHMgYW5kIGJ1c2luZXNzZXMgZnJvbSBzYW5pdGFyeSBzZXdlciBvdmVyZmxvd3MsIGFuZCBwcm90ZWN0cyB0aGUgZW52aXJvbm1lbnQuIFNlYXR0bGUgUHVibGljIFV0aWxpdGllcyBvcGVyYXRlcyBhbmQgbWFpbnRhaW5zIG1vcmUgdGhhbiAxLDQwMCBtaWxlcyBvZiBzZXdlcnMgYW5kIDY4IHB1bXAgc3RhdGlvbnMgdGhhdCBjb25uZWN0IHRvIHRoZSB0cmVhdG1lbnQgcGxhbnRzLlxcblxcblNhbml0YXJ5IHNld2VyIG92ZXJmbG93cyBhcmUgdW5hbnRpY2lwYXRlZCBzZXdhZ2UgcmVsZWFzZXMgc3VjaCBhcyBiYWNrdXBzIGludG8gaG9tZXMgYW5kIGJ1c2luZXNzZXMsIGJyb2tlbiB1bmRlcmdyb3VuZCBwaXBlcyBhbmQgb3ZlcmZsb3dzIHRocm91Z2ggbWFpbnRlbmFuY2UgaG9sZXMgZHVyaW5nIHN0b3JtIGV2ZW50cy5cXG5cXG5UaGUgQ2l0eSBoYXMgYmVlbiB3b3JraW5nIHN0ZWFkaWx5IHRvIHJlZHVjZSBzZXdlciBvdmVyZmxvd3MgZm9yIG92ZXIgNTAgeWVhcnMuIFRoZSBudW1iZXIgb2Ygc2V3ZXIgb3ZlcmZsb3dzIHRvZGF5IGFyZSBhcHByb3hpbWF0ZWx5IGhhbGYgb2Ygd2hhdCB0aGV5IHdlcmUgdGVuIHllYXJzIGFnby4gSW4gMjAxMywgU2VhdHRsZSBlbnRlcmVkIGludG8gYSBDb25zZW50IERlY3JlZSB3aXRoIHRoZSBmZWRlcmFsIGFuZCBzdGF0ZSBnb3Zlcm5tZW50cy4gVGhlIENvbnNlbnQgRGVjcmVlIGZvcm1hbGl6ZXMgdGhlIENpdHkncyBhcHByb2FjaCB0byBvcGVyYXRpbmcgYW5kIG1haW50YWluaW5nIGl0cyB3YXN0ZXdhdGVyIGNvbGxlY3Rpb24gc3lzdGVtIGFuZCBwcmV2ZW50aW5nIHNld2VyIG92ZXJmbG93cyB0byBwcm90ZWN0IHB1YmxpYyBoZWFsdGggYW5kIHRoZSBlbnZpcm9ubWVudC5cXG5cXG5cIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKkhvdyBkbyB3ZSBtZWFzdXJlIHRoaXMgZ29hbD8qKlxcblxcblRoZSBDb25zZW50IERlY3JlZSBzZXRzIGEgcmVndWxhdG9yeSBnb2FsIGZvciBubyBtb3JlIHRoYW4gZm91ciBzYW5pdGFyeSBzZXdlciBvdmVyZmxvd3MgcGVyIDEwMCBtaWxlcyBvZiBwaXBlIG9uIGEgdHdvLXllYXIgcm9sbGluZyBhdmVyYWdlLiBVc2luZyBhIHR3by15ZWFyIHJvbGxpbmcgYXZlcmFnZSBoZWxwcyBldmVuIG91dCB5ZWFybHkgdmFyaWF0aW9ucyBzdWNoIGFzIHRob3NlIHNlZW4gaW4gcGFydGljdWxhcmx5IHJhaW55IHllYXJzLiBQZXJmb3JtYW5jZSBkYXRhIGRvIG5vdCBpbmNsdWRlIG92ZXJmbG93cyByZXN1bHRpbmcgZnJvbSBmYWN0b3JzIG91dHNpZGUgdGhlIENpdHkncyBjb250cm9sLCB3aGljaCBmYWxsIGludG8gdGhlIGZvbGxvd2luZyBjYXRlZ29yaWVzOiBleHRyZW1lIHdlYXRoZXIgZXZlbnRzLCB2YW5kYWxpc20sIG90aGVyIGFnZW5jeSBjb25zdHJ1Y3Rpb24gYW5kIHByaXZhdGUgY29uc3RydWN0aW9uLlxcblxcbkRhdGEgYXJlIGF2YWlsYWJsZSBxdWFydGVybHkuIFByb2dyZXNzIGlzIHJlcG9ydGVkIGFubnVhbGx5IGluIE1hcmNoIG9mIHRoZSBmb2xsb3dpbmcgeWVhci5cXG5cXG5cIn1dLFt7XCJ0eXBlXCI6XCJpbWFnZVwiLFwic3JjXCI6XCIvYXBpL2Fzc2V0cy9DQzc3MkVGMy1DOUUzLTRGQzgtQTAyOS1FNEFDNDEyNUVBQzBcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyBGT1IgTU9SRSBJTkZPUk1BVElPTjpcXG5cXG4qICoqU2V3YWdlIG92ZXJmbG93IHByZXZlbnRpb24gcmVwb3J0cyBhbmQgcmVndWxhdGlvbnMsIGluY2x1ZGluZyB0aGUgQ29uc2VudCBEZWNyZWUqKiAgXFxuW2h0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdXRpbC9FbnZpcm9ubWVudENvbnNlcnZhdGlvbi9Qcm9qZWN0cy9EcmFpbmFnZVN5c3RlbS9TZXdhZ2VPdmVyZmxvd1ByZXZlbnRpb24vUmVwb3J0c1JlZ3VsYXRpb25zL2luZGV4Lmh0bV1bMF1cXG4qICoqU2V3YWdlIG92ZXJmbG93IHByb3RlY3Rpb246KiogIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvRW52aXJvbm1lbnRDb25zZXJ2YXRpb24vUHJvamVjdHMvRHJhaW5hZ2VTeXN0ZW0vU2V3YWdlT3ZlcmZsb3dQcmV2ZW50aW9uL2luZGV4Lmh0bV1bMV1cXG4qICoqRHJhaW5hZ2UgYW5kIHNld2VyIHByb2plY3RzOioqICBcXG5baHR0cDovL3d3dy5zZWF0dGxlLmdvdi91dGlsL0Vudmlyb25tZW50Q29uc2VydmF0aW9uL1Byb2plY3RzL0RyYWluYWdlU3lzdGVtL2luZGV4Lmh0bV1bMl1cXG4qICoqU2V3ZXIgc3lzdGVtIGhpc3Rvcnk6KiogIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvRW52aXJvbm1lbnRDb25zZXJ2YXRpb24vUHJvamVjdHMvRHJhaW5hZ2VTeXN0ZW0vU2V3YWdlT3ZlcmZsb3dQcmV2ZW50aW9uL0hvd1dlR290SGVyZS9pbmRleC5odG1dWzNdXFxuXFxuXFxuWzBdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvRW52aXJvbm1lbnRDb25zZXJ2YXRpb24vUHJvamVjdHMvRHJhaW5hZ2VTeXN0ZW0vU2V3YWdlT3ZlcmZsb3dQcmV2ZW50aW9uL1JlcG9ydHNSZWd1bGF0aW9ucy9pbmRleC5odG1cXG5bMV06IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdXRpbC9FbnZpcm9ubWVudENvbnNlcnZhdGlvbi9Qcm9qZWN0cy9EcmFpbmFnZVN5c3RlbS9TZXdhZ2VPdmVyZmxvd1ByZXZlbnRpb24vaW5kZXguaHRtXFxuWzJdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvRW52aXJvbm1lbnRDb25zZXJ2YXRpb24vUHJvamVjdHMvRHJhaW5hZ2VTeXN0ZW0vaW5kZXguaHRtXFxuWzNdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvRW52aXJvbm1lbnRDb25zZXJ2YXRpb24vUHJvamVjdHMvRHJhaW5hZ2VTeXN0ZW0vU2V3YWdlT3ZlcmZsb3dQcmV2ZW50aW9uL0hvd1dlR290SGVyZS9pbmRleC5odG1cIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyAqKldoYXQgcHJvZ3Jlc3MgYXJlIHdlIG1ha2luZyB0b3dhcmQgdGhlIGdvYWw/KipcXG5cXG5TZWF0dGxlIFB1YmxpYyBVdGlsaXRpZXMgbWV0IHRoZSAyMDE1LTIwMTYgdGFyZ2V0LiBEdWUgdG8gYW4gaW5jcmVhc2VkIG51bWJlciBvZiBzaG9ydC10ZXJtLCBoaWdoLWludGVuc2l0eSByYWluc3Rvcm1zLCB0aGUgdG90YWwgbnVtYmVyIG9mIG92ZXJmbG93cyBpbiAyMDE1IHdhcyAxMDIsIG1ha2luZyB0aGUgYWxsb3dhYmxlIG51bWJlciBvZiBvdmVyZmxvd3MgaW4gMjAxNiB2ZXJ5IGxvdy4gTm9uZXRoZWxlc3MsIFNQVSB3YXMgc3RpbGwgYWJsZSB0byBmaW5pc2ggb3V0IDIwMTYgYmVsb3cgdGhlIHR3by15ZWFyIHJvbGxpbmcgYXZlcmFnZSB0YXJnZXQgd2l0aCAzLjggb3ZlcmZsb3dzIHBlciAxMDAgbWlsZXMgb2YgcGlwZSBhbmQgNDggdG90YWwgb3ZlcmZsb3dzLiBJbiAyMDE0IFNQVSBhbHNvIG1ldCB0aGUgZ29hbCB3aXRoIDIuNSBzZXdlciBvdmVyZmxvd3MgcGVyIDEwMCBtaWxlcyBvZiBwaXBlIGFuZCA2OCB0b3RhbCBvdmVyZmxvd3MuXFxuXFxuIFxcblxcblRoZSBDb25zZW50IERlY3JlZSByZXF1aXJlcyBTZWF0dGxlIFB1YmxpYyBVdGlsaXRpZXMgdG8gbWFrZSBpbXByb3ZlbWVudHMgdG8gdGhlIHNld2VyIHN5c3RlbSB0byByZWR1Y2UgdGhlc2Ugb3ZlcmZsb3dzLiBGcm9tIDIwMTbigJMyMDIwLCB0aGUgVXRpbGl0eSB3aWxsIGhlbHAgcmVkdWNlIHNhbml0YXJ5IHNld2VyIG92ZXJmbG93cyBieSBzaWduaWZpY2FudGx5IGluY3JlYXNpbmcgcGlwZSBjbGVhbmluZywgaW5zcGVjdGlvbnMgYW5kIHJlbmV3YWwuIEluIGFkZGl0aW9uLCBzZXdlciBhbmQgZHJhaW5hZ2UgdXBncmFkZXMgYXJlIGJlaW5nIGltcGxlbWVudGVkIGluIHNhbml0YXJ5IHNld2VyIG92ZXJmbG93LXByb25lIG5laWdoYm9yaG9vZHMgc3VjaCBhcyBTb3V0aCBQYXJrIGFuZCBCcm9hZHZpZXcuXFxuXFxuVGhlIFV0aWxpdHkgaXMgYWxzbyBhbmFseXppbmcgdGhlIGRyYWluYWdlIGFuZCB3YXN0ZXdhdGVyIHN5c3RlbSB0byBiZXR0ZXIgdW5kZXJzdGFuZCB0aGUgdW5kZXJseWluZyBjYXVzZXMgb2Ygc3lzdGVtIG92ZXJmbG93cy4gVXNpbmcgdGhhdCBpbmZvcm1hdGlvbiwgdGFyZ2V0ZWQgcHJvZ3JhbXMgYW5kIGJlc3QgcHJhY3RpY2VzIGNhbiBiZSBpbXBsZW1lbnRlZCB0byByZWR1Y2Ugc2FuaXRhcnkgc2V3ZXIgb3ZlcmZsb3dzLlxcblxcblwifV1dfSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjICoqU3BvdGxpZ2h0IE9uOioqIFRyZW5kcyBpbiBTZXdlciBPdmVyZmxvd3MgMjAwNOKAkzIwMTZcXG5cXG5cIn0se1widHlwZVwiOlwidml6XCIsXCJkYXRhc2V0XCI6XCI5bmhuLWF3dXFcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiX1RoZSBiYXIgY2hhcnQgYWJvdmUgaWxsdXN0cmF0ZXMgdGhlIG51bWJlciBvZiBzZXdlciBvdmVyZmxvd3MgcGVyIDEwMCBtaWxlcyBvZiBwaXBlIGZvciB0aGUgeWVhcnMgMjAwNOKAkzIwMTYuX1xcblxcblwifSx7XCJ0eXBlXCI6XCJ2aXpcIixcImRhdGFzZXRcIjpcIm0zdWQtZzlwOFwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCJfVGhlIGJhciBjaGFydCBhYm92ZSBpbGx1c3RyYXRlcyB0aGUgdG90YWwgbnVtYmVyIG9mIHNld2VyIG92ZXJmbG93cyBmb3IgdGhlIHllYXJzIDIwMDTigJMyMDE2LCBpbmNsdWRpbmcgYWxsIGNhdXNlcy5fXFxuXFxuXCJ9XSxcImljb25cIjpcIlwiLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIk5vIG1vcmUgdGhhdCBmb3VyIHNld2VyIG92ZXJmbG93cyBwZXIgZXZlcnkgMTAwIG1pbGVzIG9mIHBpcGUgb24gYSB0d28geWVhciByb2xsaW5nIGF2ZXJhZ2UuXCIsXCJ1c2VfY3VzdG9tX3N1YnRpdGxlXCI6dHJ1ZSxcImN1c3RvbV9zdWJ0aXRsZVwiOlwiU2FmZWx5IHRyYW5zcG9ydCBzZXdhZ2UgdG8gdGhlIHRyZWF0bWVudCBwbGFudHNcIn0ifSwicHJldmFpbGluZ19tZWFzdXJlIjp7InN0YXJ0IjoiMjAwNC0xMi0zMVQwMDowMDowMC4wMDAiLCJlbmQiOiIyMDE3LTEyLTMxVDIzOjU5OjU5LjAwMCIsInVuaXQiOiJzZXdlciBvdmVyZmxvd3MgcGVyIDEwMCBtaWxlcyBvZiBwaXBlIiwidGFyZ2V0X3R5cGUiOiJyZWxhdGl2ZSIsInRhcmdldF9kZWx0YSI6MCwidGFyZ2V0X2RlbHRhX2lzX3BlcmNlbnQiOmZhbHNlLCJiYXNlbGluZSI6NCwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiJuenZmLWd0d2IifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPCJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjoxMSxcInllYXJcIjoyMDA0fSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjoxMSxcInllYXJcIjoyMDE3fSxcImFjdGlvbl90eXBlXCI6XCJtYWludGFpblwiLFwibWFpbnRhaW5fdHlwZVwiOlwiPFwifSxcImJhc2VsaW5lXCI6e1wic3F1aXNoeVwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNH0sXCJlbmRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE0fX0sXCJzdGFydFwiOlwiMjAxNC0wMS0wMVQwMDowMDowMC4wMDBcIixcImVuZFwiOlwiMjAxNC0wMS0wMVQyMzo1OTo1OS4wMDBcIixcIm1ldHJpY1wiOntcIm1ldGFkYXRhXCI6XCJ7XFxcIndpemFyZFxcXCI6e1xcXCJmaWx0ZXJfYXN0XFxcIjpbe1xcXCJ2YWx1ZXNcXFwiOlt7fV19XX19XCJ9fSxcIm5hbWVcIjpcIm51bWJlciBvZiBzZXdlciBvdmVyZmxvd3NcIixcInlTY2FsZVwiOntcInVzZV9kZWZhdWx0XCI6ZmFsc2V9fSJ9LCJ1cGRhdGVkX2F0IjoiMjAxNy0wNi0yM1QyMjozOTozNi45MTRaIiwiY3JlYXRlZF9hdCI6IjIwMTctMDItMTZUMjM6NTM6MzMuNzQ5WiIsInZlcnNpb24iOiIyMDE3LTA2LTIzVDIyOjM5OjM2LjkxNFoiLCJpZCI6ImZzajktYXJ5ZCJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiI4dGRnLWRrd2UiLCJ1cGRhdGVkX2F0IjoiMjAxNy0wOC0xNFQyMjo0OTowNS4yODhaIiwiY3JlYXRlZF9hdCI6IjIwMTctMDItMTZUMjM6NTM6MzQuMDkzWiIsInZlcnNpb24iOiIyMDE3LTA4LTE0VDIyOjQ5OjA1LjI4OFoiLCJjcmVhdGVkX2J5IjoiYTg1dy0yaWt1In1dLCJ2ZXJzaW9uIjoiMjAxNy0wMy0xN1QyMDozNjoxOC44MzhaIn0seyJpZCI6ImsyMjMtOHprZSIsIm5hbWUiOiJXYXRlciBTdXBwbHkiLCJnb2FscyI6W3siaWQiOiJrMnZtLXU3MzciLCJuYW1lIjoiUHJvdmlkZSBjbGVhbiwgc2FmZSBkcmlua2luZyB3YXRlciAiLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcIm5hcnJhdGl2ZVwiOlt7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipXaHkgaXMgdGhpcyBnb2FsIGltcG9ydGFudD8qKlxcblxcbldoZW4gY3VzdG9tZXJzIHR1cm4gb24gdGhlIHRhcCBvciBuZWVkIGEgcmVsaWFibGUgc291cmNlIG9mIGNsZWFuIHdhdGVyLCB0aGV5IHdhbnQgdG8gYmUgYXNzdXJlZCB0aGF0IHRoZSBkcmlua2luZyB3YXRlciBpcyBzYWZlIGFuZCBnb29kIHRhc3RpbmcuXFxuXFxuU2VhdHRsZSBQdWJsaWMgVXRpbGl0aWVzIG1hbmFnZXMsIHRyZWF0cywgYW5kIHJlbGlhYmx5IGRlbGl2ZXJzIGhpZ2ggcXVhbGl0eSBkcmlua2luZyB3YXRlciB0byA2NTIsMDAwIFNlYXR0bGUgcmVzaWRlbnRpYWwgYW5kIGJ1c2luZXNzIGN1c3RvbWVycywgYW5kIG92ZXIgNzAwLDAwMCBjdXN0b21lcnMgaW4gdGhlIFB1Z2V0IFNvdW5kIGFyZWEuIEluIDIwMTMsIDQ0LjEgYmlsbGlvbiBnYWxsb25zIG9mIHRyZWF0ZWQgZHJpbmtpbmcgd2F0ZXIgd2VyZSBwcm9kdWNlZC5cXG5cXG5Qcm92aWRpbmcgY2xlYW4gd2F0ZXIgaGFzIGJlZW4gYSBjb3JlIHV0aWxpdHkgc2VydmljZSBpbiBTZWF0dGxlIGZvciBvdmVyIDEyMCB5ZWFycyB3aGVuIHZvdGVycyBvdmVyd2hlbG1pbmdseSBhcHByb3ZlZCBhIGJvbmQgaXNzdWUgdG8gcHJvdmlkZSBjbGVhbiwgbW91bnRhaW4gd2F0ZXIgZnJvbSB0aGUgQ2VkYXIgUml2ZXIgV2F0ZXJzaGVkIGFuZCB0byBidWlsZCBwcm90ZWN0ZWQgcmVzZXJ2b2lycyB0aHJvdWdob3V0IHRoZSBjaXR5LlxcblxcblRoaXMgaGlnaCBxdWFsaXR5IHdhdGVyIHN1cHBseSB3aWxsIGJlIGF2YWlsYWJsZSB3ZWxsIGludG8gdGhlIG1pZGRsZSBvZiB0aGlzIGNlbnR1cnkuXFxuXFxuXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipIb3cgZG8gd2UgbWVhc3VyZSB0aGlzIGdvYWw/KipcXG5cXG5UbyBlbnN1cmUgdGFwIHdhdGVyIGlzIHNhZmUgdG8gZHJpbmssIHRoZSBFbnZpcm9ubWVudGFsIFByb3RlY3Rpb24gQWdlbmN5IGFuZCB0aGUgV2FzaGluZ3RvbiBTdGF0ZSBCb2FyZCBvZiBIZWFsdGggcmVndWxhdGUgdGhlIGFtb3VudCBvZiBjZXJ0YWluIGNvbnRhbWluYW50cyBpbiB3YXRlciBwcm92aWRlZCBieSBwdWJsaWMgd2F0ZXIgc3lzdGVtcy5cXG5cXG5TZWF0dGxlIFB1YmxpYyBVdGlsaXRpZXMnIFdhdGVyIFF1YWxpdHkgTGFib3JhdG9yeSBjb25kdWN0cyBtaWNyb2JpYWwsIGNoZW1pY2FsLCBhbmQgcGh5c2ljYWwgbW9uaXRvcmluZyBkYWlseSwgMzY1IGRheXMgcGVyIHllYXIsIHRlc3Rpbmcgb3ZlciAyMCwwMDAgc2FtcGxlcyBlYWNoIHllYXIuIFNlYXR0bGUgUHVibGljIFV0aWxpdGllcyByZXBvcnRzIG1vbnRobHkgdG8gdGhlIERlcGFydG1lbnQgb2YgSGVhbHRoIG9uIGEgdmFyaWV0eSBvZiBtZWFzdXJlcy5cXG5cXG5UaGlzIGluZm9ybWF0aW9uIGlzIGNvbWJpbmVkIGludG8gYW4gYW5udWFsIHdhdGVyIHF1YWxpdHkgcmVwb3J0LiBUaGUgcmVwb3J0IGluY2x1ZGVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSByZWd1bGF0ZWQgY29tcG91bmRzIGFuZCB3aGV0aGVyIGFueSBsZXZlbHMgd2VyZSBleGNlZWRlZCwgYXMgd2VsbCBhcyBjb21wb3VuZHMgdGhhdCB3ZXJlIG5vdCBkZXRlY3RlZCwgY29tcG91bmRzIHRoYXQgYXJlIG5vdCByZWd1bGF0ZWQgYnV0IG1heSBiZSBvZiBpbnRlcmVzdCB0byBjdXN0b21lcnMsIGFuZCB0aGUgYWVzdGhldGljcyBvZiB0aGUgZHJpbmtpbmcgd2F0ZXIgc3VjaCBhcyB0YXN0ZSwgb2RvciwgYW5kIGFwcGVhcmFuY2UuIFRoZSBhbm51YWwgd2F0ZXIgcXVhbGl0eSByZXBvcnQgaXMgcHJvZHVjZWQgaW4gSnVuZS5cXG5cXG5cIn1dLFt7XCJ0eXBlXCI6XCJpbWFnZVwiLFwic3JjXCI6XCIvYXBpL2Fzc2V0cy9FNDg0RjYwOC1CQjU5LTQ0QzgtOEI3NC0zRjFFNTBDQ0Q3QTVcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyBGT1IgTU9SRSBJTkZPUk1BVElPTjpcXG5cXG4qICoqU2VhdHRsZSBQdWJsaWMgVXRpbGl0aWVzIGFubnVhbCBkcmlua2luZyB3YXRlciByZXBvcnRzOioqICAgXFxuW2h0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdXRpbC9NeVNlcnZpY2VzL1dhdGVyL1dhdGVyX1F1YWxpdHkvV2F0ZXJRdWFsaXR5QW5udWFsUmVwb3J0L2luZGV4Lmh0bV1bMF1cXG4qICoqU2VhdHRsZSBQdWJsaWMgVXRpbGl0aWVzIHdhdGVyIHF1YWxpdHkgYW5hbHlzZXM6KiogICBcXG5baHR0cDovL3d3dy5zZWF0dGxlLmdvdi91dGlsL015U2VydmljZXMvV2F0ZXIvV2F0ZXJfUXVhbGl0eS9XYXRlclF1YWxpdHlBbmFseXNlcy9pbmRleC5odG1dWzFdXFxuKiAqKlNlYXR0bGUgUHVibGljIFV0aWxpdGllcyB3YXRlciBvdmVydmlldzoqKiAgIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvTXlTZXJ2aWNlcy9XYXRlci9pbmRleC5odG1dWzJdXFxuKiAqKldhdGVyIHF1YWxpdHk6KiogICBcXG5baHR0cDovL3d3dy5zZWF0dGxlLmdvdi91dGlsL015U2VydmljZXMvV2F0ZXIvV2F0ZXJfUXVhbGl0eS9pbmRleC5odG1dWzNdXFxuKiAqKldhdGVyIHN5c3RlbToqKiAgIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvTXlTZXJ2aWNlcy9XYXRlci9BYm91dHRoZVdhdGVyU3lzdGVtL2luZGV4Lmh0bV1bNF1cXG4qICoqVG9sdCBSaXZlciBhbmQgQ2VkYXIgUml2ZXIgd2F0ZXJzaGVkczoqKiAgIFxcbltodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvRW52aXJvbm1lbnRDb25zZXJ2YXRpb24vT3VyV2F0ZXJzaGVkcy9pbmRleC5odG1dWzVdXFxuXFxuWzBdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvTXlTZXJ2aWNlcy9XYXRlci9XYXRlcl9RdWFsaXR5L1dhdGVyUXVhbGl0eUFubnVhbFJlcG9ydC9pbmRleC5odG1cXG5bMV06IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdXRpbC9NeVNlcnZpY2VzL1dhdGVyL1dhdGVyX1F1YWxpdHkvV2F0ZXJRdWFsaXR5QW5hbHlzZXMvaW5kZXguaHRtXFxuWzJdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvTXlTZXJ2aWNlcy9XYXRlci9pbmRleC5odG1cXG5bM106IGh0dHA6Ly93d3cuc2VhdHRsZS5nb3YvdXRpbC9NeVNlcnZpY2VzL1dhdGVyL1dhdGVyX1F1YWxpdHkvaW5kZXguaHRtXFxuWzRdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvTXlTZXJ2aWNlcy9XYXRlci9BYm91dHRoZVdhdGVyU3lzdGVtL2luZGV4Lmh0bVxcbls1XTogaHR0cDovL3d3dy5zZWF0dGxlLmdvdi91dGlsL0Vudmlyb25tZW50Q29uc2VydmF0aW9uL091cldhdGVyc2hlZHMvaW5kZXguaHRtXCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgKipXaGF0IHByb2dyZXNzIGFyZSB3ZSBtYWtpbmcgdG93YXJkIHRoaXMgZ29hbD8qKlxcblxcbldoYXQgcHJvZ3Jlc3MgYXJlIHdlIG1ha2luZyB0b3dhcmQgdGhpcyBnb2FsP1NlYXR0bGXigJlzIGRyaW5raW5nIHdhdGVyIGNvbnNpc3RlbnRseSBtZWV0cyByZWd1bGF0b3J5IHN0YW5kYXJkcywgYW5kLCBpbiBtb3N0IGNhc2VzLCBpcyBmYXIgYmV0dGVyIHRoYW4gdGhlc2Ugc3RhbmRhcmRzIHJlcXVpcmUuIFNlYXR0bGUgaGFzIHNvbWUgb2YgdGhlIHNhZmVzdCBhbmQgYmVzdC10YXN0aW5nIHdhdGVyIGluIHRoZSBuYXRpb24uIExpbmtzIHRvIGRldGFpbGVkIG1vbml0b3JpbmcgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIGluIHRoZSBsaW5rcyBpbiB0aGUgcmlnaHQtaGFuZCBjb2x1bW4gb2YgdGhpcyBwYWdlLlxcblxcblNlYXR0bGUgUHVibGljIFV0aWxpdGllcyBwcm90ZWN0cyBhbmQgbWFpbnRhaW5zIHdhdGVyIHF1YWxpdHkgaW4gc2V2ZXJhbCB3YXlzLlxcblxcbiogKipQcm90ZWN0ZWQgV2F0ZXJzaGVkcyoqOiBTZWF0dGxlJ3Mgd2F0ZXIgY29tZXMgZnJvbSB0d28gcHJvdGVjdGVkIG1vdW50YWluIHNvdXJjZXMgb3duZWQgYnkgdGhlIENpdHnigJQ2MCBwZXJjZW50IGNvbWVzIGZyb20gdGhlIENlZGFyIFJpdmVyIGFuZCA0MCBwZXJjZW50IGNvbWVzIGZyb20gdGhlIFNvdXRoIEZvcmsgVG9sdCBSaXZlci4gVGhpcyBtZWFucyB0aGF0IGZld2VyIGNvbnRhbWluYW50cyBlbnRlciB0aGUgd2F0ZXIgYW5kIGxlc3MgdHJlYXRtZW50IGlzIHJlcXVpcmVkIHRoYW4gaW4gbW9zdCBjaXRpZXMuXFxuKiAqKlRyZWF0bWVudCoqOiBDZWRhciBSaXZlciBkcmlua2luZyB3YXRlciBpcyBkaXNpbmZlY3RlZCB3aXRoIG96b25lLCB1bHRyYXZpb2xldCBsaWdodCwgYW5kIGNobG9yaW5lLiBTb3V0aCBGb3JrIFRvbHQgd2F0ZXIgaXMgb3pvbmF0ZWQsIGZpbHRlcmVkLCBhbmQgZGlzaW5mZWN0ZWQgd2l0aCBjaGxvcmluZS4gQm90aCBzdXBwbGllcyBoYXZlIG1pbmVyYWxzIGFkZGVkIGZvciBjb3Jyb3Npb24gY29udHJvbCBhbmQgc2V0IGFuIG9wdGltaXplZCBwSCB0YXJnZXQgb2YgOC4yIGFzIHBhcnQgb2YgZW5zdXJpbmcgU2VhdHRsZSBtZWV0cyByZXF1aXJlbWVudHMgb2YgdGhlIExlYWQgYW5kIENvcHBlciBSdWxlLiBXYXRlciBxdWFsaXR5IHJlcXVpcmVtZW50cyBmb3IgdGhlIHRyZWF0bWVudCBmYWNpbGl0aWVzIGFyZSBtb3JlIHN0cmluZ2VudCB0aGFuIHN0YXRlIGFuZCBmZWRlcmFsIHN0YW5kYXJkcy5cXG4qICoqSW5mcmFzdHJ1Y3R1cmUgbWFpbnRlbmFuY2UqKjogU2VhdHRsZSBvd25zIGFuZCBtYWludGFpbnMgMTkzIG1pbGVzIG9mIGRyaW5raW5nIHdhdGVyIHRyYW5zbWlzc2lvbiBwaXBlbGluZXMsIDEsNjgwIG1pbGVzIG9mIGRpc3RyaWJ1dGlvbiBtYWlucywgYW5kIDM4MCBtaWxsaW9uIGdhbGxvbnMgb2YgdHJhbnNtaXNzaW9uIGFuZCBkaXN0cmlidXRpb24gcmVzZXJ2b2lyIHN0b3JhZ2UuIFdhdGVyIGlzIHN0b3JlZCBpbiBjb3ZlcmVkIHJlc2Vydm9pcnMgdGhyb3VnaG91dCB0aGUgY2l0eS4gSW5mcmFzdHJ1Y3R1cmUgaXMgbW9uaXRvcmVkIDI0IGhvdXJzIGEgZGF5IHNvIHRoYXQgY3Jld3MgY2FuIHF1aWNrbHkgcmVzcG9uZCB0byBicmVha3MsIHBvd2VyIG91dGFnZXMsIGFuZCBwdW1waW5nIHN0YXRpb24gaXNzdWVzLlxcblxcbkluIGxhdGUgRGVjZW1iZXIgMjAxNSwgZHVlIHRvIGEgdHJlYXRtZW50IHBsYW50IG9wZXJhdG9yIGVycm9yLCBTZWF0dGxlIFB1YmxpYyBVdGlsaXRpZXMgd2FzIG91dCBvZiByZWd1bGF0b3J5IGNvbXBsaWFuY2UgZm9yIGFib3V0IDE3IG1pbnV0ZXMgZm9yIHNlZGltZW50IGxldmVscyBvbiB0aGUgVG9sdCB3YXRlciBzdXBwbHkuIFRoZXJlIHdhcyBuZXZlciBhIHB1YmxpYyBoZWFsdGggY29uY2VybiBhbmQgd2F0ZXIgcmVtYWluZWQgc2FmZSB0byBkcmluayB0aGUgZW50aXJlIHRpbWUuIFRoZSByZWd1bGF0b3J5IGlzc3VlIHdhcyBhbiBhZG1pbmlzdHJhdGl2ZSB0cmVhdG1lbnQgdGVjaG5pcXVlIGxpbWl0IGlzc3VlIHRoYXQgcmVxdWlyZWQgbm90aWZpY2F0aW9uIG9mIGFmZmVjdGVkIGN1c3RvbWVycyAoNiB3aG9sZXNhbGUgY3VzdG9tZXJzLCBubyBTZWF0dGxlIHJldGFpbCBjdXN0b21lcnMpIHdpdGhpbiAzMCBkYXlzLiBTZWF0dGxlIFB1YmxpYyBVdGlsaXRpZXMgcHJvbXB0bHkgbm90aWZpZWQgdGhlIGFmZmVjdGVkIGN1c3RvbWVycyBhbmQgaXMgd29ya2luZyBkaWxpZ2VudGx5IHdpdGggdGhlIGNvbnRyYWN0ZWQgdHJlYXRtZW50IHBsYW50IHN0YWZmIHRvIGVuc3VyZSB0aGlzIGRvZXMgbm90IGhhcHBlbiBhZ2Fpbi4gU2VhdHRsZSBQdWJsaWMgVXRpbGl0aWVzIGhhcyBjb21wbGV0ZWQgbXVsdGlwbGUgY29ycmVjdGl2ZSBhY3Rpb25zIGFuZCB3aWxsIGJlIGltcGxlbWVudGluZyBhZGRpdGlvbmFsIHByZXZlbnRpdmUgbWVhc3VyZXMgaW4gdGhlIG5lYXIgZnV0dXJlLlxcblxcblwifV1dfSx7XCJ0eXBlXCI6XCJpbWFnZVwiLFwic3JjXCI6XCIvYXBpL2Fzc2V0cy80NkVDNjQ2MC1FNEJFLTQwNTctQjY1NS0yRTdFQ0RFMkE2N0VcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiVG8gc2VlIGFyZSBsYXJnZXIgdmVyc2lvbiBvZiB0aGUgcmVzdWx0cyBzaG93biBhYm92ZSwgcGxlYXNlIHNlZSBwYWdlIDYgb2YgdGhlIDIwMTQgV2F0ZXIgUXVhbGl0eSBSZXBvcnQuIFtodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvTXlTZXJ2aWNlcy9XYXRlci9XYXRlcl9RdWFsaXR5L1dhdGVyUXVhbGl0eUFubnVhbFJlcG9ydC9pbmRleC5odG1dWzBdXFxuXFxuWzBdOiBodHRwOi8vd3d3LnNlYXR0bGUuZ292L3V0aWwvTXlTZXJ2aWNlcy9XYXRlci9XYXRlcl9RdWFsaXR5L1dhdGVyUXVhbGl0eUFubnVhbFJlcG9ydC9pbmRleC5odG1cIn1dLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIk1haW50YWluIDEwMCBwZXJjZW50IGNvbXBsaWFuY2Ugd2l0aCBEZXBhcnRtZW50IG9mIEhlYWx0aCByZWd1bGF0aW9uc1wiLFwiaWNvblwiOlwiXCIsXCJ1c2VfY3VzdG9tX3N1YnRpdGxlXCI6dHJ1ZSxcImN1c3RvbV9zdWJ0aXRsZVwiOlwiUHJvdmlkZSBjbGVhbiwgc2FmZSBkcmlua2luZyB3YXRlclwifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIyMDA4LTEyLTMxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMTYtMTItMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6InBlcmNlbnQgY29tcGxpYW5jZSB3aXRoIGhlYWx0aCByZWd1bGF0aW9ucyIsInRhcmdldF90eXBlIjoibWFpbnRhaW4iLCJ0YXJnZXRfZGVsdGEiOjAsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwiYmFzZWxpbmUiOjEwMCwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiJkOGQ4LTVkcTQifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPiJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDA4fSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE2fSxcImFjdGlvbl90eXBlXCI6XCJtYWludGFpblwiLFwibWFpbnRhaW5fdHlwZVwiOlwid2l0aGluXCJ9LFwiYmFzZWxpbmVcIjp7XCJzcXVpc2h5XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE0fSxcImVuZFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTR9fSxcInN0YXJ0XCI6XCIyMDE0LTAxLTAxVDAwOjAwOjAwLjAwMFwiLFwiZW5kXCI6XCIyMDE0LTAxLTAxVDIzOjU5OjU5LjAwMFwiLFwibWV0cmljXCI6e1wibWV0YWRhdGFcIjpcIntcXFwid2l6YXJkXFxcIjp7XFxcImZpbHRlcl9hc3RcXFwiOlt7XFxcInZhbHVlc1xcXCI6W3t9XX1dfX1cIn19LFwibmFtZVwiOlwiY29tcGxpYW5jZSB3aXRoIERlcGFydG1lbnQgb2YgSGVhbHRoIHJlZ3VsYXRpb25zXCJ9In0sInVwZGF0ZWRfYXQiOiIyMDE2LTA0LTE5VDE4OjQzOjEzLjI4NVoiLCJjcmVhdGVkX2F0IjoiMjAxNi0wMy0yMlQyMjoyMzozMi44NzdaIiwidmVyc2lvbiI6IjIwMTYtMDQtMTlUMTg6NDM6MTMuMjg1WiIsImlkIjoiYWJhei01bXFnIn0sInJlbGF0ZWRfbWVhc3VyZXMiOltdLCJiYXNlX2Rhc2hib2FyZCI6Ijh0ZGctZGt3ZSIsInVwZGF0ZWRfYXQiOiIyMDE3LTA4LTE0VDIyOjUwOjUzLjc2NloiLCJjcmVhdGVkX2F0IjoiMjAxNi0wMy0yMlQyMjoyMzozMi45NTBaIiwidmVyc2lvbiI6IjIwMTctMDgtMTRUMjI6NTA6NTMuNzY2WiIsImNyZWF0ZWRfYnkiOiJhODV3LTJpa3UifV0sInZlcnNpb24iOiIyMDE2LTA1LTAyVDE0OjExOjM1LjUwNVoifV0sImlzX3B1YmxpYyI6dHJ1ZSwidmVyc2lvbiI6IjIwMTctMTEtMDFUMjI6Mjc6NTkuMTQ0WiJ9fQ==
eyJzdGF0dXMiOjQwNCwiZGF0YSI6eyJjb2RlIjoibm90X2ZvdW5kIiwiZXJyb3IiOnRydWUsIm1lc3NhZ2UiOiJVc2VyIG5vdCBmb3VuZCJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJkYXRlIiwidmVyc2lvbiI6IjIwMTctMTItMDZUMjI6MDE6MDYuNDI2WiIsImlkIjoiajl2di1uemR4IiwiY29sdW1uMSI6InRvdGFsX3N0cmVldGNhcl9zeXN0ZW1fcmlkZXJzaGlwX2F2Z19kYWlseV9ib2FyZGluZ3MiLCJkYXRhc2V0IjoiamtucC1lNTVtIiwibWV0YWRhdGEiOiJ7XCJ3aXphcmRcIjp7XCJmaWx0ZXJfYXN0XCI6W3tcInZhbHVlc1wiOlt7fV0sXCJkYXRhc2V0XCI6XCJqa25wLWU1NW1cIn1dLFwidmFsdWVUeXBlXCI6XCJvbmVcIn19IiwiZGF0YXNldF9kb21haW4iOiJwZXJmb3JtYW5jZS5zZWF0dGxlLmdvdiIsImNyZWF0ZWRfYXQiOiIyMDE3LTEwLTMxVDE4OjI2OjE3LjY2NFoiLCJ1cGRhdGVkX2F0IjoiMjAxNy0xMi0wNlQyMjowMTowNi40MjZaIn19
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTctMTAtMzFUMTg6Mzg6MDMuNDg3WiIsImlkIjoiaXpzai1oYm4zIiwiY29sdW1uMSI6Im9mX2FydGVyaWFsX3BhdmVtZW50X2luX2ZhaXJfb3JfYmV0dGVyX2NvbmRpdGlvbiIsImRhdGFzZXQiOiI1Y3VuLXVmbmgiLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XX1dLFwidmFsdWVUeXBlXCI6XCJvbmVcIn19IiwiZGF0YXNldF9kb21haW4iOiJwZXJmb3JtYW5jZS5zZWF0dGxlLmdvdiIsImNyZWF0ZWRfYXQiOiIyMDE3LTEwLTMxVDE4OjM4OjAzLjQ4N1oifX0=
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTctMTAtMzFUMTg6MjY6NTAuMDQ4WiIsImlkIjoiNGtoci1zdmlnIiwiY29sdW1uMSI6InBlcmNlbnRhZ2VfcGVkZXN0cmlhbl9jb3VudF9pbmNyZWFzZV9zaW5jZV8yMDExIiwiZGF0YXNldCI6InF6N2stbXc4YiIsIm1ldGFkYXRhIjoie1wid2l6YXJkXCI6e1wiZmlsdGVyX2FzdFwiOlt7XCJ2YWx1ZXNcIjpbe31dfV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwifX0iLCJkYXRhc2V0X2RvbWFpbiI6InBlcmZvcm1hbmNlLnNlYXR0bGUuZ292IiwiY3JlYXRlZF9hdCI6IjIwMTctMTAtMzFUMTg6MjY6NTAuMDQ4WiJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTctMTAtMzFUMTg6MjQ6MjkuMTI1WiIsImlkIjoiNmFidC1oM21rIiwiY29sdW1uMSI6ImFubnVhbF9wZXJjZW50YWdlX2luY3JlYXNlX3NpbmNlXzIwMTEiLCJkYXRhc2V0IjoiZGRocS10cXliIiwibWV0YWRhdGEiOiJ7XCJ3aXphcmRcIjp7XCJmaWx0ZXJfYXN0XCI6W3tcInZhbHVlc1wiOlt7fV19XSxcInZhbHVlVHlwZVwiOlwib25lXCJ9fSIsImRhdGFzZXRfZG9tYWluIjoicGVyZm9ybWFuY2Uuc2VhdHRsZS5nb3YiLCJjcmVhdGVkX2F0IjoiMjAxNy0xMC0zMVQxODoyNDoyOS4xMjVaIn19
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJyZXBvcnRpbmdfcGVyaW9kIiwidmVyc2lvbiI6IjIwMTctMTAtMzFUMTg6MjQ6MDAuOTk5WiIsImlkIjoieHM0dy0zYzJjIiwiY29sdW1uMSI6ImluX3NlYXR0bGVfYnVzX3JpZGVyc2hpcF9hdmdfd2Vla2RheV9ib2FyZGluZ3MiLCJkYXRhc2V0Ijoia2hycC1hOXJnIiwibWV0YWRhdGEiOiJ7XCJ3aXphcmRcIjp7XCJmaWx0ZXJfYXN0XCI6W3tcInZhbHVlc1wiOlt7fV19XSxcInZhbHVlVHlwZVwiOlwib25lXCJ9fSIsImRhdGFzZXRfZG9tYWluIjoicGVyZm9ybWFuY2Uuc2VhdHRsZS5nb3YiLCJjcmVhdGVkX2F0IjoiMjAxNy0xMC0zMVQxODoyNDowMC45OTlaIn19
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJtb250aCIsInZlcnNpb24iOiIyMDE3LTEwLTMxVDE4OjM0OjM5LjMyOVoiLCJpZCI6InhndHgtMnV2dCIsImNvbHVtbjEiOiJvZl9wb3Rob2xlc19yZXBhaXJlZF93aXRoaW5fM19idXNpbmVzc19kYXlzIiwiZGF0YXNldCI6ImlpcG0taXZmZCIsIm1ldGFkYXRhIjoie1wid2l6YXJkXCI6e1wiZmlsdGVyX2FzdFwiOlt7XCJ2YWx1ZXNcIjpbe31dfV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwifX0iLCJkYXRhc2V0X2RvbWFpbiI6InBlcmZvcm1hbmNlLnNlYXR0bGUuZ292IiwiY3JlYXRlZF9hdCI6IjIwMTctMTAtMzFUMTg6MzQ6MzkuMzI5WiJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTctMTAtMzFUMTg6Mzk6MjUuNDQ2WiIsImlkIjoiODNhdS10OGl1IiwiY29sdW1uMSI6InRvdGFsX3BlZGVzdHJpYW5fYmljeWNsZV9hbmRfdmVoaWNsZV9mYXRhbGl0aWVzXzVfeWVhcl9yb2xsaW5nX2F2ZyIsImRhdGFzZXQiOiJlcTJwLWRkYWQiLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XX1dLFwidmFsdWVUeXBlXCI6XCJvbmVcIn19IiwiZGF0YXNldF9kb21haW4iOiJwZXJmb3JtYW5jZS5zZWF0dGxlLmdvdiIsImNyZWF0ZWRfYXQiOiIyMDE3LTEwLTMxVDE4OjM5OjI1LjQ0NloifX0=
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTctMTAtMzFUMTg6NDA6MTEuNjczWiIsImlkIjoiOGkzcy15cGVtIiwiY29sdW1uMSI6ImluY2lkZW50X2ZyZXF1ZW5jeV9udW1iZXJfb2ZfcmVjb3JkYWJsZV9pbmNpZGVudHNfcGVyXzEwMF9mdWxsX3RpbWVfZW1wbG95ZWVzX3Blcl95ZWFyIiwiZGF0YXNldCI6InJ3Z3EtYWR1YyIsIm1ldGFkYXRhIjoie1wid2l6YXJkXCI6e1wiZmlsdGVyX2FzdFwiOlt7XCJ2YWx1ZXNcIjpbe31dfV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwifX0iLCJkYXRhc2V0X2RvbWFpbiI6InBlcmZvcm1hbmNlLnNlYXR0bGUuZ292IiwiY3JlYXRlZF9hdCI6IjIwMTctMTAtMzFUMTg6NDA6MTEuNjczWiJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJvZl9jdXN0b21lcl9zYXRpc2ZhY3Rpb25fc3VydmV5X3Jlc3BvbmRlbnRzX3dob19hcmVfc2F0aXNmaWVkX3RvX2V4dHJlbWVseV9zYXRpc2ZpZWRfd2l0aF9zZG90X3Nfc2VydmljZXMiLCJ2ZXJzaW9uIjoiMjAxNy0xMC0zMVQxODo0Mjo0My40NjlaIiwiaWQiOiI5M2VwLXY4aXgiLCJjb2x1bW4xIjoib2ZfY3VzdG9tZXJfcmVzcG9uc2VzIiwiZGF0YXNldCI6Imo1ZXUtYzk4eCIsIm1ldGFkYXRhIjoie1wid2l6YXJkXCI6e1wiZmlsdGVyX2FzdFwiOlt7XCJ2YWx1ZXNcIjpbe31dfV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwifX0iLCJkYXRhc2V0X2RvbWFpbiI6InBlcmZvcm1hbmNlLnNlYXR0bGUuZ292IiwiY3JlYXRlZF9hdCI6IjIwMTctMTAtMzFUMTg6NDI6NDMuNDY5WiJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJtb250aCIsInZlcnNpb24iOiIyMDE3LTEwLTMxVDE4OjQzOjE5Ljc5MVoiLCJpZCI6IjQ3NWYtdTU4MiIsImNvbHVtbjEiOiJvZl9jYXBpdGFsX3Byb2plY3RzX2N1cnJlbnRseV9vbl90aW1lX2FuZF9vbl9idWRnZXQiLCJkYXRhc2V0Ijoiajl4dC1mc2dhIiwibWV0YWRhdGEiOiJ7XCJ3aXphcmRcIjp7XCJmaWx0ZXJfYXN0XCI6W3tcInZhbHVlc1wiOlt7fV19XSxcInZhbHVlVHlwZVwiOlwib25lXCJ9fSIsImRhdGFzZXRfZG9tYWluIjoicGVyZm9ybWFuY2Uuc2VhdHRsZS5nb3YiLCJjcmVhdGVkX2F0IjoiMjAxNy0xMC0zMVQxODo0MzoxOS43OTFaIn19
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJtb250aCIsInZlcnNpb24iOiIyMDE3LTA0LTIwVDE4OjQxOjEyLjEwN1oiLCJpZCI6ImQ5eGstNWR4bSIsImNvbHVtbjEiOiJhY3R1YWxfdG90YWxfZW5yb2xsbWVudCIsImRhdGFzZXQiOiJpcGpjLWhlNWgiLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcImlwamMtaGU1aFwifV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwiLFwicHJlZmlsdGVyVHlwZVwiOlwidW5maWx0ZXJlZFwifX0iLCJkYXRhc2V0X2RvbWFpbiI6InBlcmZvcm1hbmNlLnNlYXR0bGUuZ292IiwiY3JlYXRlZF9hdCI6IjIwMTctMDItMjJUMDA6MjI6NDcuMDIwWiIsInVwZGF0ZWRfYXQiOiIyMDE3LTA0LTIwVDE4OjQxOjEyLjEwN1oifX0=
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJtb250aF9hbmRfeWVhciIsInZlcnNpb24iOiIyMDE3LTAyLTE2VDIzOjQ4OjQyLjE5MloiLCJpZCI6ImQ3eDQtejdkYSIsImNvbHVtbjEiOiJyZXNwb25kX3RvXzkwX3BlcmNlbnRfb2ZfYWxsX2hpZ2hfcHJpb3JpdHlfY2FsbHNfd2l0aGluXzFfaG91ciIsImRhdGFzZXQiOiI2c2o0LXd4d3oiLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcIjZzajQtd3h3elwifV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwifX0iLCJkYXRhc2V0X2RvbWFpbiI6InBlcmZvcm1hbmNlLnNlYXR0bGUuZ292IiwiY3JlYXRlZF9hdCI6IjIwMTctMDItMTZUMjM6NDg6NDIuMTkyWiJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTctMDItMTNUMjI6MDc6MjUuNTE0WiIsImlkIjoiNnJxNC02dGhtIiwiY29sdW1uMSI6ImNpdHlfbGlnaHQiLCJkYXRhc2V0IjoiOGVyZC1xeTV3IiwibWV0YWRhdGEiOiJ7XCJ3aXphcmRcIjp7XCJmaWx0ZXJfYXN0XCI6W3tcInZhbHVlc1wiOlt7fV0sXCJkYXRhc2V0XCI6XCI4ZXJkLXF5NXdcIn1dLFwidmFsdWVUeXBlXCI6XCJvbmVcIn19IiwiZGF0YXNldF9kb21haW4iOiJwZXJmb3JtYW5jZS5zZWF0dGxlLmdvdiIsImNyZWF0ZWRfYXQiOiIyMDE3LTAyLTEzVDIyOjA3OjI1LjUxNFoifX0=
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJtb250aCIsInZlcnNpb24iOiIyMDE3LTAyLTEzVDIxOjQ5OjMxLjI1MVoiLCJpZCI6ImJpZmQtaThpayIsImNvbHVtbjEiOiJwZXJjZW50X3Jlc3BvbmRlZF9pbl8xNF9kYXlzIiwiZGF0YXNldCI6Im42ZGEtYmRzeCIsIm1ldGFkYXRhIjoie1wid2l6YXJkXCI6e1wiZmlsdGVyX2FzdFwiOlt7XCJ2YWx1ZXNcIjpbe31dLFwiZGF0YXNldFwiOlwibjZkYS1iZHN4XCJ9XSxcInZhbHVlVHlwZVwiOlwib25lXCJ9fSIsImRhdGFzZXRfZG9tYWluIjoicGVyZm9ybWFuY2Uuc2VhdHRsZS5nb3YiLCJjcmVhdGVkX2F0IjoiMjAxNy0wMi0xM1QyMTo0OTozMS4yNTFaIn19
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJtb250aCIsInZlcnNpb24iOiIyMDE3LTAyLTEzVDIxOjQzOjM2Ljg1OVoiLCJpZCI6IjVkZ2cta25rYyIsImNvbHVtbjEiOiJzYWlkaV9hY3R1YWwiLCJkYXRhc2V0Ijoibm0ybS12cHZnIiwibWV0YWRhdGEiOiJ7XCJ3aXphcmRcIjp7XCJmaWx0ZXJfYXN0XCI6W3tcInZhbHVlc1wiOlt7fV0sXCJkYXRhc2V0XCI6XCJubTJtLXZwdmdcIn1dLFwidmFsdWVUeXBlXCI6XCJvbmVcIn19IiwiZGF0YXNldF9kb21haW4iOiJwZXJmb3JtYW5jZS5zZWF0dGxlLmdvdiIsImNyZWF0ZWRfYXQiOiIyMDE3LTAyLTEzVDIxOjQzOjM2Ljg1OVoifX0=
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJtb250aCIsInZlcnNpb24iOiIyMDE3LTAyLTEzVDIyOjA4OjQ5LjQ2MVoiLCJpZCI6ImJ2enMtdnc0ayIsImNvbHVtbjEiOiJlbmVyZ3lfY29uc2VydmVkX2FtdyIsImRhdGFzZXQiOiI2enJxLWRiN2ciLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcIjZ6cnEtZGI3Z1wifV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwifX0iLCJkYXRhc2V0X2RvbWFpbiI6InBlcmZvcm1hbmNlLnNlYXR0bGUuZ292IiwiY3JlYXRlZF9hdCI6IjIwMTctMDItMTNUMjI6MDg6NDkuNDYxWiJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJtb250aCIsInZlcnNpb24iOiIyMDE3LTAyLTE2VDIzOjUxOjQ0LjY3MVoiLCJpZCI6InFjcXAtdHZ1eiIsImNvbHVtbjEiOiJudW1iZXJfb2ZfbWlzc2VzX3Blcl8xXzAwMF9zdG9wcyIsImRhdGFzZXQiOiJtbTlhLXR5aHgiLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcIm1tOWEtdHloeFwifV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwifX0iLCJkYXRhc2V0X2RvbWFpbiI6InBlcmZvcm1hbmNlLnNlYXR0bGUuZ292IiwiY3JlYXRlZF9hdCI6IjIwMTctMDItMTZUMjM6NTE6NDQuNjcxWiJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMDctMTRUMjM6MjA6NTMuNTA0WiIsImlkIjoiaXJidS12dmVzIiwiY29sdW1uMSI6InJlY3ljbGVfcmF0ZSIsImRhdGFzZXQiOiJkY3FoLXI3bWMiLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcImRjcWgtcjdtY1wifV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwifX0iLCJkYXRhc2V0X2RvbWFpbiI6InBlcmZvcm1hbmNlLnNlYXR0bGUuZ292IiwiY3JlYXRlZF9hdCI6IjIwMTYtMDMtMjJUMjI6MjM6MDMuMDY5WiIsInVwZGF0ZWRfYXQiOiIyMDE2LTA3LTE0VDIzOjIwOjUzLjUwNFoifX0=
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJkYXRlX3RpbWUiLCJ2ZXJzaW9uIjoiMjAxNy0wMi0xNlQyMzo1MjozNS44MDhaIiwiaWQiOiJ2Z3Y1LWs3cmciLCJjb2x1bW4xIjoidG9uc19vZl9kaXJ0X3JlbW92ZWRfY3VtdWxhdGl2ZSIsImRhdGFzZXQiOiJkZDRrLWl5N3kiLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcImRkNGstaXk3eVwifV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwifX0iLCJkYXRhc2V0X2RvbWFpbiI6InBlcmZvcm1hbmNlLnNlYXR0bGUuZ292IiwiY3JlYXRlZF9hdCI6IjIwMTctMDItMTZUMjM6NTI6MzUuODA4WiJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTctMDItMTZUMjM6NTM6MzMuNDAxWiIsImlkIjoibnp2Zi1ndHdiIiwiY29sdW1uMSI6InBlcl8xMDBtX29mX3BpcGVfcHJvamVjdGVkIiwiZGF0YXNldCI6IjdnYnQtanBlcSIsIm1ldGFkYXRhIjoie1wid2l6YXJkXCI6e1wiZmlsdGVyX2FzdFwiOlt7XCJ2YWx1ZXNcIjpbe31dLFwiZGF0YXNldFwiOlwiN2didC1qcGVxXCJ9XSxcInZhbHVlVHlwZVwiOlwib25lXCJ9fSIsImRhdGFzZXRfZG9tYWluIjoicGVyZm9ybWFuY2Uuc2VhdHRsZS5nb3YiLCJjcmVhdGVkX2F0IjoiMjAxNy0wMi0xNlQyMzo1MzozMy40MDFaIn19
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJkYXRlIiwidmVyc2lvbiI6IjIwMTYtMDQtMjFUMTY6NDQ6MjkuNTAyWiIsImlkIjoiZDhkOC01ZHE0IiwiY29sdW1uMSI6Im1ldF9kZXBhcnRtZW50X29mX2hlYWx0aF9zdGFuZGFyZHMiLCJkYXRhc2V0IjoicDN2Zy14dGlwIiwibWV0YWRhdGEiOiJ7XCJ3aXphcmRcIjp7XCJmaWx0ZXJfYXN0XCI6W3tcInZhbHVlc1wiOlt7fV0sXCJkYXRhc2V0XCI6XCJwM3ZnLXh0aXBcIn1dLFwidmFsdWVUeXBlXCI6XCJvbmVcIn19IiwiZGF0YXNldF9kb21haW4iOiJwZXJmb3JtYW5jZS5zZWF0dGxlLmdvdiIsImNyZWF0ZWRfYXQiOiIyMDE2LTAzLTIyVDIyOjIzOjMyLjgxOFoiLCJ1cGRhdGVkX2F0IjoiMjAxNi0wNC0yMVQxNjo0NDoyOS41MDJaIn19