Glossary – Term

[fusion_builder_container hundred_percent=”no” equal_height_columns=”no” menu_anchor=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” class=”” id=”” background_color=”” background_image=”” background_position=”center center” background_repeat=”no-repeat” fade=”no” background_parallax=”none” parallax_speed=”0.3″ video_mp4=”” video_webm=”” video_ogv=”” video_url=”” video_aspect_ratio=”16:9″ video_loop=”yes” video_mute=”yes” overlay_color=”” video_preview_image=”” border_size=”” border_color=”” border_style=”solid” padding_top=”” padding_bottom=”” padding_left=”” padding_right=””][fusion_builder_row][fusion_builder_column type=”1_1″ layout=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” border_position=”all” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding_top=”” padding_right=”” padding_bottom=”” padding_left=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” center_content=”no” last=”no” min_height=”” hover_type=”none” link=””][fusion_text columns=”” column_min_width=”” column_spacing=”” rule_style=”default” rule_size=”” rule_color=”” hide_on_mobile=”small-visibility,medium-visibility,large-visibility” class=”” id=””]

Investment Term Definition

 

 

[/fusion_text][fusion_code]PHNjcmlwdD4KdmFyIHRlcm1zT2JqPSB7CiJBY2NlbGVyYXRpb24iOiJBIGRvY3VtZW50IHByb3Zpc2lvbiBhbGxvd2luZyB0aGUgbGVuZGVyIHRvIHJlcXVpcmUgdGhlIGJvcnJvd2VyIHRvIHJlcGF5IGFsbCBvciBwYXJ0IG9mIGFuIG91dHN0YW5kaW5nIGxvYW4gcHJpbmNpcGFsIGlmIGNlcnRhaW4gcmVxdWlyZW1lbnRzIGFyZSBub3QgbWV0LiBXaGVuIGFsbCBvZiB0aGUgcmVtYWluaW5nIFByaW5jaXBhbCBmcm9tIGEgZGVidCBpbnZlc3RtZW50IGJlY29tZXMgaW1tZWRpYXRlbHkgZHVlIGFuZCBwYXlhYmxlLCByYXRoZXIgdGhhbiB3aGVuIG90aGVyd2lzZSBzY2hlZHVsZWQgYXMgcGFydCBvZiB0aGUgb2ZmZXJpbmcuIEFjY2VsZXJhdGlvbiBub3JtYWxseSB0YWtlcyBlZmZlY3Qgd2hlbiBhIGRlZmF1bHQgY29uZGl0aW9uIG9jY3VycyBieSB0aGUgSXNzdWVyLiBSZWxhdGVkIHRvIGRlYnQuIiwKIkFjY291bnRzIFBheWFibGUiOiJBbiBhY2NvdW50aW5nIHRlcm0gZm9yIGFuIENvbXBhbnkncyBvYmxpZ2F0aW9uIHRvIHBheSBvZmYgYSBzaG9ydC10ZXJtIChsZXNzIHRoYW4gb25lIHllYXIpIHZlbmRvciBwYXltZW50IG9ibGlnYXRpb25zICh0cmFkZSBvYmxpZ2F0aW9ucyBvZiBhIGJ1c2luZXNzIHRoYXQgYXJlIHJlY29yZGVkIGF0IGEgcG9pbnQgaW4gdGltZSkuIEFjY291bnRzIFBheWFibGUgYXJlIG9mdGVuIHJlZmVycmVkIHRvIGFzIHBheWFibGVzIG9yIFwiQVAuXCIgU2hvcnQtdGVybSBkZWJ0IGlzIG9mdGVuIHVzZWQgdG8gZmluYW5jZSBwYXlhYmxlcy4gUmVsYXRlZCB0byBpc3N1ZXJzLiIsCiJBY2NvdW50cyBSZWNlaXZhYmxlIjoiQW4gYWNjb3VudGluZyB0ZXJtIGZvciBhIGNvbXBhbnkncyBjdXN0b21lciBwdXJjaGFzZXMgd2hlcmUgcGF5bWVudCBpcyBub3QgbWFkZSBhdCB0aGUgdGltZSBvZiB0aGUgcmVsYXRlZCBzYWxlcyBidXQgaXMgZHVlIHdpdGhpbiBvbmUgeWVhci4gQWNjb3VudHMgcmVjZWl2YWJsZSBhcmUgb2Z0ZW4gcmVmZXJyZWQgdG8gYXMgcmVjZWl2YWJsZXMgb3IgQVIuXCIgU2hvcnQtdGVybSBkZWJ0IChyZWZlcnJlZCB0byBhcyB3b3JraW5nIGNhcGl0YWwgZmluYW5jaW5nKSBpcyBvZnRlbiB1c2VkIHRvIGZ1bmQgdGhlIHRpbWluZyBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGV4cGVjdGVkIGNvbGxlY3Rpb24gb2YgQVIgcGF5bWVudHMgYW5kIHRoZSBJc3N1ZXLigJlzIGltbWVkaWF0ZSBuZWVkIGZvciBjYXNoIHRvIHN1c3RhaW4gaXRzIG9wZXJhdGlvbnMuIEFuIElzc3VlcidzIHNob3J0LXRlcm0gaW5kZWJ0ZWRuZXNzIG9mdGVuIGlzIGNvbGxhdGVyYWxpemVkIGJ5IGl0cyBhY2NvdW50cyByZWNlaXZhYmxlLiBSZWxhdGVzIHRvIGlzc3VlcnMuIiwKIkFjY3JlZGl0ZWQgSW52ZXN0b3IiOiJMZWdhbCBkZWZpbml0aW9ucyB3aXRoaW4gUnVsZSA1MDEgb2YgUmVndWxhdGlvbiBEIHdoaWNoIGVzdGFibGlzaCBpbmNvbWUgYW5kIG5ldCB3b3J0aCBsZXZlbHMgZW5hYmxpbmcgcGFydGljaXBhdGlvbiBieSBpbmRpdmlkdWFscyBpbiB2YXJpb3VzIHR5cGVzIG9mIHByaXZhdGUgcGxhY2VtZW50cyBjb25kdWN0ZWQgdW5kZXIgUmVndWxhdGlvbiBELiBDYXRlZ29yaWVzIGFyZSBhbHNvIGRlZmluZWQgZm9yIHZhcmlvdXMgdHlwZXMgb2YgZmluYW5jaWFsIGluc3RpdHV0aW9ucy4gKHNlZSBcIkFjY3JlZGl0ZWQgSW52ZXN0b3IgUXVlc3Rpb25uYWlyZVwiIGZvciB0aGUgc3BlY2lmaWMgY2F0ZWdvcmllcyBhbmQgYWxzbyBcIkFjY3JlZGl0ZWQgSW52ZXN0b3IgVmVyaWZpY2F0aW9uIEd1aWRlbGluZXNcIikuIEFwcGxpY2FibGUgdG8gSW52ZXN0b3JzIGluIGVpdGhlciBkZWJ0IG9yIGVxdWl0eSBSZWd1bGF0aW9uIEQgcHJpdmF0ZSBwbGFjZW1lbnRzLiIsCiJBY2NydWUiOiJMZWdhbCBkZWZpbml0aW9ucyB3aXRoaW4gUnVsZSA1MDEgb2YgUmVndWxhdGlvbiBEIHdoaWNoIGVzdGFibGlzaCBpbmNvbWUgYW5kIG5ldCB3b3J0aCBsZXZlbHMgZW5hYmxpbmcgcGFydGljaXBhdGlvbiBieSBpbmRpdmlkdWFscyBpbiB2YXJpb3VzIHR5cGVzIG9mIHByaXZhdGUgcGxhY2VtZW50cyBjb25kdWN0ZWQgdW5kZXIgUmVndWxhdGlvbiBELiBDYXRlZ29yaWVzIGFyZSBhbHNvIGRlZmluZWQgZm9yIHZhcmlvdXMgdHlwZXMgb2YgZmluYW5jaWFsIGluc3RpdHV0aW9ucy4gKHNlZSBcIkFjY3JlZGl0ZWQgSW52ZXN0b3IgUXVlc3Rpb25uYWlyZVwiIGZvciB0aGUgc3BlY2lmaWMgY2F0ZWdvcmllcyBhbmQgYWxzbyBcIkFjY3JlZGl0ZWQgSW52ZXN0b3IgVmVyaWZpY2F0aW9uIEd1aWRlbGluZXNcIikuIEFwcGxpY2FibGUgdG8gSW52ZXN0b3JzIGluIGVpdGhlciBkZWJ0IG9yIGVxdWl0eSBSZWd1bGF0aW9uIEQgcHJpdmF0ZSBwbGFjZW1lbnRzLlwiV2hlcmUgYW4gaW50ZXJlc3Qgb3IgZGl2aWRlbmQvZGlzdHJpYnV0aW9uIG9ibGlnYXRpb24gb2YgdGhlIEJvcnJvd2VyLyBJc3N1ZXIgaXMgbm90IHBhaWQgY3VycmVudGx5LCBidXQgcmVtYWlucyBhIGZ1dHVyZSBvYmxpZ2F0aW9uIGZvciBwYXltZW50LiBJdCBpcyBzYWlkIHRvIGhhdmUgYWNjcnVlZCBhbmQgaXMgYWRkZWQgdG8gdGhlIGJhbGFuY2Ugb2YgcHJldmlvdXMgcGF5bWVudCBvYmxpZ2F0aW9ucy4gQWNjcnVhbHMgYXJlIHR5cGljYWxseSByZWNvcmRlZCBvbiBlaXRoZXIgYSBDdW11bGF0aXZlIG9yIGEgQ29tcG91bmRpbmcgYmFzaXMuIFJlbGF0ZXMgdG8gaW50ZXJlc3QgcGF5bWVudHMgZm9yIGRlYnQgYW5kIHRvIGRpdmlkZW5kL2Rpc3RyaWJ1dGlvbnMgZm9yIHByZWZlcnJlZCBlcXVpdHkuIiwKIkFkbWluaXN0cmF0aXZlIEFnZW50IjoiQW4gaW5zdGl0dXRpb24gcmVzcG9uc2libGUgZm9yIGFkbWluaXN0ZXJpbmcgYSBsb2FuLCBhY3Rpbmcgb24gYmVoYWxmIG9mIGFsbCBsZW5kZXJzLCBhbmQgYWN0aW5nIGFzIGEgbGlhaXNvbiBiZXR3ZWVuIHRoZSBib3Jyb3dlciBhbmQgdGhlIGxlbmRlcnMuIiwKIkFmZmlsaWF0ZXMiOiJPdGhlciBzdWJzaWRpYXJpZXMgb3IgcGFydG5lcnNoaXBzIHdoaWNoIGhhdmUgYSBmaW5hbmNpYWwgcmVsYXRpb25zaGlwIHdpdGggdGhlIElzc3Vlci4gUmVsYXRlcyB0byBJc3N1ZXJzLiIsCiJBZmZpcm1hdGl2ZSBDb3ZlbmFudHMiOiJJbiBhIHNlY3VyaXRpZXMtcmVsYXRlZCBkb2N1bWVudCwgdGhlIElzc3VlcidzIGNvbW1pdG1lbnQgdG8gcGVyZm9ybSBhIGNlcnRhaW4gYWN0aW9ucy4gRXhhbXBsZXMgY291bGQgaW5jbHVkZSBkZWxpdmVyeSBvZiBhZ3JlZWQgZmluYW5jaWFsIGluZm9ybWF0aW9uIGFuZCBjb21wbGlhbmNlIGNlcnRpZmljYXRlcywgbm90aWNlcyBvZiBkZWZhdWx0IGFuZCBsaXRpZ2F0aW9uLCBtYWludGVuYW5jZSBvZiBzYXRpc2ZhY3RvcnkgaW5zdXJhbmNlLCBjb21wbGlhbmNlIHdpdGggbGF3cywgYW5kIHBheW1lbnQgb2YgdGF4ZXMuIFJlbGF0ZXMgdG8gZGVidCBvciBlcXVpdHkuIiwKIkFtb3J0aXphdGlvbiI6IkFuIGFtb3J0aXppbmcgbG9hbiBpcyBhIGxvYW4gdGhhdCBoYXMgc2NoZWR1bGVkIHBheW1lbnRzIHdoaWNoIGFyZSBjb21wcmlzZWQgb2YgYm90aCBwcmluY2lwYWwgYW5kIGludGVyZXN0LiBPdmVyIHRpbWUgdGhlIGxvYW4ncyBwcmluY2lwYWwgYmFsYW5jZSBkZWNsaW5lcyBhbmQgc28gdGhlIGludGVyZXN0IG9ibGlnYXRpb24gZGVjbGluZXMuIEFtb3J0aXphdGlvbiBpcyBvZnRlbiBjYWxjdWxhdGVkIG9uIGEgbW9ydGdhZ2Ugc3R5bGUgYmFzaXMgd2hlcmUgdGhlIHJlZ3VsYXIgcGF5bWVudCBpcyBmaXhlZCB3aXRoIHRoZSBwcmluY2lwYWwgYW1vdW50IHdpdGhpbiB0aGUgbW9udGhseSBwYXltZW50IGluY3JlYXNpbmcgd2l0aCBlYWNoIHBheW1lbnQgdW50aWwgdGhlIGxvYW4gaXMgZnVsbHkgcmVwYWlkLiBJbnRlcmVzdC1vbmx5IG9yIGJhbGxvb24gbG9hbnMgaGF2ZSBubyBhbW9ydGl6YXRpb24gYW5kIHNvIGFsbCBwcmluY2lwYWwgaXMgZHVlIGF0IHRoZSBtYXR1cml0eSBvZiB0aGUgbG9hbi4gUmVsYXRlcyB0byBkZWJ0LiIsCiJBbnRpLWRpbHV0aW9uIjoiQW4gc2VjdXJpdHkgdGVybSBkZXNpZ25lZCB0byBwcm90ZWN0IHRoZSBwZXJjZW50YWdlIG93bmVyc2hpcCBvZiBJbnZlc3RvcnMgd2hlbiB0aGVyZSBpcyBzdWJzZXF1ZW50IGlzc3VhbmNlIG9mIGVxdWl0eSBhdCBhIGxvd2VyIHByaWNlIChhbHNvIGtub3cgYXMgYSBcImRvd24gcm91bmRcIikuIEZvciBleGFtcGxlLCBpZiBzdWJzZXF1ZW50IEludmVzdG9ycyB3aWxsIHJlY2VpdmUgYSAyMCUgb3duZXJzaGlwIGluIHRoZSBidXNpbmVzcyBmb3IgYSBsb3dlciBzaGFyZSBwcmljZSB0aGUgZWFybGllciBJbnZlc3RvcnMgaGF2aW5nIGFudGktZGlsdXRpb24gcHJvdGVjdGlvbiwgdGhlIGVhcmxpZXIgSW52ZXN0b3IncyBkaWx1dGlvbiBmcm9tIHRoaXMgYWRkaXRpb25hbCBlcXVpdHkgaXNzdWFuY2Ugd291bGQgYmUgbGVzcyB0aGFuIGEgMjAlLiBSZWxhdGVzIHRvIGVxdWl0eS4iLAoiQW50aS1EaWx1dGlvbiBQcm90ZWN0aW9uIjoiVGVybXMgb3IgYSBjbGFzcyBvZiBwcmVmZXJyZWQgZXF1aXR5IHdoaWNoIGFyZSBpbnRlbmRlZCB0byBsaW1pdCB0aGUgRGlsdXRpb24gb2YgZXhpc3RpbmcgSW52ZXN0b3JzIGluIHRoZSBldmVudCB0aGF0IGEgc3Vic2VxdWVudCBvZmZlcmluZyBvZiBlcXVpdHkgaXMgbWFkZSBhdCBhIGxvd2VyIHZhbHVhdGlvbiB0aGF0IHRoZSBQb3N0LW1vbmV5IFZhbHVhdGlvbiBvZiB0aGUgZWFybGllciBlcXVpdHkgb2ZmZXJpbmcuIFBlcnRhaW5zIHRvIGVxdWl0eS4iLAoiQXJ0aWNsZXMgb2YgSW5jb3Jwb3JhdGlvbiI6IkEgc2V0IG9mIGRvY3VtZW50cyBmaWxlZCB3aXRoIHN0YXRlIGJvZHkgZm9yIHRoZSBwdXJwb3NlIG9mIGxlZ2FsbHkgZG9jdW1lbnRpbmcgdGhlIGNyZWF0aW9uIG9mIGEgY29ycG9yYXRpb24uIEZvciBJc3N1ZXJzIGluY29ycG9yYXRlZCBhcyBhIEMgQ29ycG9yYXRpb24sIHRoZXNlIGRlZmluZSB0aGUgbWFubmVyIG9mIGNvcnBvcmF0ZSBnb3Zlcm5hbmNlLCBpbmNsdWRpbmcgc3BlY2lhbCByaWdodHMgb2ZmZXJlZCBpbiBwcmVmZXJyZWQgZXF1aXR5IHNlY3VyaXRpZXMuIEFydGljbGVzIG9mIEluY29ycG9yYXRpb24gbXVzdCBiZSBBbWVuZGVkIGFuZCBhcHByb3ZlZCBieSB0aGUgSXNzdWVy4oCZcyBjdXJyZW50IGVxdWl0eSBzaGFyZWhvbGRlcnMgd2hlbiB0aGUgaXNzdWFuY2Ugb2YgUHJlZmVycmVkIFN0b2NrIGNvbnRhaW5zIGEgcHJvdmlzaW9uIG5vdCBpbmNsdWRlZCBlYXJsaWVyIGluIHRoZSBjdXJyZW50IEFydGljbGVzIG9mIEluY29ycG9yYXRpb24uIFJlbGF0ZXMgdG8gSXNzdWVycy4iLAoiQXNzZXRzIjoiQW4gYWNjb3VudGluZyB0ZXJtIHRoYXQgaW5jbHVkZXMgYWxsIGl0ZW1zIG93bmVkIGJ5IHRoZSBJc3N1ZXIgdGhhdCBjYW4gYmUgY29udmVydGVkIGludG8gY2FzaCwgYm90aCBwaHlzaWNhbCAocmVhbCBwcm9wZXJ0eSkgYW5kIGludGFuZ2libGUgKHBhdGVudHMsIHRyYWRlbWFya3MsIGV0Yy4pLiBSZWxhdGVzIHRvIElzc3VlcnMuIiwKIkF1ZGl0ZWQgRmluYW5jaWFsIFN0YXRlbWVudHMiOiJBIENvbXBhbnkncyBGaW5hbmNpYWxzIGFuZCBkaXNjbG9zdXJlcyB0aGF0IGFyZSBleGFtaW5lZCBieSBDZXJ0aWZpZWQgUHVibGljIEFjY291bnRhbnQsIHJlc3VsdGluZyBpbiBhbiBhbm51YWwgcmVwb3J0IHRoYXQgYXR0ZXN0cyB0byB0aGUgZmFpcm5lc3Mgb2YgdGhlIGZpbmFuY2lhbCBzdGF0ZW1lbnRzIChCYWxhbmNlIFNoZWV0LCBJbmNvbWUgU3RhdGVtZW50LCBhbmQgQ2FzaGZsb3cgU3RhdGVtZW50IGFuZCByZWxhdGVkIE5vdGVzKS4iLAoiQmx1ZSBTa3kgTGF3cyI6IkEgc3RhdGUgbGF3IGluIHRoZSBVbml0ZWQgU3RhdGVzIHRoYXQgcmVndWxhdGVzIHRoZSBvZmZlcmluZyBhbmQgc2FsZSBvZiBzZWN1cml0aWVzIHRvIHByb3RlY3QgdGhlIHB1YmxpYyBmcm9tIGZyYXVkLiBUaG91Z2ggdGhlIHNwZWNpZmljIHByb3Zpc2lvbnMgb2YgdGhlc2UgbGF3cyB2YXJ5IGFtb25nIHN0YXRlcywgdGhleSBhbGwgcmVxdWlyZSB0aGUgcmVnaXN0cmF0aW9uIG9mIGFsbCBzZWN1cml0aWVzIG9mZmVyaW5ncyBhbmQgc2FsZXMsIGFzIHdlbGwgYXMgb2Ygc3RvY2ticm9rZXJzIGFuZCBicm9rZXJhZ2UgZmlybXMuIEVhY2ggc3RhdGUncyBibHVlIHNreSBsYXcgaXMgYWRtaW5pc3RlcmVkIGJ5IGl0cyBhcHByb3ByaWF0ZSByZWd1bGF0b3J5IGFnZW5jeSwgYW5kIG1vc3QgYWxzbyBwcm92aWRlIHByaXZhdGUgY2F1c2VzIG9mIGFjdGlvbiBmb3IgcHJpdmF0ZSBJbnZlc3RvcnMgd2hvIGhhdmUgYmVlbiBpbmp1cmVkIGJ5IHNlY3VyaXRpZXMgZnJhdWQuIENhbiByZWxhdGUgZWl0aGVyIHRvIGRlYnQgb3IgZXF1aXR5IHByaXZhdGUgcGxhY2VtZW50cy4iLAoiQm9hcmQgb2YgRGlyZWN0b3JzIjoiQSBncm91cCBvZiBpbmRpdmlkdWFscyB0aGF0IGFyZSBlbGVjdGVkIGFzLCBvciBlbGVjdGVkIHRvIGFjdCBhcywgcmVwcmVzZW50YXRpdmVzIG9mIHRoZSBlcXVpdHkgaG9sZGVycyB0byBlc3RhYmxpc2ggY29ycG9yYXRlIG1hbmFnZW1lbnQtcmVsYXRlZCBwb2xpY2llcyBhbmQgdG8gbWFrZSBkZWNpc2lvbnMgb24gbWFqb3IgY29tcGFueSBpc3N1ZXMsIGluY2x1ZGluZyBzZW5pb3IgbWFuYWdlbWVudC1yZWxhdGVkIGV2YWx1YXRpb24gYW5kIGNvbXBlbnNhdGlvbi4gQm9hcmQgTWVtYmVycyBiZWFyIHBlcnNvbmFsIHJlc3BvbnNpYmlsaXR5IGZvciB0aGUgZGVjaXNpb25zIHRoZXkgbWFrZS4gUmVsYXRlZCB0byBJc3N1ZXJzLiIsCiJCb3Jyb3dlciI6IlRoZSBwYXJ0eSB0aGF0IGJvcnJvd3MgZnVuZHMsIHRoZSBJc3N1ZXIgb2YgYSBQcm9taXNzb3J5IE5vdGUsIHRoZSBlbnRpdHkgdGhhdCBpbmN1cnMgaW5kZWJ0ZWRuZXNzLiBSZWxhdGVzIHRvIGRlYnQuIiwKIkJyaWRnZSI6IkEgc2hvcnQtdGVybSBmaW5hbmNpbmcgdXNlZCB0byBtZWV0IGFuIElzc3VlcidzIHVyZ2VudCBmaW5hbmNpYWwgb2JsaWdhdGlvbnMgYmVmb3JlIHByb2NlZWRzIGhhdmUgYmVlbiByZWNlaXZlZCBieSB0aGUgSXNzdWVyIGZyb20gbG9uZ2VyLXRlcm0gZGVidCBvciBlcXVpdHkgZmluYW5jaW5nLiBDYW4gcGVydGFpbiBlaXRoZXIgdG8gZGVidCBvciBlcXVpdHkgaW52ZXN0bWVudHMuIiwKIkMgQ29ycG9yYXRpb24iOiJSZWZlcnMgdG8gYW55IGNvcnBvcmF0aW9uIHRoYXQsIHVuZGVyIFVuaXRlZCBTdGF0ZXMgZmVkZXJhbCBpbmNvbWUgdGF4IGxhdywgaXMgdGF4ZWQgc2VwYXJhdGVseSBmcm9tIGl0cyBvd25lcnMuIEEgQyBjb3Jwb3JhdGlvbiBpcyBkaXN0aW5ndWlzaGVkIGZyb20gYW4gUyBjb3Jwb3JhdGlvbiwgd2hpY2ggZ2VuZXJhbGx5IGlzIG5vdCB0YXhlZCBzZXBhcmF0ZWx5LiBNb3N0IG1ham9yIGNvbXBhbmllcyAoYW5kIG1hbnkgc21hbGxlciBjb21wYW5pZXMpIGFyZSB0cmVhdGVkIGFzIEMgY29ycG9yYXRpb25zIGZvciBVLlMuIGZlZGVyYWwgaW5jb21lIHRheCBwdXJwb3Nlcy4gQyBDb3Jwb3JhdGlvbnMgYXJlIGluY29ycG9yYXRlZCB1bmRlciB0aGUgbGF3cyBvZiBhIGdpdmVuIHN0YXRlLCBidXQgRGVsYXdhcmUgaXMgdGhlIG1vc3QgY29tbW9uLiBSZWxhdGVzIHRvIElzc3VlcnMuIiwKIkNhbGwgRGF0ZSI6IkEgZGF0ZSBhZnRlciB3aGljaCBhIGxvYW4gb3Igbm90ZSBtYXkgYmUgcHJlcGFpZC4gVGhlIGRhdGUgb24gd2hpY2ggYSBub3RlIGNhbiBiZSByZWRlZW1lZCBiZWZvcmUgbWF0dXJpdHkuIElmIHRoZSBJc3N1ZXIgZmVlbHMgdGhlcmUgaXMgYSBiZW5lZml0IHRvIHJlZmluYW5jaW5nIHRoZSBpc3N1ZSwgdGhlIGJvbmQgbWF5IGJlIHJlZGVlbWVkLCBhdCB0aGUgSXNzdWVy4oCZcyBvcHRpb24sIG9uIHRoZSBDYWxsIERhdGUgYXQgaXRzIGluaXRpYWwgaXNzdWUgcHJpY2Ugb3IgYXQgYSBzbWFsbCBwcmVtaXVtICgxLTMlKSB0byB0aGF0IHZhbHVlLiBSZWxhdGVzIHRvIGRlYnQuIiwKIkNhcGl0YWxpemF0aW9uIFRhYmxlIjoiQSBzdW1tYXJ5IG9mIHRoZSBvd25lcnNoaXAgc3Rha2VzIGluIGEgY29tcGFueS4gSXQgd2lsbCBpbmRpY2F0ZSB3aGF0IGNsYXNzZXMgb2YgZXF1aXR5IGhhdmUgYmVlbiBpc3N1ZWQgKGluY2x1ZGluZyBhbnkgb3B0aW9ucyBvciBXYXJyYW50cyBvdXRzdGFuZGluZyksIHdobyB0aGUgc2hhcmVob2xkZXJzIGFyZSB3aXRoaW4gZWFjaCBjbGFzcyBhbmQgdGhlaXIgcmVzcGVjdGl2ZSBvd25lcnNoaXAgaW4gdGhlIGNvbXBhbnksIGJ5IG51bWJlciBvZiBzaGFyZXMgYW5kL29yIHBlcmNlbnRhZ2Ugb2Ygb3duZXJzaGlwLiBSZWxhdGVzIHRvIElzc3VlcnMuIiwKIkNhc2ggb24gQ2FzaCBSZXR1cm4iOiJBIG1lYXN1cmUgb2YgdGhlIHJhdGUgb2YgcmV0dXJuIG9uIGludmVzdG1lbnQgY2FsY3VsYXRlZCBieSBkaXZpZGluZyBmdW5kcyByZXR1cm5lZCB0byB0aGUgSW52ZXN0b3IgYnkgZnVuZHMgaW52ZXN0ZWQgYW5kIHdpdGggbm8gYWNjb3VudGluZyBmb3IgdGhlIHRpbWUgdGhlIGZ1bmRzIHdlcmUgaW52ZXN0ZWQuIFJlbGF0ZXMgdG8gZGVidCBhbmQgZXF1aXR5LiIsCiJDbG9zaW5nIjoiQSBwb2ludCBpbiB0aW1lIGF0IHdoaWNoIHRoZSBpbnZlc3RlZCBjYXBpdGFsIGlzIGZvcndhcmRlZCBieSB0aGUgSW52ZXN0b3JzIHRvIHRoZSBpc3N1ZXIgKHVzdWFsbHkgYnkgd2lyZSwgQUNIIHRyYW5zZmVyIG9yIGNoZWNrKSBhcyBwYXJ0IG9mIHRoZWlyIGludmVzdG1lbnQgaW4gYSBzZWN1cml0aWVzIG9mZmVyaW5nLCB3aXRoIGFsbCByZWxhdGVkIGRvY3VtZW50cyBzaWduZWQgYnkgdGhlIElzc3VlciBhbmQgdGhlIEludmVzdG9ycy4gU2VlIFwiQ2xvc2luZyBEb2N1bWVudGF0aW9uIGZvciBQcml2YXRlIFBsYWNlbWVudCBJbnZlc3RtZW50IE9wcG9ydHVuaXRpZXNcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4gUGVydGFpbnMgYm90aCB0byBkZWJ0IGFuZCBlcXVpdHkgdHJhbnNhY3Rpb25zLiIsCiJDbG9zaW5nIENvc3RzIjoiUmVmZXJzIHRvIHRoZSBwYXltZW50IG9mIHBsYWNlbWVudCBhZ2VudCBmZWVzLCBhdHRvcm5leSBmZWVzLCBlc2Nyb3cgZmVlcyBhbmQgYW55IG90aGVyIGV4cGVuc2VzIHBhaWQgYXQgdGhlIHRpbWUgb2YgQ2xvc2luZyBhbmQgbmVjZXNzYXJ5IHRvIGZpbmFsaXplIGEgZmluYW5jaW5nLiBQZXJ0aW5lbnQgZm9yIGVpdGhlciBkZWJ0IG9yIGVxdWl0eSBpbnZlc3RtZW50cy4iLAoiQ2xvc2luZyBEb2N1bWVudHMiOiJEb2N1bWVudHMsIHNvbWUgb2Ygd2hvbSByZXF1aXJlIGV4ZWN1dGlvbiBieSB0aGUgSXNzdWVyIGFuZC9vciBJbnZlc3RvciwgdGhhdCBzcGVjaWZ5IHRoZSBhZ3JlZW1lbnQgYmV0d2VlbiBwYXJ0aWVzIGFuZCBjb250YWluIGFsbCB0ZXJtcyBhbmQgY29uZGl0aW9ucyByZWxldmFudCB0byB0aGUgc2VjdXJpdGllcyBiZWluZyBpc3N1ZWQuIFBlcnRhaW5zIHRvIGRlYnQgYW5kIGVxdWl0eS4iLAoiQ28tU2FsZSBSaWdodHMiOiJBIGNvbnRyYWN0dWFsIG9ibGlnYXRpb24gdXNlZCB0byBwcm90ZWN0IGEgc2hhcmVob2xkZXIuIEl0IGdpdmVzIGVxdWl0eSBJbnZlc3RvcnMgdGhlIHJpZ2h0IHRvIHNlbGwgdGhlaXIgc3Rha2UgaW4gYSBjb21wYW55IGFsb25nc2lkZSBvdGhlciBzaGFyZWhvbGRlcnMgd2hvIGVsZWN0IHRvIHNlbGwgdGhyb3VnaCBhbiwgb3RoZXJ3aXNlLCBwcml2YXRlIHRyYW5zYWN0aW9uIHRvIGEgdGhpcmQgcGFydHkuIENvLVNhbGUgcmlnaHRzIGFyZSB0eXBpY2FsbHkgZm9yIGFtb3VudHMgd2hpY2ggYXJlIHByby1yYXRhIHRvIHRoZWlyIHBhcnRpY2lwYXRpb24gaW4gYSBzZXJpZXMsIHJlbGF0aXZlIHRvIHRoZSBvdGhlciBzaGFyZWhvbGRlcnMgcGFydGljaXBhdGluZyBpbiB0aGUgc2FsZS4gUGVydGFpbnMgb25seSBpbiBlcXVpdHkgc3RydWN0dXJlcy4iLAoiQ29sbGF0ZXJhbCI6IkFzc2V0cyB3aGljaCBhcmUgcGxlZGdlZCBieSBhIEJvcnJvd2VyIHRvIHRoZSBMZW5kZXIgdG8gYWN0IGFzIHNlY3VyaXR5IGZvciBhIGxvYW4gb3Igbm90ZS4gSW4gcmVmZXJlbmNlIHRvIGRlYnQgc2VjdXJpdGllcy4iLAoiQ29tbW9uIEVxdWl0eSI6IkFuIGVxdWl0eSBzZWN1cml0eSBpbnRlcmVzdCB0aGF0IHJlcHJlc2VudHMgdGhlIG1vc3QganVuaW9yIGZvcm0gb2Ygb3duZXJzaGlwIGluIGEgQ29tcGFueS4gQ29tbW9uIHN0b2NraG9sZGVycyBvciBzaGFyZWhvbGRlcnMgZWxlY3QgYSBCb2FyZCBvZiBEaXJlY3RvcnMgKG9yIE1hbmFnZXJzIGlmIGFuIExMQyBhbmQgdm90ZSBvbiBDb21wYW55IHBvbGljeSBtYXR0ZXJzKSBidXQgdHlwaWNhbGx5IGhhdmUgbm8gZXh0cmFvcmRpbmFyeSByaWdodHMgYW5kIGFyZSBqdW5pb3IgdG8gUHJlZmVycmVkIEVxdWl0eSBpbiB0aGUgY2FzZSBvZiBhbiBJc3N1ZXIncyBsaXF1aWRhdGlvbi4gUGVydGFpbnMgdG8gZXF1aXR5LiIsCiJDb21wb3VuZGluZyI6IkFyaXNlcyB3aGVuIGludGVyZXN0IG9yIHByZWZlcnJlZCBkaXZpZGVuZCBvciBkaXN0cmlidXRpb24gKGluIHRoZSBjYXNlIG9mIExMQ3MpIGlzIGFkZGVkIHRvIHRoZSBwcmluY2lwYWwgb2YgYSBsb2FuLCBub3RlIG9yIHByZWZlcnJlZCBlcXVpdHkgc2VjdXJpdHksIHNvIHRoYXQsIGZyb20gdGhhdCBtb21lbnQgb24sIHRoZSBpbnRlcmVzdCBvciBwcmVmZXJyZWQgZGl2aWRlbmQgdGhhdCBoYXMgYmVlbiBhZGRlZCB0byB0aGUgdW5kZXJseWluZyBpbnZlc3RlZCBjYXBpdGFsIGFsc28gZWFybnMgaW50ZXJlc3Qgb3IgZGl2aWRlbmRzLiBGb3IgZXhhbXBsZSwgYSBtb250aGx5IGNvbXBvdW5kaW5nIG5vdGUgd291bGQgY29tcG91bmQgMTIgdGltZXMgaW4gb25lIHllYXIgaWYgdGhlIGludGVyZXN0IHdlcmUgbm90IHBhaWQgZWFjaCBtb250aC4gVGhpcyBhcHBsaWVzIHRvIGRlYnQgYW5kIHRvbyBwcmVmZXJyZWQgZXF1aXR5IHNlY3VyaXRpZXMuIiwKIkNvbmRpdGlvbnMgUHJlY2VkZW50IjoiVGhlIGNpcmN1bXN0YW5jZXMgd2hpY2gsIGlmIHNhdGlzZmllZCwgZW5hYmxlIGEgZmluYW5jaW5nIHRvIGJlIGZpbmFsaXplZC4gSW4gYSBwcml2YXRlIHBsYWNlbWVudCwgdGhpcyBpcyBjb21tb24gd2hlcmUgSW52ZXN0b3JzIGNvbW1pdCB0byB0aGUgdGVybXMgb2YgdGhlIG9mZmVyaW5nLCBzdWJqZWN0IHRvIGNvbXBsZXRpbmcgdGhlaXIgZHVlIGRpbGlnZW5jZS4gVGhpcyBjYW4gcmVsYXRlIGVpdGhlciB0byBhIGRlYnQgb3IgZXF1aXR5IG9mZmVyaW5nLiIsCiJDb25mbGljdHMgb2YgSW50ZXJlc3QiOiJQZXJ0YWlucyB0byBhY3Rpdml0aWVzIG9yIGZpbmFuY2lhbCBpbmNlbnRpdmVzIG9mIHRoZSBJc3N1ZXIsIGl0cyBtYW5hZ2VtZW50IG9yIHRoZSBQbGFjZW1lbnQgQWdlbnQgd2hpY2ggY291bGQgYmUgY291bnRlciB0byB0aGUgaW50ZXJlc3Qgb2YgdGhlIEludmVzdG9ycy4gQ29uZmxpY3RzIGFyZSBvZnRlbiByZXNvbHZlZCBieSB0aGUgSXNzdWVy4oCZcyBCb2FyZCBvZiBEaXJlY3RvcnMgb3IgYSB0aGlyZC1wYXJ0eSBhcmJpdHJhdGlvbiBwcm9jZXNzLiIsCiJDb250aW5nZW50IExpYWJpbGl0aWVzIjoiT2JsaWdhdGlvbnMgb2YgdGhlIEJvcnJvd2VyL0lzc3VlciB3aGljaCBkbyBub3Qgc2hvdyBhcyBkaXJlY3QgbGlhYmlsaXRpZXMgb2YgdGhlIEJvcnJvd2VyL0lzc3VlciBvbiBpdHMgYmFsYW5jZSBzaGVldC4gVGhleSBhcmUgb2Z0ZW4gaWRlbnRpZmllZCBpbiB0aGUgTm90ZXMgc2VjdGlvbiBvZiBhbiBJc3N1ZXIncyBmaW5hbmNpYWwgc3RhdGVtZW50IC4gQm9ycm93ZXIvSXNzdWVyIGd1YXJhbnRlZXMgdG8gbGVzc29ycyBvZiBmb3Igb3RoZXIgaW5kZWJ0ZWRuZXNzIGFyZSBleGFtcGxlcyBvZiBjb250aW5nZW50IGxpYWJpbGl0aWVzIHdoaWNoIGNvdWxkIG5lZ2F0aXZlbHkgYWZmZWN0IHRoZSBmaW5hbmNpYWwgY29uZGl0aW9uIG9mIHRoZSBCb3Jyb3dlci9Jc3N1ZXIgYW5kIGl0IGFiaWxpdHkgdG8gc2VydmljZSBuZXcgZGVidC4gUmVsYXRlcyB0byBJc3N1ZXJzLiIsCiJDb250aW51b3VzIE9mZmVyaW5nIjoiQSBjbG9zaW5nIHByb2Nlc3Mgd2hlcmUgZnVuZHMgYXJlIHJlY2VpdmVkIGJ5IHRoZSBJc3N1ZXIgb24gYSBjb250aW51b3VzIGJhc2lzIHVudGlsIHRoZSBkZXNpcmVkIGFtb3VudCBvZiBmdW5kaW5nIGhhcyBiZWVuIHJhaXNlZCBvciB1bnRpbCBhbiBlbmQgZGF0ZSBmb3IgdGhlIG9mZmVyaW5nIHBlcmlvZCBoYXMgYmVlbiByZWFjaGVkLiBBcHBsaWNhYmxlIHRvIGJvdGggZGVidCBvciBlcXVpdHkgb2ZmZXJpbmdzLiIsCiJDb252ZXJzaW9uIjoiUmVmZXJzIHRvIHRoZSBvcHRpb25hbCBvciBhdXRvbWF0aWMsIGFzIHRoZSBjYXNlIG1heSBiZSwgY29udmVyc2lvbiBvZiBhIGZvcm0gb2Ygc2VjdXJpdHkgaW50byBhbm90aGVyIHNlY3VyaXR5IG9mIHRoZSBMZW5kZXIvSXNzdWVyLiBUaGlzIGNvdWxkIGludm9sdmUgZGVidCBjb252ZXJ0aW5nIGludG8gZXF1aXR5IG9yIHByZWZlcnJlZCBlcXVpdHkgaW50byBjb21tb24gZXF1aXR5LiBSZWxhdGVzIHRvIGVpdGhlciBkZWJ0IG9yIGVxdWl0eS4iLAoiQ29udmVydGlibGUiOiJBIHRlcm0gYXNzb2NpYXRlZCB3aXRoIGEgc2VjdXJpdHkgdGhhdCBpbmRpY2F0ZXMgdGhlIHNlY3VyaXR5IGhhcyBjb252ZXJzaW9uIGZlYXR1cmVzLiBGb3IgZXhhbXBsZSwgYSBjb252ZXJ0aWJsZSBub3RlIHByb3ZpZGVzIGFuIEludmVzdG9yIHdpdGggYW4gaW52ZXN0bWVudCBoYXZpbmcgdGhlIElzc3VlciBvYmxpZ2F0aW9ucyBvZiBpbmRlYnRlZG5lc3MsIGJ1dCB3aXRoIHRoZSBvcHRpb24gdG8gY29udmVydCBpbnRvIHRoZSBlcXVpdHkgb2YgdGhlIElzc3VlciBpbiB0aGUgZnV0dXJlIGlmIHRoZSBlcXVpdHkgYmVjb21lcyBhIG1vcmUgYXR0cmFjdGl2ZSBpbnZlc3RtZW50IHRvIHRoZSBJbnZlc3Rvci4gQ2FuIHBlcnRhaW4gZWl0aGVyIHRvIGRlYnQgb3IgZXF1aXR5LiIsCiJDb3Jwb3JhdGlvbiI6IkEgc2VwYXJhdGUgbGVnYWwgZW50aXR5IHRoYXQgaGFzIGJlZW4gaW5jb3Jwb3JhdGVkIHRocm91Z2ggYSByZWdpc3RyYXRpb24gcHJvY2VzcyBlc3RhYmxpc2hlZCBieSBzdGF0ZSBsZWdpc2xhdHVyZXMuIEluIHRoZSBVLlMuLCBpbmNvcnBvcmF0aW9uIGxpbWl0cyB0aGUgb3duZXLigJlzIHBlcnNvbmFsIGxlZ2FsIGFuZCBmaW5hbmNpYWwgbGlhYmlsaXRpZXMuIEluY29ycG9yYXRlZCBlbnRpdGllcyBoYXZlIGxlZ2FsIHJpZ2h0cyBhbmQgbGlhYmlsaXRpZXMgdGhhdCBhcmUgZGlzdGluY3QgZnJvbSB0aGVpciBlbXBsb3llZXMgYW5kIHNoYXJlaG9sZGVycy4gVGhpcyByZWxhdGVzIHRvIElzc3VlcnMuIiwKIkNvdXBvbiI6IlJlZmVycyB0aGUgc3RhdGVkIEludGVyZXN0IHJhdGUgYXNzb2NpYXRlZCB3aXRoIGEgUHJvbWlzc29yeSBOb3RlIHdoZW4gaXNzdWVkLiBPbmx5IHJlbGF0ZXMgdG8gYSBkZWJ0IGludmVzdG1lbnQuIiwKIkNvdmVuYW50cyI6IkNvbmRpdGlvbnMgb2YgY29tcGxpYW5jZSBwbGFjZWQgb24gYW4gSXNzdWVyIG9mIGRlYnQgZm9yIHRoZSBsaWZlIG9mIHRoZSBvYmxpZ2F0aW9uLCBzcGVjaWZ5aW5nIHRoYXQgY2VydGFpbiBhY3Rpdml0aWVzIHdpbGwgb3Igd2lsbCBub3QgYmUgY2FycmllZCBvdXQgYnkgdGhlIEJvcnJvd2VyLiBFeGFtcGxlcyB3b3VsZCBpbmNsdWRlIHJlc3RyaWN0aW5nIGZ1dHVyZSBkZWJ0IGlzc3VhbmNlIGFuZCBtYWludGFpbmluZyBlYXJuaW5ncyBhYm92ZSBhIGNlcnRhaW4gbXVsdGlwbGUgb2YgdGhlIG5vdGXigJlzIGRlYnQgc2VydmljZS4gQ292ZW5hbnRzIGFyZSBpbXBvc2VkIGJ5IExlbmRlciBvbiBCb3Jyb3dlcnMgYXMgcHJvdGVjdGlvbiBmcm9tIHRoZSBCb3Jyb3dlcnMgZGVmYXVsdGluZyBvbiB0aGVpciBvYmxpZ2F0aW9ucyBkdWUgdG8gZmluYW5jaWFsIGFjdGlvbnMgZGV0cmltZW50YWwgdG8gdGhlbXNlbHZlcyBvciB0aGUgYnVzaW5lc3MuIFBlcnRhaW5zIHRvIGRlYnQgb2ZmZXJpbmdzLiIsCiJDcm9zcyBEZWZhdWx0IjoiQSBjb3ZlbmFudCB3aXRoaW4gYSBsb2FuIGFncmVlbWVudCB0cmlnZ2VyaW5nIHRoZSBhY2NlbGVyYXRpb24gb2YgcHJpbmNpcGFsIHJlcGF5bWVudCB3aGVuIG90aGVyIGluZGVidGVkbmVzcyBvZiB0aGUgSXNzdWVyIGRlZmF1bHRzLiBSZWxhdGVzIHRvIGRlYnQuIiwKIkNyb3dkZnVuZGluZyI6IkEgcHVibGljIGNhcGl0YWwgcmFpc2luZyBhcHByb2FjaCB0aGF0IHR5cGljYWxseSBmYWxscyBpbnRvIG9uZSBvZiB0aHJlZSBjYXRlZ29yaWVzOiAxKSBTZWN1cml0aWVzIGlzc3VlZCB1bmRlciBSdWxlIDUwNihjKSBvZiBSZWd1bGF0aW9uIEQsIGluIHdoaWNoIGludmVzdG1lbnQgbWF5IG9ubHkgYmUgbWFkZSBieSB0aGlyZC1wYXJ0eSB2ZXJpZmllZCBBY2NyZWRpdGVkIEludmVzdG9ycywgYXMgZGVmaW5lZCBpbiBSdWxlIDUwMSBvZiBTRUMgUmVndWxhdGlvbiBELCBhbmQgd2hlcmUgYW4gdW5saW1pdGVkIGFtb3VudCBvZiBmdW5kcyBjYW4gYmUgcmFpc2VkIGluIHRoZSBvZmZlcmluZywgMikgVGl0bGUgSUlJIHZpYSBhIEZJTlJBLWFwcHJvdmVkIENyb3dkZnVuZGluZyBQb3J0YWwgdG8gaW5kaXZpZHVhbCBJbnZlc3RvcnMgd2hvc2UgZmluYW5jaWFsIHJlc291cmNlcyBhcmUgbm90IGFzIGdyZWF0IGFzIGlzIHJlcXVpcmVkIHRvIGJlIGFuIEFjY3JlZGl0ZWQgSW52ZXN0b3IsIGJ1dCB3aGVyZSB0aGUgb2ZmZXJpbmcgYW1vdW50IGlzIGxpbWl0ZWQgdG8gJDEsMDAwLDAwMCBvciAzKSBcInJld2FyZHMtYmFzZWQgY3Jvd2RmdW5kaW5nXCIgd2hlcmVpbiBhIENvbXBhbnkgcHJvbWlzZXMgdGhlIGZ1dHVyZSBkZWxpdmVyeSBvZiBhIHByb2R1Y3Qgb3Igc2VydmljZSBpbiBleGNoYW5nZSBmb3IgYSBwcmUtcHVyY2hhc2UgYWR2YW5jZSBvZiBjYXNoLiBDYW4gcmVsYXRlIGVpdGhlciB0byBkZWJ0IG9yIGVxdWl0eSBpc3N1YW5jZSBvciB0byBhIGZ1dHVyZSBwcm9kdWN0IGRlbGl2ZXJ5IHRvIGEgY3VzdG9tZXIuIFNlZSBcIkNyb3dkZnVuZGluZyBPdmVydmlld1wiIGZvciBtb3JlIGRldGFpbHMuIiwKIkN1bXVsYXRpdmUiOiJXaGVuIGFuIGFtb3VudCBvd2VkIGlzIG5vdCBwYWlkIGFuZCBhY2N1bXVsYXRlcywgb25lIHVucGFpZCBhbW91bnQgYWRkZWQgdG8gcHJldmlvdXNseSB1bnBhaWQgYW1vdW50cy4gVGhlIGFnZ3JlZ2F0ZSBjdW11bGF0aXZlIGFtb3VudCBjYW4gZWl0aGVyIGJlIGEgc2ltcGxlIGFkZGl0aW9uIG9mIGFtb3VudCBvd2VkIG92ZXIgdGltZSBvciB0aGUgYXBwbGljYWJsZSBpbnRlcmVzdCByYXRlIGNhbiBiZSBhcHBsaWVkIHRvIHByZXZpb3VzbHkgdW5wYWlkIGFtb3VudCwgcmVzdWx0aW5nIGluIENvbXBvdW5kaW5nLiBBcHBsaWVzIHRvIGRlYnQgb3IgZXF1aXR5LiIsCiJDdW11bGF0aXZlIERpdmlkZW5kcyI6IkFuIGludmVzdG1lbnQgdGVybSByZXF1aXJpbmcgdGhhdCB1bm1ldCBkaXZpZGVuZCBvYmxpZ2F0aW9ucyBhY2N1bXVsYXRlIGZyb20gb25lIHBlcmlvZCB0byB0aGUgbmV4dC4gRm9yIGV4YW1wbGUsIGlmIHByZWZlcnJlZCBkaXZpZGVuZHMgd2VyZSB0byBhY2NydWUgZm9yIHR3byB5ZWFycyB3aXRob3V0IGJlaW5nIHBhaWQsIHRoZSBjdW11bGF0aXZlIElzc3VlciBvYmxpZ2F0aW9ucyB3b3VsZCBiZSBmb3IgYWxsIG9mIHRoZSB1bnBhaWQgZGl2aWRlbmRzIHdoaWNoIGhhZCBhY2NydWVkIG92ZXIgdGhlIHBhc3QgdHdvIHllYXJzLiBQZXJ0aW5lbnQgdG8gcHJlZmVycmVkIGVxdWl0eSBpbnZlc3RtZW50LiIsCiJDdW11bGF0aXZlIEludGVyZXN0IjoiQW4gaW52ZXN0bWVudCB0ZXJtIHJlcXVpcmluZyB0aGF0IHVubWV0IGludGVyZXN0IG9ibGlnYXRpb25zIGFjY3VtdWxhdGUgZnJvbSBvbmUgcGVyaW9kIHRvIHRoZSBuZXh0LiBGb3IgZXhhbXBsZSwgaWYgaW50ZXJlc3Qgd2VyZSB0byBhY2NydWUgZm9yIHR3byB5ZWFycyB3aXRob3V0IGJlaW5nIHBhaWQsIHRoZSBjdW11bGF0aXZlIElzc3VlciBvYmxpZ2F0aW9ucyB3b3VsZCBiZSBmb3IgYWxsIG9mIHRoZSB1bnBhaWQgaW50ZXJlc3Qgd2hpY2ggaGFkIGFjY3J1ZWQgb3ZlciB0aGUgcGFzdCB0d28geWVhcnMuIFJlbGF0ZXMgdG8gYSBkZWJ0IGluc3RydW1lbnQuIiwKIkRlYmVudHVyZSI6IkFuIHVuc2VjdXJlZCBkZWJ0IGluc3RydW1lbnQgaXNzdWVkIGJ5IGEgY29tcGFueSB0aGF0IGlzIGJhY2tlZCBieSB0aGUgZ2VuZXJhbCBjcmVkaXQgb2YgdGhlIGNvbXBhbnksIHJhdGhlciB0aGFuIGJ5IHNwZWNpZmljIGFzc2V0cy4gVHlwaWNhbGx5IHNob3J0LXRlcm0gY2FwaXRhbCBmb3IgcHJvamVjdHMuIFBlcnRhaW5zIHRvIGRlYnQuIiwKIkRlYnQiOiJBIGRlYnQgaXMgYW4gb2JsaWdhdGlvbiBvd2VkIGJ5IG9uZSBwYXJ0eSAtLSB0aGUgZGVidG9yLCB0aGUgYm9ycm93ZXIsIG9yLCBwb3RlbnRpYWxseSwgYW4gSXNzdWVyIG9mIERlYnQgLS0gdG8gYSBzZWNvbmQgcGFydHkgLS0gdGhlIGNyZWRpdG9yLCBsZW5kZXIsIG9yLCBwb3RlbnRpYWxseSwgYW4gSW52ZXN0b3IgaW4gZGVidC4gRXhhbXBsZXMgaW5jbHVkZSBsb2FucyBhbmQgcHJvbWlzc29yeSBub3Rlcy4gVGhlIHJlbGF0ZXMgc29sZWx5IHRvIGRlYnQgaW5zdHJ1bWVudHMuIFNlZSBvdXIgXCJEZWJ0IEludmVzdG1lbnQgT3ZlcnZpZXdcIiBhbmQgXCJGb3JtcyBvZiBMZW5kaW5nXCIgYXJ0aWNsZXMgZm9yIGEgZGVzY3JpcHRpb24gb2YgZGlmZmVyZW50IHR5cGVzIG9mIGxvYW5zLiIsCiJEZWZhdWx0IjoiV2hlbiBhbnkgYWdyZWVkIHRvIGFzcGVjdCBvZiBkZWJ0IG9yIGFuIGVxdWl0eSBzZWN1cml0eSBpcyBub3QgbWV0IGJ5IHRoZSBCb3Jyb3dlci9Jc3N1ZXIuIFRoaXMgY2FuIHJhbmdlIGZyb20gdW5wYWlkIGludGVyZXN0IG9yIHByaW5jaXBhbCB3aGVuIGR1ZSB0byBub24tY29tcGxpYW5jZSB3aXRoIEFmZmlybWF0aXZlIENvdmVuYW50cyBvciBOZWdhdGl2ZSBDb3ZlbmFudHMuIEFwcGxpZXMgdG8gZGVidCBhbmQgZXF1aXR5LiIsCiJEaWx1dGlvbiI6IldoZW4gYW4gZXF1aXR5IGhvbGRlcidzIHBlcmNlbnRhZ2Ugb3duZXJzaGlwIGlzIHJlZHVjZWQgYnkgYSBzdWJzZXF1ZW50IGlzc3VhbmNlIG9mIGVxdWl0eSBieSB0aGUgSXNzdWVyLiBUaGUgbGFyZ2VyIHRoZSBmdXR1cmUgb3duZXJzaGlwIG9mIHRoZSBuZXcgZXF1aXR5IGhvbGRlcnMsIHRoZSBncmVhdGVyIHRoZSBkaWx1dGlvbiBvZiBleGlzdGluZyBlcXVpdHkgaG9sZGVycy4gRGlsdXRpb24gcHJvdGVjdGlvbiBpbiBhIHNlY3VyaXR5IGlzIGNhbGxlZCBBbnRpLWRpbHV0aW9uIFByb3RlY3Rpb24uIFBlcnRhaW5zIHRvIGVxdWl0eS4iLAoiRGlzdHJpYnV0aW9uIjoiUGF5bWVudHMgbWFkZSBmcm9tIHByZS10YXggcHJvZml0cyB0byBlcXVpdHkgSW52ZXN0b3JzL21lbWJlcnMgYnkgYSBsaW1pdGVkIGxpYWJpbGl0eSBjb21wYW55IChMTENzKS4gUmVsZXZhbnQgdG8gZXF1aXR5IGludmVzdG1lbnRzLiIsCiJEaXZpZGVuZCI6IlBheW1lbnRzIG1hZGUgZnJvbSBhZnRlci10YXggcHJvZml0cyB0byBzaGFyZWhvbGRlcnMgaW4gQyBDb3Jwb3JhdGlvbnMuIFBlcnRhaW5zIG9ubHkgdG8gZXF1aXR5IGludmVzdG1lbnRzLiIsCiJEb2RkLUZyYW5rIEFjdCBvZiAyMDEwIjoiSW4gcmVzcG9uc2UgdG8gdGhlIGZpbmFuY2lhbCBjcmlzaXMgb2YgMjAwNy0yMDA4LCB0aGUgXCJEb2RkLUZyYW5rIFdhbGwgU3RyZWV0IFJlZm9ybSBhbmQgQ29uc3VtZXIgUHJvdGVjdGlvbiBBY3RcIiB3YXMgcGFzc2VkLCB3aGljaCBhaW1zIHRvIHByb3RlY3QgY29uc3VtZXJzIGJ5IGluY3JlYXNpbmcgYWNjb3VudGFiaWxpdHkgYW5kIHRyYW5zcGFyZW5jeSBpbiB0aGUgVS5TLiBmaW5hbmNpYWwgc3lzdGVtIGFuZCB0byBwcm9tb3RlIGZpbmFuY2lhbCBzdGFiaWxpdHkuIiwKIkRvd24tcm91bmQiOiJXaGVuIHRoZSBQcmUtbW9uZXkgVmFsdWF0aW9uIGZvciBhIG5ldyBpc3N1YW5jZSBvZiBlcXVpdHkgaGFzIGEgdmFsdWF0aW9uIGxlc3MgdGhhbiB0aGUgUG9zdC1tb25leSBWYWx1YXRpb24gZm9yIHRoZSBwcmV2aW91cyByb3VuZCBvciB3aGVuIGZ1dHVyZSBlcXVpdHkgc2VjdXJpdGllcyBhcmUgcHJpY2VkIGxvd2VyIHRoYW4gdGhlIHByZXZpb3VzbHkgaXNzdWVkIHNoYXJlIHByaWNlLiBQZXJ0YWlucyB0byBFcXVpdHkuIiwKIkRyYWctQWxvbmcgUmlnaHQiOiJBc3N1cmVzIHRoYXQgaWYgdGhlIG1ham9yaXR5IHNoYXJlaG9sZGVyIHNlbGxzIGhpcyBzdGFrZSwgbWlub3JpdHkgaG9sZGVycyBhcmUgZm9yY2VkIHRvIGpvaW4gdGhlIHNhbGUgdHJhbnNhY3Rpb24uIFRoaXMgcmlnaHQgcHJvdGVjdHMgbWFqb3JpdHkgc2hhcmVob2xkZXJzLiBBIERyYWctQWxvbmcgcmlnaHQgZ2l2ZXMgdGhlIGludmVzdGluZyBzaGFyZWhvbGRlciB0aGUgcmlnaHQgdG8gZm9yY2UgdGhlIG90aGVyIEludmVzdG9yKHMpIHRvIGV4aXQsIG9yIHNlbGwgc3Rha2VzLCBzaG91bGQgdGhlIGludmVzdGluZyBzaGFyZWhvbGRlciBleGl0LCBvbmNlIGFnYWluLCB1c3VhbGx5IG9uIHRoZSBzYW1lIHByaWNlIGFuZCB0ZXJtcy4gRHJhZy1BbG9uZyByaWdodHMgYXJlIHN0YW5kYXJkIHRlcm1zIGluIGEgc3RvY2sgcHVyY2hhc2UgYWdyZWVtZW50LiBEcmFnLUFsb25nIHJpZ2h0cyB0ZXJtaW5hdGUgdXBvbiBhbiBpbml0aWFsIHB1YmxpYyBvZmZlcmluZyBvciBzYWxlIG9mIHRoZSBJc3N1ZXIuIFNlZSBcIlByaXZhdGUgRXF1aXR5IFRlcm0gU2hlZXQ6IFR5cGljYWwgVGVybXMgYW5kIENvbmRpdGlvbnNcIiBmb3Igb3RoZXIgcmVsZXZhbnQgdGVybXMuIFBlcnRhaW5zIG9ubHkgdG8gZXF1aXR5IGludmVzdG1lbnRzLiIsCiJEdWUgRGF0ZSI6IldoZW4gdGhlIExlbmRlciBpcyBvYmxpZ2VkIHRvIG1ha2UgYSBwYXltZW50IG9mIGludGVyZXN0IG9yIHByaW5jaXBhbC4gUGVydGFpbnMgdG8gZGVidCBpbnZlc3RtZW50cy4iLAoiRHVlIERpbGlnZW5jZSI6IkEgcHJvY2VzcyB3aGVyZWJ5IEludmVzdG9ycyBjb25zaWRlcmluZyBhbiBpbnZlc3RtZW50IGFuZCBwbGFjZW1lbnQgQWdlbnRzIHByZXBhcmluZyBhbiBvZmZlcmluZyBjb25kdWN0IGluZGVwZW5kZW50IHZlcmlmaWNhdGlvbiBvZiwgYW5kIGFuYWx5c2lzIGZvciwgdGhlIG1hbnkgYW5kIHZhcmllZCBjb25zaWRlcmF0aW9ucyB3aGljaCBjb3VsZCBhZmZlY3QgdGhlIHVsdGltYXRlIHN1Y2Nlc3Mgb2YgdGhlIHNlY3VyaXRpZXMgSXNzdWVyIGFuZCwgYnkgZXh0ZW5zaW9uLCB0aGUgc2VjdXJpdHkgYmVpbmcgb2ZmZXJlZCBieSB0aGUgSXNzdWVyIGZvciBpbnZlc3RtZW50LiBTZWUgXCJEdWUgRGlsaWdlbmNlIGFuZCBJbnZlc3RtZW50czogV2hhdCBkbyBJIFJlYWxseSBOZWVkIHRvIEtub3dcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4gUGVydGFpbnMgdG8gYWxsIGRlYnQgYW5kIGVxdWl0eSBvZmZlcmluZ3MuIiwKIkVCSVREQSI6IkEgZmluYW5jaWFsIG1lYXN1cmUgd2hlcmUgdGhlIGxldHRlcnMgc3RhbmQgZm9yIEVhcm5pbmdzIEJlZm9yZSBJbnRlcmVzdCwgVGF4ZXMsIERlcHJlY2lhdGlvbiBhbmQgQW1vcnRpemF0aW9uLiBUaGUgY2FsY3VsYXRpb25zIGludm9sdmUgYSBjb21wYW554oCZcyBhZnRlci10YXggaW5jb21lIGFuZCB0aGUgYWRkaW5nIGJhY2sgb2YgdGhlIHByZXZpb3VzIDEyIG1vbnRocyBvZiBpbnRlcmVzdCwgdGF4ZXMsIGRlcHJlY2lhdGlvbiwgYW5kIGFtb3J0aXphdGlvbi4gRUJJVERBIGlzIG9mdGVuIHVzZWQgdG8gYW5hbHl6ZSBhbmQgY29tcGFyZSBmaW5hbmNpYWwgcGVyZm9ybWFuY2UgaW5kZXBlbmRlbnQgb2YgdGhlIElzc3VlcidzIGNhcGl0YWxpemF0aW9uIGJldHdlZW4gY29tcGFuaWVzIGFuZCBpbmR1c3RyaWVzIGJlY2F1c2UgaXQgZWxpbWluYXRlcyB0aGUgZWZmZWN0cyBvZiBmaW5hbmNpbmcgYW5kIGFjY291bnRpbmcgZGVjaXNpb25zLiBFQklUREEgb2Z0ZW4gaXMgdGhlIGJhc2lzIGZvciBkZXRlcm1pbmluZyBwcmljZSBpbiBtZXJnZXIgJiBhY3F1aXNpdGlvbi1yZWxhdGVkIHRyYW5zYWN0aW9ucy4gUGVydGFpbnMgdG8gZGVidCBhbmQgZXF1aXR5IG9mZmVyaW5ncy4iLAoiRXF1aXR5IjoiT24gYSBjb21wYW55J3MgYmFsYW5jZSBzaGVldCwgdGhlIGFtb3VudCBvZiB0aGUgZnVuZHMgY29udHJpYnV0ZWQgYnkgdGhlIG93bmVycyAodGhlIHN0b2NraG9sZGVycykgcGx1cyB0aGUgcmV0YWluZWQgZWFybmluZ3MgKG9yIGxvc3NlcykuIFRoZSB0ZXJtIGlzIGFsc28gdXNlZCB0byBkZXNjcmliZSBzdG9jayBhbmQgbWVtYmVyc2hpcCBpbnRlcmVzdHMgaXNzdWVkIGJ5IHRoZSBjb21wYW55IHRvIGZvdW5kZXJzLCBlbXBsb3llZXMgYW5kIEludmVzdG9ycy4gQWxzbyByZWZlcnJlZCB0byBhcyBcInNoYXJlaG9sZGVycycgZXF1aXR5LlwiIFNlZSBcIkVxdWl0eSBJbnZlc3RtZW50IEJhc2ljc1wiIGZvciBhIGJyaWVmIG92ZXJ2aWV3IG9mIEVxdWl0eSBTZWN1cml0aWVzLiIsCiJFcXVpdHkgSG9sZGVyIjoiQW4gb3duZXIgb2YgZXF1aXR5IChha2EgU2hhcmVzKSBpbiBhIGNvbXBhbnkuIFNlZSBhbHNvIFNoYXJlaG9sZGVyLiBQZXJ0YWlucyB0byBlcXVpdHkuIiwKIkVzY3JvdyI6IkEgdGhpcmQtcGFydHkgYmFuayBhY2NvdW50IHVzZWQgdG8gYWNjdW11bGF0ZSB0aGUgbWluaW11bSByZXF1aXJlZCBhbW91bnQgb2YgZnVuZGluZyBiZWZvcmUgaXRzIHJlbGVhc2UgdG8gdGhlIElzc3Vlci4gRXNjcm93IGFjY291bnRzIGFyZSBhZG1pbmlzdGVyZWQgYnkgYSBjb21tZXJjaWFsIGJhbmsgYW5kIGFyZSByZXF1aXJlZCBieSBTRUMgUnVsZXMgd2hlbiBhbnkgY29udGluZ2VuY3kgaXMgaW4gZWZmZWN0IHRoYXQgYWZmZWN0cyB0aGUgcmVsZWFzZSBvZiBmdW5kcyBmcm9tIGFuIG9mZmVyaW5nLiBUaGlzIGNhbiBwZXJ0YWluIGJvdGggdG8gZGVidCBvciBlcXVpdHkgb2ZmZXJpbmdzLiIsCiJFc2Nyb3cgQWdlbnQiOiJBIGNvbW1lcmNpYWwgYmFuayB0aGF0IGhvbGRzIHByb3BlcnR5IGluIHRydXN0IGZvciB0aGlyZCBwYXJ0aWVzIHdoaWxlIGEgdHJhbnNhY3Rpb24gaXMgZmluYWxpemVkIG9yIGEgZGlzYWdyZWVtZW50IGlzIHJlc29sdmVkLiBQZXJ0YWlucyB0byBkZWJ0IG9yIGVxdWl0eS4iLAoiRXhlcmNpc2UiOiJUbyBlbGVjdCB0byBwdXQgaW50byBlZmZlY3QgYSByaWdodCBzcGVjaWZpZWQgaW4gYSBjb250cmFjdC4gV2l0aCByZWdhcmRzIHRvIGFuIGVxdWl0eSB3YXJyYW50LCBpdCByZWZlcnMgdG8gdGhlIEludmVzdG9yIHBheWluZyBzb21lIHN1bSB0byByZWFsaXplIG9uIGFuIG9wdGlvbiB0byBwdXJjaGFzZSBlcXVpdHkgb2YgYW4gSXNzdWVyLiIsCiJGaW5hbmNpYWwgSW5kdXN0cnkgUmVndWxhdG9yeSBBdXRob3JpdHkiOiJBIHByaXZhdGUgY29ycG9yYXRpb24sIHdpdGggbWFuZGF0b3J5IG1lbWJlcnNoaXAgYnkgc2VjdXJpdGllcyBCcm9rZXItRGVhbGVycywgdGhhdCBhY3RzIGFzIGEgc2VsZi1yZWd1bGF0b3J5IG9yZ2FuaXphdGlvbiAoU1JPKSBmb3IgcmVndWxhdGlvbiwgZW5mb3JjZW1lbnQgYW5kIGFyYml0cmF0aW9uLiBJdCBpcyBzZWxmLXJlZ3VsYXRvcnksIG5vbi1nb3Zlcm5tZW50YWwgb3JnYW5pemF0aW9uIHRoYXQgcGVyZm9ybXMgZmluYW5jaWFsIHJlZ3VsYXRpb24gb2YgbWVtYmVyIGJyb2tlcmFnZSBmaXJtcyBhbmQgZXhjaGFuZ2UgbWFya2V0cyAuIEZJTlJBIHJlcG9ydHMgdG8gdGhlIFNlY3VyaXRpZXMgYW5kIEV4Y2hhbmdlIENvbW1pc3Npb24sIHdoaWNoIGFjdHMgYXMgdGhlIHVsdGltYXRlIHJlZ3VsYXRvciBvZiB0aGUgc2VjdXJpdGllcyBpbmR1c3RyeSBpbiB0aGUgVS5TLiIsCiJGSU5SQSI6IlN0YW5kcyBmb3IgRmluYW5jaWFsIEluZHVzdHJ5IFJlZ3VsYXRvcnkgQXV0aG9yaXR5OiBBIHByaXZhdGUgY29ycG9yYXRpb24sIHdpdGggbWFuZGF0b3J5IG1lbWJlcnNoaXAgYnkgc2VjdXJpdGllcyBCcm9rZXItRGVhbGVycywgdGhhdCBhY3RzIGFzIGEgc2VsZi1yZWd1bGF0b3J5IG9yZ2FuaXphdGlvbiAoU1JPKSBmb3IgcmVndWxhdGlvbiwgZW5mb3JjZW1lbnQgYW5kIGFyYml0cmF0aW9uLiBJdCBpcyBzZWxmLXJlZ3VsYXRvcnksIG5vbi1nb3Zlcm5tZW50YWwgb3JnYW5pemF0aW9uIHRoYXQgcGVyZm9ybXMgZmluYW5jaWFsIHJlZ3VsYXRpb24gb2YgbWVtYmVyIGJyb2tlcmFnZSBmaXJtcyBhbmQgZXhjaGFuZ2UgbWFya2V0cyAuIEZJTlJBIHJlcG9ydHMgdG8gdGhlIFNlY3VyaXRpZXMgYW5kIEV4Y2hhbmdlIENvbW1pc3Npb24sIHdoaWNoIGFjdHMgYXMgdGhlIHVsdGltYXRlIHJlZ3VsYXRvciBvZiB0aGUgc2VjdXJpdGllcyBpbmR1c3RyeSBpbiB0aGUgVS5TLiIsCiJGb3JiZWFyYW5jZSBBZ3JlZW1lbnQiOiJJbiB0aGUgY29udGV4dCBvZiBpbnZlc3RtZW50cywgZm9yYmVhcmFuY2UgaXMgYW4gYWdyZWVtZW50IGJldHdlZW4gdGhlIGxlbmRlciBhbmQgdGhlIGJvcnJvd2VyICh0aGUgSXNzdWVyKSwgd2hvIG1heSBoYXZlIGRlZmF1bHRlZCBvbiB0aGUgbG9hbiBieSBub3QgcGF5aW5nIGludGVyZXN0IChvciBpbnRlcmVzdCBhbmQgcHJpbmNpcGFsKSB3aGVuIGR1ZSwgdGhhdCBkZWxheXMgYSBmb3JlY2xvc3VyZS4gSWYgZ3JhbnRlZCwgaXQgdHlwaWNhbGx5IG9jY3VycyB3aGVuIHRoZSBkZWZhdWx0IGlzIGFudGljaXBhdGVkIHRvIGJlIGJyaWVmLiBQZXJ0YWlucyBwcmltYXJpbHkgdG8gZGVidC4iLAoiRm9yY2UgTWFqZXVyZSI6IkEgY29tbW9uIGNsYXVzZSBpbiBjbG9zaW5nIGRvY3VtZW50cyB0aGF0IGVzc2VudGlhbGx5IGZyZWVzIGJvdGggcGFydGllcyBmcm9tIGxpYWJpbGl0eSBvciBvYmxpZ2F0aW9uIHdoZW4gYW4gZXh0cmFvcmRpbmFyeSBldmVudCwgb3IgY2lyY3Vtc3RhbmNlIGJleW9uZCB0aGUgY29udHJvbCBvZiB0aGUgcGFydGllcywgc3VjaCBhcyBhIHdhciwgc3RyaWtlcywgcmlvdHMsIGNyaW1lcywgb3IgYW4gZXZlbnQgZGVzY3JpYmVkIGJ5IHRoZSBsZWdhbCB0ZXJtIFwiQWN0IG9mIEdvZFwiIChzdWNoIGFzIGh1cnJpY2FuZXMsIGZsb29kaW5nLCBlYXJ0aHF1YWtlcywgdm9sY2FuaWMgZXJ1cHRpb25zLCBldGMuKSwgcHJldmVudHMgb25lIG9yIGJvdGggcGFydGllcyBmcm9tIGZ1bGZpbGxpbmcgdGhlaXIgb2JsaWdhdGlvbnMgd2l0aGluIHRoZSBBZ3JlZW1lbnQuIEluIHByYWN0aWNlLCBtb3N0IGZvcmNlIG1hamV1cmUgY2xhdXNlcyBkbyBub3QgZXhjdXNlIGEgcGFydHkncyBub24tcGVyZm9ybWFuY2UgZW50aXJlbHkgYnV0IG9ubHkgc3VzcGVuZHMgaXQgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgZm9yY2UgbWFqZXVyZS4gVGhpcyBjYW4gaW5jbHVkZSB0cmFuc2FjdGlvbiBpcyBib3RoIGRlYnQgYW5kIGVxdWl0eS4iLAoiRnJhdWQiOiJXaGVuIHNwb25zb3JzIG9mIGFuIG9mZmVyaW5nIGtub3dpbmdseSBtaXNyZXByZXNlbnQgdG8gSW52ZXN0b3JzIGtleSBpbnZlc3RtZW50IGNvbnNpZGVyYXRpb25zIGFuZC9vciBtaXNhcHByb3ByaWF0ZSB0aGUgZnVuZHMgcmFpc2VkIHRocm91Z2ggdGhlIG9mZmVyaW5nLiBGcmF1ZCBpcyBhIGNyaW1pbmFsIG9mZmVuc2UgaW4gdGhlIFUuUy4sIGFuZCBpdCBpcyByZWd1bGF0ZWQgYnkgdGhlIFNFQy4gRnJhdWQgY2FuIGJlIGEgZmFjdG9yIGJvdGggaW4gZXF1aXR5IGFuZCBkZWJ0IHRyYW5zYWN0aW9ucy4iLAoiRnVsbCBSYXRjaGV0IEFudGktZGlsdXRpb24iOiJBbiBpc3N1YW5jZSBwcm92aXNpb24gZGVzaWduZWQgdG8gcHJvdGVjdCBzaGFyZWhvbGRlcnMnIHBlcmNlbnRhZ2Ugb3duZXJzaGlwIGludGVyZXN0cyB3aGVuIHRoZXJlIGlzIGEgZnV0dXJlIGlzc3VhbmNlIG9mIHN0b2NrIG9yIG9wdGlvbnMgYXQgYSBsb3dlciBwcmljZSB0aGFuIHRoZSBwcmV2aW91c2x5IGlzc3VlZCBzaGFyZXMuIEZ1bGwgUmF0Y2hldCBwcm90ZWN0aW9uIHJlc3VsdHMgaW4gbm8gZGlsdXRpb24gdG8gdGhlIGVhcmxpZXIgSW52ZXN0b3JzIGZyb20gdGhlIHN1YnNlcXVlbnQgc2hhcmUgaXNzdWFuY2UuIE9ubHkgcmVsZXZhbnQgaW4gZXF1aXR5IGludmVzdG1lbnRzLiIsCiJGdWxseSBEaWx1dGVkIjoiVGhlIGZ1bGwgYWNjb3VudGluZyBvZiBhbGwgZXF1aXR5IGFuZCBlcXVpdHktZXF1aXZhbGVudHMgc2VjdXJpdGllcyAoZS5nLiwgb3B0aW9ucywgd2FycmFudHMsIGNvbnZlcnRpYmxlIHNlY3VyaXRpZXMpIGZvciB1c2UgaW4gZGV0ZXJtaW5pbmcgdGhlIHRvdGFsIHBvdGVudGlhbCBudW1iZXIgb2Ygc2hhcmVzIGFuZCB0aGUgY29ycmVzcG9uZGluZyBzaGFyZSBwcmljZSBvZiBJc3N1ZXIuIFJlZmVycyB0byBlcXVpdHkgaW52ZXN0bWVudHMuIiwKIkdBQVAiOiJSZWZlcnMgdG8gR2VuZXJhbGx5IEFjY2VwdGVkIEFjY291bnRpbmcgUHJpbmNpcGxlcy4gSW4gdGhlIFUuUy4sIHRoZXkgYXJlIHRoZSBjb21tb24gc2V0IG9mIGFjY291bnRpbmcgcHJpbmNpcGxlcywgc3RhbmRhcmRzIGFuZCBwcm9jZWR1cmVzIHRoYXQgY29tcGFuaWVzIHVzZSB0byBjb21waWxlIHRoZWlyIGZpbmFuY2lhbCBzdGF0ZW1lbnRzLiBHQUFQIGFyZSBhIGNvbWJpbmF0aW9uIG9mIGF1dGhvcml0YXRpdmUgc3RhbmRhcmRzIChzZXQgYnkgcG9saWN5IGJvYXJkcykgYW5kIHNpbXBseSB0aGUgY29tbW9ubHkgYWNjZXB0ZWQgd2F5cyBvZiByZWNvcmRpbmcgYW5kIHJlcG9ydGluZyBhY2NvdW50aW5nIGluZm9ybWF0aW9uLiBJc3N1ZXItcmVsYXRlZC4iLAoiR292ZXJuaW5nIExhdyI6IlRoZSBjaG9pY2Ugb2Ygc3RhdGUgbGF3IGFncmVlZCB0byBieSB0aGUgSXNzdWVyIGFuZCB0aGUgSW52ZXN0b3IuIE9mdGVuIERlbGF3YXJlIGlzIGNob3NlbiBmb3Igc2VjdXJpdGllcyBvZmZlcmluZ3Mgd2hpY2ggaW52b2x2ZSBJbnZlc3RvcnMgaW4gbnVtZXJvdXMgc3RhdGVzLiBQZXJ0YWlucyB0byBib3RoIGRlYnQgYW5kIGVxdWl0eSBvZmZlcmluZ3MuIiwKIkdyYWNlIFBlcmlvZCI6IkEgcGVyaW9kIG9mIHRpbWUgZHVyaW5nIHdoaWNoIGFuIElzc3Vlci9MZW5kZXIgaXMgYWxsb3dlZCByZWN0aWZ5IGNpcmN1bXN0YW5jZXMgd2hpY2ggaGF2ZSBwdXQgaXQgaW50byBkZWZhdWx0IG9mIGEgQ292ZW5hbnQgb3IgcGF5bWVudCBvYmxpZ2F0aW9uLiBQZXJ0YWlucyB0byBkZWJ0IGludmVzdG1lbnRzLiIsCiJHdWFyYW50b3IiOiJBbnkgUGVyc29uIG9yIGVudGl0eSB3aG8gaGFzIGd1YXJhbnRlZWQgYW55IG9mIHRoZSBPYmxpZ2F0aW9ucyBkZWZpbmVkIGluIGEgZGVidCBpbnN0cnVtZW50LiBQZXJ0YWlucyB0byBkZWJ0LiIsCiJIaWdoIE5ldCBXb3J0aCI6IlJlZmVycyB0byBhbiBpbmRpdmlkdWFsIEludmVzdG9yIHdpdGggc3Vic3RhbnRpYWwgcGVyc29uYWwgbmV0IHdvcnRoIChUb3RhbCBBc3NldHMgbWludXMgVG90YWwgTGlhYmlsaXRpZXMpLiBJbmRpdmlkdWFscyBxdWFsaWZ5aW5nIGFzIEFjY3JlZGl0ZWQgSW52ZXN0b3JzIChzZWUgXCJBY2NyZWRpdGVkIEludmVzdG9yIFF1ZXN0aW9ubmFpcmVcIikgd291bGQgYmUgY29uc2lkZXJlZCBIaWdoIE5ldCBXb3J0aCBpbmRpdmlkdWFscy4iLAoiSE5XIjoiU3RhbmRzIGZvciBIaWdoIE5ldCBXb3J0aDogQW4gaW5kaXZpZHVhbCBJbnZlc3RvciB3aXRoIHN1YnN0YW50aWFsIHBlcnNvbmFsIG5ldCB3b3J0aCAoVG90YWwgQXNzZXRzIG1pbnVzIFRvdGFsIExpYWJpbGl0aWVzKS4gSW5kaXZpZHVhbHMgcXVhbGlmeWluZyBhcyBBY2NyZWRpdGVkIEludmVzdG9ycyAoc2VlIFwiQWNjcmVkaXRlZCBJbnZlc3RvciBRdWVzdGlvbm5haXJlXCIpIHdvdWxkIGJlIGNvbnNpZGVyZWQgSGlnaCBOZXQgV29ydGggaW5kaXZpZHVhbHMuIiwKIkluZm9ybWF0aW9uIFJpZ2h0cyI6IkZvdW5kIGZyZXF1ZW50bHkgaW4gYSBQcml2YXRlIFBsYWNlbWVudCdzIFN1bW1hcnkgb2YgVGVybXMgb3IgYSBQUE0sIHRoZXNlIHJlcXVpcmUgYSBDb21wYW55IHRvIHByb3ZpZGUgc3RhbmRhcmQgZmluYW5jaWFsIHJlcG9ydGluZyBwZXJpb2RpY2FsbHkgdG8gSW52ZXN0b3JzLiBQZXJ0YWlucyB0byBkZWJ0IGFuZCBlcXVpdHkuIiwKIkludGVyZXN0IjoiQSBwZXJjZW50YWdlLCB1c3VhbGx5IGFubnVhbGl6ZWQsIG9yIHJlbGF0ZWQgYW1vdW50IHRoYXQgaXMgYmFzZWQgdXBvbiB0aGUgYW1vdW50IG9mIExvYW4gb3IgUHJvbWlzc29yeSBOb3RlIFByaW5jaXBhbCBvdXRzdGFuZGluZywgYW5kIGlzIHBhaWQgYnkgYm9ycm93ZXJzIGZvciB0aGUgdXNlIG9mIGEgbGVuZGVyJ3MgbW9uZXkuIEludGVyZXN0IGlzIHR5cGljYWxseSBwYWlkIG1vbnRobHkgb3IgcXVhcnRlcmx5LCBiYXNlZCB1cG9uIHRoZSBhbW91bnQgb2YgUHJpbmNpcGFsIG91dHN0YW5kaW5nIGZvciB0aGUgdGltZSBwZXJpb2QgYmFjayB0byB3aGVuIGludGVyZXN0IHdhcyBsYXN0IHBhaWQuIFBlcnRhaW5zIG9ubHkgdG8gZGVidCBpbnZlc3RtZW50cy4iLAoiSW50ZXJuYWwgUmF0ZSBvZiBSZXR1cm4gIjoiQW4gXCJJUlJcIiBwcm92aWRlcyBhIG1lYXN1cmUgb2YgdGhlIFwidGltZSB2YWx1ZSBvZiBtb25leVwiIGFuZCBpcyB0aGUgZGlzY291bnQgcmF0ZSBhdCB3aGljaCB0aGUgYW1vdW50IG9mIGludmVzdG1lbnQgbWFkZSBhdCB0aGUgdGltZSB0aGUgaW52ZXN0bWVudCBpcyBlcXVhbCB0byB0aGUgbmV0IHByZXNlbnQgdmFsdWUgb2YgdGhlIGZ1dHVyZSBpbnZlc3RtZW50IGluY29tZSBhbmQgZnV0dXJlIHJldHVybiBvZiBpbnZlc3RlZCBjYXBpdGFsLiBUaGlzIGlzIHRoZSBtb3N0IGNvbW1vbiBtZWFzdXJlIHdoZW4gY29tcGFyaW5nIHRoZSBmdWxsIHJhdGUgb2YgcmV0dXJucyBmcm9tIG9uZSBpbnZlc3RtZW50IGFsdGVybmF0aXZlIHRvIGFub3RoZXIuIExvb2tlZCBhdCBhbm90aGVyIHdheSwgSVJSIGZvciBhbiBpbnZlc3RtZW50IGlzIHRoZSBpbnRlcmVzdCByYXRlIGF0IHdoaWNoIHRoZSBuZXQgcHJlc2VudCB2YWx1ZSBvZiBhbGwgdGhlIGNhc2ggZmxvd3MgW2JvdGggZnVuZHMgaW52ZXN0ZWQgdXBmcm9udCAoYW5kIG91dGZsb3cgb2YgY2FwaXRhbCkgYW5kIGZ1dHVyZSByZWNlaXB0cyBvZiBpbmNvbWUgYW5kIHJldHVybnMgb2YgaW52ZXN0ZWQgY2FwaXRhbCAoYW5kIGluZmxvdyBvZiBjYXBpdGFsKV0gZnJvbSBhbiBpbnZlc3RtZW50IGVxdWFscyB6ZXJvLiBUaGUgZm9ybXVsYSBmb3IgSVJSIGlzOiAwID0gUDAgKyBQMS8oMStJUlIpICsgUDIvKDErSVJSKTIgKyBQMy8oMStJUlIpMyArIC4gLiAuICtQbi8oMStJUlIpbndoZXJlIFAwLCBQMSwgLiAuIC4gUG4gZXF1YWxzIHRoZSBjYXNoIGZsb3dzIGluIHBlcmlvZHMgMSwgMiwgLiAuIC4gbiwgcmVzcGVjdGl2ZWx5OyBhbmRJUlIgZXF1YWxzIHRoZSBwcm9qZWN0J3MgaW50ZXJuYWwgcmF0ZSBvZiByZXR1cm4uIEFuIElSUiBjYW4gYmUgY2FsY3VsYXRlZCBmb3IgZGVidCBvciBlcXVpdHkgaW52ZXN0bWVudC4iLAoiSW52ZXN0bWVudCBDb21wYW55IEFjdCBvZiAxOTQwIjoiVGhpcyBVLlMuIGxlZ2lzbGF0aW9uIHJlZ3VsYXRlcyBjb25mbGljdHMgb2YgaW50ZXJlc3QgaW4gaW52ZXN0bWVudCBjb21wYW5pZXMgYW5kIHNlY3VyaXRpZXMgZXhjaGFuZ2VzLiBJdCBzZWVrcyB0byBwcm90ZWN0IHRoZSBwdWJsaWMgcHJpbWFyaWx5IGJ5IGxlZ2FsbHkgcmVxdWlyaW5nIGRpc2Nsb3N1cmUgb2YgbWF0ZXJpYWwgZGV0YWlscyBhYm91dCBlYWNoIGludmVzdG1lbnQgY29tcGFueS4gVGhpcyByZWxhdGVzIHRvIElzc3VlcnMuIiwKIkludmVzdG9yIFF1ZXN0aW9ubmFpcmUiOiJBbiBcIkFjY3JlZGl0ZWQgSW52ZXN0b3JcIiBxdWVzdGlvbm5haXJlIGlzIGV4ZWN1dGVkIGJ5IGFuIEludmVzdG9yIGFuZCBjb25maXJtcyB0aGF0IHRoZSBJbnZlc3RvciBtZWV0cyB0aGUgYWNjcmVkaXRhdGlvbiBndWlkZWxpbmVzIHVuZGVyIFNlY3Rpb24gNTAxKGEpIG9mIFJlZyBEIHZpYSBlaXRoZXIgdGhlIG5ldCB3b3J0aCBvciBpbmNvbWUgdGVzdHMuIEl0IG9mdGVuIGFza3MgYWJvdXQgZWR1Y2F0aW9uYWwgYmFja2dyb3VuZCwgaW52ZXN0bWVudCBleHBlcmllbmNlLCB0YXggYnJhY2tldCBhbmQgbGlxdWlkaXR5IG5lZWRzLiIsCiJJUlIiOiJJUlIg4oCUIFNlZSBJbnRlcm5hbCBSYXRlIG9mIFJldHVybi4iLAoiSXNzdWUiOiJBIHNwZWNpZmljIGlzc3VhbmNlIG9mIGEgc2VjdXJpdHkgYnkgYW4gSXNzdWVyLiBQcmVmZXJyZWQgZXF1aXR5IGlzc3VlcyBhcmUgb2Z0ZW4gZGVzaWduYXRlZCBieSBhIHNwZWNpZmljIFNlcmllcyAoZS5nLiwgU2VyaWVzIEEsIFNlcmllcyBCLCBldGMuKS4gRGVidCBpc3N1ZXMgYXJlIHVzdWFsbHkgc3BlY2lmaWVkIGJ5IHRoZWlyIGNvdXBvbiAoaW50ZXJlc3QgcmF0ZSkgYW5kIG1hdHVyaXR5IChkdWUgZGF0ZSkuIENhbiByZWxhdGUgZWl0aGVyIHRvIGRlYnQgb3IgZXF1aXR5IGlzc3Vlcy4iLAoiSXNzdWUgRGF0ZSI6IlRoZSBkYXRlIGEgc2VjdXJpdHkgYmVjb21lcyBvZmZpY2lhbGx5IG91dHN0YW5kaW5nLiBUaGlzIGlzIHJlbGV2YW50IGZvciBib3RoIGRlYnQgYW5kIGVxdWl0eSBpbnZlc3RtZW50cy4iLAoiSXNzdWVyIjoiVGhlIHBhcnR5IHRoYXQgaXNzdWVzIGEgc2VjdXJpdHkgYW5kIGlzIHJlc3BvbnNpYmxlIHRvIGNvbXBseSB3aXRoIGl0cyB0ZXJtcy4gUGVydGFpbnMgdG8gYm90aCBkZWJ0IGFuZCBlcXVpdHkgb2ZmZXJpbmdzLiIsCiJKdW5pb3IiOiJTZWUgU3Vib3JkaW5hdGVkLiBQZXJ0YWlucyB0byBkZWJ0IGFuZCBlcXVpdHkuIiwKIktleSBQZXJmb3JtYW5jZSBJbmRpY2F0b3JzIjoiQSBtZWFucyBvZiBtZWFzdXJpbmcgaG93IGVmZmVjdGl2ZWx5IGEgY29tcGFueSBpcyBwZXJmb3JtaW5nIGFnYWluc3Qga2V5IGJ1c2luZXNzIG9iamVjdGl2ZXMuIiwKIktQSXMiOiJTdGFuZHMgZm9yIEtleSBQZXJmb3JtYW5jZSBJbmRpY2F0b3JzOiBBIG1lYW5zIG9mIG1lYXN1cmluZyBob3cgZWZmZWN0aXZlbHkgYSBjb21wYW55IGlzIHBlcmZvcm1pbmcgYWdhaW5zdCBrZXkgYnVzaW5lc3Mgb2JqZWN0aXZlcy4iLAoiTGVuZGVyIjoiQSBwYXJ0eSBwcm92aWRpbmcgY2FwaXRhbCBpbiB0aGUgZm9ybSBvZiBhIExvYW4gb3IgUHJvbWlzc29yeSBOb3RlLiBQZXJ0YWlucyB0byBkZWJ0LiIsCiJMaWFiaWxpdGllcyI6IldpdGhpbiBmaW5hbmNpYWwgYWNjb3VudGluZywgYW4gb2JsaWdhdGlvbiAoc2hvcnQtdGVybSBvciBsb25nZXIgdGVybSkgb2YgYW4gZW50aXR5IGFyaXNpbmcgZnJvbSBwYXN0IHRyYW5zYWN0aW9ucyBvciBldmVudHMgYW5kIHNwZWNpZnlpbmcgd2hhdCBpcyBvd2VkIGJ5IGFuIGVudGl0eS4gTGlhYmlsaXRpZXMgaW5jbHVkZSBpbmRlYnRlZG5lc3MsIHRheCBvYmxpZ2F0aW9ucywgZXRjLiBQZXJ0YWlucyB0byBJc3N1ZXJzLiIsCiJMaWVucyI6IkEgbGVuZGVyJ3MgY2xhaW0gYWdhaW5zdCBjb2xsYXRlcmFsIHRoYXQgbWF5IGJlIHNvbGQgc2hvdWxkIHRoZSBib3Jyb3dlciBmYWlsIHRvIHJlcGF5IGEgbG9hbi4gSXQgaXMgaW1wb3J0YW50LCB3aGVuIGNvbnNpZGVyaW5nIGxlbmRpbmcgdG8gYSBDb21wYW55IHVzaW5nIGNvbGxhdGVyYWwsIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZXJlIGFyZSBwcmlvciBsaWVucyBvbiB0aGUgY29sbGF0ZXJhbCBiZWluZyB1c2VkIHRvIHN1cHBvcnQgdGhlIGxvYW4uIElmIHRoZXJlIGlzIGEgcHJpb3IgY2xhaW0sIHlvdXIgY2xhaW0gd291bGQgYmUganVuaW9yIHRvIHRoZSBmaXJzdCBsaWVuLiIsCiJMaW1pdGVkIExpYWJpbGl0eSBDb21wYW55IjoiQSBzdGF0ZS1yZWdpc3RlcmVkIGZvcm0gb2YgZW50ZXJwcmlzZSB0aGF0IGJsZW5kcyBlbGVtZW50cyBvZiBwYXJ0bmVyc2hpcCBhbmQgY29ycG9yYXRlIHN0cnVjdHVyZXMuIEFuIExMQyBpcyBub3QgYSBjb3Jwb3JhdGlvbjsgaXQgaXMgYSBsZWdhbCBmb3JtIG9mIGNvbXBhbnkgdGhhdCBwcm92aWRlcyBsaW1pdGVkIGxpYWJpbGl0eSB0byBpdHMgb3duZXJzLiBQZXJ0YWlucyB0byBJc3N1ZXJzLiIsCiJMTEMiOiJTZWUgTGltaXRlZCBMaWFiaWxpdHkgQ29tcGFueS4iLAoiTG9hbiI6IkEgZGVidCBldmlkZW5jZWQgYnkgYSBub3RlIChQcm9taXNzb3J5IE5vdGUpIHdoaWNoIHNwZWNpZmllcywgYW1vbmcgb3RoZXIgdGhpbmdzLCB0aGUgcHJpbmNpcGFsIGFtb3VudCwgaW50ZXJlc3QgcmF0ZSwgYW5kIGRhdGUgb2YgcmVwYXltZW50LiBSZWxhdGVzIHNvbGVseSB0byBkZWJ0IGlzc3Vlcy4iLAoiTWFuYWdlciI6IkNhbiByZWxhdGVkIHRvIHRoZSBpbmRpdmlkdWFsKHMpIG9yIGVudGl0eSByZXNwb25zaWJsZSBmb3IgdGhlIG1hbmFnZW1lbnQgb2YgYSBMaW1pdGVkIExpYWJpbGl0eSBDb21wYW55IChMTEMpLiBUaGUgTWFuYWdlcuKAmXMgcm9sZXMgYW5kIHJlc3BvbnNpYmlsaXRpZXMgYXJlIGRlZmluZWQgaW4gdGhlIE9wZXJhdGluZyBBZ3JlZW1lbnQgb2YgdGhlIExMQy4gSXNzdWVyLXJlbGF0ZWQuIiwKIk1hdGVyaWFsIEFkdmVyc2UgQ2hhbmdlIjoiQSBsZWdhbCBwcm92aXNpb24gb2Z0ZW4gZm91bmQgaW4gZmluYW5jaW5ncyBhbmQgaW4gbWVyZ2VyIGFuZCBhY3F1aXNpdGlvbiBhZ3JlZW1lbnRzIGVuYWJsaW5nIEludmVzdG9ycyB0byByZWZ1c2UgdG8gY29tcGxldGUgdGhlIGZpbmFuY2luZyBiZWNhdXNlIHRoZSBJc3N1ZXJzIGhhZCB1bmRlcmdvbmUgYSBzaWduaWZpY2FudCBjaGFuZ2UgZnJvbSB0aGVpciBjb25kaXRpb24gd2hlbiB0aGUgSW52ZXN0b3JzIGhhZCBvcmlnaW5hbGx5IGNvbW1pdHRlZCB0byBpbnZlc3QuIFJlZmVycyBib3RoIHRvIGRlYnQgYW5kIGVxdWl0eSBvZmZlcmluZ3MuIiwKIk1hdGVyaWFsIE1pc3N0YXRlbWVudCI6IkEgbWlzcmVwcmVzZW50YXRpb24gY29udGFpbmVkIHdpdGhpbiBhIHNlY3VyaXR54oCZcyBvZmZlcmluZyBkb2N1bWVudHMgb3IgZHVyaW5nIGRpc2N1c3Npb25zIGJldHdlZW4gdGhlIElzc3VlcnMgYW5kIEludmVzdG9ycyB0aGF0IHdvdWxkIGltcGFjdCB0aGUgYWJpbGl0eSBvZiB0aGUgcGFydGllcyB0byBtYWtlIGFuIGFkZXF1YXRlbHkgaW5mb3JtZWQgZGVjaXNpb24uIElmIGFuIG92ZXJ0IGZhbHNlaG9vZCBpcyBtYWRlIGJ5IGEgcGFydHksIGNyaW1pbmFsIGxpYWJpbGl0eSB3aWxsIGV4aXN0IGZvciB0aGUgb2ZmZXJpbmcncyBzcG9uc29ycyB1bmRlciBmZWRlcmFsIGFuZCBzdGF0ZSBzZWN1cml0aWVzIGxhd3MuIFBlcnRhaW5zIHRvIGFsbCBkZWJ0IGFuZCBlcXVpdHkgb2ZmZXJpbmdzLiIsCiJNYXR1cml0eSI6IldoZW4gdGhlIGZpbmFsIHByaW5jaXBhbCBwYXltZW50IGZvciBhIGRlYnQgb2JsaWdhdGlvbiBtdXN0IGJlIHBhaWQgYnkgdGhlIGJvcnJvd2VyL0lzc3Vlci4gUmVsYXRlcyB0byBkZWJ0IHRyYW5zYWN0aW9ucy4gU2VlIFwiUHJpdmF0ZSBMZW5kaW5nIHRvIE9wZXJhdGluZyBDb21wYW5pZXNcIiBmb3IgbW9yZSBjb250ZXh0LiIsCiJNZW1iZXJzaGlwIGludGVyZXN0IjoiSG93IG93bmVyc2hpcCBpcyByZXByZXNlbnRlZCBpbiBhIExpbWl0ZWQgTGlhYmlsaXR5IENvbXBhbnkuIE1lbWJlcnNoaXAgaW50ZXJlc3QgaXMgcmVwcmVzZW50ZWQgYXMgYSBwZXJjZW50YWdlIG9mIGZ1bGx5IGRpbHV0ZWQgb3duZXJzaGlwLCBzb21ldGltZXMgYWxzbyBpbiB0aGUgZm9ybSBvZiBudW1iZXJzIG9mIFVuaXRzLiBQZXJ0YWlucyB0byBlcXVpdHkgaW52ZXN0bWVudHMgaW4gYW4gTExDLiIsCiJNaXNyZXByZXNlbnRhdGlvbiI6IkEgZmFsc2Ugc3RhdGVtZW50cyBpbiBhIHNlY3VyaXRpZXMgb2ZmZXJpbmcgZG9jdW1lbnQgb3IgZGlzY3Vzc2lvbnMsIGVpdGhlciBrbm93aW5nbHkgb3IgdW5rbm93aW5nbHkuIFRoZSBzaWduaWZpY2FudCBvZiB0aGUgbWlzcmVwcmVzZW50YXRpb25zIGRldGVybWluZXMgd2hldGhlciBpdCBpcyBhIE1hdGVyaWFsIE1pc3JlcHJlc2VudGF0aW9uLiBQZXJ0YWlucyB0byBhbGwgZGVidCBhbmQgZXF1aXR5IG9mZmVyaW5ncy4iLAoiTmVnYXRpdmUgQ292ZW5hbnRzIjoiSW4gYSBzZWN1cml0aWVzLXJlbGF0ZWQgZG9jdW1lbnQsIHRoZSBJc3N1ZXIncyBjb21taXRtZW50IG5vdCB0byBwZXJmb3JtIGEgY2VydGFpbiBhY3Rpb24uIEV4YW1wbGVzIGZvciBkZWJ0IGlzc3VlcyBjb3VsZCBpbmNsdWRlIHJlc3RyaWN0aW9ucyBvZiBmdXJ0aGVyIGRlYnQgaW5jdXJyZW5jZSBieSB0aGUgQm9ycm93ZXIsIGxpbWl0YXRpb25zIG9uIGRpc3RyaWJ1dGlvbnMgdG8gc2hhcmVob2xkZXJzLCBwcm9oaWJpdGlvbiBvbiBsb2FucyB0byBzaGFyZWhvbGRlcnMsIGV0Yy4gQ2FuIHJlbGF0ZSBlaXRoZXIgdG8gZGVidCBvciBlcXVpdHkgaW52ZXN0bWVudHMuIiwKIk5vdGVzIFBheWFibGUiOiJBIGxpYWJpbGl0eSB3aGljaCByZWZlcnMgdG8gUHJvbWlzc29yeSBOb3RlcyBvdXRzdGFuZGluZy4gKFByb21pc3NvcnkgTm90ZXMpIGFyZSBhIGRlYnQgaW5zdHJ1bWVudCwgb2Z0ZW4gc2hvcnQtbWVkaXVtIHRlcm0sIHdpdGggYW4gYXNzb2NpYXRlZCBpbnRlcmVzdCByYXRlIGFuZCByZXBheW1lbnQgdGVybXMuIiwKIk9mZi1iYWxhbmNlIFNoZWV0IEZpbmFuY2luZyI6IldoZW4gdGhlIGFzc2V0cyBhbmQvb3IgY2FzaGZsb3cgb2YgYSBmaW5hbmNpYWwgdHJhbnNhY3Rpb24gYXJlIG5vdCBmdWxseSByZWNvcmRlZCBhcyBwYXJ0IG9mIHRoZSBmaW5hbmNpYWwgc3RhdGVtZW50cyBvZiBhIGNvbXBhbnkgZW5nYWdlZCBpbiB0aGUgZmluYW5jaWFsIHRyYW5zYWN0aW9uLiIsCiJPZmZlcmluZyI6IlRoZSBwcm9jZXNzIG9mIG1ha2luZyBwcml2YXRlbHkgcGxhY2VkIHNlY3VyaXRpZXMgYXZhaWxhYmxlIHRvIEludmVzdG9ycyBmb3IgcmV2aWV3IGFuZCBwb3RlbnRpYWwgaW52ZXN0bWVudC4gUGVydGFpbnMgdG8gdGhlIHNvbGljaXRhdGlvbiBhbmQgc2FsZSBvZiBkZWJ0IGFuZCBlcXVpdHkgc2VjdXJpdGllcy4iLAoiT2ZmZXJpbmcgRG9jdW1lbnRzIjoiRG9jdW1lbnRzIHVzZWQgdG8gaW50cm9kdWNlIGEgcHJpdmF0ZSBpbnZlc3RtZW50LiBUaGV5IGNhbiBpbmNsdWRlIHRoZSBQcml2YXRlIFBsYWNlbWVudCBNZW1vcmFuZHVtIGFuZC9vciBPZmZlcmluZyBNZW1vcmFuZHVtLCBhIGxlZ2FsIGRvY3VtZW50IHRoYXQgdW5kZXJzY29yZXMgdGhlIG9iamVjdGl2ZXMsIHJpc2tzIGFuZCB0ZXJtcyBvZiB0aGUgaW52ZXN0bWVudCBhbmQgb2Z0ZW4gaW5jbHVkZXMgdGhlIGNvbXBhbnkncyBmaW5hbmNpYWwgc3RhdGVtZW50cywgbWFuYWdlbWVudCBiaW9ncmFwaGllcywgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHRoZSBjb21wYW55J3Mgb3BlcmF0aW9ucyBhbmQgbW9yZS4gRHVyaW5nIHRoZSB0aW1lIHRoYXQgdGhlIG9mZmVyaW5nIGlzIGF2YWlsYWJsZSwgb2ZmZXJpbmcgbWF0ZXJpYWxzIGNhbiBpbmNsdWRlIHN0YXRlbWVudHMgbWFkZSBieSB0aGUgY29tcGFueS4gU2VlIFwiQ2xvc2luZyBEb2N1bWVudGF0aW9uIGZvciBQcml2YXRlIFBsYWNlbWVudCBJbnZlc3RtZW50IE9wcG9ydHVuaXRpZXNcIiBvciBcIlByaXZhdGUgUGxhY2VtZW50IE1lbW9yYW5kdW0gYW5kIE90aGVyIFByaXZhdGUgSW52ZXN0bWVudCBEb2N1bWVudHNcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBhZGRpdGlvbmFsIGRvY3VtZW50cy4iLAoiT2ZmZXJpbmcgTWVtb3JhbmR1bSI6IlR5cGljYWxseSBhIHNvbWV3aGF0IGFiYnJldmlhdGVkIGZvciBvZiBQcml2YXRlIFBsYWNlbWVudCBNZW1vcmFuZHVtLiIsCiJPZmZlcmluZyBQZXJpb2QiOiJUaGUgcGVyaW9kIGR1cmluZyB3aGljaCBhIHByaXZhdGUgcGxhY2VtZW50IHNvbGljaXRzIGludmVzdG1lbnQgZnJvbSBJbnZlc3RvcnMuIFBlcnRhaW5zIHRvIGFsbCBkZWJ0IGFuZCBlcXVpdHkgb2ZmZXJpbmdzLiIsCiJPcGVyYXRpbmcgQWdyZWVtZW50IjoiVGhlIHByaW1hcnkgZG9jdW1lbnQgc3BlY2lmeWluZyB0aGUgZ292ZXJuYW5jZSBvZiBhIExpbWl0ZWQgTGlhYmlsaXR5IENvbXBhbnkgKExMQykuIE9wZXJhdGluZyBBZ3JlZW1lbnRzIGFuZCBhbnkgYW1lbmRtZW50cyB0byB0aGVtIG11c3QgYmUgZmlsZWQgd2l0aCB0aGUgc3RhdGUgaW4gd2hpY2ggdGhlIExMQyBpcyByZWdpc3RlcmVkLiIsCiJQYXIgb3IgUGFyIFZhbHVlIjoiQSB0ZXJtIGluZGljYXRpbmcgdGhlIGluaXRpYWwgdmFsdWUgb2YgYSBQcm9taXNzb3J5IE5vdGUsIHVzdWFsbHkgZXF1YWxpbmcgMTAwJSBvZiB0aGUgY2FwaXRhbCBpbnZlc3RlZCB0byBwdXJjaGFzZSBhIG5ld2x5IGlzc3VlZCBOb3RlLiBQZXJ0YWlucyB0byBkZWJ0LiIsCiJQYXJpIHBhc3N1IjoiQSBMYXRpbiBwaHJhc2Ugb2Z0ZW4gdXNlZCBpbiBmaW5hbmNpbmcgZG9jdW1lbnRzIHRoYXQgdHJhbnNsYXRlcyBhcyBcInJhbmtpbmcgZXF1YWxseS5cIiBJdCBvZnRlbiByZWZlcnMgdG8gdHJlYXRpbmcgYWxsIEludmVzdG9ycyBlcXVhbGx5IGluIHRlcm1zIG9mIHRoZWlyIHJpZ2h0cyBpbiByZWxhdGlvbiB0byB0aGUgb2JsaWdhdGlvbnMgb2YgdGhlIElzc3Vlci4gUGVydGFpbnMgdG8gYm90aCB0byBkZWJ0IGFuZCBlcXVpdHkgaW52ZXN0bWVudHMuIiwKIlBhcnRpY2lwYXRpbmcgUHJlZmVycmVkIjoiQSBwcmVmZXJyZWQgZXF1aXR5IHN0cnVjdHVyZSB3aGVyZSBJbnZlc3RvcnMgY29udGludWUgdG8gcGFydGljaXBhdGUgaW4gcHJvZml0IGRpc3RyaWJ1dGlvbnMgb2YgdGhlIElzc3VlciBhcyBjb21tb24gc2hhcmVob2xkZXJzIGFmdGVyIHRoZSBJbnZlc3RvcnMgaGF2ZSByZWNlaXZlZCBhIGZ1bGwgcmV0dXJuIG9mIHRoZWlyIGludmVzdGVkIGNhcGl0YWwgYW5kIGFueSBvdGhlciBwcmVmZXJyZWQgZGlzdHJpYnV0aW9ucyB0byB3aGljaCB0aGV5IGFyZSBlbnRpdGxlZC4gUGVydGFpbnMgdG8gZXF1aXR5IGludmVzdG1lbnRzLiIsCiJQYXJ0bmVyc2hpcCI6IkFuIGFycmFuZ2VtZW50IGluIHdoaWNoIHBhcnRpZXMgYWdyZWUgdG8gY29vcGVyYXRlIHRvIGFkdmFuY2UgdGhlaXIgbXV0dWFsIGludGVyZXN0cy4gUGVydGFpbnMgdG8gZXF1aXR5IGludmVzdG1lbnRzLiIsCiJQYXlhYmxlcyBvciBBY2NvdW50cyBQYXlhYmxlIjoiQW4gYWNjb3VudGluZyB0ZXJtIGZvciBhbiBlbnRpdHnigJlzIG9ibGlnYXRpb24gdG8gcGF5IG9mZiBhIHNob3J0LXRlcm0gZGVidCAobGVzcyB0aGFuIG9uZSB5ZWFyKSB0byBpdHMgY3JlZGl0b3JzICh0cmFkZSBvYmxpZ2F0aW9ucyBvZiBhIGJ1c2luZXNzIHRoYXQgYXJlIHJlY29yZGVkIGF0IGEgcG9pbnQgaW4gdGltZSkuIEFjY291bnRzIFBheWFibGUgYXJlIG9mdGVuIHJlZmVycmVkIHRvIGFzIFwicGF5YWJsZXNcIi4gU2hvcnQtdGVybSBkZWJ0IGlzIHVzZWQgb2Z0ZW4gdG8gZmluYW5jZSBwYXlhYmxlcy4gUGVydGFpbnMgdG8gSXNzdWVycy4iLAoiUGVuYWx0eSBSYXRlIjoiQW4gaW5jcmVhc2UgaW4gdGhlIHN0YXRlZCBpbnRlcmVzdCByYXRlIG9mIGEgbG9hbiBvciBub3RlIHRoYXQgYmVjb21lcyBlZmZlY3RpdmUgd2hlbiB0aGUgSXNzdWVyIGRlZmF1bHRzLCBzdWNoIGFzIGEgZGVsYXkgaW4gdGhlIHBheW1lbnQgb2YgaW50ZXJlc3Qgb3IgcHJpbmNpcGFsLiBQZXJ0YWlucyB0byBkZWJ0IGludmVzdG1lbnRzLiIsCiJQZXJmZWN0ZWQgTGllbiI6IkEgbGVnYWwgZmlsaW5nIHByb2Nlc3Mgd2hlcmVpbiBhIExlbmRlcuKAmXMgKEludmVzdG9y4oCZcykgY2xhaW0gb24gc3BlY2lmaWMgbG9hbiBDb2xsYXRlcmFsIGlzIG9mZmljaWFsbHkgZmlsZWQgYW5kIHB1YmxpY2x5IHJlY29nbml6ZWQgd2l0aGluIGEgZ2l2ZW4gc3RhdGUgdW5kZXIgdGhlIFVuaWZvcm0gQ29tbWVyY2lhbCBDb2RlLiBQZXJmZWN0ZWQgTGllbnMgYXJlIHVzZWQgdG8gc3VwcG9ydCB0aGUgcmV0dXJuIG9mIHByaW5jaXBhbCBhbmQgYW55IGludGVyZXN0IGR1ZSB0byBhIExlbmRlci4gUGVyZmVjdGVkIExpZW5zIGFyZSBjcml0aWNhbCBpZiB0aGUgTGVuZGVyJ3MgcmVjb3ZlcnkgcHJvY2VzcyBtdXN0IGJlIHVwaGVsZCB0aHJvdWdoIGEgbGVnYWwgcHJvY2Vzcywgc3VjaCBhcyBiYW5rcnVwdGN5IGNvdXJ0LiBBbHNvLCBhIHNlY3VyaXR5IGludGVyZXN0IGluIHRoZSBjb2xsYXRlcmFsIHRoYXQgaXMgdXNlZCB0byBzZWN1cmUgdGhlIHBlcmZvcm1hbmNlIG9mIGEgZGVidCB0aGF0IGlzIHByb3RlY3RlZCBmcm9tIHRoaXJkLXBhcnR5IGNsYWltcy4gQSBwZXJmZWN0ZWQgbGllbiBmb3IgcmVhbCBwcm9wZXJ0eSBtdXN0IGJlIGZpbGVkIHdpdGggdGhlIGNvcnJlY3QgbGVnYWwgYXV0aG9yaXR5LCBzdWNoIGFzIHRoZSBzdGF0ZSwgaW4gd2hpY2ggdGhlIElzc3VlciBvciBQcm9wZXJ0eSBpcyBsb2NhdGVkLiBQZXJmZWN0ZWQgbGllbnMgZm9yIHJlYWwgZXN0YXRlIGFyZSBhY2hpZXZlZCB3aGVuIHRoZSBtb3J0Z2FnZSBkZWVkIG9mIHRydXN0IGlzIHJlY29yZGVkIGluIHRoZSBsYW5kIHJlY29yZHMgb2YgdGhlIGFwcHJvcHJpYXRlIG11bmljaXBhbGl0eS4gUGVydGFpbnMgdG8gZGVidC4iLAoiUGxhY2VtZW50IEFnZW50IjoiQW4gaW52ZXN0bWVudCBiYW5rIHRoYXQgY29uZHVjdHMgYSBwcml2YXRlIHBsYWNlbWVudC4gT25seSBGSU5SQS1yZWdpc3RlcmVkIEJyb2tlci1EZWFsZXJzIGNhbiBhY3QgYXMgUGxhY2VtZW50IEFnZW50cy4gUGVydGFpbnMgdG8gYWxsIGZvcm1zIG9mIHNlY3VyaXRpZXMgb2ZmZXJpbmdzLiIsCiJQb3N0LW1vbmV5IENhcGl0YWxpemF0aW9uIjoiVGhlIGZ1bGwgYWNjb3VudGluZyBvZiBhbGwgZXF1aXR5IGFuZCBlcXVpdHkgZXF1aXZhbGVudHMgc2VjdXJpdGllcyAoZS5nLiwgb3B0aW9ucywgd2FycmFudHMsIGNvbnZlcnRpYmxlIHNlY3VyaXRpZXMpIG9mIHRoZSBJc3N1ZXIgYWZ0ZXIgdGhlIGVxdWl0eSBpbnZlc3RtZW50IGhhcyBiZWVuIHJlY2VpdmVkIGJ5IHRoZSBJc3N1ZXIgYW5kIHRoZSBjb3JyZXNwb25kaW5nIHNoYXJlcyBpc3N1ZWQgdG8gbmV3IEludmVzdG9ycy4gQSB0ZXJtIHVzZWQgaW4gZXF1aXR5IHRyYW5zYWN0aW9ucy4iLAoiUG9zdC1tb25leSBWYWx1YXRpb24iOiJBIGNvbXBhbnkgdmFsdWF0aW9uIGVxdWFsaW5nIHRoZSBQcmUtbW9uZXkgVmFsdWF0aW9uIHBsdXMgdGhlIGFtb3VudCBvZiBuZXcgY2FwaXRhbCByYWlzZWQuIFBlcnRhaW5zIHRvIGVxdWl0eS4iLAoiUHJlLW1vbmV5IjoiUmVsYXRlcyB0byBJc3N1ZXIgdmFsdWF0aW9ucyBvciBldmVudHMgYmVmb3JlIGFkZGl0aW9uYWwgaW52ZXN0bWVudCBoYXMgYmVlbiByZWNlaXZlZCBieSBhbiBJc3N1ZXIuIFBlcnRhaW5zIHRvIGVxdWl0eS4iLAoiUHJlLW1vbmV5IFZhbHVhdGlvbiI6IlRoZSBtb25ldGFyeSB2YWx1ZSBvZiB0aGUgSXNzdWVyIHVzZWQgdG8gZGV0ZXJtaW5lIHNoYXJlIHByaWNlIG9mZmVyZWQgdG8gSW52ZXN0b3JzLiBQcmUtbW9uZXkgc2hhcmUgcHJpY2UgaXMgZGV0ZXJtaW5lZCBieSBkaXZpZGluZyB0aGUgcHJlLW1vbmV5IHZhbHVhdGlvbiAoYSBzcGVjaWZpYyBkb2xsYXIgYW1vdW50KSBieSB0aGUgbnVtYmVyIG9mIHNoYXJlcyByZXByZXNlbnRpbmcgYWxsIGVxdWl0eSBhbmQgZXF1aXR5IGVxdWl2YWxlbnRzIHNlY3VyaXRpZXMgKGUuZy4sIG9wdGlvbnMsIHdhcnJhbnRzLCBjb252ZXJ0aWJsZSBzZWN1cml0aWVzKSBvZiBJc3N1ZXIgYmVmb3JlIGFkZGl0aW9uYWwgZXF1aXR5IGludmVzdG1lbnQgaGFzIGJlZW4gcmVjZWl2ZWQuIFBlcnRhaW5zIHRvIGVxdWl0eS4iLAoiUHJlZW1wdGl2ZSBSaWdodHMiOiJBIGNvbnRyYWN0dWFsIGFncmVlbWVudCBiZXR3ZWVuIGFuIElzc3VlciBhbmQgaXRzIEludmVzdG9ycyB0byBvZmZlciBhIGZpcnN0IHJpZ2h0IG9mIHJlZnVzYWwgZm9yIGEgc3Vic2VxdWVudCBmaW5hbmNpbmcuIEEgdGVybSBmb3VuZCBpbiBkZWJ0IG9yIGVxdWl0eSBvZmZlcmluZ3MuIiwKIlByZWZlcnJlZCBEaXN0cmlidXRpb24iOiJBIGRpc3RyaWJ1dGlvbiBvZiBwcm9maXRzIHRvIGEgY2xhc3Mgb2YgcHJlZmVycmVkIGVxdWl0eSBJbnZlc3RvcnMgdGhhdCBpcyBtYWRlIGJlZm9yZSBkaXN0cmlidXRpb25zIGFyZSBtYWRlIHRvIGNvbW1vbiBlcXVpdHkgSW52ZXN0b3JzLiBQcmVmZXJyZWQgcmV0dXJucyBjYW4gcmVsYXRlIHRvIHRoZSByZXR1cm4gb2YgaW52ZXN0ZWQgY2FwaXRhbCBhbmQvb3IgYSBwZXJjZW50YWdlLWJhc2VkIGFubnVhbCByYXRlIHBhaWQgYnkgdGhlIElzc3VlciBvbiB0aGUgaW52ZXN0ZWQgY2FwaXRhbC4gVGhlIHNwZWNpZmljIHRlcm1zIG9mIHRoZSByZXR1cm4gYXJlIHNwZWNpZmllZCBpbiB0aGUgSXNzdWVyJ3MgQXJ0aWNsZXMgb2YgSW5jb3Jwb3JhdGlvbiAoZm9yIGEgQyBDb3Jwb3JhdGlvbikgb3IgT3BlcmF0aW5nIEFncmVlbWVudCAoZm9yIGFuIExMQykuIFBlcnRhaW5zIHRvIGVxdWl0eS4iLAoiUHJlZmVycmVkIEVxdWl0eSI6IkEgZm9ybSBvZiBlcXVpdHkgb3duZXJzaGlwIGNhcnJ5aW5nIHdpdGggaXQgcmlnaHRzIHdoaWNoIG11c3QgYmUgbWV0IGJ5IHRoZSBJc3N1ZXIgaW4gcHJlZmVyZW5jZSB0byB0aGUgY29tbW9uIGVxdWl0eSBJbnZlc3RvcnMuIFRoZSBzcGVjaWZpYyByaWdodHMgb2YgYW55IHByZWZlcnJlZCBzZWN1cml0eSBhcmUgc3BlY2lmaWVkIGluIHRoZSBJc3N1ZXIncyBBcnRpY2xlcyBvZiBJbmNvcnBvcmF0aW9uIChmb3IgYSBDIENvcnBvcmF0aW9uKSBvciBPcGVyYXRpbmcgQWdyZWVtZW50IChmb3IgYW4gTExDKS4gUmVsYXRlcyB0byBlcXVpdHkuIiwKIlByZWZlcnJlZCBSZXR1cm4iOiJBIGRpc3RyaWJ1dGlvbiBvZiBwcm9maXRzIHRvIHByZWZlcnJlZCBlcXVpdHkgSW52ZXN0b3JzIHRoYXQgaXMgbWFkZSBiZWZvcmUgZGlzdHJpYnV0aW9ucyBhcmUgbWFkZSB0byBjb21tb24gZXF1aXR5IEludmVzdG9ycy4gUHJlZmVycmVkIHJldHVybnMgY2FuIHJlbGF0ZSB0byB0aGUgcmV0dXJuIG9mIGludmVzdGVkIGNhcGl0YWwgYW5kL29yIGEgcGVyY2VudGFnZSByZXR1cm4gb24gdGhlIGludmVzdGVkIGNhcGl0YWwuIFRoZSBzcGVjaWZpYyB0ZXJtcyBvZiB0aGUgcmV0dXJuIGFyZSBzcGVjaWZpZWQgaW4gdGhlIElzc3VlcidzIEFydGljbGVzIG9mIEluY29ycG9yYXRpb24gKGZvciBhIEMgQ29ycG9yYXRpb24pIG9yIE9wZXJhdGluZyBBZ3JlZW1lbnQgKGZvciBhbiBMTEMpLiBTZWUgXCJQcml2YXRlIEVxdWl0eSBUZXJtIFNoZWV0OiBUeXBpY2FsIFRlcm1zIGFuZCBDb25kaXRpb25zXCIgZm9yIGFkZGl0aW9uYWwgdGVybXMuIEEgdGVybSByZWxhdGVkIHRvIGVxdWl0eSBpc3N1YW5jZS4iLAoiUHJlcGF5bWVudCI6IlJlcGF5bWVudCBvZiB0aGUgcHJpbmNpcGFsIGFzc29jaWF0ZWQgd2l0aCBhIGxvYW4gYmVmb3JlIGl0IGlzIG90aGVyd2lzZSBkdWUuIFBlcnRhaW5zIHRvIGRlYnQuIiwKIlByZXBheW1lbnQgUGVuYWx0eSI6IkFkZGl0aW9uYWwgZmVlcyBhc3NvY2lhdGVkIHdpdGggdGhlIElzc3VlcuKAmXMgcmVwYXltZW50IG9mIHRoZSBwcmluY2lwYWwgYXNzb2NpYXRlZCB3aXRoIGEgbG9hbiBiZWZvcmUgaXQgaXMgb3RoZXJ3aXNlIGR1ZS4gUGVydGFpbnMgdG8gZGVidC4iLAoiUHJpbmNpcGFsIjoiVGhlIGFtb3VudCBvZiBjYXBpdGFsIGFkdmFuY2VkIHRocm91Z2ggYSBMb2FuIG9yIFByb21pc3NvcnkgTm90ZSBieSBhIGxlbmRlciB0byBhIGJvcnJvd2VyIG9yIHRocm91Z2ggdGhlIHB1cmNoYXNlIG9mIGEgbm90ZSBieSBhbiBJbnZlc3RvciBmcm9tIGFuIElzc3Vlci4gUGVydGFpbnMgdG8gZGVidC4iLAoiUHJpb3JpdHkiOiJSaWdodHMgcmVjZWl2ZWQgYnkgY2VydGFpbiBJbnZlc3RvcnMgdGhyb3VnaCBhbiBpbnZlc3RtZW50IHdoaWNoIGFyZSBzdXBlcmlvciB0byB0aG9zZSBvZiBvdGhlciBJbnZlc3RvcnMuIEFuIGV4YW1wbGUgd291bGQgYmUgbGlxdWlkYXRpb24gcHJpb3JpdHkgZHVyaW5nIGEgYmFua3J1cHRjeSwgd2hlcmUgc2VuaW9yIGxlbmRlcnMgKEludmVzdG9ycykgd291bGQgcmVjZWl2ZSBhIHJldHVybiBvZiBwcmluY2lwYWwgb3IgaW50ZXJlc3QgZHVlIHRvIHRoZW0gYmVmb3JlIGZ1bmRzIHdlcmUgcGFpZCB0byBzdWJvcmRpbmF0ZWQgbGVuZGVycyBvciB0byBlcXVpdHkgSW52ZXN0b3JzLiBQZXJ0YWlucyB0byBib3RoIGRlYnQgYW5kIGVxdWl0eS4iLAoiUHJpdmF0ZSBQbGFjZW1lbnQiOiJPZmZlcmluZ3Mgb2Ygc2VjdXJpdGllcyB3aGljaCBjYW5ub3QgdHJhZGUgcHVibGljbHksIGRvIG5vdCBpbnZvbHZlIHVwZnJvbnQgcmVnaXN0cmF0aW9uIG9mIHRoZSB1bmRlcmx5aW5nIHNlY3VyaXR5IHdpdGggdGhlIFNlY3VyaXRpZXMgRXhjaGFuZ2UgQ29tbWlzc2lvbiAoU0VDKSBvciBjb21wbGlhbmNlIHdpdGggdGhlIHB1YmxpYyByZWdpc3RyYXRpb24gcmVxdWlyZW1lbnRzLiBUaGV5IGFyZSBkaXNjcmVldGx5IG9mZmVyZWQgYW5kIHNvbGQgdG8gSW52ZXN0b3JzLCBoaXN0b3JpY2FsbHksIGluIGEgbm9uLXB1YmxpYyBtYW5uZXIgKGkuZS4sIHdpdGhvdXQgcHVibGljIGFkdmVydGlzaW5nKS4gUnVsZSA1MDYoYykgb2YgU0VDIFJlZ3VsYXRpb24gRCwgcHJvbXVsZ2F0ZWQgaW4gMjAxNiwgYXV0aG9yaXplcyBcImdlbmVyYWwgc29saWNpdGF0aW9uc1wiIChpLmUuLCBhZHZlcnRpc2luZykgZm9yIHByaXZhdGVseSBwbGFjZWQgc2VjdXJpdGllcyB3aGljaCBhcmUgcHVyY2hhc2VkIG9ubHkgYnkgQWNjcmVkaXRlZCBJbnZlc3RvcnMgd2l0aCB0aGlyZC1wYXJ0eSB2ZXJpZmljYXRpb24gKHNlZSBcIlJlZ3VsYXRpb24gRCwgUnVsZSA1MDYoYykgUHJpdmF0ZSBQbGFjZW1lbnRzXCIpLiBTZWUgYWxzbyBcIldoYXQgaXMgYSBQcml2YXRlIFBsYWNlbWVudFwiIGFuZCBcIlByaXZhdGUgUGxhY2VtZW50IEludmVzdG1lbnQgQ29uc2lkZXJhdGlvbnNcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4gVGhpcyB0ZXJtIHJlbGF0ZXMgYm90aCB0byBlcXVpdHkgYW5kIGRlYnQgb2ZmZXJpbmdzLiIsCiJQcml2YXRlIFBsYWNlbWVudCBNZW1vcmFuZHVtIChQUE0pIjoiQSBjb21wcmVoZW5zaXZlIGxlZ2FsIGRvY3VtZW50IHN0YXRpbmcgdGhlIG9iamVjdGl2ZXMsIHJpc2tzIGFuZCB0ZXJtcyBvZiBpbnZlc3RtZW50IGludm9sdmVkIHdpdGggYSBwcml2YXRlIHNlY3VyaXRpZXMgb2ZmZXJpbmcuIFRoaXMgZG9jdW1lbnQgaW5jbHVkZXMgaXRlbXMgc3VjaCBhcyB0aGUgZmluYW5jaWFsIHN0YXRlbWVudHMsIG1hbmFnZW1lbnQgYmlvZ3JhcGhpZXMsIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIHRoZSBidXNpbmVzcywgZXRjLiBBIFBQTSBzZXJ2ZXMgdG8gcHJvdmlkZSBidXllcnMgd2l0aCBpbmZvcm1hdGlvbiBvbiB0aGUgb2ZmZXJpbmcgYW5kIHRvIHByb3RlY3QgdGhlIHNlbGxlcnMgZnJvbSB0aGUgbGlhYmlsaXR5IGFzc29jaWF0ZWQgd2l0aCBzZWxsaW5nIHVucmVnaXN0ZXJlZCBzZWN1cml0aWVzLiBDRlMgZGV2ZWxvcHMgdGhpcyBkb2N1bWVudCBiYXNlZCBvbiBwcmVzZW50aW5nIGluZm9ybWF0aW9uIGluIGEgc3RyYWlnaHRmb3J3YXJkIGFuZCBkZXRhaWxlZCBtYW5uZXIgKHNlZSBhbHNvIFwiUHJpdmF0ZSBQbGFjZW1lbnQgTWVtb3JhbmR1bSBhbmQgT3RoZXIgUHJpdmF0ZSBJbnZlc3RtZW50IERvY3VtZW50c1wiKS4gQSBQUE0gaXMgdXNlZCBpbiBib3RoIGVxdWl0eSBhbmQgZGVidCBvZmZlcmluZ3MuIiwKIlByby1yYXRhIjoiQSB3ZWlnaHRpbmcgYW5kIG90aGVyIHRyZWF0bWVudCBvZiBwYXltZW50cyBvciBvdGhlciB0ZXJtcyAoc3VjaCBhcyB2b3RpbmcpIHRoYXQgaXMgcHJvcG9ydGlvbmF0ZSB0byB0aGUgYW1vdW50IG9mIGFuIEludmVzdG9yJ3MgcGFydGljaXBhdGlvbiB3aXRoaW4gdGhlIGVudGlyZSBjbGFzcyBvZiBzZWN1cml0aWVzLiBQZXJ0YWlucyB0byBkZWJ0IGFuZCBlcXVpdHkuIiwKIlByb2NlZWRzIjoiVGhlIGFtb3VudCBvZiBmdW5kcyByYWlzZWQgdGhyb3VnaCBhIHNlY3VyaXRpZXMgb2ZmZXJpbmcuIFBlcnRhaW5zIHRvIGJvdGggdG8gZGVidCBhbmQgZXF1aXR5IG9mZmVyaW5ncy4iLAoiUHJvbWlzc29yeSBOb3RlIjoiVGhlIGRvY3VtZW50IGV2aWRlbmNpbmcgdGhlIGRlYnQgb2JsaWdhdGlvbnMgb2YgdGhlIEJvcnJvd2VyIChJc3N1ZXIpIHRvIHRoZSBMZW5kZXIgKEludmVzdG9yKS4gQSBwcm9taXNzb3J5IG5vdGUgdHlwaWNhbGx5IGNvbnRhaW5zIGFsbCB0ZXJtcyBwZXJ0YWluaW5nIHRvIHRoZSBpbmRlYnRlZG5lc3MgYnkgdGhlIElzc3VlciBvciBtYWtlciB0byB0aGUgbm90ZSdzIHBheWVlLCBzdWNoIGFzIHRoZSBhbW91bnQsIGludGVyZXN0IHJhdGUsIHBlbmFsdHkgcmF0ZXMsIG1hdHVyaXR5IGRhdGUsIGRhdGUgYW5kIHBsYWNlIG9mIGlzc3VhbmNlLCBhbmQgSXNzdWVyJ3Mgc2lnbmF0dXJlLiBQcm9taXNzb3J5IE5vdGVzIGFyZSB0eXBpY2FsbHkgYXNzb2NpYXRlZCB3aXRoIExvYW4gYW5kIFNlY3VyaXR5IEFncmVlbWVudHMgdGhhdCBwcm92aWRlIG11Y2ggZ3JlYXRlciBkZXRhaWwgcmVsYXRpbmcgdG8gdGhlIG9ibGlnYXRpb25zIG9mIHRoZSBib3Jyb3dlciAoSXNzdWVyKS4gU2VlIFwiUHJpdmF0ZSBMZW5kaW5nIFRlcm0gU2hlZXQ6IFR5cGljYWwgSW52ZXN0bWVudCBUZXJtcyBhbmQgQ29uZGl0aW9ucy5cIiBQZXJ0YWlucyB0byBkZWJ0LiIsCiJQdWJsaWNseSBSZWdpc3RlcmVkIjoiSXNzdWVycyBvZiBhbGwgcHVibGljbHkgcmVnaXN0ZXJlZCBzZWN1cml0aWVzIGNvbXBsZXRpbmcgYSBmaWxpbmcgcHJvY2VzcyB3aXRoIHRoZSBTRUMgKFVzaW5nIEZvcm0gUy0xIG9yIFMtMykgZm9yIHRoZSBzZWN1cml0aWVzIHRoZXkgYXJlIG9mZmVyaW5nIHRvIHRoZSBnZW5lcmFsIHB1YmxpYyBmb3IgaW52ZXN0bWVudC4gVGhlIFNFQyBtdXN0IGhhdmUgYXBwcm92ZWQgdGhlIGJyZWFkdGggYW5kIG1hbm5lciBvZiB0aGUgaW5mb3JtYXRpb24gZGlzY2xvc2VkIGJ5IHRoZSBJc3N1ZXIuIEltcG9ydGFudGx5LCB0aGUgU0VDIGRvZXMgbm90IGFwcHJvdmUgYW4gaXNzdWUgb24gaXRzIGludmVzdG1lbnQgbWVyaXRzLCBvbmx5IHRvIHRoZSBkZWdyZWUgdGhhdCB0aGUgZGlzY2xvc3VyZXMgbWVldCB0aGUgc3RhbmRhcmRzIGZvciBwdWJsaWMgcmVnaXN0cmF0aW9uIChhdWRpdGVkIGZpbmFuY2lhbCBzdGF0ZW1lbnRzLCBsZW5ndGggb2Ygb3BlcmF0aW5nIGhpc3RvcnksIGV0Yy4pIG9mIFB1YmxpYyBTZWN1cml0aWVzLiBBbGwgb2ZmZXJpbmdzIG9mIHNlY3VyaXRpZXMgaW4gdGhlIFUuUy4gYXJlIGRlZW1lZCB0byByZXF1aXJlIHB1YmxpYyByZWdpc3RyYXRpb24gd2l0aCB0aGUgU0VDIHVubGVzcyBxdWFsaWZ5IGZvciBleGVtcHRpb24gZnJvbSBwdWJsaWMgcmVnaXN0cmF0aW9uLCBzdWNoIGFzIHRocm91Z2ggYSBQcml2YXRlIFBsYWNlbWVudCBvZmZlcmluZy4gUGVydGFpbnMgdG8gZGVidCBhbmQgZXF1aXR5LiIsCiJQdXJjaGFzZSBBZ3JlZW1lbnQiOiJBbiBBZ3JlZW1lbnQgYmV0d2VlbiB0aGUgSXNzdWVyIGFuZCB0aGUgSW52ZXN0b3Igd2hpY2ggY29udGFpbnMgcmVwcmVzZW50YXRpb25zIGJ5IGVhY2ggcGFydHkgcmVsYXRpbmcgdG8gdGhlaXIgY29uZGl0aW9uIGF0IHRoZSB0aW1lIGEgc2VjdXJpdHkgdHJhbnNhY3Rpb24gY2xvc2luZyBvY2N1cnMuIFRoaXMgQWdyZWVtZW50IGV2aWRlbmNlcyB0aGUgSW52ZXN0b3JzJyBjb21taXRtZW50IHRvIGludmVzdCBhbmQgdGhlIGFtb3VudCBvZiBmdW5kcyB0aGV5IGFyZSBpbnZlc3RpbmcuIFRoaXMgQWdyZWVtZW50IGNhbiBhbHNvIGJlIHRpdGxlZCBhIFN1YnNjcmlwdGlvbiBBZ3JlZW1lbnQuIFBlcnRhaW5zIHRvIGRlYnQgb3IgZXF1aXR5IG9mZmVyaW5ncy4iLAoiUmVjZWl2YWJsZXMiOiJBbiBhY2NvdW50aW5nIHRlcm0gZm9yIGEgY29tcGFueSdzIGN1c3RvbWVyIHB1cmNoYXNlcyB3aGVyZSBwYXltZW50IGlzIG5vdCBtYWRlIGF0IHRoZSB0aW1lIG9mIHRoZSByZWxhdGVkIHNhbGVzIGJ1dCBpcyBkdWUgd2l0aGluIG9uZSB5ZWFyLiBBY2NvdW50cyByZWNlaXZhYmxlIGFyZSBvZnRlbiByZWZlcnJlZCB0byBhcyByZWNlaXZhYmxlcyBvciBBUi5cIiBTaG9ydC10ZXJtIGRlYnQgKHJlZmVycmVkIHRvIGFzIHdvcmtpbmcgY2FwaXRhbCBmaW5hbmNpbmcpIGlzIG9mdGVuIHVzZWQgdG8gZnVuZCB0aGUgdGltaW5nIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgZXhwZWN0ZWQgY29sbGVjdGlvbiBvZiBBUiBwYXltZW50cyBhbmQgdGhlIElzc3VlcuKAmXMgaW1tZWRpYXRlIG5lZWQgZm9yIGNhc2ggdG8gc3VzdGFpbiBpdHMgb3BlcmF0aW9ucy4iLAoiUmVjb3Vyc2UiOiJJbiB0aGUgY29udGV4dCBvZiBhIHNlY3VyZWQgbm90ZSwgdGhpcyBsZWdhbCBhZ3JlZW1lbnQgZ2l2ZXMgdGhlIGxlbmRlciB0aGUgcmlnaHQgdG8gc2VpemUgYSBib3Jyb3dlcidzIGFzc2V0cyBpbiB0aGUgZXZlbnQgdGhhdCB0aGUgYm9ycm93ZXIgaGFzIGRlZmF1bHRlZCBvbiB0aGUgbG9hbi4gU2hvdWxkIHRoZSBib3Jyb3dlcidzIHBsZWRnZWQgYXNzZXRzIG5vdCBjb3ZlciB0aGUgbG9hbiwgdGhlIGxlbmRlciBtYXkgc2VlayBhIERlZmljaWVuY3kgTGV0dGVyIGZyb20gdGhlIFNFQyBmb3IgdGhlIHJpZ2h0IHRvIHNlaXplIHVucGxlZGdlZCBhc3NldHMsIGxldnkgYmFuayBhY2NvdW50cyBvciBnYXJuaXNoIHdhZ2VzLiBOb3RlOiBkZWZpY2llbmN5IGxldHRlcnMgYXJlIHVzZWQgZm9yIGFkZGl0aW9uYWwgcHVycG9zZXMgdGhhbiB1c2VkIGluIHRoaXMgZGVmaW5pdGlvbi4gUGVydGFpbnMgdG8gZGVidC4iLAoiUmVkZWVtYWJsZSBQcmVmZXJyZWQgU3RvY2siOiJQcmVmZXJyZWQgZXF1aXR5IHdoZXJlIHRoZSBJc3N1ZXIgaXMgb2JsaWdlZCB0byByZWRlZW0gdGhlIHNlY3VyaXR5IG9uIHNwZWNpZmljIGRhdGUgYXQgYSBwcmUtYWdyZWVkIHByaWNlLiBUaGlzIGNsYXNzIG9mIHN0b2NrIG9mdGVuIGhhcyB3YXJyYW50cyBhY2NvbXBhbnlpbmcgdGhlIHN0b2NrIHdoaWNoIGVuYWJsZSB0aGUgSW52ZXN0b3IgdG8gZXhlcmNpc2UgaW50byBjb21tb24gc2hhcmVzIHRoYXQgcmVwcmVzZW50cyBhIHNoYXJlaG9sZGluZyBpbiB0aGUgSXNzdWVyIGVxdWFsIHRvIHRoZSByZWRlZW1hYmxlIHN0b2NrIGFuZCB3aGljaCBhcmUgZXhlcmNpc2FibGUgZm9yIGEgbm9taW5hbCBhbW91bnQuIFRlcm0gaXMgcGVydGluZW50IG9ubHkgdG8gZXF1aXR5IG9mZmVyaW5ncy4iLAoiUmVkZW1wdGlvbiI6IldoZXJlIHRoZSBJc3N1ZXIgcmV0dXJucyB0aGUgSW52ZXN0b3JzJyBpbnZlc3RlZCBjYXBpdGFsLiBQZXJ0YWlucyB0byBkZWJ0IG9yIGVxdWl0eS4iLAoiUmVndWxhdGlvbiBEIjoiQW4gU0VDIHJlZ3VsYXRpb24gZXN0YWJsaXNoZWQgaW4gMTk4MOKAmXMgdG8gZGVmaW5lIG1vcmUgc3BlY2lmaWNhbGx5IGEgbWFubmVyIG9mIHByaXZhdGVseSBvZmZlcmluZyBzZWN1cml0aWVzLCBhbHNvIGNhbGxlZCBhIFwic2FmZSBoYXJib3JcIi4gTW9zdCBjb21wYW5pZXMgaXNzdWluZyBwcml2YXRlIHNlY3VyaXRpZXMgZG8gc28gYnkgZm9sbG93aW5nIG9uZSBvZiB0aGUgUnVsZXMgd2l0aGluIFJlZ3VsYXRpb24gRC4gUmVndWxhdGlvbiBEIGlzIGNvbXByaXNlZCBvZiBSdWxlcyB3aGljaCBwcm92aWRlIG1vcmUgc3BlY2lmaWMgZ3VpZGFuY2UgdG8gSXNzdWVycyBhbmQgSW52ZXN0b3JzIChTZWUgV2hhdCBpcyBhIFByaXZhdGUgUGxhY2VtZW50KS4gUGVydGFpbnMgdG8gcHJpdmF0ZWx5IG9mZmVyZWQgZGVidCBhbmQgZXF1aXR5LiIsCiJSZWd1bGF0aW9uIFMtUCI6IlNFQyBSZWd1bGF0aW9uIHRoYXQgcmVxdWlyZXMgYnJva2VyLWRlYWxlcnMsIGludmVzdG1lbnQgY29tcGFuaWVzLCBhbmQgaW52ZXN0bWVudCBhZHZpc2VycyB0byBhZG9wdCB3cml0dGVuIHBvbGljaWVzIGFuZCBwcm9jZWR1cmVzIHRoYXQgYWRkcmVzcyBhZG1pbmlzdHJhdGl2ZSwgdGVjaG5pY2FsLCBhbmQgcGh5c2ljYWwgc2FmZWd1YXJkcyBmb3IgdGhlIHByb3RlY3Rpb24gb2YgY3VzdG9tZXIgcmVjb3JkcyBhbmQgaW5mb3JtYXRpb24uPGJyLz4iLAoiUmVwcmVzZW50YXRpb25zIjoiSW4gYSBzZWN1cml0aWVzLXJlbGF0ZWQgZG9jdW1lbnQsIHdoZXJlIHRoZSBJc3N1ZXJzIGFuZCBJbnZlc3RvcnMgZWFjaCBpZGVudGlmeSB0aGVpciBjb25kaXRpb25zIGF0IHRoZSB0aW1lIHRoZSBpbnZlc3RtZW50IGlzIG1hZGUgKGUuZy4sIGFuIElzc3VlciBpcyBzb2x2ZW50LCB0aGUgc2VjdXJpdGllcyBvZmZlcmVkIGNvbXBseSB3aXRoIHNlY3VyaXRpZXMgbGF3cywgdGhlIEludmVzdG9yIGlzIGFuIEFjY3JlZGl0ZWQgSW52ZXN0b3IsIGV0Yy4pLiBNaXNyZXByZXNlbnRhdGlvbiBjYW4gbGVhZCB0byBjcmltaW5hbCBsaWFiaWxpdHkgdW5kZXIgZmVkZXJhbCBhbmQgc3RhdGUgc2VjdXJpdGllcyBsYXdzLiBQZXJ0YWlucyB0byBkZWJ0IG9yIGVxdWl0eSBpbnZlc3RtZW50LiIsCiJSaWdodCBvZiBGaXJzdCBSZWZ1c2FsIjoiQSBjb250cmFjdHVhbCByaWdodCBnaXZlbiB0byBhIHNwZWNpZmljIHBhcnR5IHRvIGJlIHRoZSBmaXJzdCBhbGxvd2VkIHRvIHRha2UgYW4gYWdyZWVkIHVwb24gYWN0aW9uLiBJbiBpbnZlc3RtZW50cywgaXQgZ2l2ZXMgb25lIHBhcnR5IHRoZSByaWdodCBwdXJjaGFzZSBhbiBpbnRlcmVzdCBwcmlvciB0byBvZmZlcmluZyBpdCB0byB0aGlyZCBwYXJ0eSBJbnZlc3RvcnMuIEFsc28ga25vd24gYXMgUHJlZW1wdGl2ZSBSaWdodHMuIFBlcnRhaW5zIHRvIGRlYnQgb3IgZXF1aXR5LiIsCiJSaXNrIEZhY3RvcnMiOiJBIGNvbXByZWhlbnNpdmUgbGlzdGluZyBvZiBJc3N1ZXItc3BlY2lmaWMsIGluZHVzdHJ5LXNwZWNpZmljLCBhbmQgb3RoZXIgcmlza3MgYXNzb2NpYXRlZCB3aXRoIGEgc2VjdXJpdGllcyBvZmZlcmluZy4gUmlzayBmYWN0b3JzIGFyZSBjb250YWluZWQgd2l0aGluIHRoZSBQcml2YXRlIFBsYWNlbWVudCBNZW1vcmFuZHVtLiBQZXJ0YWlucyB0byBhbGwgZXF1aXR5IGFuZCBkZWJ0IG9mZmVyaW5ncy4gU2VlIFwiU28sIEknbSBFbGlnaWJsZS4gV2hhdCBTaG91bGQgSSBLbm93IEJlZm9yZSBJbnZlc3RpbmcgaW4gUHJpdmF0ZSBNYXJrZXQgSW52ZXN0bWVudHM/XCIgYW5kIFwiUmlzayB2cy4gUmV0dXJuIENvbnNpZGVyYXRpb25zIGZvciBBbHRlcm5hdGl2ZSBJbnZlc3RtZW50cyBhIGRpc2N1c3Npb24gb2Ygcmlza3MuIiwKIlJ1bGUgNTAxIjoiRGVmaW5lcyBBY2NyZWRpdGVkIEludmVzdG9yIGVsaWdpYmlsaXR5IGNyaXRlcmlhIGZvciBJbnZlc3RvciBwYXJ0aWNpcGF0aW9uIGluIFJlZ3VsYXRpb24gRCBwcml2YXRlIHBsYWNlbWVudHMuIEl0IGluY2x1ZGVzIGhpZ2ggbmV0IHdvcnRoIGluZGl2aWR1YWwgSW52ZXN0b3JzIGhhdmluZyBpbmNvbWVzIGV4Y2VlZGluZyBlaXRoZXIgJDIwMCwwMDAveWVhciAoZm9yIHNpbmdsZSBwZXJzb25zKSBvciAkMzAwLDAwMC95ZWFyIChtYXJyaWVkIGNvdXBsZXMpIG9yIGEgbmV0IHdvcnRoIHRoYXQgZXhjZWVkcyAkMSwwMDAsMDAwIChleGNsdWRpbmcgdGhlIHZhbHVlIG9mIGFuIEludmVzdG9yJ3MgcHJpbmNpcGFsIHJlc2lkZW5jZSkuIFRoZXJlIGFyZSBvdGhlciBkZWZpbml0aW9ucyB1bmRlciBSdWxlIDUwMSB3aGljaCBkZXNpZ25hdGUgcXVhbGlmeWluZyBpbnN0aXR1dGlvbnMgb3IgaW52ZXN0bWVudCBjb21wYW5pZXMgKHNlZSBcIkFjY3JlZGl0ZWQgSW52ZXN0b3IgUXVlc3Rpb25uYWlyZVwiKS4gUGVydGFpbnMgdG8gSW52ZXN0b3IgZWxpZ2liaWxpdHkuIiwKIlJ1bGUgNTA0IjoiRGVmaW5lcyBhbiBleGVtcHRpb24gZm9yIHRoZSBvZmZlciBhbmQgc2FsZSBvZiB1cCB0byAkMSwwMDAsMDAwIG9mIHNlY3VyaXRpZXMgaW4gYSAxMi1tb250aCBwZXJpb2QgaW4gUmVndWxhdGlvbiBEIHByaXZhdGUgcGxhY2VtZW50cy4gVGhlIGNvbXBhbnkgbWF5IHVzZSB0aGlzIGV4ZW1wdGlvbiBzbyBsb25nIGFzIGl0IGlzIG5vdCBhIGJsYW5rIGNoZWNrIGNvbXBhbnkgYW5kIGlzIG5vdCBzdWJqZWN0IHRvIEV4Y2hhbmdlIEFjdCBvZiAxOTM0IHJlcG9ydGluZyByZXF1aXJlbWVudHMuIEdlbmVyYWwgb2ZmZXJpbmcgYW5kIHNvbGljaXRhdGlvbnMgYXJlIHBlcm1pdHRlZCB1bmRlciBSdWxlIDUwNCBhcyBsb25nIGFzIHRoZXkgYXJlIHJlc3RyaWN0ZWQgdG8gQWNjcmVkaXRlZCBJbnZlc3RvcnMuIFRoZSBJc3N1ZXIgbmVlZCBub3QgcmVzdHJpY3QgcHVyY2hhc2VyJ3MgcmlnaHQgdG8gcmVzZWxsIHNlY3VyaXRpZXMuIFBlcnRhaW5zIHRvIElzc3VlcnMgYW5kIEludmVzdG9ycy4iLAoiUnVsZSA1MDUiOiJQcm92aWRlcyBhbiBleGVtcHRpb24gZm9yIG9mZmVycyBhbmQgc2FsZXMgb2Ygc2VjdXJpdGllcyB0b3RhbGluZyB1cCB0byAkNSBtaWxsaW9uIGluIGFueSAxMi1tb250aCBwZXJpb2QgaW4gUmVndWxhdGlvbiBEIHByaXZhdGUgcGxhY2VtZW50cy4gVW5kZXIgdGhpcyBleGVtcHRpb24sIHNlY3VyaXRpZXMgbWF5IGJlIHNvbGQgdG8gYW4gdW5saW1pdGVkIG51bWJlciBvZiBcIkFjY3JlZGl0ZWQgSW52ZXN0b3JzXCIgYW5kIHVwIHRvIDM1IFwibm9uLUFjY3JlZGl0ZWQgSW52ZXN0b3JzXCIgd2hvIGRvIG5vdCBuZWVkIHRvIHNhdGlzZnkgdGhlIHNvcGhpc3RpY2F0aW9uIG9yIHdlYWx0aCBzdGFuZGFyZHMgYXNzb2NpYXRlZCB3aXRoIG90aGVyIGV4ZW1wdGlvbnMuIFB1cmNoYXNlcnMgbXVzdCBidXkgZm9yIGludmVzdG1lbnQgb25seSwgYW5kIG5vdCBmb3IgcmVzYWxlLiBUaGUgaXNzdWVkIHNlY3VyaXRpZXMgYXJlIHJlc3RyaWN0ZWQsIGluIHRoYXQgdGhlIEludmVzdG9ycyBtYXkgbm90IHNlbGwgZm9yIGF0IGxlYXN0IHR3byB5ZWFycyB3aXRob3V0IHJlZ2lzdGVyaW5nIHRoZSB0cmFuc2FjdGlvbi4gR2VuZXJhbCBzb2xpY2l0YXRpb24gb3IgYWR2ZXJ0aXNpbmcgdG8gc2VsbCB0aGUgc2VjdXJpdGllcyBpcyBub3QgYWxsb3dlZC4gUGVydGFpbnMgdG8gSXNzdWVycyBhbmQgSW52ZXN0b3JzLiIsCiJSdWxlIDUwNiI6IlRoaXMgUnVsZSBpcywgYnkgZmFyLCB0aGUgbW9zdCB3aWRlbHkgdXNlZCBleGVtcHRpb24gd2l0aGluIFJlZ3VsYXRpb24gRCBwcml2YXRlIHBsYWNlbWVudHMsIGFjY291bnRpbmcgZm9yIGFuIGVzdGltYXRlZCA5MCB0byA5NSUgb2YgYWxsIFJlZ3VsYXRpb24gRCBvZmZlcmluZ3MgYW5kIHRoZSBvdmVyd2hlbG1pbmcgbWFqb3JpdHkgb2YgY2FwaXRhbCByYWlzZWQgaW4gdHJhbnNhY3Rpb25zIHVuZGVyIFJlZ3VsYXRpb24gRC4gVXBkYXRlZCBJc3N1ZXJzJyBndWlkZWxpbmVzIGFyZSBjb250YWluZWQgaW4gZWFjaCBvZiBSdWxlIDUwNmIgYW5kIFJ1bGUgNTA2Yy4gUGVydGFpbnMgdG8gSXNzdWVycyBhbmQgSW52ZXN0b3JzLiIsCiJSdWxlIDUwNihiKSI6IlJ1bGUgNTA2KGIpIG9mIFJlZ3VsYXRpb24gRCwgd2hpY2ggaGFzIGJlZW4gaW4gZWZmZWN0IGZvciBtYW55IHllYXJzIChyZWZlcnJlZCB0byBmb3JtYWxseSBhcyBSdWxlIDUwNiksIGVuYWJsZXMgcHJpdmF0ZSBJc3N1ZXJzIHRvIG9mZmVyIGFuIHVubGltaXRlZCBhbW91bnQgb2Ygc2VjdXJpdGllcyBzbyBsb25nIGFzIG5vIG1vcmUgdGhhbiAzNSBub24tQWNjcmVkaXRlZCBJbnZlc3RvcnMgcGFydGljaXBhdGUgaW4gdGhlIG9mZmVyaW5nLiBTZWUgXCJSZWd1bGF0aW9uIEQsIFJ1bGUgNTA2KGIpIFByaXZhdGUgUGxhY2VtZW50c1wiIGZvciBtb3JlIGluZm9ybWF0aW9uLiBQZXJ0YWlucyB0byBJc3N1ZXJzIGFuZCBJbnZlc3RvcnMuIiwKIlJ1bGUgNTA2KGMpIjoiRWZmZWN0aXZlIFNlcHRlbWJlciAyMywgMjAxMywgdGhpcyBSdWxlIGVuYWJsZXMgZ2VuZXJhbCBzb2xpY2l0YXRpb24gZm9yIFJlZ3VsYXRpb24gRCBwcml2YXRlIHBsYWNlbWVudHMgd2hlcmUgb25seSBBY2NyZWRpdGVkIEludmVzdG9ycyBtYXkgcHVyY2hhc2UgdGhlIHNlY3VyaXRpZXMuIFJ1bGUgNTA2KGMpIGFsc28gbm93IHJlcXVpcmVzIHRoYXQgQWNjcmVkaXRlZCBJbnZlc3RvcnMgKHNlZSBcIkFjY3JlZGl0ZWQgSW52ZXN0b3IgUXVlc3Rpb25uYWlyZVwiKSBwcm92aWRlIHRoaXJkLXBhcnR5IHZlcmlmaWNhdGlvbiB0aGF0IHRoZXkgbWVldCBlaXRoZXIgdGhlIGluY29tZSB0ZXN0IG9yIG5ldCB3b3J0aCB0ZXN0IHJlcXVpcmVkIHRvIHBhcnRpY2lwYXRlIGluIGEgUnVsZSA1MDZjIG9mZmVyaW5nIChzZWUgXCJBY2NyZWRpdGVkIEludmVzdG9yIFZlcmlmaWNhdGlvbiBHdWlkZWxpbmVzXCIgYW5kIFJlZ3VsYXRpb24gRCwgUnVsZSA1MDYoYykgUHJpdmF0ZSBQbGFjZW1lbnRzXCIpLiBJbiB0aGUgcGFzdCwgc2VsZi12ZXJpZmljYXRpb24gd2FzIHN1ZmZpY2llbnQuIElzc3Vlci0gYW5kIEludmVzdG9yLXJlbGF0ZWQuIiwKIlMgQ29ycG9yYXRpb24iOiJBIGNvcnBvcmF0aW9uIHRoYXQgbWFrZXMgYSB2YWxpZCBlbGVjdGlvbiB0byBiZSB0YXhlZCB1bmRlciBTdWJjaGFwdGVyIFMgb2YgQ2hhcHRlciAxIG9mIHRoZSBJbnRlcm5hbCBSZXZlbnVlIENvZGUuIEluIGdlbmVyYWwsIFMgY29ycG9yYXRpb25zIGRvIG5vdCBwYXkgYW55IGZlZGVyYWwgaW5jb21lIHRheGVzLiBJbnN0ZWFkLCB0aGUgY29ycG9yYXRpb24ncyBpbmNvbWUgb3IgbG9zc2VzIGFyZSBkaXZpZGVkIGFtb25nIGFuZCBwYXNzZWQgdGhyb3VnaCB0byBpdHMgc2hhcmVob2xkZXJzLiBUaGUgc2hhcmVob2xkZXJzIG11c3QgdGhlbiByZXBvcnQgdGhlIGluY29tZSBvciBsb3NzIG9uIHRoZWlyIG93biBpbmRpdmlkdWFsIGluY29tZSB0YXggcmV0dXJucy4gSW1wb3J0YW50bHksIFMgQ29ycG9yYXRpb25zIGNhbiBvbmx5IGlzc3VlIGNvbW1vbiBlcXVpdHkgc2hhcmVzLCBub3QgcHJlZmVycmVkLiBJc3N1ZXItIGFuZCBJbnZlc3Rvci1yZWxhdGVkLiIsCiJTRUMiOiJTZWUgU2VjdXJpdGllcyBFeGNoYW5nZSBDb21taXNzaW9uIGFuZCBcIlRoZSBTZWN1cml0aWVzIGFuZCBFeGNoYW5nZSBDb21taXNzaW9uOiBXaGF0IGlzIGl0cyBSb2xlIGluIHRoZSBQcml2YXRlIEVxdWl0eSBhbmQgUHJpdmF0ZSBGaW5hbmNlIE1hcmtldHBsYWNlPy5cIiIsCiJTZWNvbmRhcnkgTWFya2V0IjoiVGhlIG1hcmtldCBpbiB3aGljaCBTZWN1cml0aWVzIGFyZSB0cmFkZWQgYWZ0ZXIgdGhleSBhcmUgaW5pdGlhbGx5IG9mZmVyZWQgaW4gdGhlIFByaW1hcnkgTWFya2V0LiBNb3N0IHRyYWRpbmcgb2NjdXJzIGluIHRoZSBTZWNvbmRhcnkgTWFya2V0LiBUaGUgTmV3IFlvcmsgU3RvY2sgRXhjaGFuZ2UsIGFzIHdlbGwgYXMgYWxsIG90aGVyIHN0b2NrIGV4Y2hhbmdlcyBhbmQgdGhlIGJvbmQgbWFya2V0cywgYXJlIFNlY29uZGFyeSBNYXJrZXRzLiBTZWFzb25lZCBzZWN1cml0aWVzIGFyZSB0cmFkZWQgaW4gdGhlIHNlY29uZGFyeSBtYXJrZXQuIFRoZXJlIGlzIG5vIGFjdGl2ZSBzZWNvbmRhcnkgbWFya2V0IGZvciBwcml2YXRlIHBsYWNlbWVudHMuIFBlcnRhaW5zIHRvIGRlYnQgYW5kIGVxdWl0eS4iLAoiU2VjdXJlZCI6IlBlcnRhaW5zIHRvIHRoZSBsb2FuIHdoZXJlIHRoZSBCb3Jyb3dlciBoYXMgcGxlZGdlZCBzb21lIGFzc2V0IGFzIENvbGxhdGVyYWwgZm9yIHRoZSBsb2FuLCB3aGljaCB0aGVuIGJlY29tZXMgc2VjdXJlZCBkZWJ0LiBUaGUgY29sbGF0ZXJhbCBpcyBhIHNlY29uZGFyeSBzb3VyY2Ugb2YgcmVwYXltZW50IGlmIHRoZSBJc3N1ZXIvQm9ycm93ZXIgaXMgdW5hYmxlIHRvIHJlcGF5IEludmVzdG9ycy9MZW5kZXJzLiBQZXJ0YWlucyB0byBkZWJ0LiIsCiJTZWN1cml0aWVzIEFjdCBvZiAxOTMzIjoiVGhlIHByaW5jaXBhbCBsYXcgYWZmZWN0aW5nIHNlY3VyaXRpZXMgc2FsZXMgaW4gdGhlIFUuUy4gUmVxdWlyZXMgdGhhdCBhbnkgb2ZmZXIgb3Igc2FsZSBvZiBzZWN1cml0aWVzIHVzaW5nIHRoZSBtZWFucyBhbmQgaW5zdHJ1bWVudGFsaXRpZXMgb2YgaW50ZXJzdGF0ZSBjb21tZXJjZSBiZSByZWdpc3RlcmVkIHdpdGggdGhlIFNFQyBwdXJzdWFudCB0byB0aGUgU2VjdXJpdGllcyBBY3Qgb2YgMTkzMywgdW5sZXNzIGFuIGV4ZW1wdGlvbiBmcm9tIHJlZ2lzdHJhdGlvbiBleGlzdHMgdW5kZXIgdGhlIGxhdyAoc3VjaCBhcyB0aGUgU2VjdGlvbiA0KDIpLCB0aGUgcHJpdmF0ZSBwbGFjZW1lbnQgZXhlbXB0aW9uKS4gU2VlIFwiV2hhdCBTZWN1cml0aWVzIExhd3MgYW5kIFJlZ3VsYXRpb25zIEdvdmVybiBQcml2YXRlIFBsYWNlbWVudD9cIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4gUGVydGFpbnMgdG8gSXNzdWVycyBhbmQgSW52ZXN0b3JzLiIsCiJTZWN1cml0aWVzIGFuZCBFeGNoYW5nZSBDb21taXNzaW9uIjoiVGhlIFUuUy4gYWdlbmN5IHByaW1hcmlseSByZXNwb25zaWJsZSBmb3IgZW5mb3JjZW1lbnQgb2YgVW5pdGVkIFN0YXRlcyBmZWRlcmFsIHNlY3VyaXRpZXMgbGF3LiBQZXJ0YWluIHRvIGFsbCBzZWN1cml0aWVzLCBkZWJ0IGFuZCBlcXVpdHkuIiwKIlNlY3VyaXRpZXMgRXhjaGFuZ2UgQWN0IG9mIDE5MzQiOiJBIHN3ZWVwaW5nIGxhdyB0aGF0IGdvdmVybnMgdGhlIHNlY29uZGFyeSB0cmFkaW5nIG9mIGFsbCBzZWN1cml0aWVzIChzdG9ja3MsIGJvbmRzLCBhbmQgZGViZW50dXJlcykgaW4gdGhlIFUuUy4gVGhpcyBBY3QgYW5kIHJlbGF0ZWQgc3RhdHV0ZXMgZm9ybSB0aGUgYmFzaXMgb2YgcmVndWxhdGlvbiBvZiB0aGUgZmluYW5jaWFsIG1hcmtldHMgYW5kIHRoZWlyIHBhcnRpY2lwYW50cyBpbiB0aGUgVW5pdGVkIFN0YXRlcywgYW5kIGl0IGVzdGFibGlzaGVkIHRoZSBTZWN1cml0aWVzIGFuZCBFeGNoYW5nZSBDb21taXNzaW9uIChTRUMpLiBTZWUgXCJXaGF0IFNlY3VyaXRpZXMgTGF3cyBhbmQgUmVndWxhdGlvbnMgR292ZXJuIFByaXZhdGUgUGxhY2VtZW50P1wiIGZvciBtb3JlIGluZm9ybWF0aW9uLiIsCiJTZWN1cml0eSI6IkEgZmluYW5jaWFsIGluc3RydW1lbnQgdGhhdCBpcyBhIHRyYWRhYmxlIGFzc2V0IG9mIGFueSBraW5kLiBTZWN1cml0aWVzIGFyZSBicm9hZGx5IGNhdGVnb3JpemVkIGludG86IDEpIGRlYnQgc2VjdXJpdGllcyAoc3VjaCBhcyBiYW5rbm90ZXMsIGJvbmRzIGFuZCBkZWJlbnR1cmVzKSwgMikgZXF1aXR5IHNlY3VyaXRpZXMsIGUuZy4sIGNvbW1vbiBzdG9ja3M7IGFuZCAzKSBkZXJpdmF0aXZlIGNvbnRyYWN0cywgc3VjaCBhcyBmb3J3YXJkcywgZnV0dXJlcywgb3B0aW9ucyBhbmQgc3dhcHMuIFRoZSBjb21wYW55IG9yIG90aGVyIGVudGl0eSBpc3N1aW5nIHRoZSBzZWN1cml0eSBpcyBjYWxsZWQgdGhlIElzc3Vlci4iLAoiU2VjdXJpdHkgSW50ZXJlc3QiOiJBIHByb3BlcnR5IGludGVyZXN0IGNyZWF0ZWQgYnkgYWdyZWVtZW50IG9yIGJ5IG9wZXJhdGlvbiBvZiBsYXcgb3ZlciBhc3NldHMgdG8gc2VjdXJlIHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgcGF5bWVudCBvZiBhIGRlYnQgKGUuZy4gY29sbGF0ZXJhbCBzZWN1cmluZyBhIGxvYW4ncyByZXBheW1lbnQpLC4gUGVydGFpbnMgdG8gZGVidC4iLAoiU2VuaW9yIjoiRGVidCB0aGF0IHRha2VzIHByaW9yaXR5IG92ZXIgb3RoZXIgdW5zZWN1cmVkIG9yIG1vcmUganVuaW9yIGRlYnQgb3dlZCBieSB0aGUgQm9ycm93ZXIuIFNlbmlvciBkZWJ0IGhhcyBncmVhdGVyIHNlbmlvcml0eSBmb3IgcHVycG9zZXMgb2YgcmVwYXltZW50IGluIHRoZSBCb3Jyb3dlcidzIGNhcGl0YWwgc3RydWN0dXJlIHRoYW4gc3Vib3JkaW5hdGVkIGRlYnQuIEluIHRoZSBldmVudCB0aGUgQm9ycm93ZXIgYmVjb21lcyBiYW5rcnVwdCwgc2VuaW9yIGRlYnQgaXMgdHlwaWNhbGx5IGVudGl0bGVkIHRvIHJlcGF5bWVudCBiZWZvcmUgb3RoZXIgY3JlZGl0b3JzIHJlY2VpdmUgYW55IHBheW1lbnQuIFBlcnRhaW5zIHRvIGRlYnQuIiwKIlNlcmllcyI6IkEgZGVzaWduYXRvciBmb3IgYSBjbGFzcyBvZiBlcXVpdHksIG1vc3Qgb2Z0ZW4gcHJlZmVycmVkIGVxdWl0eS4gUmVsYXRlcyB0byBlcXVpdHkgb2ZmZXJpbmdzLiIsCiJTaGFyZWhvbGRlciI6IkFuIG93bmVyIG9mIGVxdWl0eSAoYWthIFNoYXJlcykgaW4gYSBjb21wYW55LiBTZWUgYWxzbyBFcXVpdHkgSG9sZGVyLiBQZXJ0YWlucyB0byBlcXVpdHkuIiwKIlNoYXJlaG9sZGVyIEFncmVlbWVudHMiOiJBbiBBZ3JlZW1lbnQgYW1vbmcgdGhlIHNoYXJlaG9sZGVycyBvZiBhIGNvbXBhbnkuIEVxdWl0eSByZWxhdGVkLiIsCiJTaW5nbGUgUHVycG9zZSBDb21wYW55IjoiQSBkZW5vdm8gY29tcGFueSBjcmVhdGVkIHRvIGZhY2lsaXRhdGUgYSBmaW5hbmNpYWwgdHJhbnNhY3Rpb24sIG9mdGVuIHRvIGlzb2xhdGUgYXNzZXRzIGFuZC9vciBjYXNoZmxvdyBpbiBhbiBvZmYtYmFsYW5jZSBzaGVldCB0cmFuc2FjdGlvbi4iLAoiU29saWNpdGF0aW9uIjoiVGhlIHNhbGVzIHByb2Nlc3MgY29uZHVjdGVkIHRvIGluZm9ybSBJbnZlc3RvcnMgb2YgYW4gaW52ZXN0bWVudCBvcHBvcnR1bml0eSBhbmQgcmVxdWVzdGluZyB0aGF0IHRoZXkgcGFydGljaXBhdGUuIFBlcnRhaW5zIGJvdGggdG8gZGVidCBhbmQgZXF1aXR5IG9mZmVyaW5ncy4iLAoiU3RhdGUgU2VjdXJpdGllcyBMYXdzIjoiU3RhdGUgbGF3cyBpbiB0aGUgVW5pdGVkIFN0YXRlcyB3aGljaCByZWd1bGF0ZSB0aGUgb2ZmZXJpbmcgYW5kIHNhbGUgb2Ygc2VjdXJpdGllcyB3aXRoaW4gYSBnaXZlbiBzdGF0ZSBhbmQgdGhhdCBhcmUgYnJvYWRseSBjcmVhdGVkIHRvIHByb3RlY3QgSW52ZXN0b3JzIGZyb20gZnJhdWQuIFRob3VnaCB0aGUgc3BlY2lmaWMgcHJvdmlzaW9ucyBvZiB0aGVzZSBsYXdzIHZhcnkgYW1vbmcgc3RhdGVzLCB0aGV5IGFsbCByZXF1aXJlIHRoZSByZWdpc3RyYXRpb24gb2YgYWxsIHNlY3VyaXRpZXMgb2ZmZXJpbmdzIGFuZCBzYWxlcywgYXMgd2VsbCBhcyBvZiBzdG9ja2Jyb2tlcnMgYW5kIGJyb2tlcmFnZSBmaXJtcy4gRWFjaCBzdGF0ZSdzIGxhdyBpcyBhZG1pbmlzdGVyZWQgYnkgaXRzIGFwcHJvcHJpYXRlIHJlZ3VsYXRvcnkgYWdlbmN5LCBhbmQgbW9zdCBhbHNvIHByb3ZpZGUgcHJpdmF0ZSBjYXVzZXMgb2YgYWN0aW9uIGZvciBwcml2YXRlIEludmVzdG9ycyB3aG8gaGF2ZSBiZWVuIGluanVyZWQgYnkgc2VjdXJpdGllcyBmcmF1ZC4gQWxzbyBrbm93biBhcyBCbHVlIFNreSBMYXdzLiBTZWUgXCJCbHVlIFNreSBMYXdzOiBIaXN0b3J5IGFuZCBBcHBsaWNhdGlvbiB0byBQcml2YXRlIEludmVzdG1lbnRzXCIgZm9yIG1vcmUgaW5mb3JtYXRpb24uIFBlcnRhaW5zIHRvIGFsbCBkZWJ0IG9yIGVxdWl0eSBvZmZlcmluZ3MuIiwKIlN0cnVjdHVyZWQgTm90ZSI6IkRlYnQgc2VjdXJpdGllcyB3aG9zZSByZXR1cm5zIGFyZSBiYXNlZCBvbiwgYW1vbmcgb3RoZXIgdGhpbmdzLCBlcXVpdHkgaW5kZXhlcywgYSBzaW5nbGUgZXF1aXR5IHNlY3VyaXR5LCBhIGJhc2tldCBvZiBlcXVpdHkgc2VjdXJpdGllcywgaW50ZXJlc3QgcmF0ZXMsIGNvbW1vZGl0aWVzLCBhbmQvb3IgZm9yZWlnbiBjdXJyZW5jaWVzLiBDb25zZXF1ZW50bHksIHRoZSByZXR1cm4gaXMgXCJsaW5rZWRcIiB0byB0aGUgcGVyZm9ybWFuY2Ugb2YgYSByZWZlcmVuY2UgYXNzZXQgb3IgaW5kZXguIEFzIHdpdGggYWxsIGRlYnQgc2VjdXJpdGllcywgaXQgaGFzIGEgZml4ZWQgbWF0dXJpdHkgYW5kIGluY2x1ZGUgdHdvIGNvbXBvbmVudHMgLS0gYSBib25kIGNvbXBvbmVudCBhbmQgYW4gZW1iZWRkZWQgZGVyaXZhdGl2ZS4gU29tZSBleGFtcGxlcyBpbmNsdWRlIHByaW5jaXBhbCBwcm90ZWN0ZWQgbm90ZXMsIHJldmVyc2UgY29udmVydGlibGUgbm90ZXMsIGVuaGFuY2VkIHBhcnRpY2lwYXRpb24gb3IgbGV2ZXJhZ2VkIG5vdGVzIGFuZCBoeWJyaWQgbm90ZXMgdGhhdCBjb21iaW5lIG11bHRpcGxlIGNoYXJhY3RlcmlzdGljcy4gUGVydGFpbnMgdG8gZGVidC4iLAoiU3Vib3JkaW5hdGVkIjoiQSBsb2FuIG9yIGVxdWl0eSBzZWN1cml0eSB0aGF0IHJhbmtzIGJlbG93IG9yIFwianVuaW9yXCIgdG8gb3RoZXIgbG9hbnMgb3IgbW9yZSBzZW5pb3IgZXF1aXR5IGludGVyZXN0cyB3aXRoIHJlZ2FyZCB0byBjbGFpbXMgb24gYXNzZXRzIG9yIGVhcm5pbmdzLiBQZXJ0YWlucyB0byBkZWJ0IGFuZCBlcXVpdHkuIiwKIlN1YnNjcmlwdGlvbiBBZ3JlZW1lbnQiOiJBbiBBZ3JlZW1lbnQgYmV0d2VlbiB0aGUgSXNzdWVyIGFuZCB0aGUgSW52ZXN0b3Igd2hpY2ggY29udGFpbnMgcmVwcmVzZW50YXRpb25zIGJ5IGVhY2ggcGFydHkgcmVsYXRpbmcgdG8gdGhlaXIgY29uZGl0aW9uIGF0IHRoZSB0aW1lIHRoZSBzZWN1cml0eSBpcyBpc3N1ZWQvcHVyY2hhc2VkLiBUaGlzIEFncmVlbWVudCBldmlkZW5jZXMgSW52ZXN0b3JzJyBjb21taXRtZW50cyB0byBpbnZlc3QgYW5kIHRoZSBhbW91bnQgb2YgZnVuZHMgdGhleSBhcmUgaW52ZXN0aW5nLiBUaGlzIEFncmVlbWVudCBjYW4gYWxzbyBiZSB0aXRsZWQgYSBQdXJjaGFzZSBBZ3JlZW1lbnQuIFJlbGF0ZXMgYm90aCB0byBkZWJ0IGFuZCBlcXVpdHkgaW52ZXN0bWVudHMuIiwKIlN1YnNjcmlwdGlvbiBBbW91bnQiOiJUaGUgYW1vdW50IG9mIGludmVzdG1lbnQgY29tbWl0dGVkIHRvIGFuZCBhY3R1YWxseSBtYWRlIGJ5IGFuIEludmVzdG9yIGluIHRoZSBvZmZlcmluZy4gVGhlIHRlcm0gcGVydGFpbnMgYm90aCB0byBkZWJ0IGFuZCBlcXVpdHkgdHJhbnNhY3Rpb25zLiIsCiJTdWNjZXNzIEZlZSI6IkluIHRoZSBjb250ZXh0IG9mIGludmVzdG1lbnQgYmFua2luZywgaXQgaXMgYSBmb3JtIG9mIGNvbXBlbnNhdGlvbiBzdHJ1Y3R1cmVkIHR5cGljYWxseSBhcyBhIHBlcmNlbnRhZ2UgZWl0aGVyIG9mIHRoZSBjYXBpdGFsIHJhaXNlZCBvciB0aGUgZW50ZXJwcmlzZSB2YWx1ZSBvZiB0aGUgYnVzaW5lc3MgYmVpbmcgYWNxdWlyZWQgb3Igc29sZC4gQ29tcGVuc2F0aW9uIGlzIHN0cnVjdHVyZWQgZWl0aGVyIGFzIGFuIFwiYWxsIG9yIG5vbmVcIiBmZWUsIGluIHdoaWNoIHRoZSBpbnZlc3RtZW50IGJhbmssIGluIGZhaWxpbmcgdG8gcmFpc2UgdGhlIGFncmVlZC11cG9uIGFtb3VudCwgcmVjZWl2ZXMgbm90aGluZyBmb3IgaXRzIGVmZm9ydC4iLAoiU3VtbWFyeSBvZiBUZXJtcyI6IkEgU3VtbWFyeSBvZiB0aGUgcHJpbmNpcGFsIHRlcm1zIGVzdGFibGlzaGVkIGZvciBhIHNwZWNpZmljIGlzc3VhbmNlIG9mIHNlY3VyaXRpZXMsIHN1Y2ggYXMgc2VjdXJpdHkgZGVzY3JpcHRpb24sIEludmVzdG9yIHJpZ2h0cywgb2ZmZXJpbmcgdGVybXMsIGV0Yy4gQWxzbyBrbm93biBhcyBhIFRlcm1zIGFuZCBDb25kaXRpb25zIG9yIFRlcm0gU2hlZXQuIFNlZSBhbHNvIFwiUHJpdmF0ZSBFcXVpdHkgVGVybSBTaGVldDogVHlwaWNhbCBUZXJtcyBhbmQgQ29uZGl0aW9uc1wiIGFuZCBcIlByaXZhdGUgTGVuZGluZyBUZXJtIFNoZWV0OiBUeXBpY2FsIFRlcm1zIGFuZCBDb25kaXRpb25zLlwiIFBlcnRhaW5zIHRvIGRlYnQgYW5kIGVxdWl0eS4iLAoiU3VtbWFyeSBPZmZlcmluZyBNYXRlcmlhbHMiOiJBIHNvbWV3aGF0IGFiYnJldmlhdGVkIGZvcm0gb2YgUHJpdmF0ZSBQbGFjZW1lbnQgTWVtb3JhbmR1bSBlbXBoYXNpemluZyB0aGUgSXNzdWVyJ3MgYnVzaW5lc3MgZGVzY3JpcHRpb24sIFN1bW1hcnkgb2YgVGVybXMgYW5kIFJpc2sgRmFjdG9ycy4iLAoiU3luZGljYXRlIjoiV2hlbiBtdWx0aXBsZSBJbnZlc3RvcnMgcGFydGljaXBhdGUgdG9nZXRoZXIgaW4gdGhlIG9mZmVyaW5nLiBQZXJ0YWlucyB0byBkZWJ0IGFuZCBlcXVpdHkgb2ZmZXJpbmdzLiIsCiJUYWctQWxvbmcgUmlnaHQiOiJBIHNoYXJlaG9sZGVyIHJpZ2h0IHRoYXQgYXNzdXJlcyB0aGF0LCBpZiB0aGUgbWFqb3JpdHkgc2hhcmVob2xkZXIgc2VsbHMgaXRzIHN0YWtlLCBtaW5vcml0eSBob2xkZXJzIGhhdmUgdGhlIHJpZ2h0IHRvIGpvaW4gdGhlIGRlYWwgYW5kIHNlbGwgdGhlaXIgc3Rha2VzIGF0IHRoZSBzYW1lIHRlcm1zIGFuZCBjb25kaXRpb25zIGFzIHdvdWxkIGFwcGx5IHRvIHRoZSBtYWpvcml0eSBzaGFyZWhvbGRlci4gVGhpcyByaWdodCBwcm90ZWN0cyBtaW5vcml0eSBzaGFyZWhvbGRlcnMuIFRhZy1hbG9uZyByaWdodHMgYXJlIHN0YW5kYXJkIHRlcm1zIGluIFNoYXJlaG9sZGVycyBBZ3JlZW1lbnRzLiBQZXJ0YWlucyB0byBlcXVpdHkuIiwKIlRlcm0iOiJUaGUgcGVyaW9kIGEgbG9hbiBpcyBvdXRzdGFuZGluZyBmcm9tIGl0cyBJc3N1ZSBEYXRlIHVudGlsIGl0cyBmaW5hbCBNYXR1cml0eSBEYXRlIGFuZCB1c3VhbGx5IG1lYXN1cmVzIGluIHllYXJzIG9yIG1vbnRocy4gUGVydGFpbnMgdG8gZGVidC4iLAoiVGVybSBTaGVldCI6IlNlZSBcIlByaXZhdGUgRXF1aXR5IFRlcm0gU2hlZXQ6IFR5cGljYWwgVGVybXMgYW5kIENvbmRpdGlvbnNcIiBhbmQgXCJQcml2YXRlIExlbmRpbmcgVGVybSBTaGVldDogVHlwaWNhbCBUZXJtcyBhbmQgQ29uZGl0aW9ucy5cIiBQZXJ0YWlucyB0byBkZWJ0IGFuZCBlcXVpdHkuIiwKIlRlcm1zIGFuZCBDb25kaXRpb25zIjoiQSBTdW1tYXJ5IG9mIHRoZSBwcmluY2lwYWwgdGVybXMgZXN0YWJsaXNoZWQgZm9yIGEgc3BlY2lmaWMgaXNzdWFuY2Ugb2Ygc2VjdXJpdGllcywgc3VjaCBhcyBzZWN1cml0eSBkZXNjcmlwdGlvbiwgSW52ZXN0b3IgcmlnaHRzLCBvZmZlcmluZyB0ZXJtcywgZXRjLiBTZWUgXCJQcml2YXRlIEVxdWl0eSBUZXJtIFNoZWV0OiBUeXBpY2FsIFRlcm1zIGFuZCBDb25kaXRpb25zXCIgYW5kIFwiUHJpdmF0ZSBMZW5kaW5nIFRlcm0gU2hlZXQ6IFR5cGljYWwgVGVybXMgYW5kIENvbmRpdGlvbnNcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4gUGVydGFpbnMgdG8gZGVidCBhbmQgZXF1aXR5LiIsCiJUaXRsZSBJSUkgQ3Jvd2RmdW5kaW5nIjoiQSBmb3JtIG9mIGNyb3dkZnVuZGluZyBmb3IgaXNzdWluZyBzZWN1cml0aWVzIHRoYXQgbGltaXRzIHRoZSBhZ2dyZWdhdGUgY2FwaXRhbCByYWlzZWQgYnkgSXNzdWVycyB0byAkMSwwNzAsMDAwIGFuZCB0aGF0IGNhbiBvbmx5IGJlIG9mZmVyZWQgdmlhIGEgRklOUkEtcmVnaXN0ZXJlZCBlcXVpdHkgY3Jvd2RmdW5kaW5nIHBvcnRhbC4gU2VlIFwiQ3Jvd2RmdW5kaW5nIE92ZXJ2aWV3XCIgYW5kIFwiUGVyc3BlY3RpdmVzIG9uIFByaXZhdGUgSW52ZXN0bWVudHMgJiBDcm93ZGZ1bmRpbmdcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4gUGVydGFpbnMgdG8gZGVidCBvciBlcXVpdHkuIiwKIlRyYW5jaGUiOiJSZWZlcnMgdG8gYW4gaXNzdWFuY2Ugb2YgZGVidCBzZWN1cml0aWVzIGluIGEgc2VyaWVzIG9mIHNtYWxsZXIgYW1vdW50cyBhdCBkaWZmZXJlbnQgdGltZXMuIEEgdGVybSB0aGF0IG9jY3VycyBpbiBlcXVpdHkgdHJhbnNhY3Rpb25zLiIsCiJVLlMuIFNlY3VyaXRpZXMgTGF3cyI6IkluY2x1ZGVzIHRoZSBwcmluY2lwYWwgZmVkZXJhbCBzdGF0dXRlcyBlbmFjdGVkIHRvIHJlZ3VsYXRlIHRoZSBzZWN1cml0aWVzIHNhbGVzIGFuZCB0cmFkaW5nIGluIHRoZSBVLlMuIFRoZXNlIGluY2x1ZGUgdGhlIFNlY3VyaXRpZXMgQWN0IG9mIDE5MzMsIFNlY3VyaXRpZXMgRXhjaGFuZ2UgQWN0IG9mIDE5MzQgYW5kIEludmVzdG1lbnQgQ29tcGFueSBBY3Qgb2YgMTk0MC4gU2VlIFwiV2hhdCBTZWN1cml0aWVzIExhd3MgYW5kIFJlZ3VsYXRpb25zIEdvdmVybiBQcml2YXRlIFBsYWNlbWVudHM/XCIgZm9yIGEgZGVlcGVyIGRpc2N1c3Npb24uIFBlcnRhaW5zIHRvIGRlYnQgYW5kIGVxdWl0eSBzZWN1cml0aWVzIiwKIlVDQyI6IlNlZSBVbmlmb3JtIENvbW1lcmNpYWwgQ29kZS4iLAoiVW5pZm9ybSBDb21tZXJjaWFsIENvZGUiOiJPbmUgb2YgYSBudW1iZXIgb2YgdW5pZm9ybSBhY3RzIHRoYXQgaGF2ZSBiZWVuIHByb211bGdhdGVkIGluIGNvbmp1bmN0aW9uIHdpdGggZWZmb3J0cyB0byBoYXJtb25pemUgdGhlIGxhdyBvZiBzYWxlcyBhbmQgb3RoZXIgY29tbWVyY2lhbCB0cmFuc2FjdGlvbnMgaW4gYWxsIDUwIHN0YXRlcyB3aXRoaW4gdGhlIFVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYS4gSW4gc2VjdXJpdGllcyB0cmFuc2FjdGlvbnMsIHRoZXNlIGxhd3MgYWZmZWN0IHRoZSBwZXJmZWN0aW9uIG9mIGxpZW5zIG9mIGNvbGxhdGVyYWwgdXNlZCB0byBzdXBwb3J0IHRoZSByZXBheW1lbnQgb2Ygbm90ZXMuIiwKIlVuaXQiOiJTb21ldGltZXMgdXNlZCB0byBxdWFudGlmeSBvd25lcnNoaXAgaW4gYSBsaW1pdGVkIGxpYWJpbGl0eSBjb21wYW55LiBQZXJ0YWlucyB0byBlcXVpdHkuIiwKIlVuaXRyYW5jaGUiOiJBIGZvcm0gb2YgZGVidCBmaW5hbmNpbmcgdGhhdCBjb21iaW5lcyBzZW5pb3IgYW5kIHN1Ym9yZGluYXRlZCBkZWJ0IGludG8gb25lIGFtb3VudCB3aXRoIGEgYmxlbmRlZCBpbnRlcmVzdCByYXRlIHRoYXQgdHlwaWNhbGx5IGZhbGxzIGJldHdlZW4gdGhlIHJhdGVzIGZvdW5kIGluIHRoZSB0d28gdHlwZXMgb2YgZGVidC4gVHlwaWNhbGx5IG9uZSBsZW5kZXIgcHJvdmlkZXMgdGhlIGh5YnJpZCBkZWJ0IHdpdGggb25lIHNldCBvZiBkb2N1bWVudHMuIFBlcnRhaW5zIHRvIGRlYnQuIiwKIlZhbHVhdGlvbiI6IkEgY29tcGFueSdzIHNhbGUgcHJpY2UgZGVyaXZlZCB1c2luZyBvbmUgb3IgbW9yZSBvZiB0aHJlZSB0ZWNobmlxdWVzOiBhc3NldCB2YWx1YXRpb24gKHRoZSBzdW0gb2YgdGhlIHBhcnRzKSwgZGlzY291bnRlZCBjYXNoZmxvdyAoZGV0ZXJtaW5pbmcgYSBwcmVzZW50IHZhbHVlIGJhc2VkIHVwb24gZnV0dXJlIGNhc2hmbG93KSBhbmQgY29tcGFyYWJsZSBjb21wYW55IGFuYWx5c2lzIChvciBcIlBlZXIgZ3JvdXAgYW5hbHlzaXNcIikuIFBlcnRhaW5zIHRvIGVxdWl0eS4iLAoiV2FpdmVycyI6IldoZW4gSW52ZXN0b3JzIHdhaXZlIHRoZWlyIGNvbnRyYWN0dWFsIHJpZ2h0cy4gUGVydGFpbnMgdG8gZGVidCBhbmQgZXF1aXR5LiIsCiJXYXJyYW50IjoiQW4gb3B0aW9uIHRoYXQgZ2l2ZXMgdGhlIGhvbGRlciB0aGUgcmlnaHQgdG8gcHVyY2hhc2Ugc2VjdXJpdGllcyAodXN1YWxseSBlcXVpdHkpIGZyb20gYW4gSXNzdWVyIGF0IGEgc3BlY2lmaWMgcHJpY2Ugd2l0aGluIGEgY2VydGFpbiB0aW1lLiBXYXJyYW50cyBhcmUgaW5jbHVkZWQgc29tZXRpbWVzIGFzIHBhcnQgb2YgYSBuZXcgZGVidCBpc3N1YW5jZSBpbiBvcmRlciB0byBwcm92aWRlIEludmVzdG9ycyB3aXRoIGEgcG90ZW50aWFsbHkgZW5oYW5jZWQgcmV0dXJuLiIsCiJXYXJyYW50aWVzIjoiUmVwcmVzZW50YXRpb25zIG1hZGUgYnkgSXNzdWVycyBhbmQgZm91bmQgaW4gdmFyaW91cyBmaW5hbmNpbmcgYWdyZWVtZW50cyBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvOiBhY2N1cmFjeSBvZiBmaW5hbmNpYWwgc3RhdGVtZW50czsgbm8gbWF0ZXJpYWwgYWR2ZXJzZSBjaGFuZ2U7IGFic2VuY2Ugb2YgbGl0aWdhdGlvbjsgbm8gdmlvbGF0aW9uIG9mIGFncmVlbWVudHM7IGNvbXBsaWFuY2Ugd2l0aCBsYXdzOyBwYXltZW50IG9mIHRheGVzOyBzb2x2ZW5jeTsgY29tcGxpYW5jZSB3aXRoIGVudmlyb25tZW50YWwgbWF0dGVyczsgYWNjdXJhY3kgb2YgaW5mb3JtYXRpb247IGFuZCB2YWxpZGl0eSwgcHJpb3JpdHkgYW5kIHBlcmZlY3Rpb24gb2Ygc2VjdXJpdHkgaW50ZXJlc3QgaW4gdGhlIGNvbGxhdGVyYWwgKGlmIHJlbGV2YW50KS4gUGVydGFpbnMgdG8gZGVidCBhbmQgZXF1aXR5IG9mZmVyaW5ncy4iLAoiV2F0ZXJmYWxsIjoiRGVzY3JpYmVzIHRoZSBzdWNjZXNzaW9uIG9mIElzc3VlciBwYXltZW50IHByZWZlcmVuY2VzLiBXaGVuIG9uZSBpcyBzYXRpc2ZpZWQsIGZ1cnRoZXIgcGF5bWVudHMgYXJlIG1hZGUgdG8gdGhlIG5leHQgbGV2ZWwgcHJlZmVyZW5jZS4gRm9yIGV4YW1wbGUsIGluIFBhcnRpY2lwYXRpbmcgUHJlZmVycmVkIFN0b2NrLCBQcmVmZXJyZWQgZGl2aWRlbmRzICh3aGljaCBhY2NydWUgb3ZlciB0aW1lKSBhcmUgcGFpZCBmaXJzdCwgZm9sbG93ZWQgYnkgcGF5bWVudCBvZiB0aGUgSW52ZXN0b3JzJyBpbnZlc3RlZCBjYXBpdGFsLCBmb2xsb3dlZCBieSBkaXN0cmlidXRpb25zIHRvIGNvbW1vbiBlcXVpdHkgaG9sZGVycy4gUGVydGFpbnMgdG8gZGVidCBhbmQgZXF1aXR5LiIsCiJXZWlnaHRlZCBBdmVyYWdlIEFudGktZGlsdXRpb24iOiJJc3N1YW5jZSB0ZXJtcyBkZXNpZ25lZCB0byBwcm90ZWN0IHRoZSBwZXJjZW50YWdlIG93bmVyc2hpcCBhbiBlcXVpdHkgSW52ZXN0b3IgaGFzIGluIHRoZSBJc3N1ZXIgd2hlbiB0aGVyZSBpcyBhIGZ1dHVyZSBpc3N1YW5jZSBvZiBlcXVpdHkgYXQgYSBsb3dlciBwcmljZSB0aGFuIHRoZSBwcmV2aW91cyBlcXVpdHkgc2FsZXMuIFdlaWdodGVkIGF2ZXJhZ2UgYW50aS1kaWx1dGlvbiBwcm90ZWN0aW9uIHJlc3VsdHMgaW4gcGFydGlhbCBkaWx1dGlvbiBwcm90ZWN0aW9uLCBiYXNlZCB1cG9uIHRoZSByZWxhdGl2ZSBzaXplIG9mIHRoZSBsYXRlciBlcXVpdHkgaXNzdWFuY2UgdG8gdGhlIGVhcmxpZXIgZXF1aXR5IHNlcmllcyByZWNlaXZpbmcgdGhlIHByb3RlY3Rpb24uIFBlcnRhaW5zIHRvIGVxdWl0eS4iLAoiV29ya2luZyBDYXBpdGFsIEZpbmFuY2luZyI6IlJlZmVycyB0byBzaG9ydCB0ZXJtIGRlYnQgKGRlYnQgaGF2aW5nIG1hdHVyaXRpZXMgbGVzcyB0aGFuIG9uZSB5ZWFyKSB3aGljaCBpcyB1c2VkIHRvIGZpbmFuY2UgSXNzdWVyIGNhc2ggZmxvdyBzaG9ydCBmYWxscyByZXN1bHRpbmcgZnJvbSBzaG9ydC10ZXJtIHBheWFibGUgb2JsaWdhdGlvbnMgYW5kIHVuY29sbGVjdGVkIHNob3J0LXRlcm0gcmVjZWl2YWJsZXMuIEdyb3dpbmcgSXNzdWVycyBvZnRlbiBoYXZlIHdvcmtpbmcgY2FwaXRhbCBwcmVzc3VyZXMgd2hlcmUgY2FzaCBpcyBuZWVkZWQgaW4gaW5jcmVhc2luZyBhbW91bnRzIHRvIHBheSB2ZW5kb3JzIGJlZm9yZSBjYXNoIGhhcyBiZWVuIGNvbGxlY3RlZCBmcm9tIGEgZ3Jvd2luZyBiYXNlIG9mIGN1c3RvbWVyIHJlY2VpdmFibGVzLiIKfTsKCmpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsKCXZhciB1cmxQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpOwoJaWYgKHVybFBhcmFtcy5oYXMoJ3Rlcm0nKSkgewogICAgICB2YXIgdGVybSA9IHVybFBhcmFtcy5nZXQoJ3Rlcm0nKS50cmltKCk7CiAgICAgIHZhciBkZWZpbml0aW9uID0gJ05vIGRlZmluaXRpb24gZm91bmQuJzsKCSAgaWYodGVybXNPYmouaGFzT3duUHJvcGVydHkodGVybSkpewoJCWRlZmluaXRpb24gPSB0ZXJtc09ialt0ZXJtXTsKCSAgfTsKICAgICAgalF1ZXJ5KCcjdGVybScpLmh0bWwodGVybSk7CiAgICAgIGpRdWVyeSgnI2RlZmluaXRpb24nKS5odG1sKGRlZmluaXRpb24pOwoJfQoJZWxzZSB7CgkgIGpRdWVyeSgnI3Rlcm0nKS5odG1sKCcnKTsKICAgICAgalF1ZXJ5KCcjZGVmaW5pdGlvbicpLmh0bWwoJ05vIGRlZmluaXRpb24gZm91bmQuJyk7Cgl9Cn0pOwoKPC9zY3JpcHQ+[/fusion_code][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]